有时想把 /var 目录独立挂载到一块磁盘上。特别是在磁盘空间不足的情况下,通过新添加一块磁盘来解决的情况。这时,我们可以把某个目录(不影响操作系统运行的目录)挂载到新磁盘上。
系统环境 linux系统版本:Ubuntu 18.04 LTS 64bit。 linux系统运行环境:运行在 virtualbox虚拟机内。 virtualbox版本:virtualbox 5.2.14。
创建一块新虚拟磁盘 我们这里没有真实的物理磁盘,可以用虚拟机的 虚拟磁盘。选中你要设置的虚拟机(虚拟机内的系统应处于已停止状态),右键,选择设置添加新磁盘:
在上图中,选择存储 -> 控制器:SATA,点击添加新磁盘,创建新的磁盘,选择通用格式 VMDK 创建磁盘类型(以便迁移到其它虚拟机上使用):
然后选择动态分配(动态分配的意思,即使物理磁盘没有那么多存储空间,也没有关系,磁盘在使用过程中慢慢增加。),给磁盘命名,并设置最大磁盘大小:
启动虚拟机里的ubuntu系统,用 fdisk -l 就可以看到我们刚才创建的磁盘了,这里是 /dev/sdb(因为我原来只有一块磁盘 /dev/sda,所以现在是 /dev/sdb。如果原来有 /dev/sdb,那么新添加的磁盘就是 /dev/sdc),查看新添加的磁盘:
磁盘分区 挂载使用磁盘前,要对磁盘进行分区和格式化。我的设置如下,把整个磁盘作为一个分区:
查看一下原来 /dev/sda 的文件类型:df -lhT。这里,我将 /dev/sdb1 格式化为 ext4 文件系统类型(sdb只有一个分区sdb1): mkfs.ext4 /dev/sdb1
保存/var目录下的内容 1.创建一个挂载点:mkdir /storage。 2.挂载 /dev/sdb1 到 /storage 目录上:mount /dev/sdb1 /storage。 3.复制/var目录下的内容到/storage目录中:cp -pdr /var /storage。 4.清空 /var目录 中的内容: rm -rf /var/* (通过ls命令看一下是否清空)。 5.卸载 /dev/sdb1 : umount /dev/sdb1 。 6.将 /dev/sdb1 挂载到 /var 上: mount /dev/sdb1 /var 。 然后通过 ls /var/ 命令查看 /var 中的内容。不过,我们会发现,原来的/var里的内容,现在被保存在了 /var/var/ 这样的目录下,而且还多了一个 lost+found 目录:
为了和原来的 /var 保持一致,我们调整一下目录结构,依次执行下面三个命令: mv /var/var/* /var/ rm -rf /var/var rm -rf /var/lost+found
开机自动挂载磁盘 我们需要设置开机自动挂载磁盘。打开 vim /etc/fstab 配置文件,在其后加上下面一句: /dev/sdb1 /var ext4 defaults 0 0 不过,我们应该通过 blkid /dev/sdb1 查看一下磁盘分区UUID,将上面一句修改为: UUID=2d0a900b-4083-4d97-86f4-c66a0cd8249c /var ext4 defaults 0 0
然后执行 mount -a 使得配置生效,或者重启我们的ubuntu虚拟机。
相关主题 |