背景
在使用 docker 的过程中,docker 会将某些产物放到 /var/lib/docker/volumes 这会占用很大的跟目录磁盘空间,于是想办法将 /var 目录挂载到另一个一个单独的磁盘上面。
参考链接如下:Ubuntu将var目录挂载到新硬盘
步骤
1. 查看当前磁盘空间
df -h [目录名]
比如 df -h
能够查看整个系统的磁盘情况。
2. 创建新目录
上图中我已经创建了一个新的目录,是 /media/var ,这里再重新操作一遍。
sudo mkdir /media/var
3. 将磁盘挂载到新的目录
上图中,我已经完成了挂载,我选择了一个比较大的磁盘分区 /dev/sdb ,然后将它挂载到刚刚创建的目录上面。
sudo mount /dev/sdb /media/var
4. 同步数据到新建目录
将当前系统中 /var 目录下面的数据同步到新建的目录中。如果 /var 目录下面的数据量很大的话,可以在空闲的时候进行该操作,该操作拷贝一遍数据,可能会比较耗时。
sudo rsync -aXS /var/. /media/var/.
5. 重命名 /var 目录
此步骤是为了将新建一个空的 /var 目录,并且将新建的 /var 目录挂载到新的磁盘做准备。
sudo mv /var /var_old
6. 新建 /var 目录
sudo mkdir /var
7. 取消/mdeia/var的/dev/sdb 挂载
该步骤时为了将新建的 /var 目录挂载到当前磁盘。
sudo umount /dev/sdb /media/var
8. 重新挂载/dev/sdb 到 /var
sudo mount /dev/sdb /var
9. 查看 /dev/sdb 的 UUID
sudo blkid /dev/sdb
10. 设置开机自动挂载
复制上文中的 UUID e791688e-ae35-40a1-bd8b-11f726ad0733,打开 /etc/fstab 文件:
sudo vim /etc/fstab
在文件最后添加如下内容
UUID=e791688e-ae35-40a1-bd8b-11f726ad0733 /var ext4 nodev,nosuid 0 2
保存退出。
11. 重启生效
重启之后,通过 df 检查刚刚配置是否生效。 生效之后,可以删除 /var_old 目录。