Linux LVM卷組管理


Linux LVM卷組管理

由於傳統的磁盤管理不能對磁盤進行磁盤管理,因此誕生了LVM技術,LVM技術最大的特點就是對磁盤進行動態管理。

由於LVM的邏輯卷的大小更改可以進行動態調整,且不會出現丟失數據的情況。

 

一、LVM基本屬於介紹

  • 物理存儲介質(The physical media)
  • 這里指系統的存儲設備:硬盤,如:/dev/hda、/dev/sda等等,是存儲系統最低層的存儲單元。
  • 物理卷(physicalvolume)
  • 物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
  • 卷組(Volume Group)
  • LVM卷組類似於非LVM系統中的物理硬盤,其由物理卷組成。可以在卷組上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
  • 邏輯卷(logicalvolume)
  • LVM的邏輯卷類似於非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。
  • PV(physical volume,PV)
  • 物理卷,它的文件格式不是ext4這些,而是具有LVM管理功能的LVM格式
  • VG(Volume Group,VG)
  • 卷組,卷組是在PV物理卷的基礎上創建的,卷組是由一個或多個物理卷組成的,卷組可以在物理卷PV的基礎上擴展和縮小。
  • LV(logical volume,LV)
  • 邏輯卷,在VG的基礎上創建,可以進行格式化、可以創建文件系統、可以被掛載。對於用戶相當於一個磁盤分區,不過實際上是在VG上邏輯出來的,可以在VG的基礎上實現擴展和縮小,擴展的邊界是不能超過VG的。
  • PE(Physical Extents)
  • 物理塊、PE相當於block塊,默認是4M,一個物理卷PV被划分為稱為PE(Physical Extents)的基本單元,VG是由這些PE塊組成,也是VG可以自由擴展和縮小的關鍵原因。
  • LE(Logical Extent)
  • 邏輯卷LV也被划分為可被尋址的基本單位,稱為LE。在同一個卷組中,LE的大小和PE是相同的,並且一一對應

 

 

分類 命令 說明 示例
PV pvcreate 創建物理卷 pvcreate /dev/sdb1
PV pvdisplay 顯示已創建的物理卷的詳細信息  
PV pvs 顯示已創建的物理卷的匯總信息  
PV pvremove 刪除物理卷 pvremove /dev/sdb1
VG vgcreate 創建卷組 pvcreate vg1 /dev/sdb1 /dev/sdb2 …
VG vgdisplay 顯示已創建的卷組的詳細信息  
VG vgs 顯示已創建的卷組的匯總信息  
VG vgextend 擴展卷組 vgextend vg1 /dev/sdb3 …
VG vgreduce 收縮卷組 vgreduce vg1 /dev/sdb5
VG vgremove 刪除卷組 vgremove vg1
LV lvcreate 創建邏輯卷 lvcreate -L 1000M -n lv1 vg1
LV lvdisplay 顯示已創建的邏輯卷的詳細信息  
LV lvs 顯示已創建的邏輯卷的匯總信息  
LV lvresize 重設邏輯卷大小 lvresize -L 1000M /dev/vg1/lv1
LV resize2fs 更新邏輯卷信息(ext4) resize2fs /dev/vg1/lv1
LV lvremove 刪除邏輯卷 lvremove /dev/vg1/lv1
LV xfs_growfs 更新邏輯卷信息(xfs) xfs_growfs /dev/vg1/lv1
LV e2fsck 檢查邏輯卷錯誤(ext4) e2fsck -f /dev/vg1/lv1

其它參數:

-f 強制創建物理卷,不需要用戶確認
-u 指定設備的UUID
-y 所有的問題都回答“yes”
-Z 是否利用前4個扇區
pvcreate
-l 卷組上允許創建的最大邏輯卷數
-p 卷組中允許添加的最大物理卷數
-s 卷組上的物理卷的PE大小
vgcreate
-L 指定邏輯卷的大小,單位為“kKmMgGtT”字節
-l 指定邏輯卷的大小(LE數)
-n 后面跟邏輯卷名 
-s 創建快照
lvcreate

二、實驗的操作環境

  • 操作系統:Redhat 7 x64
  • 磁盤:1快/dev/sdb磁盤10G、已創建4個分區、3個主分區各2G、1個擴展分區4G。
  • 如果使用CentOS 7.4默認沒有安裝支持上述命令的軟件包,因此需要提前安裝lvm2軟件包,具體命令為:yum install -y lvm2

1、創建LVM

【創建過程】

(1)對新磁盤進行分區操作(fdisk); 

(2)逐一變更分區類型為Linux LVM(Hex代碼為:8e); 

