หลังจากทำการทดลองและทดลองมากฉันพบวิธีแก้ปัญหาอยู่แล้วแม้ว่าจะมีการแลกเปลี่ยนที่ค่อนข้างใหญ่
ก่อนอื่นตัวเลือกที่ฉันต้องออก:
การมีเซิร์ฟเวอร์ ZFS นอกสถานที่ที่สองพร้อมด้วยมิเรอร์พูลไม่ใช่ทางเลือกเนื่องจากค่าใช้จ่าย หากเป็นตัวเลือกสิ่งนี้จะเป็นวิธีที่ดีที่สุดโดยใช้การส่ง / รับ ZFS เพื่อจัดส่งสแน็ปช็อตไปยังพูลระยะไกล
มีสระว่ายน้ำมิร์เรอร์ ZFS ในสถานที่ที่สองซึ่งฉันสามารถเอาดิสก์ออกจากบ้านได้ นี่เป็นไปได้มากกว่าตัวเลือกแรก แต่ฉันจะต้องมีกลุ่มที่สองที่จะมีดิสก์สองแผ่นในสถานที่เสมอ ในปัจจุบันฉันมีดิสก์สี่ตัวและไม่มีที่ว่างเหลือสำหรับหนึ่งในห้าในเซิร์ฟเวอร์ นี่จะเป็นวิธีการที่ยุติธรรม แต่ก็ยังไม่เหมาะ
การใช้ ZFS แนบและแยกเพื่อหมุนดิสก์สำรองข้อมูลเข้าและออกจากมิเรอร์พูล วิธีนี้ใช้งานได้ดี แต่จะต้องทำการกู้คืนเต็มรูปแบบทุกครั้งที่มีการเพิ่มดิสก์ มันใช้เวลานานอย่างไม่น่ารับดังนั้นฉันจึงไม่สามารถวางใจได้
วิธีการแก้ปัญหาของฉันคือคล้ายกับการใช้attach
และdetach
แต่มันใช้และonline
offline
สิ่งนี้มีข้อดีของการทำเดลต้า resilvering กับ resilvering แบบเต็ม แต่ข้อเสียเปรียบที่พูลจะรายงานDEGRADED
สถานะเสมอ (พูลมักมีดิสก์สองดิสก์เสมอดิสก์นอกสถานที่ที่หมุนอยู่จะถูกทำเครื่องหมายoffline
เมื่ออยู่ในที่จัดเก็บข้อมูลระยะไกลและรีเวอร์เวอร์แล้วออนไลน์ เมื่อพวกเขาอยู่ในสถานที่)
ดังนั้นสรุปอย่างรวดเร็วและภาพรวมของการตั้งค่าของฉัน:
ฉันมีเซิร์ฟเวอร์ ZFS หนึ่งอันและดิสก์ที่เหมือนกันสี่แผ่น ZFS ตั้งค่าให้ใช้มิร์เรอร์พูล ดิสก์สองในสี่นั้นเป็นสมาชิกถาวรของพูลนี้ อีกสองดิสก์หมุน; หนึ่งอยู่เสมอในที่จัดเก็บนอกสถานที่ส่วนอื่น ๆ เป็นส่วนหนึ่งของกลุ่มเพื่อทำหน้าที่เป็นข้อมูลสำรองที่พร้อมใช้งาน
เมื่อถึงเวลาหมุนการสำรองข้อมูล:
ฉันรอ a zfs scrub
ให้เสร็จสมบูรณ์เพื่อให้มั่นใจได้อย่างมั่นใจว่าดิสก์สำรองไม่มีข้อผิดพลาด
ฉันzfs offline
ดิสก์ซึ่งจะนำมาจากระยะไกล หลังจากนั้นฉันhdparm -Y /dev/id
จะหมุนมันลง หลังจากหนึ่งนาทีฉันเอาแผ่นดิสก์เลื่อนออกบางส่วน (เพียงพอที่จะให้แน่ใจว่าสูญเสียพลังงาน) จากนั้นให้เวลาอีกหนึ่งนาทีก่อนที่จะดึงไดรฟ์จนเต็มเพื่อรับประกันว่าจะหยุดหมุน ดิสก์ไปในถุงคงที่และจากนั้นกรณีป้องกันและไปนอกสถานที่
ฉันนำดิสก์นอกสถานที่อื่นมา มันได้รับการติดตั้งในถาด hotswap และหมุนขึ้น ฉันใช้zfs online
เพื่อกู้คืนดิสก์ไปยังพูลและเริ่มการ resilvering บางส่วนเพื่อให้พร้อมกัน
ระบบนี้รับประกันได้ว่าในเวลาใดก็ตามฉันมีONLINE
ดิสก์มิรเรอร์สองแผ่นและดิสก์OFFLINE
ระยะไกลหนึ่งตัว(ซึ่งถูกขัดออกแล้ว) ดิสก์ที่สี่อาจถูก resilvered หรือออนไลน์ซึ่งมีประโยชน์ว่าในกรณีที่ไดรฟ์ที่ทำงานล้มเหลวอาจเป็นเพราะพูลยังคงสอดคล้องกับดิสก์ออนไลน์สองดิสก์
มันใช้งานได้ดีในช่วงสองสามสัปดาห์ที่ผ่านมา แต่ฉันก็ยังถือว่านี่เป็นวิธีการแฮ็ก ฉันจะติดตามหากพบปัญหาที่สำคัญ
อัปเดต:หลังจากใช้งานได้สองสามเดือนฉันพบว่าในโลกแห่งความเป็นจริงการใช้งาน resilvering นั้นใช้เวลาในการถอด / แนบและออฟไลน์ / ออนไลน์ ในการทดสอบของฉันฉันไม่คิดว่าฉันกำลังทำการขัดตัว - ลางสังหรณ์ของฉันคือถ้าไดรฟ์ออฟไลน์สำหรับการขัดแล้วมันต้องใช้เต็ม resilver