Linux Logical Volume Manager (LVM) เป็นเครื่องมือสำหรับการจัดการระบบไฟล์และพาร์ติชั่นในระบบ Linux ทำให้สามารถปรับขนาดและจัดการพื้นที่ดิสก์ได้ง่ายขึ้น โดยมีองค์ประกอบหลักดังนี้:
องค์ประกอบของ LVM
File System
ระบบไฟล์อยู่บน Logical Volume โดยจะถูกฟอร์แมตให้เป็นชนิดไฟล์ระบบเฉพาะ เช่น vfat, xfs, ext4 และถูกเมาท์ได้ทุกที่ในระบบ
- ตัวอย่าง: /home, /mnt/backups
Logical Volumes (LV)
Logical Volume เป็นหน่วยที่กำหนดให้กับไฟล์ระบบ โดยแต่ละ LV จะอยู่ใน Volume Group หนึ่ง
- ตัวอย่าง: lv_home, lv_root, lv_backups
Volume Groups (VG)
Volume Group เป็นกลุ่มของ Physical Volume หนึ่งหรือหลายอัน
- ตัวอย่าง: vg_system, vg_others
Physical Volumes (PV)
Physical Volume เป็นดิสก์หรือพาร์ติชั่นที่ถูกกำหนดให้เป็น PV
- ตัวอย่าง: /dev/vda1, /dev/vda2, /dev/vda3, /dev/vda4, /dev/vda5
Partitions
พาร์ติชั่นเป็นส่วนที่แบ่งจากดิสก์และสามารถกำหนดให้เป็น PV ได้
- ตัวอย่าง: /dev/vda1, /dev/vda2
คำสั่งจัดการ Volume Group
| คำสั่ง | คำอธิบาย |
|---|---|
| vgcreate | สร้าง Volume Group |
| vgscan | ค้นหา Volume Group ทั้งหมด |
| vgdisplay, vgs | แสดงข้อมูลของ Volume Group |
| vgextend | เพิ่ม Physical Volume ให้กับ Volume Group |
| vgremove | ลบ Volume Group |
| vgrename | เปลี่ยนชื่อ Volume Group |
| vgchange | เปลี่ยน Attribute ของ Volume Group |
| vgck | ตรวจสอบความถูกต้องของ Volume Group |
| vgmerge | รวม Volume Group |
| vgsplit | ย้าย Physical Volume ไปยัง Volume Group ใหม่หรือตามที่มีอยู่ |
| vgcfgbackup | สำรองการตั้งค่า Volume Group |
| vgcfgrestore | กู้คืนการตั้งค่า Volume Group |
| vgconvert | แปลงรูปแบบเมตาดาต้าของ Volume Group |
| vgexport | ยกเลิกการลงทะเบียน Volume Group จากระบบ |
| vgimport | ลงทะเบียน Volume Group ที่ส่งออกไว้กับระบบ |
| vgimportclone | นำเข้า Volume Group จาก Physical Volume ที่โคลน |
| vgmknodes | สร้างไฟล์พิเศษสำหรับอุปกรณ์ Volume Group ใน /dev |
คำสั่งจัดการ Physical Volume
| คำสั่ง | คำอธิบาย |
|---|---|
| pvcreate | เริ่มต้นดิสก์หรือพาร์ติชั่นเพื่อใช้เป็น Physical Volume |
| pvscan | สแกนดิสก์ทั้งหมดเพื่อหา Physical Volume |
| pvdisplay, pvs | แสดงข้อมูลของ Physical Volume |
| pvresize | ปรับขนาด Physical Volume |
| pvmove | ย้าย extents จาก Physical Volume หนึ่งไปยังอีกอัน |
| pvck | ตรวจสอบเมตาดาต้าบน Physical Volume |
| pvremove | ลบ LVM label จาก Physical Volume |
| pvchange | เปลี่ยน Attribute ของ Physical Volume |
คำสั่งจัดการ Logical Volume
| คำสั่ง | คำอธิบาย |
|---|---|
| lvcreate | สร้าง Logical Volume |
| lvscan | สแกนดิสก์ทั้งหมดเพื่อหา Logical Volume |
| lvdisplay, lvs | แสดงข้อมูลของ Logical Volume |
| lvextend | ขยายขนาด Logical Volume |
| lvremove | ลบ Logical Volume |
| lvrename | เปลี่ยนชื่อ Logical Volume |
| lvchange | เปลี่ยน Attribute ของ Logical Volume |
| lvreduce, lvresize | ลดและปรับขนาดของ Logical Volume |
| lvconvert | แปลง Logical Volume จากแบบ linear เป็น mirrored |
ตัวอย่างการใช้คำสั่ง
สร้าง Physical Volumes
bash
$ sudo pvcreate /dev/vda1 /dev/vda2 /dev/vda3 /dev/vda4 /dev/vda5
สร้าง Volume Groups
bash
$ sudo vgcreate vg_system /dev/vda1 /dev/vda2
$ sudo vgcreate vg_others /dev/vda3 /dev/vda4 /dev/vda5
สร้าง Logical Volumes
bash
$ sudo lvcreate -L 20GB -n lv_home vg_system
$ sudo lvcreate -L 35GB -n lv_root vg_system
$ sudo lvcreate -L 70GB -n lv_backups vg_others
การใช้ LVM ทำให้สามารถจัดการพื้นที่ดิสก์ในระบบ Linux ได้ยืดหยุ่นและสะดวกยิ่งขึ้น ช่วยให้คุณสามารถปรับขนาดและจัดการพาร์ติชั่นได้อย่างง่ายดาย
