1. 程式人生 > >CentOS 調整分割槽容量大小

CentOS 調整分割槽容量大小

本文適用於CentOS 6,其他系統未經測試


目的:

縮小/home目錄大小(193G 50G),將剩餘容量擴充套件給/根目錄(193G 336G)

命令介紹

[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% / # 根目錄資訊 tmpfs 16G 68K 16G 1% /dev/shm /dev/sdb1 477M 71M 381M 16% /boot /dev/mapper/VolGroup-LogVol00 193G 202M 183G 1% /home # /home目錄資訊
1、 df 命令用於顯示目前在Linux系統上的檔案系統的磁碟使用情況統計

從左到右每一列分別代表:檔案系統的名稱

總磁碟空間大小已使用空間大小可用空間大小使用的磁碟空間百分比“安裝在”指定的檔案系統的掛載點

2、 umount 命令用於解除安裝已經載入的檔案系統

例:解除安裝/home分割槽(命令引數可以是系統名稱掛載點

# 通過掛載點解除安裝
umount /home
# 通過系統名稱解除安裝
umount /dev/mapper/VolGroup-LogVol00
3、 e2fsck 命令用於檢查檔案系統是否正常工作

-a: 檢查,如發現問題會自動修復
-f : 強制檢查

# 檢查 /home 分割槽是否正常
e2fsck -f /dev/mapper/VolGroup-LogVol00
4、 resize2fs 命令用於調整 ext2 檔案系統的空間大小

-p: 為了每一個resize2fs操作列印一個百分比完成條,使用者可以保持注意程式正在運作的動態

# 調整 /home 分割槽為50G
resize2fs -p /dev/mapper/VolGroup-LogVol00 50G
5、 mount 命令用於載入檔案系統到指定的載入點

例:重新掛載/home分割槽(命令引數可以是系統名稱掛載點

# 掛載 /home分割槽
mount /home
6、 lvreduce 命令用於減少指定的LVM邏輯卷的空間大小

-L -10G: 縮小分割槽 10G
-L +10G: 擴充套件分割槽 10G
-L 10G: 擴充套件 或 縮小 10G

# 縮小 /home 的空間到50G
lvreduce -L 50G /dev/mapper/VolGroup-LogVol00

介紹LVM

LVM是Linux環境中對磁碟分割槽進行管理的一種機制,是建立在硬碟和分割槽之上、檔案系統之下的一個邏輯層,可提高磁碟分割槽管理的靈活性

LVM結構:

磁碟 => 分割槽 => PV => VG => LV => 檔案系統

擴充套件分割槽:

先擴LV再擴檔案系統

lvextend -L +100M /dev/mapper/VolGroup-LogVol00 # 邏輯卷的大小增加100M
resize2fs /dev/mapper/VolGroup-LogVol00 # 檔案系統增到邏輯卷的大小
縮小分割槽:

先減檔案系統再減LV

resize2fs /dev/mapper/VolGroup-LogVol00 100M # 減小檔案系統到100M
lvreduce -L 100M /dev/mapper/VolGroup-LogVol00 # 減小邏輯捲到100M
  • 修改LV及檔案系統的大小,必須先將LV及檔案系統解除安裝(umount),然後才可以操作

完整操作記錄

  • 命令加了註釋,方便大家理解,實際操作的時候請勿連同註釋一起復制
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01   193G  5.4G  177G   3% /
tmpfs                  16G   68K   16G   1% /dev/shm
/dev/sdb1             477M   71M  381M  16% /boot
/dev/mapper/VolGroup-LogVol00   193G  202M  183G   1% /home
[[email protected] ~]# umount /home/ # 解除安裝掛載分割槽
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01   193G  5.4G  177G   3% /
tmpfs                  16G   68K   16G   1% /dev/shm
/dev/sdb1             477M   71M  381M  16% /boot
[[email protected] ~]# e2fsck -f /dev/mapper/VolGroup-LogVol00 # 檢查分割槽檔案的錯誤性,-f 即使檔案系統沒有錯誤跡象,仍強制地檢查正確性
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/VolGroup-LogVol00: 21/12804096 files (9.5% non-contiguous), 887832/51200000 blocks
[[email protected] ~]# resize2fs -p /dev/mapper/VolGroup-LogVol00 50G # 調整分割槽大小為50G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-LogVol00 to 13107200 (4k) blocks.
Begin pass 2 (max = 32770)
Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 1563)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 9)
Updating inode references     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/VolGroup-LogVol00 is now 13107200 blocks long.

[[email protected] ~]# mount /home # 重新掛載分割槽
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01   193G  5.4G  177G   3% /
tmpfs                  16G   68K   16G   1% /dev/shm
/dev/sdb1             477M   71M  381M  16% /boot
/dev/mapper/VolGroup-LogVol00   50G  194M   47G   1% /home
[[email protected] ~]# lvreduce -L 50G /dev/mapper/VolGroup-LogVol00 # 縮小空間到50G。使用lvreduce指令用於減少LVM邏輯卷佔用的空間大小。可能會刪除邏輯捲上已有的資料,所以在操作前必須進行確認。記得輸入 “y” 
  WARNING: Reducing active and open logical volume to 50.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce VolGroup/LogVol00? [y/n]: y
  Size of logical volume VolGroup/LogVol00 changed from 195.31 GiB (50000 extents) to 50.00 GiB (12800 extents).
  Logical volume LogVol00 successfully resized.
[[email protected] ~]# vgdisplay # 檢視剩餘空間
  --- Volume group ---
  VG Name               VolGroup
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               409.38 GiB
  PE Size               4.00 MiB
  Total PE              104802
  Alloc PE / Size       67602 / 264.07 GiB # 已經分配的空間大小
  Free  PE / Size       37200 / 145.31 GiB # 可分配的空間大小
  VG UUID               dmX651-3dqe-YCyO-qUYl-ZBX6-1BZe-b7xkVD

[[email protected] ~]# lvextend -L +145.31G /dev/mapper/VolGroup-LogVol01 # 分配可用空間
  Rounding size to boundary between physical extents: 145.31 GiB.
  Size of logical volume VolGroup/LogVol01 changed from 195.31 GiB (50000 extents) to 340.62 GiB (87200 extents).
  Logical volume LogVol01 successfully resized.
[[email protected] ~]# resize2fs -p /dev/mapper/VolGroup-LogVol01 # 分割槽重設大小
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-LogVol01 is mounted on /; on-line resizing required
old desc_blocks = 13, new_desc_blocks = 22
Performing an on-line resize of /dev/mapper/VolGroup-LogVol01 to 89292800 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-LogVol01 is now 89292800 blocks long.

[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01   336G  5.4G  313G   2% /
tmpfs                  16G   68K   16G   1% /dev/shm
/dev/sdb1             477M   71M  381M  16% /boot
/dev/mapper/VolGroup-LogVol00   50G  194M   47G   1% /home
[[email protected] ~]#