【Linux】阿里云linux 挂载数据盘并docker工作目录迁移到数据盘
# 【Linux】阿里云 linux 挂载数据盘并 docker 工作目录迁移到数据盘
一、挂载数据盘,分区 - 格式化 - 挂载
1、fdisk -l 查看磁盘情况
执行命令 fdisk -l 发现 2 个磁盘,但是磁盘 nvme1n1 没有分区,nvme0n1 是有 2 个分区了。
2、fdisk /dev/nvme1n1 执行创建分区
执行命令 fdisk /dev/nvme1n1
输入 n 再回车创建新分区:
输入 p 再回车创建主分区:
输入 1 设置分区号:
起始扇区设置,直接回车就可以:
扇区结束位置,直接回车就可以:
最后输入 w 再回车保存设置:
3、格式化分区
运行 fdisk -lu /dev/nvme1n1 查看分区情况
格式化分区,并建立文件系统 ext4。 执行命令:sudo mkfs.ext4 /dev/nvme1n1p1
注意:也有人说硬盘应该是买来就已经格式化过了的,说的好像也有那么些道理。但是我现在是 nvme1n1 这个硬盘根本看不到分区的情况下创建了一个新的分区 nvme1n1p1 ,格式化一下这个分区我个人认为也没错。
4、挂载分区
执行命令:sudo mount /dev/nvme1n1p1 /mnt 将分区 /dev/nvme1n1p1 挂载到 mnt 目录下。
然后执行 df 查看是否挂载成功 ,执行 df -Th 查看新挂载的磁盘文件系统和其他磁盘是否一致。
5、设置开机自动挂载
sudo vim /etc/fstab 使用这个命令进入 配置文件,然后按 i 键进入插入编辑模式
在文件末尾增加下面的一行
/dev/nvme1n1p1 /mnt ext4 defaults 0 0
按 esc 退出编辑,输入 :wq 保存退出。
二、docker 目录从系统盘迁移到数据盘
1、确认已经将 /dev/nvme1n1 这个数据硬盘的 /dev/nvme1n1p1 分区挂载到了 mnt 目录
2、执行 docker info 命令,得到 docker 基本信息,其中可以看到 Docker Root Dir: /var/lib/docker 和 Storage Driver: overlay2 这两个信息,说明了 docker 程序文件安装在 /var/lib/docker,其中 overlay2 为数据存储位置。
3、先停止 Docker ,保证移动的时候数据完整,执行 service docker stop 命令停止 Docker daemon。 命令:systemctl stop docker
可以用 ps 命令进一步检查:ps faux | grep -i docker
4、将 Docker 默认数据目录下的数据移动到一个备份的目录,例如 /mnt/Docker_data,执行命令:
mv /var/lib/docker /mnt/Docker_data
5、把 Docker 的工作目录切换到 /mnt/Docker_data/docker
(1)更改 Docker 服务的 service 文件: vi /lib/systemd/system/docker.service
(2)使用输入 /ExecStart 搜索关键字 , 找到这一行:ExecStart=/usr/bin/dockerd -H fd://--containerd=/run/containerd/containerd.sock
改为:ExecStart=/usr/bin/dockerd -g /mnt/Docker_data/docker -H fd:// --containerd=/run/containerd/containerd.sock
(3) 刷新 docker 服务 :sudo systemctl daemon-reload
重启 docker 服务:systemctl start docker
(4) 查看 docker 状态:systemctl status docker
注意 :如果查看状态出现了失败的红色的提示,那么就要返回第 3 步停止服务开始,再走一遍步骤,重新修改 Docker 服务的 service 文件,比如我开始的时候 - H 前面少了一个空格,就报红色错误了。
# 关于我
Brath 是一个热爱技术的 Java 程序猿,公众号「InterviewCoder」定期分享有趣有料的精品原创文章!
非常感谢各位人才能看到这里,原创不易,文章如果有帮助可以关注、点赞、分享或评论,这都是对我的莫大支持!