วิธีอัปเกรดอาร์เรย์ ZFS RAID-Z เป็นดิสก์ขนาดใหญ่บน OpenSolaris


11

ฉันวางแผนที่จะติดตั้ง OpenSolaris บนโฮมเซิร์ฟเวอร์ของฉัน (ตอนนี้มี Linux) และฉันต้องการทราบวิธีการเตรียมการอัพเกรดเซิร์ฟเวอร์ให้มีฮาร์ดไดรฟ์ขนาดใหญ่ขึ้นในอนาคต ตอนนี้เซิร์ฟเวอร์มีไดรฟ์ 4x400GB SATA และฉันจะติดตั้ง OpenSolaris ด้วย ZFS RAID-Z ในภายหลังในปีนี้หรือปีหน้าฉันจะอัพเกรดไดรฟ์เป็นไดร์ฟ SATA ขนาด 4x1TB

ฉันจะทำการอัพเกรดและเพิ่มขนาดพาร์ติชันด้วย ZFS ได้อย่างไร? เป็นการดำเนินการที่ง่ายและไม่เจ็บปวด (เช่นเปลี่ยนไดร์ฟครั้งละหนึ่งครั้งและ ZFS จะปรับขนาดตัวเองให้ใช้พื้นที่เต็มโดยอัตโนมัติ) หรือจำเป็นต้องมีขั้นตอนพิเศษบางอย่าง? มันสามารถทำได้โดยไม่ต้องปิดระบบ?

คำตอบ:


17
  1. ออฟไลน์ไดรฟ์ # 1
  2. แทนที่ไดรฟ์เก่าด้วยไดรฟ์ความจุสูงที่ใหม่กว่า
  3. zpool เปลี่ยนไดรฟ์
  4. รอให้การแทนที่ถูกสร้างใหม่
  5. ไปที่ขั้นตอนที่ 1 และทำซ้ำสำหรับแต่ละไดรฟ์ที่ต่อเนื่องในอาร์เรย์

คุณอาจต้องส่งออกและนำเข้า zpool เมื่อขั้นตอนนี้เสร็จสิ้น สระว่ายน้ำจะแสดงขนาดที่เพิ่มขึ้น ไม่จำเป็นต้องหยุดทำงาน แต่ถ้าไดรฟ์ลงใต้ในขณะที่คุณอัปเกรดอาเรย์ของคุณคุณจะสูญเสียทุกอย่างเช่นเดียวกับดิสก์ทั้งหมดสี่ตัวที่คุณคาดว่าจะมีการตั้งค่า 3 + 1 (อัตราเดิมพันนั้นไม่สูงมากนัก แต่เมอร์ฟีไม่เคยหลับ)

แหล่งที่มาอย่างเป็นทางการ: "การเปลี่ยนอุปกรณ์ในการเก็บรักษาสระว่ายน้ำ"ในZFS คู่มือการดูแลระบบ ZFS Best Practices คู่มือยังมีประโยชน์


+1 สำหรับ "คุณอาจต้องส่งออกแล้วนำเข้า zpool เมื่อกระบวนการนี้เสร็จสมบูรณ์" - ขั้นตอนการแทนที่ไม่ได้ผลสำหรับฉันจนกว่าฉันจะดำเนินการนี้
Josh

คุณไม่จำเป็นต้องนำเข้าอีกครั้งหากautoexpandตั้งค่าตัวเลือกonสำหรับสระว่ายน้ำ
บาฮามาต

15

ฉันต้องการเพิ่มว่าการเปลี่ยนฮาร์ดไดรฟ์ที่ไม่มีข้อบกพร่องทำให้การโจมตีน้อยลง คุณสามารถกรอกข้อมูลลงในไดรฟ์แทนที่ก่อนด้วยข้อมูลก่อนนำไดรฟ์ขนาดเล็กออก ดังนั้นคำสั่งจะกลายเป็น

  • แนบไดรฟ์ที่ใหญ่กว่า (สามารถผ่าน usb ได้)
  • zpool replace smallerdrive biggerdrive
  • รอ
  • เมื่อเสร็จแล้วให้นำไดรฟ์ขนาดเล็กออกมาหรือสิ่งที่คุณต้องทำ
  • ทำซ้ำ
  • และในตอนท้ายคุณอาจต้องวิ่ง zpool set autoexpand=on pool

ตอนนี้เมอร์ฟีมีปัญหาน้อยกว่า


สำหรับคนที่ทำเช่นนี้บน Linux: ฉันแทนที่ไดรฟ์แต่ละประสบความสำเร็จ autoexpand=onแต่มันจะไม่เพิ่มพื้นที่เมื่อทำงาน ฉันจำเป็นต้องเรียกใช้zpool online -e poolname devicenameสำหรับแต่ละอุปกรณ์แล้วจึงใช้งานได้ การนำเข้า / ส่งออกไม่ได้ทำอะไรเลย
Peterdk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.