Skip to content
Gallery
บันทึกการทำ
Share
Explore
Systems

icon picker
ศึกษา LVM บน Debian 11 bullseye

LVM (Logical Volume Manager) ช่วยให้สามารถรวม disk หลายตัวเข้าด้วย เพื่อทำเป็น logical volumn ที่สามารถเพิ่ม-ลดขนาดของ volume ได้
Last edited 37 seconds ago by Chookiat J

สภาพแวดล้อม

ในการทดสอบทำนี้ มีใช้อุปกรณ์ดังนี้
Raspberry Pi 4 8G ติดตั้ง Debian 11 bullseye arm64
boot จาก USB HDD
2x USB External HDD ขนาด 1 TB
หลักการ
Physical disk
Logical group
Logical volume
mount
||-------------------------OS----------------------------||
||-------------------------LVM---------------------------||
|| LV-1 (/) |LV-2 (swap)| LV 3 (/home) | LV-4 (/tmp)|| Logical Volumes(LV)
||------------------------------------------|------------||
|| VG 1 | VG 2 || Volume Groups(VG)
||------------------------------------------|------------||
|| /dev/sda2 | /dev/sda3 | /dev/sdb2 | /dev/sdd4 || Physical Volumes(PV)
||-------------------------------------------------------||
ดูคำสั่งอื่นๆ เพิ่มเติมได้จากลิงค์ในอ้างอิง

ลงมือทำ

เริ่มจากตรวจสอบว่า USB HDD ทั้ง 2 ตัวเป็น /dev ใดด้วยคำสั่ง lsblk แล้วสร้าง partition ของ USB HDD ทั้งสอง ด้วยคำสั่ง
# lsblk
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 256M 0 part /boot
└─sda2 8:2 0 931.3G 0 part /
sdb 8:16 0 931.5G 0 disk
sdc 8:32 0 931.5G 0 disk

# fdisk /dev/sdb
ดำเนินการติดตั้ง lvm2 และกำหนด PV (Physical volume) ให้กับ device ที่ต้องการนำมาทำ
# apt install -y lvm2
# lsblk
sdb 8:16 0 931.5G 0 disk
└─sdb1 8:17 0 931.5G 0 part
sdc 8:32 0 931.5G 0 disk
└─sdc1 8:33 0 931.5G 0 part

# pvcreate /dev/sdb1
# pvcreate /dev/sbc1

# pvscan
PV /dev/sdc1 VG dsklvm01 lvm2 [<931.51 GiB / 272.26 GiB free]
PV /dev/sdb1 VG dsklvm01 lvm2 [931.51 GiB / 0 free]
Total: 2 [<1.82 TiB] / in use: 2 [<1.82 TiB] / in no VG: 0 [0 ]

# pvdisplay
--- Physical volume ---
PV Name /dev/sdc1
VG Name dsklvm01
PV Size 931.51 GiB / not usable 4.71 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 238466
Free PE 69699
Allocated PE 168767
PV UUID suYAIj-sJou-FE3j-0eOM-3NOe-3eDH-51OB7k
--- Physical volume ---
PV Name /dev/sdb1
VG Name dsklvm01
PV Size 931.51 GiB / not usable <1.68 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 238467
Free PE 0
Allocated PE 238467
PV UUID HRjT9y-JVK0-M8bF-T363-RBSA-jehd-4kXi4b
จากนั้นก็ทำการสร้าง virtual group เพื่อกำหนดจัดกลุ่มของ pv ที่ต้องการ
# vgcreate dsklvm01 /dev/sdb1
# vgextend dsklvm01 /dev/sdc1

# vgdisplay
--- Volume group ---
VG Name dsklvm01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size <1.82 TiB
PE Size 4.00 MiB
Total PE 476933
Alloc PE / Size 407234 / 1.55 TiB
Free PE / Size 69699 / 272.26 GiB
VG UUID f5kgFF-wxKx-Hl81-dtw0-xnkO-B2u0-f6HyQi
เมื่อได้กรุ๊ปแล้ว ต่อไปก็เป็นการกำหนด logical volume พร้อมขนาดพื้นที่ แล้วทำการ format เพื่อนำไปใช้งานต่อไป โดยการทำ mount point
# lvcreate -n vollvm01 -L 1000g dsklvm01
# mkfs -t ext4 /dev/dsklvm01/vollvm01
# mkdir /disk1
# mount /dev/dsklvm01/vollvm01 /disk1
# lvresize --size +500g vollvm01
# lvdisplay
--- Logical volume ---
LV Path /dev/dsklvm01/vollvm01
LV Name vollvm01
VG Name dsklvm01
LV UUID o7wVRw-xgy8-sbEW-RzHv-5ueP-heN2-39sL0x
LV Write Access read/write
LV Creation host, time rpi4-01, 2022-10-04 22:21:27 +0700
LV Status available
# open 1
LV Size 1.55 TiB
Current LE 407234
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0

อ้างอิง

ขอขอบคุณ

ที่เอื้อเฟื้อ USB HDD
สำหรับ RPi4

Extra note

e2label /dev/mapper/dsklvm01-vollvm01 lvmvol01
blkid

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.