lvm的建立,擴容,回縮
lvm邏輯盤卷管理(LogicalVolumeManager)
lvm是在linux的環境下對磁盤分區的管理,lvm的好處就在于可以線上擴容,就是在分區正在挂載的時候動态擴容,開始做系統的時候需要為每個分區指定大小,如果分區空間用完,這個分區就無法再往裡面添加檔案,隻能備份分區裡面的檔案,然後重新分區,這樣很麻煩。但是如果是用的是lvm的話,就可以動态添加分區的大小
pv:實體卷
vg:卷組(volume group)
lv:邏輯卷組(logical volumes)
建立的順序是先将分區制作成實體卷,在将若幹個實體卷制作成卷組,在卷組之上建立邏輯卷
1、劃出1個分區,我這裡是/dev/sda5大小為1G
# fdisk /dev/sda
Command (m for help): n //添加
First cylinder (2886-10443, default 2886): //直接回車,使用預設柱面
Using default value 2886
Last cylinder or +size or +sizeM or +sizeK (2886-10443, default 10443): +1G //大小1G
Command (m for help): t //指定分區類型
Partition number (1-6): 5 //5代表第五個分區,這裡是sda5
Hex code (type L to list codes): 8e //8e代表lvm
Changed system type of partition 5 to 8e (Linux LVM)
Command (m for help): w //w儲存退出
The partition table has been altered!
# partprobe /dev/sda 通知核心分區表發生改變
# pvcreate /dev/sda5首先建立pv
# vgcreate vg0 /dev/sda5建立vg,這個vg名字為vg0
#lvcreate -L 500M -n lv0 vg0在vg0中建立邏輯卷,名字為lv0
# lvs使用lvs指令檢視剛剛建立的邏輯卷
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv0 vg0 -wi-a- 500.00M
# mkfs.ext3 /dev/vg0/lv0 //格式化剛剛建立的邏輯卷
# mkdir /lvm //建立檔案夾,作為挂載點
# mount /dev/vg0/lv0 /lvm/ //挂載上
# df -h //檢視挂載
/dev/mapper/vg0-lv0 485M 11M 449M 3% /lvm
建立完成。
現在開始動态擴容lvm
# vgs使用vgs檢視目前卷組是否有空餘空間。
VG #PV #LV #SN Attr VSize VFree
vg0 1 1 0 wz--n- 964.00M 464.00M
我要将lvm增大到1500M ,目前的lvm是500M 還需要1G的空間,vg的剩餘空間沒有這麼多,我隻能在建立一個pv ,然後将新添加的pv劃入vg。我才能增大lvm
#fdisk /dev/sda方法同上。在添加一個1G的分區/dev/sda6
#pvcreate /dev/sda6
#vgextend vg0 /dev/sda6 将新建立的pv劃入vg0卷組裡
# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 2 1 0 wz--n- 1.88G 1.39G
現在剩餘空間為1.39G
# lvextend -L 1500M /dev/vg0/lv0
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv0 vg0 -wi-ao 1.46G
使用lvs檢視目前的lvm .我的邏輯卷已經變成了1500M,但是我使用df檢視的時候發現
這裡還是顯示我的lvm是485M,擴容的時候要注意,隻有lvm增大的時候,增大的那部分空間是不能用的,因為沒有檔案系統,是以現在我們要使用resize2fs這個指令來增大lvm的檔案系統
# resize2fs /dev/vg0/lv0
# df -h
/dev/mapper/vg0-lv0 1.5G 11M 1.4G 1% /lvm
這個時候lvm就已經變成了1.5G
說完了增大,我還想将lvm回縮到500M這個就需要用到lvm的回縮功能
注意:減小的時候lvm不能是挂載狀态,否則回縮檔案系統會失敗
減小的方法跟增大的方法類似,但是與增大正好相反,增大時先增大lvm然後拉伸檔案系統,而減小則是先回縮檔案系統,然後在縮小lvm
# umount /dev/vg0/lv0首先解除安裝lvm
# resize2fs /dev/vg0/lv0 500M
resize2fs 1.39 (29-May-2006)
Please run 'e2fsck -f /dev/vg0/lv0' first.
系統提示我們要先運作e2fsck -f /dev/vg0/lv0這個指令,這個指令是強制檢查我們的這個lvm裝置
# e2fsck -f /dev/vg0/lv0
Resizing the filesystem on /dev/vg0/lv0 to 512000 (1k) blocks.
The filesystem on /dev/vg0/lv0 is now 512000 blocks long.
系統提示說/dev/vg0/lv0現在已經500M了
# lvresize -L 500M /dev/vg0/lv0 //減小lvm
WARNING: Reducing active logical volume to 500.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv0? [y/n]: y這裡詢問我們是否要減小lvm
Reducing logical volume lv0 to 500.00 MB
Logical volume lv0 successfully resized這裡提示lvm已經成功減小
# mount /dev/vg0/lv0 /lvm再次挂載lvm
# df -h檢視挂載,變成了500M
/dev/mapper/vg0-lv0 485M 11M 454M 3% /lvm
本文轉自 周新宇1991 51CTO部落格,原文連結:http://blog.51cto.com/zhouxinyu1991/1269440,如需轉載請自行聯系原作者