我这台centos7系统主要用于布署监控软件和测试用的,centos7上布署了docker容器,之后在docker容器中布署各类监控系统linux命令大全,这样就可以充分借助了这台centos7的资源。
布署zabbix监控系统早已有一年多了,上面的数据量越来越大,为确保后期不由于容量问题引起zabbix宕机,明天决定重新规划一下。
思路-新增一块100G的c盘,把它创建为LVM重新构建一个单独的分区用于docker储存挂载数据。把/var/lib/docker这个目录也单独分一个区域。创建LVM的益处
把新增的一块c盘创建为LVM,这样的益处是日后在扩容上变的很便捷,不须要停止服务,即可在线扩容。
科普LVM相关知识
化学卷(PhysicalVolume,PV)
指c盘分区或从逻辑上与c盘分区具有同样功能的设备(如RAID),是LVM的基本储存逻辑块,但和基本的数学储存介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(VolumeGroup,VG)
类似于非LVM系统中的化学c盘,其由一个或多个化学卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
逻辑卷(LogicalVolumelinux运维面试题,LV)
类似于非LVM系统中的c盘分区,逻辑卷构建在卷组VG之上。在逻辑卷LV之上可以构建文件系统(例如/home或则/usr等)。
化学块(PhysicalExtent,PE)
每一个数学卷PV被界定为称为PE(PhysicalExtents)的基本单元,具有惟一编号的PE是可以被LVM轮询的最小单元。PE的大小是可配置的,默认为4MB。所以化学卷(PV)由大小等同的基本单元PE组成。
创建一个LVM系统
创建数学卷
创建数学卷的命令为pvcreate,借助该命令将希望添加到卷组的所有分区或则c盘创建为化学卷。
pvcreate /dev/sdb # 将整个磁盘创建为物理卷的
也可以将分区创建为化学卷
pvcreate /dev/sda1 # 将单个分区创建为物理卷的
创建卷组
创建卷组vgcreate,将使用pvcreate构建的化学卷创建为一个完整的卷组:l
vgcreate web_data /dev/sda
# 第一个参数是指定该卷组的逻辑名:web_data。
#后面参数是指定希望添加到该卷组的所有分区和磁盘。
激活卷组
为了立刻使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:
vgchange -ay web_data
创建逻辑卷
创建逻辑卷的命令为lvcreate:
lvcreate -L 50G -n docker_data web_data
lvcreate -L 35G -n lv_docker web_data
#该命令就在卷组web_data上 创建名字为docker_data
#-L 大小为 500M (大小格式还有 G)
低格逻辑卷
因为centos7使用的是xfs文件系统,所以,这儿也使用同样的文件系统
mkfs.xfs /dev/web_data/docker_data web_data
mkfs.xfs /dev/web_data/lv_docker web_data
把之前的数据先备份到临时目录下,比如:我之前把docker的数据文件都置于`/data`
所以,我先把`data`目录下的文件联通`/home/tmp/`下。再执行如下挂载目录:
mount /dev/web_data/docker_data /data/
#如果希望系统启动时自动加载文件系统
#编辑 /etc/fstab 添加:
/dev/web_data/docker_data /data/ xfs defaults 0 0
最后,再把`/home/tmp/`目录下的文件联通到`/data/`目录下。
把/var/lib/docker目录单独分区
1、先把docker服务停止掉linux增加磁盘空间,执行如下命令:
systemctl stop docker
2、把/var/lib/docker/目录下的文件,先联通到临时文件夹中。l
mv /var/lib/docker/* /home/tmp/
3、把创建的逻辑卷挂载到`/var/lib/docker`目录下。
mount /dev/web_data/lv_docker /var/lib/docker
#如果希望系统启动时自动加载文件系统
#编辑 /etc/fstab 添加:
/dev/web_data/lv_docker /var/lib/docker xfs defaults 0 0
4、再把之前备份的文件联通到`/var/lib/docker/`目录下
mv /home/tmp/* /var/lib/docker/
这样就完成整个centos7的扩容了。觉得是不是很简单呢,关键是学会怎样使用LVM。这个在后期真的很不错的。
如果,如今我的/var/lib/docker目录早已爆满了,我须要扩容,如何办呢,是不是还须要执行上述的步骤呢?答案是肯定不须要啦。只要确保vg中还有容量,虽然VG中没有了容量,我们新增一块c盘,扩展VG后,再扩充LV就行啦
比如,目前我的系统VG还是有容量,不在VG有没有容量可以执行如下命令查看:
vgdisplay web_data
须要给lv_docker扩容1G,可以执行如下命令:
#添加之前的容量
/dev/mapper/web_data-lv_docker 20G 11G 9.4G 53% /var/lib/docker
#执行扩充1G容量
lvextend -L +1G /dev/web_data/lv_docker
#xfs 文件系统的调整命令是xfs_growfs
xfs_growfs /dev/web_data/lv_docke
#添加后的容量
/dev/mapper/web_data-lv_docker 21G 11G 11G 50% /var/lib/docker
这样就很便捷的完成了扩容linux增加磁盘空间,也不须要停止docker服务。