买了50G的系统盘和200G的数据盘,购买时没有将数据盘格式化并挂载给容器目录/var/lib/docker,导致数据盘一直没用上,本文讲解如何重新挂载数据盘到容器目录/var/lib/docker。
初始化磁盘
fdisk -l 查看所有的磁盘分区
fdisk -l
磁盘 /dev/vda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009ac89
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 104857566 52427759+ 83 Linux
磁盘 /dev/vdb:214.7 GB, 214748364800 字节,419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
fdisk /dev/vdb
初始化/dev/vdb磁盘根据提示,依次输入“n”,“p”,“wq”,建立磁盘分区,初始化。
遇到这三个直接回车,或者自行配置 Partition number (1-4, default 1): First sector (2048-1048575999, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-1048575999, default 1048575999):
- 软格式化 mkfs.xfs /dev/vdb
mkfs -t xfs /dev/vdb
mkfs -t xfs -f /dev/vdb
格式化磁盘xfs格式
xfs文件系统支持更大的磁盘空间
挂载分区
-
根目录创建一个目录 mkdir /data2
-
挂载磁盘到目录 mount /dev/vdb /data2
df -h 可以查看挂载成功
- 设置开机启动自动挂载
vim /etc/fstab
添加
/dev/vdb /data2 xfs defaults 1 1
case
重新挂载数据盘到容器目录/var/lib/docker
注: 我们也可以迁移 /var/lib/docker 目录,到新挂载磁盘的的某个目录,参考 blog.csdn.net/weixin_3282…
有两个地方需要注意下
- 修改
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --data-root=/data2/docker
- 确认 Docker 用户组具有该目录的写入权限:
bashCopy code
sudo chown -R root:docker /data2/docker
sudo chmod -R 0775 /data2/docker
把原来磁盘上的data转移到新挂载的磁盘
- 拷贝原盘路径/data下的数据到新盘下
cd /data2
cp -rp /data .
- 备份原盘下的/data目录
cd /
mv data data_backup
- 软链接根目录/data 到新盘的/data2/data目录
ln -s /data2/data /data
- 移动备份的data文件夹到data2,释放对系统盘的继续占用
mv data_backup /data2