为了添加磁盘空间来放介质。新添加一个10g的/dev/sdb1,并挂载到/media下,但发现新挂载/media到新硬盘时,/media原来数据变空了,这个原因是由于linux的VFS(虚拟文件系统)机制导致的,正常登录以后,所看到的各个目录,文件都是内核在加载时候构造在内存中的VFS目录树,而不是直接看到硬盘上的实际目录树。当你挂载某个设备到一个VFS挂载点上时(比如/media),系统就把VFS中的这个挂载点/media指向你最后所挂载的那个设备上。那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备。而之前所挂载的设备依然在那里,只不过挂载点/media已经不再指向之前的设备。所以之前的数据是被隐藏了,但并没有删除,若umount挂载后,数据又重新回来了
基于这种情况,只能通过跳板的方式把原来的/home数据复制到新的/home分区下了 ,如何添加新硬盘,请查找相关资料
mkdir /database ###跳板目录
mount /dev/sdb1 /database ###首先挂载跳板目录
cp -R /media/* /database ###复制/media目录所有数据到/database先
rm -rf /media/* ####可选,主要为了腾出空间给原来的硬盘
mount /dev/sdb1 /media ###挂载/media 到新硬盘,此时你会神奇的发现之前的/media 目录文件已经全部转移过来了,也许你会有点疑问,我并没有复制或移动/database文件到新挂载的/media 目录啊,其实此时的/media 目录相当于/database目录的硬链接,可以测试下mkdir /database/test 你会发现/media 目录也存在test
umount /database ###解除挂载
若出现:umount: /media: device is busy错误,
可以进行下面操作
[root@qs-wg-db1 ~]# fuser -km /datatmp
[root@qs-wg-db1 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sdb3 125G 3.3G 115G 3% /
/dev/sdb1 99M 12M 82M 13% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 275G 72G 189G 28% /u01
/dev/sdc1 10G 2.0G 8.1G 20% /datatmp
[root@qs-wg-db1 ~]# umount /datatmp
[root@qs-wg-db1 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sdb3 125G 3.3G 115G 3% /
/dev/sdb1 99M 12M 82M 13% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 275G 72G 189G 28% /u01
成功umount了。
当然为了能够在下次启动的时候,让其自动挂载,我们需要在分区表中加入如下信息:
/dev/sdb1 /media ext3 defaults 1 2
分区表的文件位于:/etc/fstab
通过df命令就可以看到我们挂载后的分区了,至此分区成功完成。 ###开机启动挂载目录