Linux下配置LVM

1 LVM介紹

LVM(Logical Volume Manager)邏輯卷管理,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。通過LVM系統管理員可以輕鬆管理磁盤分區,

image  

                                                    邏輯卷管理器的技術結構

2 LVM的優缺點

優點:

1. 文件系統可以跨多個磁盤,因此文件系統大小不會受物理磁盤的限制。

2. 可以在系統運行的狀態下動態的擴展文件系統的大小。

3. 可以增加新的磁盤到LVM的存儲池中。

4. 可以以鏡像的方式冗餘重要的數據到多個物理磁盤。

5. 可以方便的導出整個卷組到另外一臺機器。

缺點:

1. 在從卷組中移除一個磁盤的時候必須使用reducevg命令(這個命令要求root權限,並且不允許在快照卷組中使用)。

2. 當卷組中的一個磁盤損壞時,整個卷組都會受到影響。

3. 因爲加入了額外的操作,存貯性能受到影響。

3 LVM基礎概念

1. 物理卷……PV(Physical Volume):物理卷在邏輯卷管理中處於最底層,它可以是實際物理硬盤上的分區,也可以是整個物理硬盤。

2. 卷組……VG(Volumne Group):卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之後可動態添加物理捲到卷組中。一個LVM系統中可以只有一個卷組,也可以擁有多個卷組。

3. 邏輯卷……LV(Logical Volume):邏輯卷建立在卷組之上,卷組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立後可以動態地擴展和縮小空間。系統中的多個邏輯卷可以屬於同一個卷組,也可以屬於不同的多個卷組。

4. 物理區域……PE(Physical Extent):物理區域是物理卷中可用於分配的最小存儲單元,物理區域的大小可根據實際情況在建立物理卷時指定。物理區域大小一旦確定將不能更改,同一卷組中的所有物理卷的物理區域大小需要一致。

5. 邏輯區域……LE(Logical Extent):邏輯區域是邏輯卷中可用於分配的最小存儲單元,邏輯區域的大小取決於邏輯卷所在卷組中的物理區域的大小。

6. 卷組描述區域……VGDA(Volume Group Descriptor Area):卷組描述區域存在於每個物理卷中,用於描述物理卷本身、物理卷所屬卷組、卷組中的邏輯卷及邏輯卷中物理區域的分配等所有信息,卷組描述區域是在使用pvcreate建立物理卷時建立的。

4 LVM管理命令

PV:Physical(物理卷)

pvcreate、pvs 、pvdisplay 、pvremove、pvmove、pvscan

VG:Volume Group(卷組)

vgcreate、vgs、vgdisplay、vgremove、vgrename、vgreduce、vgextent

LV:logical Volume(邏輯卷)

lvs、lvdisplay、lvremove、lvextend、lvresize、lvscan、lvrename

功能命令

物理卷管理

卷組管理

邏輯卷管理

掃描

pvscan

vgscan

lvscan

建立

pvcreate

vgcreate

lvcreate

顯示

pvdisplay /pvs

vgdisplay /vgs

lvdisplay /lvs

刪除

pvremove

vgremove

lvremove

擴展

 

vgextend

lvextend

縮小

 

vgreduce

lvreduce

5 LVM的配置

部署邏輯卷創建過程:

1.創建物理卷, 添加物理磁盤

2.創建卷組, 添加物理卷加⼊到該卷組

3.在卷組中劃分邏輯卷

操作步驟:

1、部署邏輯卷

1. 準備物理磁盤

[root@lvm ~]# lsblk |grep "sd[bcd]"

image

2. 將磁盤加⼊pv

[root@lvm ~]# pvcreate /dev/sdb

image

3. 檢查pv創建情況

[root@lvm ~]# pvs

image

4. 創建名爲datavg的卷組

vgcreate

-s 指定PE大小

[root@lvm ~]# vgcreate datavg /dev/sdb

image

5. 檢查卷組

[root@lvm ~]# vgs

image

6. 查看卷組組信息

[root@lvm ~]# vgdisplay test

image

7. 創建邏輯卷, 分配名稱, 以及⼤⼩, 指定卷組

[root@lvm ~]# lvcreate -L 200M -n data test

image

8. 檢查邏輯卷

[root@lvm ~]# lvscan

image

