RAID 1 ป้องกันการทุจริตหรือไม่


14

Raid 1 ป้องกันความเสียหายของข้อมูลหรือไม่ ตัวอย่างเช่นสมมติว่าฉันเก็บไฟล์สำคัญทั้งหมดของฉันไว้ใน NAS ที่ใช้ดิสก์ 2 ตัวใน RAID 1 หากฮาร์ดไดรฟ์ตัวหนึ่งมีปัญหาภายในบางชนิดและข้อมูลเกิดความเสียหาย RAID จะตรวจพบสิ่งนี้โดยอัตโนมัติและถูกต้อง ใช้ข้อมูลจากดิสก์ที่ดีอื่นหรือไม่

มันรู้ได้ไหมว่าสำเนาไหนดี?

RAID 5 ป้องกันการทุจริตหรือไม่

ฉันรู้ว่า RAID ไม่ใช่โซลูชันสำรอง ฉันกำลังพยายามหาวิธีเพื่อให้แน่ใจว่าฉันไม่ได้สำรองข้อมูลที่เสียหาย!

คำตอบ:


13

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

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

ในขณะที่ความเสียหายของข้อมูลเป็นข้อยกเว้นมากกว่ากฎ แต่ก็ไม่ได้ไม่เคยได้ยินมาก่อน ยกตัวอย่างเช่นสมาชิกของทีม ZFS ได้รายงานในการให้สัมภาษณ์ว่ามีข้อมูลที่เสียหายซึ่งถูกจู่โจมโดยอุปกรณ์ RAID-5 ระดับสูงซึ่งพวกเขาเห็นโดยอาศัยข้อเท็จจริงที่ว่า ZFS ดำเนินการตรวจสอบที่ระดับระบบแฟ้มนั้น


5

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

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

นั่นคือเหตุผลที่ RAID ไม่สำรองข้อมูล มันป้องกันความล้มเหลวที่เป็นไปได้มากที่สุดซึ่งเป็นความล้มเหลวของดิสก์ แต่มันไม่ได้อธิบายถึงสถานการณ์อื่น ๆ มากมาย


4
+1 "นี่คือเหตุผลว่าทำไม RAID จึงไม่ใช่ข้อมูลสำรอง" พระเจ้าทรงทราบว่าฉันได้ยินมากี่ครั้งแล้ว "ฉันโอเคได้รับการสำรองข้อมูลด้วย RAID"
Urda

2
RAID สามารถจำแนกความแตกต่างระหว่างข้อมูลที่ดีและไม่ดีได้อย่างไร?

1
ฌอน ... ถ้าข้อมูลของคุณถูกกินโดยไวรัสหรือถูกลบโดยบังเอิญ RAID ไม่สามารถแยกแยะว่าดีหรือไม่ดี RAID ทั้งหมดมีหน้าที่ดูแลให้แน่ใจว่า (ใน RAID 1) ที่ดิสก์ทั้งสองมีค่าเท่ากัน หากเซกเตอร์ล้มเหลวในการตรวจสอบการควบคุม RAID ชดเชยเพื่อซ่อมแซมหรือก่อให้เกิดการสร้างใหม่ ใน RAID 5 หากเซกเตอร์ล้มเหลวในการตรวจสอบพาริตี้การสร้างใหม่จะถูกทริกเกอร์ RAID ปกป้องไดรฟ์ทางกายภาพจากความล้มเหลวและเป็นผลมาจากการสูญเสียข้อมูล พวกเขาไม่สามารถป้องกันข้อมูลที่สูญหายจากความผิดพลาดของโปรแกรมหรือไวรัส
Urda

6
การระบุลักษณะของ RAID 5 ของคุณไม่ถูกต้อง ไม่มีไดรฟ์ที่แยกจากกัน แต่จะกระจายความเท่าเทียมในทุกไดรฟ์ คุณจบลงด้วยพื้นที่ว่างทั้งหมดของ n-1 แต่ไม่มีไดรฟ์ที่อุทิศให้กับความเท่าเทียมกัน
MDMarra

2
ฉันต้องลงคะแนนนี้ RAID1 ไม่ทำการตรวจสอบแต่จะป้องกันความล้มเหลวทั้งหมดของไดรฟ์เท่านั้น หากไดรฟ์ตัวหนึ่งเริ่มส่งคืนขยะมันไม่มีทางที่จะบอกได้ว่าอันไหนที่ถูกต้องและจะคืนข้อมูลขยะอย่างมีความสุข RAID5 ฉันไม่แน่ใจเพราะการตรวจสอบพาริตี้ นี่คือสาเหตุที่ระบบไฟล์อย่าง ZFS และ BTRFS ถูกคิดค้นขึ้นเพื่อให้คุณได้รับระบบที่คล้ายกับ 'การรับรู้ข้อมูล' ซึ่งสามารถแก้ไขข้อมูลขยะได้อย่างเหมาะสมโดยใช้ checksums เพื่อตรวจสอบบล็อกของข้อมูล
อเล็กซ์

