Logical Volume Management ( LVM ) เป็นระบบการจัดการพื้นที่ Disk เหมือนกับ Disk Management บน Windows ซึ่งบน Windows จะเรียกว่า Partition ส่วนบน Linux จะเรียกว่า Volume แทน
LVM
- Physical Volume ( PV ) : เวลาเราเพิ่ม HDD เข้ามา เราจะเห็นเป็น Physical ( /dev/sdd ) ซึ่งเราสามารถใช้ Physical ทั้งลูก หรือสร้างเป็น Partition ( /dev/sdd1 ) เพื่อนำมาสร้างเป็น Physical Volume ซึ่งแนะนำให้ทำเป็น Partition ก่อน
- Volume Group ( VG ) : หลังจากที่เราสร้าง Physical Volume เปรียบเสมือนเราต่อ HDD หลาย ๆ ลูก ซึ่งหากพื้นที่เต็มเราจะไม่สามารถขยายได้ Volume Group จึงเป็นการนำ Physical Volume หลาย ๆ อันมารวมกัน เพื่อให้มองเห็นเป็นก้อนเดียว
- Logical Volume ( LV ) : เป็นการตัดแบ่ง Volume Group ออกเป็น Logical Volume เพื่อนำไปต่อกับ File System ซึ่งโดยปกติจะแบ่งเป็น 2 Logical Volume คือ root และ swap
Get Started
- ตรวจสอบ Disk Usage ของ File System
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ol6-lv_root
45G 16G 28G 37% /
tmpfs 864M 228K 863M 1% /dev/shm
/dev/sda1 477M 353M 95M 79% /boot
- ตรวจสอบ Partition และ File System จะเห็น /dev/sdd เพิ่มเข้ามา
# fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00039da3
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 6528 51915776 8e Linux LVM
Disk /dev/sdc: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4371fdda
Device Boot Start End Blocks Id System
/dev/sdc1 1 1305 10482381 83 Linux
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3fb1e686
Device Boot Start End Blocks Id System
/dev/sdb1 1 1305 10482381 83 Linux
Disk /dev/sdd: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
- สร้าง Primary Partition
# fdisk /dev/sdd
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x9f1cd60c.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6527, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-6527, default 6527):
Using default value 6527
- ทำการ Change Type Partition
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
- ตรวจสอบ Partition ที่สร้างขึ้นมา Print & Verify
Command (m for help): p
Disk /dev/sdd: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9f1cd60c
Device Boot Start End Blocks Id System
/dev/sdd1 1 6527 52428096 8e Linux LVM
- ทำการ Write to Disk
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
- ตรวจสอบ Physical Volume
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_ol6 lvm2 a--u 49.51g 0
- ทำการ Create Physical Volume จาก Partition ที่สร้าง /dev/sdd1
# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created
- ตรวจสอบ Physical Volume อีกครั้งหนึ่ง จะเห็น /dev/sdd1 อยู่ใน Physical Volume
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_ol6 lvm2 a--u 49.51g 0
/dev/sdd1 lvm2 ---- 50.00g 50.00g
- ตรวจสอบ Volume Group
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_ol6 1 2 0 wz--n- 49.51g 0
- ทำการ Add Physical Volume เข้าไปใน Volume Group
# vgextend vg_ol6 /dev/sdd1
Volume group "vg_ol6" successfully extended
- ตรวจสอบ Volume Group อีกครั้งหนึ่ง จะเห็นพื้นที่ VFree จาก 0 เป็น 50.00g
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_ol6 2 2 0 wz--n- 99.50g 50.00g
- ตรวจสอบ Logical Volume
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_ol6 -wi-ao---- 45.60g
lv_swap vg_ol6 -wi-ao---- 3.91g
- ทำการ Extend Logical Volume ที่อยู่ใน Volume Group โดยเลือกขยาย Logical Volume ที่เป็น lv_root
# lvextend -l +100%FREE vg_ol6/lv_root
Size of logical volume vg_ol6/lv_root changed from 45.60 GiB (11674 extents) to 145.60 GiB (37273 extents).
Logical volume lv_root successfully resized.
- ตรวจสอบ Logical Volume อีกครั้งหนึ่ง จะเห็นพื้นที่ Logical Volume ที่เป็น lv_root เพิ่มขึ้น
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_ol6 -wi-ao---- 95.60g
lv_swap vg_ol6 -wi-ao---- 3.91g
- ตรวจสอบ Disk Usage ของ File System อีกครั้งหนึ่ง จะเห็นว่าพื้นที่ของ vg_ol6-lv_root ยังไม่เปลี่ยน
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ol6-lv_root
45G 16G 28G 37% /
tmpfs 864M 228K 863M 1% /dev/shm
/dev/sda1 477M 353M 95M 79% /boot
- ทำการ Resize พื้นที่ของ vg_ol6-lv_root บน File System
# resize2fs /dev/mapper/vg_ol6-lv_root
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/vg_ol6-lv_root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 6
The filesystem on /dev/mapper/vg_ol6-lv_root is now 25060352 blocks long.
- ตรวจสอบ Disk Usage ของ File System อีกครั้งหนึ่ง จะเห็นว่าพื้นที่ของ vg_ol6-lv_root เพิ่มจาก 28G เป้น 75G แล้ว
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ol6-lv_root
94G 16G 75G 18% /
tmpfs 864M 228K 863M 1% /dev/shm
/dev/sda1 477M 353M 95M 79% /boot
อ่านเพิ่มเติม : https://bit.ly/2MRasLD
Tagged: LVM
Leave a Reply