目次

1. บทนำ

เมื่อคุณใช้งาน Ubuntu อาจพบสถานการณ์ที่ “พื้นที่ดิสก์ไม่เพียงพอ” หรือ “ต้องการติดตั้งแอปใหม่แต่ไม่มีพื้นที่ว่าง” ในกรณีเหล่านี้ การขยายพาร์ทิชัน (Partition Expansion) คือวิธีการที่ช่วยแก้ปัญหา การขยายพาร์ทิชันคือการเพิ่มขนาดพื้นที่บนดิสก์ (พาร์ทิชันที่มีอยู่) เพื่อให้ใช้งานพื้นที่จัดเก็บได้อย่างมีประสิทธิภาพยิ่งขึ้น

โดยเฉพาะ Ubuntu ที่ถูกใช้งานทั้งในเซิร์ฟเวอร์และเดสก์ท็อป การจัดการพาร์ทิชันจึงจำเป็นในหลายกรณี เช่น เครื่องเสมือน (VM), VPS (เซิร์ฟเวอร์เสมือนเฉพาะทาง) หรือระบบดูอัลบูต (Dual Boot) อย่างไรก็ตาม หลายคนอาจกังวลว่า “ควรขยายด้วยวิธีไหน?” หรือ “หากทำผิดจะข้อมูลหายหรือไม่?”

บทความนี้จะอธิบายขั้นตอนขยายพาร์ทิชันใน Ubuntu อย่างเข้าใจง่าย ตั้งแต่ขั้นพื้นฐานไปจนถึงกรณีใช้งานกับ LVM และระบบเสมือน รวมถึงข้อควรระวังและการเตรียมความพร้อม เพื่อให้สามารถขยายพาร์ทิชันได้อย่างปลอดภัย

ไม่ว่าคุณจะเป็นมือใหม่ที่เพิ่งเริ่มใช้คำสั่ง Linux หรือผู้มีประสบการณ์ที่เคยจัดการพาร์ทิชันบนดิสทริบิวชันอื่นมาก่อน บทความนี้จะเป็นประโยชน์สำหรับทุกระดับ
แม้การขยายพาร์ทิชันจะต้องใช้ความระมัดระวัง แต่หากเข้าใจขั้นตอนที่ถูกต้อง คุณจะสามารถปกป้องข้อมูลสำคัญและเพิ่มประสิทธิภาพพื้นที่จัดเก็บได้

2. ความรู้พื้นฐานก่อนขยายพาร์ทิชัน

ก่อนจะขยายพาร์ทิชันใน Ubuntu การมีความรู้พื้นฐานจะช่วยลดข้อผิดพลาดหรือปัญหาที่อาจเกิดขึ้น บทนี้จะอธิบายพื้นฐานของพาร์ทิชันและไฟล์ซิสเต็ม, การมีหรือไม่มี LVM และแนวโน้มโครงสร้างพาร์ทิชันใน Ubuntu รุ่นใหม่

2.1 พาร์ทิชันคืออะไร?

พาร์ทิชันคือการแบ่งพื้นที่บนฮาร์ดดิสก์หรือ SSD ออกเป็นส่วน ๆ เสมือน สามารถแยกเป็น “สำหรับระบบ”, “สำหรับข้อมูล” ได้อย่างอิสระ ใน Ubuntu ไฟล์ระบบ ข้อมูลผู้ใช้ หรือ swap ก็มักถูกแยกอยู่ในแต่ละพาร์ทิชัน

2.2 ประเภทของพาร์ทิชันเทเบิล (GPT และ MBR)

วิธีบันทึกโครงสร้างพาร์ทิชันบนดิสก์หลัก ๆ มี 2 แบบ คือ “GPT (GUID Partition Table)” และ “MBR (Master Boot Record)”

  • MBR: รูปแบบเก่าที่รองรับสูงสุด 2TB และสร้างพาร์ทิชันหลักได้สูงสุด 4 พาร์ทิชัน
  • GPT: รูปแบบใหม่ที่รองรับดิสก์ขนาดใหญ่กว่า 2TB และพาร์ทิชันได้มากกว่า 128 ส่วน ปัจจุบัน Ubuntu นิยมใช้ GPT เป็นหลัก

หากไม่แน่ใจว่าระบบของคุณใช้แบบไหน สามารถตรวจสอบด้วยคำสั่ง sudo parted -l

2.3 การมีหรือไม่มี LVM (Logical Volume Manager)

ใน Ubuntu อาจใช้การขยายพาร์ทิชันแบบตรง หรือผ่าน LVM (Logical Volume Manager) ซึ่งให้ความยืดหยุ่นมากกว่า

  • ไม่มี LVM (พาร์ทิชันทั่วไป)
    เช่น ext4 สร้างตรงบนพาร์ทิชัน เหมาะกับการใช้งานทั่วไป
  • มี LVM
    สร้าง Physical Volume (PV) บนดิสก์, รวมเป็น Volume Group (VG), แล้วแบ่งเป็น Logical Volume (LV) ซึ่งปรับขนาดได้ยืดหยุ่น จึงนิยมใช้ในเซิร์ฟเวอร์หรือระบบคลาวด์

วิธีขยายพาร์ทิชันจะแตกต่างกันไปขึ้นกับการใช้หรือไม่ใช้ LVM

2.4 แนวโน้มโครงสร้างพาร์ทิชันใน Ubuntu

ขณะติดตั้ง Ubuntu สามารถเลือกใช้ LVM ได้ ในเซิร์ฟเวอร์ (โดยเฉพาะรุ่น 20.04 ขึ้นไป) LVM ถูกแนะนำเป็นมาตรฐาน
ส่วนการใช้งานเดสก์ท็อปหรือดูอัลบูต ยังคงใช้พาร์ทิชันแบบธรรมดา (ext4) เป็นส่วนใหญ่

2.5 ข้อควรระวังในการขยายพาร์ทิชัน

ก่อนขยายพาร์ทิชันต้องมี “พื้นที่ว่างที่ยังไม่ได้จัดสรร (unallocated space)” อยู่บนดิสก์ หากไม่มีหรือไม่ได้อยู่ติดกันจะไม่สามารถขยายได้ ควรตรวจสอบโครงสร้างด้วยคำสั่ง lsblk หรือ parted

นอกจากนี้ ควรสำรองข้อมูลสำคัญ ทุกครั้งก่อนเริ่มดำเนินการ หากเกิดข้อผิดพลาดหรือปัญหา จะสามารถกู้คืนข้อมูลได้อย่างปลอดภัย

3. สรุปวิธีขยายแต่ละกรณี

วิธีขยายพาร์ทิชันใน Ubuntu แตกต่างกันไปตามสภาพแวดล้อมและโครงสร้างของดิสก์ บทนี้จะแนะนำวิธีหลัก 4 กรณี ได้แก่ กรณีไม่มี LVM, มี LVM, VPS หรือคลาวด์ และดูอัลบูต

3.1 ขยายพาร์ทิชันในสภาพแวดล้อมที่ไม่มี LVM (ext4)

กรณีทั่วไปคือไม่ใช้ LVM และสร้างไฟล์ซิสเต็ม (เช่น ext4) ตรงบนพาร์ทิชัน

  1. เพิ่มขนาดดิสก์
  • ถ้าเป็น VM หรือ VPS ให้เพิ่มดิสก์ผ่านหน้าจอบริหารจัดการ
  • ถ้าเป็นพีซีจริง ให้เตรียมพื้นที่ว่างที่ยังไม่ได้จัดสรร
  1. ขยายพาร์ทิชัน
  • ใช้ sudo parted หรือ sudo fdisk ผ่านเทอร์มินัลเพื่อขยายพาร์ทิชัน
  • ตัวอย่าง parted:
    sudo parted /dev/sda (parted) resizepart 1 <ตำแหน่งสิ้นสุดใหม่ (เช่น 100%)>
  1. ขยายไฟล์ซิสเต็ม
  • หลังขยายพาร์ทิชันต้องขยายไฟล์ซิสเต็มด้วย
  • สำหรับ ext4 ให้ใช้ resize2fs
    sudo resize2fs /dev/sda1
  • พื้นที่ที่เพิ่มจะถูกนำมาใช้งานได้
  1. ตรวจสอบผลลัพธ์
  • ใช้ df -h เพื่อตรวจสอบว่าขนาดดิสก์เพิ่มขึ้นแล้วหรือไม่