5

ดังที่คนอื่น ๆ ระบุไว้ระบบ raid1 ไม่มีทางที่จะบอกได้ว่าภาคใดของสองภาคส่วนที่ไม่ดี

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

บนระบบ Unix ภายใต้ mdadm การตรวจสอบการขัดสามารถเริ่มต้นได้ด้วย "sync_action":

md arrays สามารถขัดได้โดยการเขียนเช็คหรือซ่อมแซมไฟล์ md / sync_action ในไดเร็กทอรี sysfs สำหรับอุปกรณ์

การร้องขอการขัดจะทำให้ md อ่านทุกบล็อคในทุกอุปกรณ์ในอาร์เรย์และตรวจสอบว่าข้อมูลสอดคล้องกัน สำหรับ RAID1 และ RAID10 หมายถึงการตรวจสอบว่าสำเนาเหมือนกัน สำหรับ RAID4, RAID5, RAID6 หมายถึงการตรวจสอบว่าบล็อกพาริตีถูกต้อง (หรือบล็อก) ถูกต้อง

Raid1 เป็นข้อมูลเกี่ยวกับการป้องกันจากความล้มเหลวทั้งหมดของไดรฟ์ มองหาที่อื่นเพื่อป้องกันการทุจริต นอกเหนือจากนั้น Raid1 ไม่มี "ประวัติ" ดังนั้นจึงไม่สามารถกู้คืนจากข้อผิดพลาดของมนุษย์หรือซอฟต์แวร์ มองไปที่ระบบไฟล์เช่น ZFS หรือประวัติที่รักษาระบบไฟล์เช่น Hammer เพื่อป้องกันความเสียหาย


3

ในทางปฏิบัติใช่ ความล้มเหลวของฮาร์ดไดรฟ์ส่วนใหญ่เกิดขึ้นทั้งหมดหรือไม่มีอะไรเลย (a) สายเคเบิลถูกถอดปลั๊กหรือไมโครคอนโทรลเลอร์ของไดรฟ์ล้มเหลวดังนั้นคอนโทรลเลอร์ RAID จึงไม่ได้รับการตอบสนองเลย - ไดรฟ์ล้มเหลวที่เห็นได้ชัด หรือ (b) ไมโครคอนโทรลเลอร์ของสายเคเบิลและไดรฟ์เป็นสิ่งที่ดี แต่เมื่อพยายามอ่านเซกเตอร์ไมโครคอนโทรลเลอร์ของไดรฟ์ภายในจะตรวจพบความเสียหายของข้อมูลเนื่องจากการตรวจสอบ ECC ภายในล้มเหลวและพยายามอ่านเซกเตอร์นั้นซ้ำแล้วซ้ำอีก ) หมดเวลาใช้งานในที่สุดดังนั้นคอนโทรลเลอร์ RAID จึงได้รับการตอบสนอง "ขอโทษ" อย่างสุภาพ - ไดรฟ์ล้มเหลวอย่างเห็นได้ชัด ไม่ว่าจะด้วยวิธีใดก็เห็นได้ชัดกับตัวควบคุม RAID-1 หรือ RAID-5 ที่ไดรฟ์ล้มเหลว

ตามหลักการแล้ว หากมีบางอย่างผิดพลาดอย่างหนักจนฮาร์ดไดรฟ์กำลังเขียนเรื่องไร้สาระ แต่ก็ยังทำงานได้ดีพอที่จะเขียนรหัส ECC ภายในที่ถูกต้องสำหรับเรื่องไร้สาระนั้น RAID-1 ไม่สามารถบอกได้ว่าไดรฟ์ใดถูกต้อง ระบบ RAID-1 จะเขียนทับข้อมูลที่ดีด้วยข้อมูลที่เสียหายในการซิงค์ RAID-5 นั้นไม่ดีกว่า ความล้มเหลวของพลังงาน "RAID-5 write hole" ระหว่างการเขียนที่ใช้งานอยู่เป็นกรณีที่หายาก แต่ไม่สามารถทำได้

เท่าที่ฉันรู้วิธีเดียวที่จะหลีกเลี่ยงความเสียหายดังกล่าวคือการใช้การตรวจสอบแบบ end-to-end นอกเหนือจากการทำมิเรอร์ไฟล์โดยอัตโนมัติเป็นส่วนหนึ่งของระบบไฟล์ (ZFS หรือ Btrfs) หรือตามระยะเวลาหรือด้วยตนเอง การตรวจสอบไฟล์อย่างง่ายชุดไฟล์ Parchive ฯลฯ ); นึกคิดด้วยแฮชการเข้ารหัสลับเช่น SHA-256


โอกาสใด ๆ ที่คุณสามารถให้คำตอบสำหรับเรื่องนี้ .... superuser.com/questions/736612/
มิก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.