Linux LVM卷組管理

Linux LVM卷組管理vim

因爲傳統的磁盤管理不能對磁盤進行磁盤管理,所以誕生了LVM技術,LVM技術最大的特色就是對磁盤進行動態管理。app

因爲LVM的邏輯卷的大小更改能夠進行動態調整,且不會出現丟失數據的狀況。ide

 

1、LVM基本屬於介紹spa

  • 物理存儲介質(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

2、實驗的操做環境操作系統

  • 操做系統:Redhat 7 x64
  • 磁盤:1快/dev/sdb磁盤10G、已建立4個分區、3個主分區各2G、1個擴展分區4G。
  • 若是使用CentOS 7.4默認沒有安裝支持上述命令的軟件包,所以須要提早安裝lvm2軟件包,具體命令爲:yum install -y lvm2

一、建立LVM3d

【建立過程】code

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

(2)逐一變動分區類型爲Linux LVM(Hex代碼爲:8e); rem

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

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

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

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

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

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

 

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.二、轉換分區類型爲8e、8e類型爲LVM。

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

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

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

1.三、將物理磁盤分區初始化爲物理卷PV

# 爲/dev/sdb1分區 建立PV
pvcreate /dev/sdb1

# 爲/dev/sdb2分區 建立PV
pvcreate /dev/sdb2

# 爲/dev/sdb3分區 建立PV
pvcreate /dev/sdb3

1.四、將一個或多個物理卷PV轉變爲一個卷組VG

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

1.五、從VG中建立邏輯卷。

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

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

1.六、格式化邏輯卷、並掛載使用

# 格式化、/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.七、卷組擴容 將/dev/sdb3 添加到 vg1 卷組內

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

1.八、卷則縮容 將/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.九、更新邏輯卷狀態

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

 

二、完全刪除邏輯卷 

2.一、查看掛載、並取消掛載

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

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

2.二、刪除掛在記錄

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

2.三、刪除邏輯卷

lvremove  /dev/mapper/vg1-1v1

2.四、刪除卷組

vgremove vg1

2.五、刪除物理卷

pvremove /dev/sdb1
pvremove /dev/sdb2
相關文章
相關標籤/搜索