邏輯卷管理與擴展
邏輯卷
作用:
- 1.整合分散的空間
- 2.空間支持擴大
邏輯卷制作過程:將眾多的物理卷(PV)組建成卷組(VG),再從卷組中劃分出邏輯卷(LV)
邏輯卷的邏輯思路
制作邏輯卷
建立卷組(VG)
格式:vgcreate 卷組名 設備路徑…….
Successfully:成功 example:例子
[root@localhost ~]# man vgcreate #參考幫助信息 按q退出
[root@localhost ~]# vgcreate systemvg /dev/vdb[1-2]
[root@localhost ~]# pvs #查看系統所有物理卷信息
[root@localhost ~]# vgs #查看系統卷組信息
建立邏輯卷(LV)
格式: lvcreate -L 大小G -n 邏輯卷名字 卷組名
[root@localhost ~]# lvcreate -L 16G -n vo systemvg
[root@localhost ~]# vgs #查看卷組信息
[root@localhost ~]# lvs #查看邏輯卷信息
使用邏輯卷(LV)
]# ls /dev/systemvg/vo
]# ls -l /dev/systemvg/vo]# mkfs.xfs /dev/systemvg/vo #格式化xfs文件系統
]# blkid /dev/systemvg/vo #查看文件系統類型
]# vim /etc/fstab
/dev/systemvg/vo /mylv xfs defaults 0 0
]# mkdir /mylv
]# mount -a #檢測fstab文件內容書寫是否正確
]# df -h /mylv #查看查看正在掛載使用的設備
案例1:新建一個邏輯卷
1 問題
本例要求沿用前案例,使用分區 /dev/sdb1 構建 LVM 存儲,相關要求如下:
- 新建一個名為 systemvg 的卷組
- 在此卷組中創建一個名為 vo 的邏輯卷,大小為180MiB
- 將邏輯卷 vo 格式化為 EXT4 文件系統
- 將邏輯卷 vo 掛載到 /vo 目錄,并在此目錄下建立一個測試文件 votest.txt,內容為“I AM KING.”
2 方案
LVM創建工具的基本用法:
vgcreate 卷組名 物理設備.. ..
lvcreate -L 大小 -n 邏輯卷名 卷組名
3 步驟
實現此案例需要按照如下步驟進行。
步驟一:創建卷組
1)新建名為systemvg的卷組
[root@server0 ~]# vgcreate systemvg /dev/sdb1
Physical volume "/dev/sdb1" successfully created
Volume group "systemvg" successfully created
2)確認結果
[root@server0 ~]# vgs
步驟二:創建邏輯卷
1)新建名為vo的邏輯卷
[root@server0 ~]# lvcreate -L 180MiB -n vo systemvg
Logical volume "vo" created
2)確認結果
[root@server0 ~]# lvs
步驟三:格式化及掛載使用
1)格式化邏輯卷/dev/systemvg/vo
[root@server0 ~]# mkfs.ext4 /dev/systemvg/vo
.. ..
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
2)掛載邏輯卷/dev/systemvg/vo
[root@server0 ~]# mkdir /vo //創建掛載點[root@server0 ~]# mount /dev/systemvg/vo /vo //掛載[root@server0 ~]# df -hT /vo/ //檢查結果Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/systemvg-vo ext4 171M 1.6M 157M 1% /vo
3)訪問邏輯卷/dev/systemvg/vo
[root@server0 ~]# cat /vo/votest.txtI AM KING.
邏輯卷的擴展
卷組有足夠的剩余空間
1.擴展邏輯卷的空間
]# df -h | grep vo
]# vgs
]# lvextend -L 18G /dev/systemvg/vo
]# vgs
]# lvs
2.擴展邏輯卷的文件系統(刷新文件系統)
xfs_growfs:刷新xfs文件系統
resize2fs:刷新ext4文件系統
]# xfs_growfs /dev/systemvg/vo
]# df -h | grep vo
]# lvs
卷組沒有足夠的剩余空間
1.擴展卷組的空間
]# vgextend systemvg /dev/vdb{3,5,6}
]# vgs
2.擴展邏輯卷的空間
]# vgs
]# lvextend -L 25G /dev/systemvg/vo
]# vgs
]# df -h | grep vo
3.擴展邏輯卷的文件系統(刷新文件系統)
]# xfs_growfs /dev/systemvg/vo
]# df -h | grep vo
邏輯卷的補充
-
邏輯卷支持縮減
-
xfs文件系統:不支持縮減
-
ext4文件系統:支持縮減
卷組劃分空間的單位 PE
默認1個PE的大小為4M
]# vgdisplay systemvg #顯示卷組的詳細信息
PE Size 4.00 MiB #PE的大小
請創建一個大小為250M的邏輯卷名字為lvredhat
]# vgchange -s 1M systemvg #卷組已存在修改PE大小
]# vgdisplay systemvg #查看卷組詳細信息
]# lvcreate -L 250M -n lvredhat systemvg
]# lvs
創建卷組時,指定PE的大小
[root@nb ~]# vgcreate -s 1M systemvg /dev/vdb[1-2]
邏輯卷的刪除
刪除邏輯卷的前提:不能刪除正在掛載使用的邏輯卷
[root@localhost ~]# lvremove /dev/systemvg/vo Logical volume systemvg/vo contains a filesystem in use.
[root@localhost ~]# umount /mylv/
[root@localhost ~]# lvremove /dev/systemvg/vo
Do you really want to remove active logical volume systemvg/vo? [y/n]: yLogical volume "vo" successfully removed
[root@localhost ~]# lvs #查看當前系統的所邏輯卷
[root@localhost ~]# vim /etc/fstab #僅刪除vo開機自動掛載
[root@localhost ~]# lvremove /dev/systemvg/lvredhat
Do you really want to remove active logical volume systemvg/lvredhat? [y/n]: yLogical volume "vo" successfully removed
刪除卷組的前提:基于此卷組創建的所有邏輯卷,要全部刪除RAID磁盤陣列
[root@svr1 ~]# lvs
[root@svr1 ~]# vgremove systemvg #刪除卷組
[root@svr1 ~]# vgs #查看當前系統的所有卷組信息
[root@svr1 ~]# pvremove /dev/vdb{1,2,3,5,6}
[root@svr1 ~]# pvs #查看當前系統的所有物理卷信息
案例2:擴展邏輯卷的大小
1 問題
本例要求沿用案例,將邏輯卷 vo 的大小調整為 300MiB,要求如下:
- 原文件系統中的內容必須保持完整
- 必要時可使用之前準備的分區 /dev/sdb5 來補充空間
- 注意:分區大小很少能完全符合要求的大小,所以大小在270MiB和300MiB之間都是可以接受的
2 方案
對于已經格式化好的邏輯卷,在擴展大小以后,必須通知內核新大小。
如果此邏輯卷上的文件系統是EXT3/EXT4類型,需要使用resize2fs工具;
如果此邏輯卷上的文件系統是XFS類型,需要使用xfs_growfs。
3 步驟
實現此案例需要按照如下步驟進行。
步驟一:確認邏輯卷vo的信息
1)找出邏輯卷所在卷組
[root@server0 ~]# lvs
2)查看該卷組的剩余空間是否可滿足擴展需要
[root@server0 ~]# vgdisplay systemvg--- Volume group ---VG Name systemvgSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 2VG Access read/writeVG Status resizableMAX LV 0Cur LV 1Open LV 0Max PV 0Cur PV 1Act PV 1VG Size 196.00 MiB //卷組總大小PE Size 4.00 MiBTotal PE 49Alloc PE / Size 45 / 180.00 MiBFree PE / Size 4 / 16.00 MiB //剩余空間大小VG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
此例中卷組systemvg的總大小都不夠300MiB、剩余空間才16MiB,因此必須先擴展卷組。只有剩余空間足夠,才可以直接擴展邏輯卷大小。
步驟二:擴展卷組
1)將提前準備的分區/dev/sdb5添加到卷組systemvg
[root@server0 ~]# vgextend systemvg /dev/sdb5Physical volume "/dev/sdb5" successfully createdVolume group "systemvg" successfully extended
2)確認卷組新的大小
[root@server0 ~]# vgdisplay systemvg--- Volume group ---VG Name systemvg.. ..VG Size 692.00 MiB //總大小已變大PE Size 4.00 MiBTotal PE 173Alloc PE / Size 45 / 180.00 MiBFree PE / Size 128 / 512.00 MiB //剩余空間已達512MiBVG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
步驟三:擴展邏輯卷大小
1)將邏輯卷/dev/systemvg/vo的大小調整為300MiB
[root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo Extending logical volume vo to 300.00 MiBLogical volume vo successfully resized
2)確認調整結果
[root@server0 ~]# lvs
3)刷新文件系統大小
確認邏輯卷vo上的文件系統類型:
[root@server0 ~]# blkid /dev/systemvg/vo
/dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"
選擇合適的工具刷新大小:
[root@server0 ~]# resize2fs /dev/systemvg/vo
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.
The filesystem on /dev/systemvg/vo is now 307200 blocks long.
確認新大小(約等于300MiB):
[root@server0 ~]# mount /dev/systemvg/vo /vo/
[root@server0 ~]# df -hT /vo
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4 287M 2.1M 266M 1% /vo