3.2 ขยายพาร์ทิชันในสภาพแวดล้อม LVM

หากใช้ LVM (Logical Volume Manager) จะขยายขนาดได้ยืดหยุ่นมากขึ้น

  1. เพิ่มขนาดดิสก์
  • ขยายขนาดดิสก์จริงหรือดิสก์เสมือนให้ใหญ่ขึ้นก่อน
  • ถ้าเป็นดิสก์จริง ให้จัดสรรพื้นที่ว่างไว้
  1. ขยาย Physical Volume (PV)
  • นำพื้นที่ใหม่มารวมกับ PV ของ LVM
    sudo pvresize /dev/sda2
  • (ชื่ออุปกรณ์อาจแตกต่างกันในแต่ละเครื่อง)
  1. ขยาย Logical Volume (LV)
  • ขยาย LV ที่ต้องการ
    sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
  • -l +100%FREE จะใช้พื้นที่ที่ว่างทั้งหมด
  1. ขยายไฟล์ซิสเต็ม
  • หาก LV ใช้ ext4 ให้ใช้ resize2fs
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
  1. ตรวจสอบ
  • ใช้ df -h หรือ lsblk เพื่อตรวจสอบขนาดที่เพิ่มขึ้น

3.3 ขยายพาร์ทิชันออนไลน์ใน VPS หรือคลาวด์

บน VPS หรือคลาวด์อาจต้องขยายพาร์ทิชันโดยไม่รีสตาร์ทเครื่อง แนะนำใช้คำสั่ง growpart

  1. ขยายขนาดดิสก์
  • เพิ่มขนาดดิสก์ผ่านหน้าจอผู้ให้บริการ
  1. ขยายพาร์ทิชันด้วย growpart
  • หากติดตั้ง cloud-utils แล้วใช้ growpart
    sudo growpart /dev/sda 1
  • พาร์ทิชัน (เช่น /dev/sda1) จะถูกขยายโดยอัตโนมัติ
  1. ขยายไฟล์ซิสเต็ม
  • ใช้ resize2fs ต่อได้เลย
    sudo resize2fs /dev/sda1
  1. ตรวจสอบ
  • ใช้ df -h เพื่อตรวจสอบ

3.4 การขยายในสภาพแวดล้อมดูอัลบูต (Windows/Ubuntu)

หากติดตั้ง Windows กับ Ubuntu บนดิสก์เดียวกัน หากไม่มีพื้นที่ว่างอยู่ติดพาร์ทิชัน Ubuntu จะไม่สามารถขยายได้

  • ย้ายพื้นที่ว่าง
  • ใช้เครื่องมือ Windows เช่น MiniTool Partition Wizard เพื่อย้ายพื้นที่ว่างให้อยู่ติด Ubuntu
  • ขยายจาก Ubuntu
  • ดำเนินการขยายพาร์ทิชันตามขั้นตอนข้างต้น
  • สำรองข้อมูลก่อน
  • โดยเฉพาะดูอัลบูต ควรสำรองข้อมูลทุกครั้ง

4. การแก้ไขปัญหาและคำถามที่พบบ่อย

ในระหว่างหรือหลังขยายพาร์ทิชัน อาจพบข้อสงสัยหรือปัญหาหลากหลาย บทนี้จะรวมคำถามและปัญหาที่พบบ่อย พร้อมวิธีแก้ไข