(3)將物理磁盤初始化為物理卷PV(pvcreate);

(4)將一個或多個物理卷PV轉變為一個卷組VG(vgcreate)。

(5)從VG中創建邏輯卷(lvcreate)。

(6)格式化(mkfs.ext4/mkfs.xfs)。

(7)根據實際需要將邏輯卷掛載使用(mount)。

(8)根據需要對磁盤or邏輯卷進行擴展和縮減。

 

1.1、先將創建4個分區、3個主分區各2G、1個擴展分區4G。

# 管理/dev/sdb磁盤
fdisk /dev/sdb

# 添加主分區/sdb1 給2G空間
n -> p -> 1 -> 空格 -> +2G 

# 添加主分區/sdb2 給2G空間
n -> p -> 2 -> 空格 -> +2G 

# 添加主分區/sdb3 給2G空間
n -> p -> 3 -> 空格 -> +2G 

# 添加擴展分區/sdb4 給4G空間
n -> e -> 4 -> 空格 -> 空格

1.2、轉換分區類型為8e、8e類型為LVM。

# 將主分區1轉換為LVM
t  -> 1 -> 8e

# 將主分區2轉換為LVM
t  -> 2 -> 8e

# 將主分區3轉換為LVM
t  -> 3 -> 8e

1.3、將物理磁盤分區初始化為物理卷PV

# 為/dev/sdb1分區 創建PV
pvcreate /dev/sdb1

# 為/dev/sdb2分區 創建PV
pvcreate /dev/sdb2

# 為/dev/sdb3分區 創建PV
pvcreate /dev/sdb3

1.4、將一個或多個物理卷PV轉變為一個卷組VG

# 分區/dev/sdb1 /dev/sdb2 整合為一個 VG、命名為 vg1
vgcreate vg1 /dev/sdb1 /dev/sdb2

1.5、從VG中創建邏輯卷。

# 方案1:創建邏輯卷、lvcreate -L 划分大小 -n 邏輯卷名稱 卷組名稱 
lvcreate -L 1G -n lv1 vg1

# 方案2:創建邏輯卷、通過使用vg的PE大小來分邏輯卷,下面-l 分配了100個PE大小的邏輯卷
lvcreate -l 100 -n lv1 vg1

1.6、格式化邏輯卷、並掛載使用

# 格式化、/dev/vg1/lv1 為卷組創建出的邏輯卷位置
mkfs.ext4 /dev/vg1/lv1

# 掛載邏輯卷使用 掛載到 /mnt 目錄下
mount /dev/vg1/lv1 /mnt
# 查看邏輯卷的UUID:最后一行就是邏輯卷的信息,把該行的UUID復制出來,不含引號。
命令:blkid
例:/dev/mapper/vg1-lv1: UUID="11262806-d796-4f49-8f08-897181e8ec33"

# 編輯fstab: 在最后添加一行,輸入如下內容:
# 然后保存退出(:wq),重啟后查看結果,如果能正常掛載就沒有問題了。
UUID=11262806-d796-4f49-8f08-897181e8ec33 /mnt                    ext4    defaults        0 0
永久生效

1.7、卷組擴容 將/dev/sdb3 添加到 vg1 卷組內

# 將/dev/sdb3 分區添加到vg1卷組內
vgextend vg1 /dev/sdb3

1.8、卷則縮容 將/dev/sdb3 移除 vg1 卷組

命令:pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg1 lvm2 a-- <2.00g 0
/dev/sdb2 vg1 lvm2 a-- <2.00g 0
/dev/sdb3 vg1 lvm2 a-- <2.00g <2.00g
  • 只有PFree等於PSize,也就是說沒有被使用的物理卷,還能被列入考慮范圍。
  • 根據上面命令的執行結果,只有/dev/sdb5和/dev/sdb6二個可以被移除。
# 將分區/dev/sdb3 移除 vg1 卷組
vgreduce vg1 /dev/sdb3

 1.9、更新邏輯卷狀態

# 更新/dev/vg1/lv1邏輯卷狀態
resize2fs /dev/vg1/lv1

 

2、徹底刪除邏輯卷 

2.1、查看掛載、並取消掛載

# 查看掛載
df -mT
/dev/mapper/vg1-1v1    ext4  2.6M  907M   1% /mnt

# 取消掛載
umount /dev/mapper/vg1-1v1

2.2、刪除掛在記錄

# 刪除/etc/fstab 下掛載信息
vim /etc/fstab
...

2.3、刪除邏輯卷

lvremove  /dev/mapper/vg1-1v1

2.4、刪除卷組

vgremove vg1

2.5、刪除物理卷

pvremove /dev/sdb1
pvremove /dev/sdb2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM