线上LVM磁盘挂载

Posted l-mac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线上LVM磁盘挂载相关的知识,希望对你有一定的参考价值。

ESC云服务器磁盘扩容

日常运行中,容器服务所在目录由于container-log、image的增加需要占用大量的磁盘空间,所以对/var/lib/docker/目录进行扩容挂载LVM数据盘。

首先查看磁盘属性
# sudo fdisk -l
 - 会出现相应的磁盘信息,针对增加的数据盘进行分区,格式化
对磁盘进行分区
# sudo fdisk /dev/vdb
    m  查看命令帮助
    n  添加新的分区
# 根据实际情况对磁盘分区

## 更改分区编号
将分区类型改成Liunx lvm卷才能创建LVM
  t  表示更改分区编号
  L  表示查看所有编号
  8e   代表LVM
  w  用来保存并退出
分区成功后创建LVM
# 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 文件中填写

关于/etc/fstab文件

- 文件介绍
fstab包含了存储设备及文件系统的相关信息,用于自动挂载系统格式的硬盘、分区、可移动设备和远程设备等

- 文件字段解释
# fs     mountpoint    type   opts    dump/pass
/dev/sda1    /      ext4  default 0 0 

<fs>--file systems: 挂载设备,告知分区的名字。可以使用UUID代替
<mountpoint>: 挂载路径
<type>: 文件系统类型,典型示例:ext2、ext3、ext4、xfs等
<opts>: 文件系统参数,可以使挂载设备在开机自启、限制对挂载分区读写权限,具体参数可google搜索
<dump>:备份命令,通过dunp utility用来决定是否做备份,通过检查entry并用数字来决定是否对文件系统进行备份。允许数字是0或1. 0就会忽略不备份,1,dump会做一个备份
<pass>: 是否fsck检查扇区,0表示不检验,1表示最早检验,2也是要检验,但是1是最早检验的
Docker容器数据的备份及恢复
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

以上是关于线上LVM磁盘挂载的主要内容,如果未能解决你的问题,请参考以下文章

Linux磁盘挂载与RAID和LVM

Linux先添加一块磁盘制作LVM卷并进行分区挂载

LVM的创建与挂载

Linux两块磁盘挂载指向一个文件夹LVM磁盘管理

LVM讲解和磁盘挂载故障

Linux两块磁盘挂载指向一个文件夹LVM磁盘管理