4.1 คำถามที่พบบ่อย (FAQ)

Q1. ไม่พบ free space (พื้นที่ว่าง) ควรทำอย่างไร?
A. การขยายพาร์ทิชันจำเป็นต้องมี “พื้นที่ว่าง” ใช้ lsblk หรือ sudo parted /dev/sda print free เพื่อตรวจสอบ ถ้าไม่มีพื้นที่ว่าง ให้ลบพาร์ทิชันที่ไม่ใช้ หรือหากเป็นเครื่องเสมือน ให้เพิ่มขนาดดิสก์ก่อน

Q2. ถ้าไม่ใช้ LVM ยังต้องใช้ pvresize หรือ lvextend ไหม?
A. ถ้าไม่ได้ใช้ LVM ไม่ต้องใช้ pvresize หรือ lvextend กรณี ext4 หรือพาร์ทิชันทั่วไป ทำแค่ “ขยายพาร์ทิชัน → ขยายไฟล์ซิสเต็ม” ตรวจสอบว่าระบบใช้ LVM หรือไม่ได้ด้วย lsblk หรือ sudo pvs

Q3. ถ้าพื้นที่ว่างไม่อยู่ติดกับพาร์ทิชันจะขยายได้ไหม?
A. การขยายพาร์ทิชันต้องใช้พื้นที่ว่างที่อยู่ติดกัน ถ้าอยู่ไกล ใช้เครื่องมือใน Windows เช่น “MiniTool Partition Wizard” เพื่อจัดเรียงพาร์ทิชัน
หากเป็นเครื่องจริงควรสำรองข้อมูลทุกครั้ง

Q4. สามารถขยายพาร์ทิชันขณะ Ubuntu ทำงานอยู่ได้ไหม?
A. พาร์ทิชันระบบ (/) หรือพาร์ทิชันที่กำลังเมานต์อยู่ บางทีไม่สามารถขยายได้ในขณะที่ใช้งานอยู่ ควรบูตจาก Live USB เพื่อความปลอดภัย
บนคลาวด์หรือ VPS ส่วนมากขยายออนไลน์ได้ แต่ถ้าเกิดข้อผิดพลาดอาจต้อง umount หรือรีสตาร์ท

Q5. swap อยู่ติด Ubuntu แล้วขยายไม่ได้ ควรทำอย่างไร?
A. หาก swap อยู่ติดพาร์ทิชัน Ubuntu ให้ใช้ swapoff ปิด swap ชั่วคราว จากนั้นลบและขยาย เมื่อเสร็จแล้วค่อยสร้าง swap ใหม่ และแก้ไข /etc/fstab ตามความจำเป็น

Q6. เพิ่มขนาดดิสก์ใน VM แล้ว OS ยังไม่เห็น ทำไม?
A. ในเครื่องเสมือน หลังเพิ่มขนาดดิสก์ใน hypervisor (เช่น VMware, VirtualBox) ต้องแจ้ง OS ให้รับรู้พื้นที่ใหม่
echo 1 > /sys/class/block/sdX/device/rescan หรือรีสตาร์ท หรือใช้ partprobe เพื่อสแกนใหม่

Q7. ต่างระหว่าง GPT กับ MBR? ควรเลือกแบบไหน?
A. GPT เหมาะกับดิสก์ขนาดใหญ่ (มากกว่า 2TB) และรองรับพาร์ทิชันจำนวนมาก ปัจจุบันนิยมใช้ GPT ส่วน MBR เหมาะกับระบบเก่า ๆ ที่ต้องการความเข้ากันได้เท่านั้น

