1. 程式人生 > >VolGroup-lv_home 100%,擴容linux系統/目錄容量 CentOS下調整home和根分割槽大小【最簡單版】

VolGroup-lv_home 100%,擴容linux系統/目錄容量 CentOS下調整home和根分割槽大小【最簡單版】

目標:將VolGroup-lv_home縮小到20G,並將剩餘的空間新增給VolGroup-lv_root

1.首先檢視磁碟使用情況

[root@localhost ~]# df -h
檔案系統	容量  已用 可用  已用% 掛載點 
Filesystem             Size  Used Avail Use% Mounted on  
/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

2、解除安裝/home

[root@localhost ~]# umount /home
umount /home 如果提示無法解除安裝,則是有程序佔用/home,使用如下命令來終止佔用程序:
[root@localhost ~]# fuser -m /home  
 如果還是無法解除安裝,執行umount -l /home

3、調整分割槽大小

[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
如果提示執行“e2fsck -f /dev/mapper/VolGroup-lv_home”,則執行相關命令: 
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然後重新執行命令:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
注:resize2fs 為重新設定磁碟大小,只是重新指定一下大小,並不對結果有影響,需要下面lvreduce的配合

此處可能出現一直提示in use的錯誤,解決方案是進入單使用者模式,然後使用以上命令進行修復磁碟,順便可以在裡面進行以下操作。


4、掛載上/home,檢視磁碟使用情況
[root@localhost ~]# mount /home
[root@localhost ~]# df -h
 

5、設定空閒空間
使用lvreduce指令用於減少LVM邏輯卷佔用的空間大小。可能會刪除邏輯捲上已有的資料,所以在操作前必須進行確認。記得輸入 “y”
[root@localhost ~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home
注:lvreduce -L 20G的意思為設定當前檔案系統為20G,如果lvreduce -l 20G是指從當前檔案系統上減少20G
使用lvreduce減小邏輯卷的大小。注意:減小後的大小不能小於檔案的大小,否則會丟失資料。 

可以使用vgdisplay命令等檢視一下可以操作的大小。也可以是用fdisk -l命令檢視詳細資訊。
[root@localhost ~]# vgdisplay
檢視“Free  PE / Size”剩餘空間
Free  PE / Size       265598 / 283G 
注:vgdisplay為顯示LVM卷組的元資料資訊

6.把閒置空間掛在到根目錄下

[root@localhost ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root
注:lvextend -L +283G為在檔案系統上增加283G 這裡的283G容量為上一步檢視的剩餘空間,就是紅色部分
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root

 這一步比較慢,耐心等待。

7、檢查調整結果

[root@localhost ~]# df -h

更新於:2016.05.10

昨晚使用此方法更改了大小之後,伺服器起不來了,掛了,哈哈,之前用上面方法其實試過好幾次,都是沒問題,這一次應該是某個操作失誤了,導致以下問題:

unexpected inconsistency;RUN fsck MANUALLY", 還有另外的一些提示大概的意思是:/dev/mapper/VolGroup-lv_home這個邏輯分割槽的大小比物理分割槽大小還要大,導致系統無法識別了。

那麼怎麼辦?

第一步,百度

進入單使用者模式,別人都是使用fsck -y /dev/your_partition ,使用該命令之後一般的就好了,然兒這次我並沒有好,尼瑪。。。

第二部,沒辦法,只能再找;

解決方案是,無法載入/dev/mapper/VolGroup-lv_home,那麼就不載入吧。

如何不載入/dev/mapper/VolGroup-lv_home呢?

在單使用者模式下,將/etc/fstab中關於/dev/mapper/VolGroup-lv_home的這一行注掉,儲存時會發現只讀檔案,系統不讓儲存,這時使用mount -o remount,rw / 可以對/目錄下的檔案進行讀寫修改了,儲存後重啟,就能進入系統了;進入系統之後把原來的邏輯分割槽刪了,然後重做邏輯分割槽,可惜了以前的一些使用者資料在裡面沒了。

原文地址