平常运行中,容器服务所在目录因为container-log、image的增长须要占用大量的磁盘空间,因此对/var/lib/docker/目录进行扩容挂载LVM数据盘。docker
# sudo fdisk -l - 会出现相应的磁盘信息,针对增长的数据盘进行分区,格式化
# sudo fdisk /dev/vdb m 查看命令帮助 n 添加新的分区 # 根据实际状况对磁盘分区 ## 更改分区编号 将分区类型改为Liunx lvm卷才能建立LVM t 表示更改分区编号 L 表示查看全部编号 8e 表明LVM w 用来保存并退出
# sudo fdisk -l 查看分区状况 建立Physical Volume(PV) # sudo pvcreate /dev/vdb1 建立pv # sudo pvdisplay 查看pv信息 #建立Volume Group(VG) # sudo vgcreate vg1 /dev/vdb1 建立vg # sudo vgdisplay 查看vg信息 #建立Logical Volumes(LV) # sudo lvcreate -n lv1 -l 100%VG vg1 #将全部的vg1的内存都给lv1 逻辑卷 # sudo lvdisplay
# sudo mkfs.ext4 /dev/vg1/lv1 # sudo blkid |grep 'lv1' # 查看UUID,在/etc/fstab 文件中填写
- 文件介绍 fstab包含了存储设备及文件系统的相关信息,用于自动挂载系统格式的硬盘、分区、可移动设备和远程设备等 - 文件字段解释 # fs mountpoint type opts dump/pass /dev/sda1 / ext4 default 0 0 <fs>--file systems: 挂载设备,告知分区的名字。可使用UUID代替 <mountpoint>: 挂载路径 <type>: 文件系统类型,典型示例:ext二、ext三、ext四、xfs等 <opts>: 文件系统参数,可使挂载设备在开机自启、限制对挂载分区读写权限,具体参数可google搜索 <dump>:备份命令,经过dunp utility用来决定是否作备份,经过检查entry并用数字来决定是否对文件系统进行备份。容许数字是0或1. 0就会忽略不备份,1,dump会作一个备份 <pass>: 是否fsck检查扇区,0表示不检验,1表示最先检验,2也是要检验,可是1是最先检验的
1.首先保证生产环境上可以正常对外提供服务的状况下,中止Docker daemon,以此来保证数据的完整性,执行命令 # sudo systemctl stop docker 2.将Docker默认数据目录下的数据备份,执行命令 # sudo mv /var/lib/docker /var/lib/docker_data 3.而后把新的格式化好的磁盘挂载到/var/lib/docker目录中, # sudo vim /etc/fstab UUID=****** /var/lib/docker ext4 defaults 0 0 4.建立对应的目录 # sudo mkdir /var/lib/docker 5.挂载磁盘 # sudo mount -a 6.把以前备份的Docker数据移动到新的磁盘上,执行命令 # sudo mv /var/lib/docker_data/* /var/lib/docker/ 7.启动Docker,并检查数据位置,执行命令 # sudo systemctl start docker 8. 执行命令df 查看新挂载信息 9.执行命令docker ps,查看容器是否丢失,并根据实际状况对未启动的容器start