項(xiàng)目初期用戶(hù)文件較少,全部存儲(chǔ)在/home目錄下,/home目錄沒(méi)有單獨(dú)劃開(kāi)分區(qū),隨著項(xiàng)目網(wǎng)站做大,用戶(hù)文件越來(lái)越多,/home目錄不夠空間,想掛載一個(gè)新硬盤(pán)來(lái)負(fù)責(zé)儲(chǔ)存
但發(fā)現(xiàn)新掛載/home到新硬盤(pán)時(shí),/home原來(lái)數(shù)據(jù)變空了,這個(gè)原因是由于linux的VFS(虛擬文件系統(tǒng))機(jī)制導(dǎo)致的,正常登錄以后梢杭,所看到的各個(gè)目錄牵咙,文件都是內(nèi)核在加載時(shí)候構(gòu)造在內(nèi)存中的VFS目錄樹(shù)权均,而不是直接看到硬盤(pán)上的實(shí)際目錄樹(shù)庭再。當(dāng)你掛載某個(gè)設(shè)備到一個(gè)VFS掛載點(diǎn)上時(shí)(比如/home)盒至,系統(tǒng)就把VFS中的這個(gè)掛載點(diǎn)/home指向你最后所掛載的那個(gè)設(shè)備上得院。那么你現(xiàn)在訪問(wèn)該掛載點(diǎn)時(shí)彭沼,就會(huì)看到你最后掛載在此處的設(shè)備殊鞭。而之前所掛載的設(shè)備依然在那里阴汇,只不過(guò)掛載點(diǎn)/home已經(jīng)不再指向之前的設(shè)備数冬。所以之前的數(shù)據(jù)是被隱藏了,但并沒(méi)有刪除,若umount掛載后,數(shù)據(jù)又重新回來(lái)了
基于這種情況,只能通過(guò)跳板的方式把原來(lái)的/home數(shù)據(jù)復(fù)制到新的/home分區(qū)下了 ,如何添加新硬盤(pán),請(qǐng)查找相關(guān)資料
mkdir /new ###跳板目錄
mount /dev/sdb1 /new ###首先掛載跳板目錄
cp -R /home/* /new ###復(fù)制/home目錄所有數(shù)據(jù)到/new先
rm -rf /home/* ####可選,主要為了騰出空間給原來(lái)的硬盤(pán)
mount /dev/sdb1 /home ###掛載/home 到新硬盤(pán),此時(shí)你會(huì)神奇的發(fā)現(xiàn)之前的/home目錄文件已經(jīng)全部轉(zhuǎn)移過(guò)來(lái)了,也許你會(huì)有點(diǎn)疑問(wèn),我并沒(méi)有復(fù)制或移動(dòng)/new文件到新掛載的/home目錄啊,其實(shí)此時(shí)的/home目錄相當(dāng)于/new目錄的硬鏈接,可以測(cè)試下mkdir /new/test 你會(huì)發(fā)現(xiàn)/home目錄也存在test
umount /new ###解除掛載
rm -rf /new ###刪除跳板目錄
echo "/dev/sdb1 /home ext3 defaults 0 0" >> /etc/fstab ###開(kāi)機(jī)啟動(dòng)掛載目錄