4.2 ตัวอย่างข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

  • “no free space available”
    → ต้องมีพื้นที่ว่างที่อยู่ติดกับพาร์ทิชัน จัดตำแหน่งใหม่แล้วลองอีกครั้ง
  • “device is busy” หรือ “resource busy”
    → พาร์ทิชันกำลังถูกเมานต์หรือใช้งานอยู่ ให้ umount หรือบูตจาก Live USB แล้วลองใหม่
  • “The partition is currently in use”
    → พาร์ทิชันถูกใช้งานอยู่ ให้หยุดบริการหรือรีสตาร์ท OS แล้วลองอีกครั้ง
  • “resize2fs: Bad magic number in super-block”
    → ตรวจสอบชนิดพาร์ทิชันกับคำสั่งให้ถูกต้อง กรณี xfs ให้ใช้ xfs_growfs แทน

การรู้ปัญหาที่อาจเกิดล่วงหน้าจะช่วยให้แก้ไขได้อย่างใจเย็น อย่าลืมอ้างอิงขั้นตอนในบทความนี้หรือค้นหาเพิ่มเติมจากเอกสารทางการเมื่อจำเป็น

5. ตรวจสอบผลและสรุป

หลังขยายพาร์ทิชัน ควรตรวจสอบผลลัพธ์เสมอเพื่อป้องกันปัญหาและรักษาความเสถียรของข้อมูลหรือระบบ

5.1 วิธีตรวจสอบผลการขยาย

(1) ตรวจสอบขนาดดิสก์
ใช้คำสั่ง df -h เพื่อดูการใช้พื้นที่และพื้นที่ว่างของแต่ละพาร์ทิชัน ตรวจสอบว่าขนาดที่ขยายแล้วปรากฏหรือไม่

df -h

ดูเป็นพิเศษที่ “/” หรือ “/home” ว่าขนาดเพิ่มตามต้องการหรือไม่

(2) ตรวจสอบโครงสร้างพาร์ทิชัน
ใช้ lsblk เพื่อดูโครงสร้างและขนาดของพาร์ทิชันทั้งหมดในระบบ

lsblk

(3) ตรวจสอบรายละเอียดด้วย parted
ใช้ sudo parted /dev/sda print free เพื่อตรวจสอบเทเบิลและพื้นที่ว่างบนดิสก์อย่างละเอียด

(4) ถ้าใช้ LVM ให้ตรวจสอบเพิ่มเติม
ใช้ sudo lvs หรือ sudo vgs ตรวจสอบขนาด VG หรือ LV

5.2 ข้อควรระวังหลังดำเนินการ

  • การจัดการข้อมูลสำรอง
    หากขยายพาร์ทิชันสำเร็จและระบบทำงานปกติ สามารถลบข้อมูลสำรองได้ แต่หากยังไม่มั่นใจ ควรเก็บไว้สักระยะ
  • ตรวจสอบไฟล์ซิสเต็ม
    ควรใช้ fsck เพื่อตรวจสอบไฟล์ซิสเต็ม (ควร umount ก่อน)
  sudo fsck /dev/sda1

(โปรด umount ก่อนใช้งาน)

  • การรีสตาร์ท
    ปกติไม่จำเป็นต้องรีสตาร์ทหลังขยาย แต่ใน VM หรือเครื่องบางรุ่น การรีสตาร์ทจะช่วยให้ระบบรับรู้ขนาดใหม่

5.3 สรุป

การขยายพาร์ทิชันใน Ubuntu สามารถทำได้ไม่ยาก หากเตรียมความพร้อมและปฏิบัติตามขั้นตอนที่ถูกต้อง หากเกิดปัญหาสามารถแก้ไขได้อย่างใจเย็นโดยยึดตามแนวทางในบทความนี้ สำรองข้อมูลก่อนเสมอ แล้วคุณจะขยายพื้นที่จัดเก็บได้อย่างปลอดภัย

การบริหารพาร์ทิชันหรือสตอเรจเป็นงานสำคัญทั้งสำหรับผู้ดูแลระบบและผู้ใช้ทั่วไป หวังว่าบทความนี้จะเป็นประโยชน์กับทุกท่าน