剛開始接觸FreeBSD的時候,常常由於對分區大小拿捏不定,劃分太小,致使服務器上/var空間不夠。在生產服務器上有時候遇到這個問題,又不肯意劃/usr空間給/var的話,直接加一塊硬盤實際上是最簡便的方式。具體操做在VMware環境中演示。
1. 測試環境:
HostOS : WinXP
GuestOS: FreeBSD v7.2
VMware : Workstation v6.5.2-build156735
給原FreeBSD添加一塊5G的IDE硬盤,VM->Settings->Add->Hard Disk。進入系統後,查看當前硬盤分區狀況以下
01.# df -h
02.Filesystem Size Used Avail Capacity Mounted on
03./dev/ad0s1a 989M 126M 784M 14% /
04.devfs 1.0K 1.0K 0B 100% /dev
05./dev/ad0s1e 989M 12K 910M 0% /tmp
06./dev/ad0s1f 14G 1.5G 12G 11% /usr
07./dev/ad0s1d 500M 490M 10M 98% /var
2. 若是安裝時FreeBSD只有1塊硬盤,那麼在VM下新添加的硬盤設備就是是/dev/ad1。考慮將這個5G硬盤所有劃分給/var,能夠用sysinstall->configure->Fdisk和Label工具來操做,這裏咱們選擇用命令行方式操做。
01.# fidsk -BIq /dev/ad1
02.# bsdlabel -w -B /dev/ad1s1 auto
03.# newfs /dev/ad1s1a
3. 重啓進入單用戶模式,掛載文件系統和新添加的硬盤
01.# reboot
02.# boot -s
03.# fsck
04.# mount -a -t ufs
05.# mount /dev/ad1s1a /mnt
4. 將/var轉移到新硬盤上
01.# cd /mnt
02.# dump -0af - /var | restore rf -
03.# umount /mnt
5. 編輯/etc/fstab,假設/var是劃在ad0s1d,將ad0s1d改成ad1s1a。若是你的/var是別的分區請根據實際狀況變更。
01.# sed -I .bak 's/ad0s1d/ad1s1a/' /etc/fstab
6. 重啓並肯定一切正常後,刪除備份文件
01.# reboot
02.# tail -f /var/log/messeges
03.# rm /etc/fstab.bak
04.# rm /var/restoresymtable
05.# df -h
06.Filesystem Size Used Avail Capacity Mounted on
07./dev/ad0s1a 989M 126M 784M 14% /
08.devfs 1.0K 1.0K 0B 100% /dev
09./dev/ad0s1e 989M 16K 910M 0% /tmp
10./dev/ad0s1f 14G 1.5G 12G 11% /usr
11./dev/ad1s1 4.8G 490M 4.1G 10% /var
寫在最後: 01.# 若是是舊硬盤,最好先清除原有分區表 02.# dd if=/dev/zero of=/dev/ad1 bs=1k count=1 03.# bsdlabel簡單用法 04.# bsdlabel -A ad0s1 //輸出ad0 slice1的分區信息 05.# bsdlabel -e ad0s1 //用vi手工ad0 silce1編輯分區信息 06.# bsdlabel -R labelfile //能夠先bsdlabel -A ad0s1 > syslabel保存當前分需信息,若是出錯,再用-R導入