หากผู้อ่านเคยติดตั้ง Ubuntu บน VM instance โดยใช้การตั้งค่า disk แบบ default ตามขั้นตอนการติดตั้ง เมื่อดำเนินการติดตั้งสำเร็จจะพบว่า เนื้อที่ root file system ( / ) จะเหลืออยู่เพียงครึ่งนึงของขนาด physical disk โดยประมาณ
ที่มาของเหตุการณ์ข้างต้นสามารถหาข้อมูลเพิ่มเติมได้ ซึ่งจะเกี่ยวกับ Logical Volume Manager (LVM)
คุณสมบัติ
- vShere 6.0
- Ubuntu 20.04.3
สิ่งที่ต้องดำเนินการก่อน
- สำรอง VM instance หรือ clone VM instance แล้วดำเนินการต่อกับ instance ที่ clone มา
คำสั่งที่ใช้
- df -h
- สำหรับตรวจสอบเนื้อที่ว่างของ root file system
- vgdisplay
- สำหรับแสดงรายละเอียด ใช้ตรวจสอบเนื้อที่ว่างของ Volume Group (VG)
- lvdisplay
- สำหรับตรวจสอบเนื้อที่ว่างของ Logical Volume (LV)
- lvextend
- สำหรับขยายขนาดของ Logical Volume
- resize2fs
- สำหรับเปลี่ยนแปลงขนาดของ file-system
- cfdisk
- สำหรับตรวจสอบและเปลี่ยนแปลงขนาดของ LVM Partition
- pvresize
- สำหรับเปลี่ยนแปลงขนาดของ Physical Volume (PV)
- pvdisplay
- สำหรับแสดงรายละเอียดของ PV
แนวทางปฏิบัติ
ในบทความนี้ จะกล่าวถึง 2 แนวทางในการเพิ่มเนื้อที่ disk ได้แก่
- เพิ่มเนื้อที่โดยใช้พื้นที่ว่างหลังจากการติดตั้งระบบปฏิบัติการ
- เพิ่มเนื้อที่หลังจากการเพิ่มเนื้อที่ของ VM Instance Disk
เพิ่มเนื้อที่โดยใช้พื้นที่ว่างที่มีอยู่เดิม
ขั้นตอนแบบตามคำสั่ง (Ubuntu on VM instance)
- df -h
- ตรวจสอบขนาดของ file-system เดิมก่อนเริ่มดำเนินการ
- vgdisplay
- ตรวจสอบรายละเอียดของ VG เพื่อหาพื้นที่ว่าง ในผลลัพธ์จะแสดงอยู่ที่ Free PE / Size
- lvdisplay
- ตรวจสอบขนาดของ LV ก่อนดำเนินการขยาย LV
- lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
- ขยายขนาดของ LV โดยใช้พื้นที่ว่างทั้งหมด
- lvdisplay
- ตรวจสอบขนาดของ LV หลังดำเนินการขยาย LV
- resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
- ขยายขนาดของ file-system ให้มีขนาดเกือบเท่ากับ LV ที่ได้ทำการขยายไปก่อนหน้า
- df -h
- ตรวจสอบขนาดของ file-system เดิมก่อนเริ่มดำเนินการ
เพิ่มเนื้อที่โดยการขยายขนาดของ VM Instnace Disk
ในแนวทางนี้จะแบ่งเป็น 2 ส่วน คือ การเพิ่มขนาด disk ของ VM instance และ การเพิ่มขนาดของ OS file-system โดยในส่วนของการเพิ่มขนาดของ file-system จะมีขั้นตอนคล้ายกับแนวทางก่อนหน้า แต่จะแตกต่างกันตรงที่ จะต้องขยายขนาดของ PV ก่อน แล้วตามด้วยขั้นตอนในแนวทางก่อนหน้า
การเพิ่มขนาด disk ของ VM instance
- เข้าใช้งาน vSphere Client
- แถบทางซ้ายมือ คลิกแท็บ “VMs and Templates” เลือก VM instance ที่ต้องการปรับ
- คลิกขวา > Power > Shut Down Guest OS หรือ Power Off เพิ่มปิดใช้งาน VM instance ก่อน
- ส่วนหลักของหน้าจอ เลือกแท็บ “Summary” และคลิก “Edit Settings” ในส่วน “VM Hardware”
- จะปรากฏหน้าต่าง “Edit Settings” เลือกแท็บ “Virtual Hardware”
- ในส่วน “Hard disk …” กรอกขนาดของ disk ที่ต้องการปรับเพิ่มขึ้น **ขนาดของ disk ต้องเพิ่มขึ้นจากเดิมเท่านั้น
- คลิก “OK” เป็นการยืนยัน แล้วเปิดใช้งาน VM instance
ขั้นตอนตามคำสั่ง (Ubuntu on VM instance)
- cfdisk
- ตรวจสอบเนื้อที่ว่างบน disk (รายการ Free Space) และขยายขนาดของ partition ( partition เป้าหมายที่ต้องการขยายคือ /dev/sda3 )
- กดลูกศรลงล่าง เลื่อนไปยังรายการ /dev/sda3 ตามด้วยลูกศรซ้ายขวาเลื่อนเมนูไปยัง “Resize” และกดปุ่ม “Enter” บนคีย์บอร์ด
- จะปรากฏข้อความให้ยืนยันขนาดใหม่ของ /dev/sda3 กดปุ่ม “Enter” บนคีย์อีกครั้ง สังเกตที่ /dev/sda3 ตรงเมตริกซ์ size จะมีขนาดใหญ่ขึ้น
- กดลูกศรซ้ายขวา เลื่อนไปยังเมนู “Write” กดปุ่ม “Enter” บนคีย์ จะปรากฏข้อความให้ยืนยันการเปลี่ยนแปลง พิมพ์ “yes” และ กดปุ่ม “Enter” บนคีย์อีกครั้ง
- กดปุ่ม “q” บนคีย์บอร์ด เพื่อออกจากโปรแกรม
- **ถ้าไม่ปรากฏรายการ “Free Space” เลือก “Quit” เพิ่มออกจากโปรแกรม ตามด้วยคำสั่ง echo 1>/sys/class/block/sda/device/rescan และใช้คำสั่งข้อนี้อีกครั้ง
- pvresize /dev/sda3
- ขยายขนาดของ PV
- pvdisplay
- แสดงรายละเอียดของ PV
- vgdisplay
- ตรวจสอบรายละเอียดของ VG เพื่อหาพื้นที่ว่าง ในผลลัพธ์จะแสดงอยู่ที่ Free PE / Size
- lvdisplay
- ตรวจสอบขนาดของ LV ก่อนดำเนินการขยาย LV
- lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
- ขยายขนาดของ LV โดยใช้พื้นที่ว่างทั้งหมด
- lvdisplay
- ตรวจสอบขนาดของ LV หลังดำเนินการขยาย LV
- resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
- ขยายขนาดของ file-system ให้มีขนาดเกือบเท่ากับ LV ที่ได้ทำการขยายไปก่อนหน้า
- df -h
- ตรวจสอบขนาดของ file-system เดิมก่อนเริ่มดำเนินการ
อ้างอิง
https://packetpushers.net/ubuntu-extend-your-default-lvm-space/
หากมีเนื้อหาผิดพลาดประการใด หรือ ทำตามขั้นตอนที่แนะนำแล้วติดปัญหา สามารถคอมเมนท์มาพูดคุยกันได้ครับ
เยี่ยมเลยฮะ