如何在线上环境挂载 LVM 磁盘?

1,090 阅读3分钟

一名致力于在技术道路上的终身学习者、实践者、分享者,一位忙起来又偶尔偷懒的原创博主,一个偶尔无聊又偶尔幽默的少年。

欢迎各位掘友们微信搜索「杰哥的IT之旅」关注!

原文链接:如何在线上环境挂载 LVM 磁盘?

一、ESC 云服务器磁盘扩容

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

二、首先查看磁盘属性

sudo fdisk -l

会出现相应的磁盘信息,针对增加的数据盘进行分区,格式化

三、根据实际情况对磁盘进行分区

sudo fdisk /dev/vdb m 查看命令帮助 n 添加新的分区

四、更改分区编号

将分区类型改成 Linux lvm 卷才能创建LVM

  • t 表示更改分区编号
  • L 表示查看所有编号
  • 8e 代表LVM
  • w 用来保存并退出

分区成功后创建 LVM

sudo fdisk -l 查看分区情况

创建 Physical Volume(PV)

sudo pvcreate /dev/vdb1 创建pvsudo pvdisplay 查看pv信息

创建 Volume Group(VG)

sudo vgcreate vg1 /dev/vdb1 创建vgsudo vgdisplay 查看vg信息

创建 Logical Volumes(LV)

sudo lvcreate -n lv1 -l 100%VG vg1 #将所有的vg1的内存都给lv1 逻辑卷sudo lvdisplay

格式化逻辑卷

sudo mkfs.ext4 /dev/vg1/lv1sudo blkid |grep 'lv1' # 查看UUID,在/etc/fstab 文件中填写

五、关于 /etc/fstab 文件

文件介绍

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

文件字段解释

fs mountpoint type opts dump/pass/dev/sda1 / ext4 default 0 0

image.png

六、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/fstabUUID=****** /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

推荐阅读

Linux 进程管理工具 Supervisor,yyds!

如何高效的在后台运行 Linux 命令?

如何快速回忆起遗忘的 Linux 命令?

有了这个技巧,即便领导盯着你,你都能给他玩出新花样!

如何高效的用 Linux 命令行管理网络?

骚操作 | 如何优雅的在 Linux 终端下进行录像?


资料分享

23 道 Kubernetes 面试题

链接:pan.baidu.com/s/1PftfcCB5… 提取码:oxzu

240 道 IT 运维面试题

链接:pan.baidu.com/s/1Z7C2NMM9… 提取码:o2n1


原创不易,如果你觉得这篇文章对你有点用的话,麻烦你为本文点个赞、评论或转发一下,因为这将是我输出更多优质文章的动力,感谢!

对了,掘友们记得给我点个免费的关注哟!防止你迷路下次就找不到我了。

我们下期再见!