重新挂载数据盘

502 阅读2分钟

买了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