通過命令給Linux(CentOS)分區
服務器供應商給了linux服務器後,發現放root與數據的分區太小,只有150G左右,而/home卻高達300G, 空間利用率很是問題。於是,想辦法重新分區。但是,Linux重新分區很麻煩,不過,只要按照下列步驟做,一般就沒有什麼問題。
但是,請注意,如果你的系統現在在運行中,已經有不少數據,建議你先備份,以防萬一。再者,你需要調整的分區一定不能大於原有文件所占有的空間,否則,一定造成數據丟失!!!
下面的例子你可以看出,我們原來默認的分區不合理,/root僅有150G左右,而/home則有大約300G:
首先,你可以通過以下指令查看你分區的現狀:
[root@localhost ~]# df –h(查看分區狀況)
文件系統 容量 已用 可用 已用%% 掛載點
/dev/mapper/VolGroup-lv_root
154G 7.9G 139G 6% /
tmpfs 1.9G 100K 1.9G 1% /dev/shm
/dev/sda1 485M 69M 391M 15% /boot
/dev/mapper/VolGroup-lv_home
299G 984M 283G 1% /home
因為我們想縮小/home,先卸載/home:
[root@localhost ~]# umount /home(卸載/home)
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home(檢查VolGroup-lv_home文件的錯誤性,-f 即使文件系統沒有錯誤跡象,仍強制地檢查正確性。)
e2fsck 1.41.12 (17-May-2010)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/mapper/VolGroup-lv_home: 21/19857408 files (0.0% non-contiguous), 1498180/79429632 blocks
因為/home僅僅裝了系統,所以不需要太多空間,我們決定調整到很小:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G(調整mapper/VolGroup-lv_home文件大小為20G)
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 5242880 (4k) blocks.
Begin pass 2 (max = 32778)
正在重定位塊 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 2424)
正在掃描inode表 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 10)
正在更新inode引用 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/VolGroup-lv_home is now 5242880 blocks long.
[root@localhost ~]# mount /home(掛在 /home)
[root@localhost ~]# df –h (查看分區狀況)
文件系統 容量 已用 可用 已用%% 掛載點
/dev/mapper/VolGroup-lv_root
154G 7.9G 139G 6% /
tmpfs 1.9G 100K 1.9G 1% /dev/shm
/dev/sda1 485M 69M 391M 15% /boot
/dev/mapper/VolGroup-lv_home
20G 962M 18G 6% /home
[root@localhost ~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home (lvreduce指令用於減少LVM邏輯卷占用的空間大小。可能會刪除邏輯卷上已有的數據,所以在操作前必須進行確認。)
WARNING: Reducing active and open logical volume to 20.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
Reducing logical volume lv_home to 20.00 GiB
Logical volume lv_home successfully resized
[root@localhost ~]# df –h (查看分區狀況)
文件系統 容量 已用 可用 已用%% 掛載點
/dev/mapper/VolGroup-lv_root
154G 7.9G 139G 6% /
tmpfs 1.9G 100K 1.9G 1% /dev/shm
/dev/sda1 485M 69M 391M 15% /boot
/dev/mapper/VolGroup-lv_home
20G 962M 18G 6% /home
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 465.27 GiB
PE Size 4.00 MiB
Total PE 119109
Alloc PE / Size 46660 / 182.27 GiB
Free PE / Size 72449 / 283.00 GiB
VG UUID gPA8XS-ZncK-mGQj-2Vn9-TFTQ-6yOU-6atjE9
[root@localhost ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root (lvextend指令:擴展邏輯卷空間)
Extending logical volume lv_root to 439.39 GiB
Logical volume lv_root successfully resized
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 10, new_desc_blocks = 28
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 115183616 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 115183616 blocks long.
現在檢查一下調整的結果:
[root@localhost ~]# df -h
文件系統 容量 已用 可用 已用%% 掛載點
/dev/mapper/VolGroup-lv_root
433G 7.9G 403G 2% /
tmpfs 1.9G 100K 1.9G 1% /dev/shm
/dev/sda1 485M 69M 391M 15% /boot
/dev/mapper/VolGroup-lv_home
20G 962M 18G 6% /home
[root@localhost ~]#
做起來很順利,節省了重裝的時間。