การปรับตั้ง lv_root มีขนาดเล็กเกินไป ใน CentOS 6

FST
ติดตาม ผู้ติดตาม 
ติดต่อ

หลังจากใช้งานโปรแกรม FreeSurfer จาก Harvard ในการวิเคราะห์ภาพสมองจาก MRI มาสักพัก ได้เกิดปัญหาที่เมื่อตอนติดตั้ง CentOS 6 ในครั้งแรกนั้น ติดตั้งเป็นแบบ Default ทำให้ พาร์ติชัน / มีขนาดเล็กเกินไปครับ เก็บภาพในการทำงานไม่เพียงพอ เอาสิครับคงต้องมาแก้ปัญหาละสิคราวนี้

ทำความเข้าใจ LVM ใน CentOS ก่อนครับ


คือการจัดแบ่งพื้นที่เก็บข้อมูลนั้น เราจะนำ ไดร์ฟจำนวนตั้งแต่หนึ่งหรือมากกว่า มา pool รวมกัน จากภาพคือเอา Physical Volume หรือ PV จับมามัดรวมกันเป็น Logical Volume Group หรือ LVG ครับ (/boot พาร์ติชัน ต้องแบ่งไว้ต่างหากนะครับ ใช้จาก Logical Volume ไม่ได้ครับ) เราก็จะได้ที่ผืนใหม่เป็นผืนติดกันใหญ่เป็นอันเดียวขึ้นมา จากนั้นเราค่อยจับมาแบ่งเป็นพื้นที่จัดสรรค์ ทำเป็น Logical Volume เพื่อบรรจุพาร์ติชันต่างๆ อีกทีครับ เมื่อได้ LV มาแล้ว เราถึงจะนำมา format แต่ละ LV เป็น file system ที่เราใช้งานเช่น ฟอร์แม็ตเป็น ext3 หรือ ext4 ตามใจชอบครับ

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

 df -h

df -h

ลองใช้คำสั่งต่อมาครับ คือ

lvs

จะเห็นว่า ใน LVG หรือ VG จากภาพเป็นอันเดียวกันคือ vg_centos6 ถูกแบ่งเป็น 3 LV คือ lv_home lv_root lv_swap ครับ ซึ่งแต่ละอันมีขนาดกำกับไว้ด้วยครับ

แผนที่วางไว้คือ

1. ปลดหรือ umount ตัว /home ออกและใช้คำสั่ง df -h ตรวจสอบพื้นที่อีกครั้ง

umount /home
df -h


2.ตรวจสอบ disk ก่อนด้วยคำสั่ง

e2fsck -fy /dev/mapper/vg_centos6-lv_home


3. ลดขนาดของ file system ใน partition ที่เป็น LV ของ home ให้เหลือ 45G

resize2fs /dev/mapper/vg_centos6-lv_home 45G


4. จากนั้นลดขนาดหรือ shrink ตัว LV ให้เข้ามาโดยเผื่อให้ใหญ่กว่า partition เล็กน้อย ในที่นี้ผมให้เหลือ 50G

lvreduce -L 50G /dev/mapper/vg_centos6-lv_home


5. ขยายขนาดตัว file system ของ partition ที่เป็น LV ของ home ให้เต็มพิ้นที่โดยอัตโนมัต ซึ่งไม่ได้ระบุขนาด (คือเต็ม 50G ของ LV ที่ได้หดเข้ามาในขั้นตอนก่อน)

resize2fs /dev/mapper/vg_centos6-lv_home


6. จากนั้นเป็นการลองผิดลองถูกในการขยายขนาด LV ของตัว / เต็มพิ้นที่ ที่ได้มา โดยใช้คำสั่ง

lvextend -L 870G /dev/mapper/vg_centos6-lv_root  --> ขยายให้เป็น 870G
lvextend -L +5G /dev/mapper/vg_centos6-lv_root   --> ขยายเพิ่ม 5G
lvextend -L +100M /dev/mapper/vg_centos6-lv_root  --> ขยายเพิ่ม 100M
lvextend -L +10M /dev/mapper/vg_centos6-lv_root   --> ขยายเพิ่ม 10M

ให้สังเกตุผลจากการขยายจนพื้นที่ที่เหลือเป็น 0 คือไม่มีพื้นที่ให้ขยายเพิ่มอีก ในบรรทัดสุดท้าย



7. จากนั้นให้ทำการขยาย file system ให้พอดีกับขนาดของ LV ที่ได้มาใหม่ (ไม่ได้ระบุขนาดพื้นที่) โดยอัตโนมัติ ซึ่งขั้นตอนนี้กินเวลาประมาณ 20 นาที

resize2fs /dev/mapper/vg_centos6-lv_root


8. ใช้คำสั่งตรวจสอบพื้นที่

df -h

จะสังเกตุได้ว่า ตัว / มีขนาดเพิ่มขึ้นมาเป้น 860G จากเดิมที่มีเพียง 50G


หวังว่าบทความนี้คงมีประโยชน์ไม่มากก็น้อยนะครับ โดยเฉพาะบุคคลากรทางรังสีเทคนิค ที่ในปัจจุบันมีโปรแกรมประมวลผลภาพในภายหลัง ซึ่งเป็นโปรแกรมแบบเปิดเผยรหัส (opensource) ที่ทำงานอยู่บนระบบปฏิบัติการ Linux ให้ใช้งานเป็นจำนวนมาก ดังนั้นความรู้ทาง ICT และการใช้งานคำสั่ง Command ในระบบ Linux น่าจะจำเป็นมากขึ้นในอนาคตครับ ขอบคุณครับ พบกันใหม่ในบทความต่อไปครับ


แหล่งข้อมูลอ้างอิงที่ใช้ในบทความนี้ครับ

https://www.rootusers.com/lvm-resize-how-to-decrease-an-lvm-partition

https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-lvm.html

https://access.redhat.com/solutions/44089

https://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/lv_extend.html

บันทึกนี้เขียนที่ GotoKnow โดย  ใน Linux Note



ความเห็น (0)