mdadm RAID ติดตั้งอย่างรวดเร็วด้วยไดรฟ์เปล่า


9

ฉันสร้างดิสก์ RAID5 ใหม่เป็น RAID6 ที่มี mdadm ไม่มีข้อมูลเกี่ยวกับไดรฟ์ที่ฉันสนใจ

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

ดังนั้นมีวิธีที่จะข้ามการคำนวณพาริตี้และบอก mdadm เพียงแค่ตั้งค่า superblocks และทำได้หรืออย่างอื่นมันใช้เวลาทั้งหมดนี้เมื่อไม่มีข้อมูลที่จะย้ายไปรอบ ๆ ?

md3 : active raid6 sdf3[5] sde3[4] sdd3[3] sdc7[2] sdb3[1] sda3[0]
      1953114112 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  1.3% (6790144/488278528) finish=409.3min speed=19604K/sec

โปรดทราบว่าฉันไม่ได้พูดถึง--assume-cleanว่าคุณกำลังสร้างอาร์เรย์ขึ้นใหม่จากชุดดิสก์ที่มีอยู่แล้วที่มีอาร์เรย์ RAID ที่คุณรู้ว่าถูกต้อง ฉันกำลังพูดถึงอาร์เรย์ที่ควรจะถือว่าว่างเปล่าไม่ถือว่าถูกสไทรพ์อย่างถูกต้อง

ดังนั้นขอบอกว่าสำหรับคำถามนี้ว่าอุปกรณ์ได้รับการเติมค่าศูนย์ด้วย

คำตอบ:


8

คุณสามารถใช้--assume-cleanแต่ถ้าคุณใช้ raid5 (ไม่ใช่ raid6) และดิสก์จริงเต็มไปด้วยเลขศูนย์ครั้งแรกที่มันทำการตรวจสอบพาริตีมันจะเกิดข้อผิดพลาดที่จะต้องแก้ไขดังนั้นคุณจึงไม่ควรทำเช่นนี้ คุณไม่จำเป็นต้องรอให้การซิงค์เสร็จสิ้นก่อนจึงจะสามารถเริ่มใช้งานอาเรย์ได้ มันจะติดอยู่ด้านหลังจนกว่าจะเสร็จ


ขอบคุณ psusi - นี่ไม่ได้ตอบคำถาม
พอล

2
@ พอลอืมม .. ใช่แล้ว ไม่มีสิ่งเช่น "ว่างเปล่า" มีเพียงการซิงค์หรือไม่ซิงค์
psusi

ไม่ได้ตอบคำถามที่ฉันถาม xor ของบล็อกของศูนย์เป็นศูนย์ ดังนั้นถ้าฉันบอก mdadm ได้ว่าพื้นที่นั้นว่างเปล่ามันก็สามารถสร้างความเท่าเทียมกันได้อย่างรวดเร็ว ความเท่าเทียมกันจะต้องมีการคำนวณอย่างถูกต้องเฉพาะเมื่อมีการเขียนบล็อกเฉพาะลงไปซึ่ง ณ จุดนี้มันไม่สำคัญว่ามันจะ "ผิด" มาก่อน ฉันสามารถทำให้ดิสก์เป็นศูนย์ได้จริง
Paul

2
@ พอลอีกครั้งไม่มีสิ่งเช่น "ว่างเปล่า" โดยทั่วไปแล้วใช่ว่าจะไม่สำคัญว่าพาริตีบนแถบที่ไม่เคยเขียนนั้นผิดซึ่งเป็นเหตุผลว่าทำไมคุณถึงได้ทำความสะอาด - ทำความสะอาดแม้ว่าดิสก์จะไม่เต็มศูนย์ แต่ความเท่าเทียมจะผิด ตรวจพบและแก้ไขเมื่อ mdadm ทำการตรวจสอบพาริตี
psusi

2
@Paul ความหมายของ "empty" นั้นไม่ได้นิยามไว้อย่างชัดเจน คนส่วนใหญ่ใช้เพื่อหมายความว่าพวกเขาไม่ได้ใส่ไฟล์หรือระบบไฟล์ไว้ในอุปกรณ์และไม่รู้จักหรือสนใจในสิ่งที่มีอยู่ในปัจจุบัน หากคุณรู้ว่าดิสก์เต็มไปด้วยเลขศูนย์แล้ว - ทำความสะอาดสมมติว่าเป็นสิ่งที่คุณต้องการ มันจะใช้คำพูดของคุณสำหรับมันว่าดิสก์ทั้งหมดเป็นศูนย์และไม่คำนวณความเท่าเทียมกันและในขณะที่คุณพูดถึงความเท่าเทียมกันของศูนย์จะถูกต้องสำหรับดิสก์ข้อมูลของศูนย์ทั้งหมดอย่างน้อยสำหรับ raid5 (ไม่ใช่สำหรับ raid6)
psusi

2

คุณไม่สามารถทำสิ่งนี้กับซอฟต์แวร์หรือฮาร์ดแวร์ RAID การตรวจสอบทั้งหมดจะต้องมีการเขียนบนดิสก์ซึ่งต้องใช้เวลา คุณสามารถทำได้ในภายหลัง แต่จากนั้นส่วนต่าง ๆ ของดิสก์ที่ไม่ได้เขียนไว้จะต้องทำก่อนที่คุณจะสามารถใช้งานได้

นี่เป็นพื้นฐานเพราะระบบ RAID และระบบไฟล์ไม่รู้จักกัน ZFS มีวิธีแก้ปัญหานี้ แต่ส่วน RAID จะรวมเข้ากับระบบไฟล์อย่างลึกซึ้ง ดังนั้นระบบย่อย RAID รู้จริงว่าส่วนใดของดิสก์ที่ใช้ในการเก็บข้อมูลและสามารถใช้ในภายหลังและจากนั้นเขียนผลรวมตรวจสอบให้พวกเขา

คุณสามารถเพิ่มความเร็วในการรับส่งข้อมูลให้กับซอฟต์แวร์ RAID หรือเริ่มใช้ RAID ก่อนที่จะเขียนเช็คซัมทั้งหมดและให้ซอฟต์แวร์ RAID จัดการสิ่งนี้ให้คุณในภายหลัง แม่มดเป็นสิ่งที่ @psusi เขียน


ฉันเข้าใจวิธีการทำงานของ RAID ฉันพยายามทำความเข้าใจกับสิ่งที่เกิดขึ้นกับ checksums บนดิสก์เปล่า ต้องคำนวณผลรวมตรวจสอบทุกครั้งที่มีการเขียนข้อมูลลงในดิสก์ดังนั้นการคำนวณก่อนที่จะมีข้อมูลใด ๆ ที่ไม่สมเหตุสมผล - "ลงมือทำในภายหลัง" จะสมเหตุสมผลเมื่อไม่มีสิ่งใดอยู่ในนั้น ไม่มีระบบไฟล์ที่จะพิจารณาในสถานการณ์นี้
พอล

6
มีเสมอนำเสนอข้อมูล มันอาจจะไม่สำคัญหรือมีความหมาย แต่ทุกภาคส่วนมีคุณค่า (Zero ก็มีค่าเช่นกัน!) การใช้งาน RAID ไม่ทราบว่าส่วนใดมีข้อมูลสำคัญดังนั้นจึงจำเป็นต้องปฏิบัติต่อพวกเขาทั้งหมดเป็นสำคัญและคำนวณความเท่าเทียมกัน
Wyzard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.