2 min read

ขยายพื้นที่ ZFS Pool (mirror) โดยใช้ VDEV เดิม

ขยายพื้นที่ ZFS Pool (mirror) โดยใช้ VDEV เดิม

สำหรับวิธีการขยายพื้นที่ ZFS Pool แบบ mirror โดยการเปลี่ยน HDD ลูกเดิมใน VDEV (mirror-0) ให้มีขนาดใหญ่กว่าเดิม ข้อดีคือ สามารถเปลี่ยน HDD ครั้งละลูก ส่วนใครสะดวกเพิ่ม VDEV (mirror-x) สามารถอ่าน blog ก่อนหน้าได้เช่นกัน

ขยายพื้นที่ ZFS Pool (mirror)
ปัจจุบันเราใช้งาน ZFS Pool แบบ mirror (เทียบเท่า raid 1) ข้อดีคือ HDD สามารถพังได้ 1 ลูก โดยข้อมูลไม่เสียหาย ส่วนการเพิ่มขยาย ZFS Pool ก็ต้องเพิ่ม HDD ทีละ 2 ลูกเช่นกัน โดยจะเพิ่ม HDD 6TB
Command line ใช้งานบน Proxmox VE 8.2.4

ปัจจุบันมี VDEV (mirror-0) ซึ่งขนาดพื้นที่ใช้งานคือ 2TB

  • disk1: /dev/sdc ขนาด 2TB
  • disk2: /dev/sdd ขนาด 2TB
  • disk3: /dev/sde ขนาด 4TB

ต้องการนำ disk3 ไปแทนที่ disk1

ls -l /dev/disk/by-id/ | grep sde

ค้นหา disk by-id

zpool status nas

เรียกดูสถานะ zpool

zpool replace poolname old_disk new_disk

zpool replace nas /dev/disk/by-id/usb-External_USB3.0_DISK01_20170331000C3-0:1 /dev/disk/by-id/usb-External_USB3.0_DISK02_20170331000C3-0:2

ถ้าไม่มีอะไรผิดพลาด ระหว่างนี้สามารถเช็ค status zpool จะเห็น resilvering รอจนกว่าเสร็จ

หลังจาก zpool ทำการ resilvering เสร็จเรียบร้อย ซึ่งอาจจะใช้เวลาหลายชั่วโมง ตอนนี้ VDEV (mirror-0) จะยังคงมีขนาดพื้นที่ใช้งานคือ 2TB เหมือนเดิม!

  • disk2: /dev/sdd ขนาด 2TB
  • disk3: /dev/sde ขนาด 4TB

หลังจากนี้สามารถซื้อ HDD ขนาด 4TB เพื่อจะมาแทนที่ disk2 แล้วค่อยทำตามขั้นตอนข้างบนอีกครั้ง แต่ขนาดของ zpool จะใช้งานได้เท่าเดิม! อ้าว...

ต้องการทำ expand disk เพื่อบอกให้ VDEV รู้ว่า ตอนนี้ใส่ disk 4TB เข้าไปแทนที่ 2TB

zpool offline poolname existing_disk

zpool offline nas usb-External_USB3.0_DISK00_20170331000C3-0:0

zpool online -e poolname existing_disk

zpool online -e nas usb-External_USB3.0_DISK00_20170331000C3-0:0

หลายคนอาจจะมีคำถามว่า HDD ของเก่าเอาไปไหน เนื่องด้วย HDD ของเก่ามีอายุ 3 ปี ซึ่งหมดประกันแล้ว เราเลยนำไปใช้งานเป็นอีก zpool นึง สำหรับใช้งานบันทึกกล้องวงจรปิด