【ECS最佳實踐】基於多塊雲盤構建LVM邏輯卷
阿新 • • 發佈:2019-06-10
一、LVM簡介
LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁碟分割槽進行管理的一種機制,LVM是建立在硬碟和分割槽之上的一個邏輯層,來提高磁碟分割槽管理的靈活性。
LVM最大的特點就是可以對磁碟進行動態管理。因為邏輯卷的大小是可以動態調整的,而且不會丟失現有的資料。如果我們新增加了硬碟,其也不會改變現有上層的邏輯卷。作為一個動態磁碟管理機制,邏輯卷技術大大提高了磁碟管理的靈活性。如果期望擴容雲盤的IO能力,則可以通過將多塊容量相同的雲盤做RAID0。
圖1:LVM邏輯示意圖(圖片來自於網際網路)
二、建立LVM卷
2.1步驟一 建立物理卷PV
如下以5塊雲盤通過LVM建立彈性可擴充套件邏輯卷為例。
root@lvs06:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 40G 0 disk └─vda1 252:1 0 40G 0 part / vdb 252:16 0 1T 0 disk vdc 252:32 0 1T 0 disk vdd 252:48 0 1T 0 disk vde 252:64 0 1T 0 disk vdf 252:80 0 1T 0 disk
- step1: 以root賬號登入雲伺服器
- step2:執行以下命令,為雲盤建立PV卷
pvcreate <磁碟路徑1> ... <磁碟路徑N>
說明:此處需要填寫雲盤的裝置名稱,如果需要新增多個雲盤,則可以新增多雲盤裝置名稱,中間以空格間隔。如下以/dev/vdb, /dev/vdc,/dev/vdd,/dev/vde,/dev/vdf為例,執行結果如下:
root@lvs06:~# pvcreate /dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdf Physical volume "/dev/vdb" successfully created. Physical volume "/dev/vdc" successfully created. Physical volume "/dev/vdd" successfully created. Physical volume "/dev/vde" successfully created. Physical volume "/dev/vdf" successfully created.
- step3:執行以下命令,檢視該伺服器上物理卷(PV)資訊:
lvmdiskscan | grep LVM
執行結果如下:
root@lvs06:~# lvmdiskscan | grep LVM
/dev/vdb [ 1.00 TiB] LVM physical volume
/dev/vdc [ 1.00 TiB] LVM physical volume
/dev/vdd [ 1.00 TiB] LVM physical volume
/dev/vde [ 1.00 TiB] LVM physical volume
/dev/vdf [ 1.00 TiB] LVM physical volume
5 LVM physical volume whole disks
0 LVM physical volumes
2.2步驟二 建立卷組(VG)
- step1:執行以下命令,建立卷組(VG)
vgcreate <卷組名> <物理卷路徑1>……<物理卷路徑N>
執行結果如下:
root@lvs06:~# vgcreate lvm_01 /dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdf
Volume group "lvm_01" successfully created
說明:
1.卷組名:該引數可自定義
2.物理卷路徑:此處填寫雲盤的物理卷名稱,多個物理卷直接以空格間隔
3.當提示 “Volume group XXX successfully created”標識卷組建立成功;
- step2:執行以下命令,可以向卷組(VG)中新增物理卷(PV)
vgextend 卷組名稱 <物理卷路徑1>……<物理卷路徑N>
如下,向卷組(VG)lvm_01中新增一塊新的物理卷:
root@lvs06:~# pvcreate /dev/vdg
Physical volume "/dev/vdg" successfully created.
root@lvs06:~# vgextend lvm_01 /dev/vdg
Volume group "lvm_01" successfully extended
- step3:建立卷組(VG)成功後,可通過vgs,vgdisplay命令檢視卷組資訊
root@lvs06:~# vgs
VG #PV #LV #SN Attr VSize VFree
lvm_01 6 0 0 wz--n- <6.00t <6.00t
2.3步驟三 建立邏輯卷(LV)
- step1:執行以下命令建立邏輯卷(LV)
lvcreate [-L <邏輯卷大小>][ -n <邏輯卷名稱>] <卷組名稱>
引數說明:
1.邏輯卷大小:邏輯卷的大小應小於卷組(VG)剩餘可用空間,單位可以選擇MB、GB或者TB
2.邏輯卷名稱:可自定義
3.卷組名稱:此處填寫邏輯卷所在的卷組名稱
本文以建立1個4TB的邏輯卷(LV)為例,執行結果如下:
root@lvs06:~# lvcreate -L 5T -n lv01 lvm_01
Logical volume "lv01" created.
- step2:執行lvdisplay命令檢視,邏輯卷詳細資訊:
root@lvs06:~# lvdisplay
--- Logical volume ---
LV Path /dev/lvm_01/lv01
LV Name lv01
VG Name lvm_01
LV UUID svB00x-l6Ke-ES6M-ctsE-9P6d-dVj2-o0h3Kz
LV Write Access read/write
LV Creation host, time lvs06, 2019-06-06 15:27:19 +0800
LV Status available
# open 0
LV Size 5.00 TiB
Current LE 1310720
Segments 6
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
2.4步驟四 建立並掛載檔案系統
- step1:執行以下命令,在建立好的邏輯卷(LV)上建立檔案系統
mkfs.檔案系統格式 邏輯卷路徑
針對上一步中的邏輯卷建立ext4檔案系統,執行結果如下:
root@lvs06:~# mkfs.ext4 /dev/lvm_01/lv01
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 1342177280 4k blocks and 167772160 inodes
Filesystem UUID: 2529002f-9209-4b6a-9501-106c1145c77f
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information:
done
- step2:執行以下命令掛載檔案系統:
mount 邏輯卷路徑 掛載點
執行結果如下:
root@lvs06:~# mount /dev/lvm_01/lv01 /media/lv01
root@lvs06:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 12G 0 12G 0% /dev
tmpfs 2.4G 3.7M 2.4G 1% /run
/dev/vda1 40G 3.6G 34G 10% /
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 12G 0 12G 0% /sys/fs/cgroup
tmpfs 2.4G 0 2.4G 0% /run/user/0
/dev/mapper/lvm_01-lv01 5.0T 89M 4.8T 1% /media/lv01
三、進階場景
3.1擴充套件邏輯卷以及系統容量
- Step1:執行以下命令,可擴充套件邏輯卷的容量
lvextend [-L +/- <增減容量>] <邏輯卷路徑>
引數說明:
1.增減容量:當卷組中可剩餘容量時 ,可以執行擴容邏輯卷操作。擴容邏輯卷之後還需要擴容對應的檔案系統才能生效;
2.邏輯卷路徑:此處填寫帶擴容的邏輯卷路徑
如下針對/dev/lvm_01/lv01 卷再擴容500GB物理空間,執行結果如下:
root@lvs06:~# lvextend -L +500GB /dev/lvm_01/lv01
Size of logical volume lvm_01/lv01 changed from 5.00 TiB (1310720 extents) to <5.49 TiB (1438720 extents).
Logical volume lvm_01/lv01 successfully resized.
- step2:執行pvs命令,檢視物理卷(pv)使用情況:
root@lvs06:~# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb lvm_01 lvm2 a-- <1024.00g 0
/dev/vdc lvm_01 lvm2 a-- <1024.00g 0
/dev/vdd lvm_01 lvm2 a-- <1024.00g 0
/dev/vde lvm_01 lvm2 a-- <1024.00g 0
/dev/vdf lvm_01 lvm2 a-- <1024.00g 0
/dev/vdg lvm_01 lvm2 a-- <1024.00g <523.98g
- step3:執行以下resize2fs命令擴容檔案系統:
resize2fs 邏輯卷路徑
執行結果如下:
root@lvs06:~# resize2fs /dev/lvm_01/lv01
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/lvm_01/lv01 is mounted on /media/lv01; on-line resizing required
old_desc_blocks = 640, new_desc_blocks = 703
The filesystem on /dev/lvm_01/lv01 is now 1473249280 (4k) blocks long.
- step4:執行df-h名稱,檢視檔案系統擴容情況
root@lvs06:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 12G 0 12G 0% /dev
tmpfs 2.4G 3.7M 2.4G 1% /run
/dev/vda1 40G 3.6G 34G 10% /
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 12G 0 12G 0% /sys/fs/cgroup
tmpfs 2.4G 0 2.4G 0% /run/user/0
/dev/mapper/lvm_01-lv01 5.5T 83M 5.2T 1% /media/lv01
作者:小盆友開飛機
原文連結
本文為雲棲社群原創內容,未經