หน้าเว็บ

วันพุธที่ 25 มีนาคม พ.ศ. 2558

lvreduce และ lvextend

หลังจากที่ใช้งานสารบรรณออนไลน์มาได้หลายเดือน รับหนังสือจากกระทรวงได้แบบไม่มีปัญหา พอจะมีการจัดอบรมครั้งใหญ่ (หรือเปล่า) ของกลุ่มบริหาร กระทรวงฯ  ก็เลยจะปรับพื้นที่ดิสที่เหลือในเครื่อง ให้รองรับกับการใช้งานระดับจังหวัด (สสจ รพท รพช สสอ) หนังสือก็จะมีมากขึ้น และใช้งานพื้นที่เพิ่มขึ้น เช็คจาก server แล้ว ปรากฎว่าตอนที่แบ่งพื้นที่ ใช้ lvm ในการแบ่งแบบอัตโนมัติ ซึ่งมันแบ่งไปให้ /home ซะ 40gb แล้วแบ่งไว้ให้ / 40gb เหมือนกัน อ้าว /home ไม่ได้ใช้งานเลย ก็เลยจะปรับให้พื้นที่เหลือเพียง 2gb และเอาที่เหลือไปเพิ่มให้กับ / แทน คำสั่งที่ทำครั้งแรก ทำให้ระบบ พังไปเลย ก็เลยมาเรียบเรียงคำสั่ง ที่ใช้งานสำหรับการ ลด path อื่น มาเพิ่มให้อีก path นึง ...ยังไม่พูดถึงการเพิ่มดิสนะ อันนั้นแค่ extend ไม่ได้ยุ่งยากอะไรนัก เดี๋ยวเขียนอีกรอบ อะ.. ว่าไปๆ

reboot เครื่องซักรอบครับ เอาฤกษ์เอาชัย หลังจากบูทมาแล้ว เข้าด้วย user root แล้ว umount path ที่ต้องการจะลดขนาดครับ (ใช้ df -h เพื่อดูชื่อ path ที่ต้องการลด)
umount /dev/mapper/VolGroup-lv_home
เสร็จแล้ว ให้ตรวจเช็คก่อนครับ ไม่ทำไม่ได้ เพราะมันไม่ผ่านคำสั่งให้

เช็คด้วยคำสั่งนี้ ต้อง pass ทั้ง 5 ข้อครับ
e2fsck -f /dev/mapper/VolGroup-lv_home

หลังจากผ่านแล้ว ก็ลดขนาดของ path ที่ต้องการโดยใส่จำนวนที่ต้องการให้ "เหลือ" ไว้ครับ ตัวอย่างคือลดเหลือ 4GB ครับ
resize2fs -p /dev/mapper/VolGroup-lv_home 4G
จากนั้นสั่งย่อ
lvreduce -L 4G /dev/mapper/VolGroup-lv_home
แล้วตรวจสอบให้ pass 5 ครั้งเหมือนเดิม
e2fsck -f /dev/mapper/VolGroup-lv_home
เนื่องจากไม่ได้จะแบ่งไปให้ใช้ path อื่นอีก พื้นที่ที่ตัดออกมาให้เติมกับ / ให้เต็มทั้งหมด [ใช้ +100%FREE แต่ถ้าจะระบุเป็นจำนวน GB ก็ใส่ +xG (x=จำนวนGB)]
lvextend -l +100%FREE /dev/mapper/VolGroup-lv_root
หรือใช้ -L ใหญ่ (centos) ต้องลองๆ คำสั่งดู 555 
lvextend -L /dev/path 
เขียนลงให้ครบๆ
resize2fs -p /dev/mapper/VolGroup-lv_root
ตรวจสอบด้วย fdisk ครับ ว่าดิสที่ถูกปรับ ตรงตามที่ต้องการแล้ว
fdisk -l
ถ้าตรงตามที่ต้องการแล้วก็ให้ mount path ที่ย่อกลับเข้าระบบเหมือนเดิม
mount /dev/mapper/VolGroup-lv_home
ตรวจสอบว่า path ที่ย่อและขยาย ถูกต้องด้วย df
df -h
สุดท้าย reboot เพื่อเช็คระบบว่าทำงานได้สมบูรณ์ครับ ถ้าจะไม่รีบูท ก็ได้เช่นกัน