9. 查看邏輯卷信息

[root@lvm ~]# lvdisplay /dev/test/data

image

10. 格式化⽂件系統

[root@lvm ~]# mkfs.xfs /dev/test/data

image

11. 掛載並使⽤

[root@lvm ~]# mkdir /data

[root@lvm ~]# mount /dev/test/data /data/

[root@lvm ~]# df –h

image

2、卷組池管理

1. 新硬盤加⼊pv

[root@lvm ~]# pvcreate /dev/sdc

image

2. 查看pv信息

[root@lvm ~]# pvdisplay /dev/sdc

image

3. 擴展卷組VG, 擴⼤VG卷組使⽤vgextend擴展

[root@lvm ~]# vgextend test /dev/sdc

image

4. 查看vg信息

[root@lvm ~]# vgdisplay test

image

5. 移除卷組VG, 移除vg組中某⼀塊硬盤

[root@lvm ~]# vgreduce datavg /dev/sdb

image

6. 查看vg信息

[root@lvm ~]# vgdisplay test

image

7.數據遷移卷組VG, 同⼀卷組的磁盤纔可以進⾏在線遷移

檢查當前邏輯卷VG中PV使⽤情況

[root@lvm ~]# pvs

image

8. pvmove在線數據遷移⾄其他pv

[root@lvm ~]# pvmove /dev/sdb

image

9. 檢查是否將sdb數據遷移⾄sdc

[root@lvm ~]# pvs

image

3、擴容邏輯卷

邏輯卷的擴展, 取決於vg卷中剩餘多少容量, 擴展容量不能超過卷組VG

xfs擴容 lv邏輯卷

1. 增加800M分配給邏輯卷 {注意: 800M +800M 不⼀樣;直接800M是擴展到800M,+800M是在原有基礎+800M。}

[root@lvm ~]# lvextend -L +800M /dev/test/data

image

2. 刷新磁盤分區

[root@lvm ~]# xfs_growfs /dev/test/data

image

3. 查看磁盤大小

[root@lvm ~]# df –Th

image

4. ext擴容分配磁盤池中多少百分⽐給邏輯卷

[root@lvm ~]# lvextend -l +50%FREE /dev/test/nfs

image

[root@lvm ~]# resize2fs /dev/test/nfs

image

5. 查看磁盤大小

[root@lvm ~]# df –Th

image

4、縮邏輯卷

ext4 離線減小邏輯卷

1. 取消掛載/dev/test/nfs

[root@lvm ~]# umount /dev/test/nfs/

image

2. 掃描信息 (把空的數據補齊)

[root@lvm ~]# e2fsck -f /dev/test/nfs

image

3. 減小文件系統到600M

[root@lvm ~]# resize2fs /dev/test/nfs 600M

image

4. 減小邏輯卷爲600M

[root@lvm ~]# lvreduce -L 600M /dev/test/nfs

image

5. 重新掛載磁盤,並查看掛載信息

[root@lvm ~]# mount /dev/test/nfs /nfs/

[root@lvm ~]# df –Th

image

xfs只能擴大文件系統大小,不能減小文件系統大小。  

5、刪除邏輯卷

當生產環境中想要重新部署LVM或者不再需要使用LVM時,則需要執行LVM的刪除操作。爲此,需要提前備份好重要的數據信息,然後依次刪除邏輯卷、卷組、物理卷設備,這個順序不可顛倒。若你寫入自動掛載配置文件中,首先取消邏輯卷與目錄的掛載關聯,刪除配置文件中永久生效的設備參數。

1. 刪除邏輯卷設備,需要輸入y來確認操作

[root@lvm ~]# lvremove /dev/test/nfs

image

2. 刪除卷組,此處只寫卷組名稱即可,不需要設備的絕對路徑。

[root@lvm ~]# vgremove test

image

3. 刪除物理卷設備。

[root@lvm ~]# pvremove /dev/sdb /dev/sdc

image

4. 在上述操作執行完畢之後,再執行lvdisplay、vgdisplay、pvdisplay命令來查看LVM的信息時就不會再看到信息了(前提是上述步驟的操作是正確的)。

[root@lvm ~]# pvdisplay /dev/sdb

[root@lvm ~]# vgdisplay test

[root@lvm ~]# lvdisplay /dev/test/nfs

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章