แนวทางปฏิบัติที่ดีที่สุดของ ZFS ด้วย RAID ฮาร์ดแวร์


30

หากเกิดขึ้นมีฮาร์ดแวร์ระดับเซิร์ฟเวอร์ในการกำจัดสิ่งที่เป็นสิ่งที่แนะนำให้รัน ZFS ที่ด้านบนของ RAID1 ที่ใช้ฮาร์ดแวร์หรือบางอย่าง? ควรปิด RAID ที่อิงกับฮาร์ดแวร์และรัน ZFS บน a mirrorหรือ a raidz zpoolแทนหรือไม่?

เมื่อปิดการทำงานของฮาร์ดแวร์ RAID แล้วคอนโทรลเลอร์ SATA2 และ SAS ที่ใช้ฮาร์ดแวร์ RAID มีแนวโน้มที่จะซ่อนข้อผิดพลาดในการอ่านและเขียนมากกว่าหรือน้อยกว่าคอนโทรลเลอร์ที่ไม่ใช่ฮาร์ดแวร์-RAID หรือไม่

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



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

"ZFS ที่ด้านบนของ Hardware Mirroring หรือแค่มิรเรอร์ใน ZFS" และคำถามนี้เป็นสองหัวข้อที่แตกต่างกัน หัวข้ออื่นนั้นแคบกว่าในขอบเขตจากนั้นหัวข้อนี้
Stefan Lasiewski

@ ขาวคุณไม่ได้ถามเรื่องนี้แล้ว?
cnst

@cnst ดีไม่มีคำตอบที่ทำเครื่องหมายไว้และผู้คนdownvotingคำตอบของฉัน ดังนั้นจะเป็นการดีหากมีการปิดคำถาม ( มันเป็นสิ่งที่ผู้รับผิดชอบที่จะทำ )
ewwhite

คำตอบ:


17

แนวคิดเกี่ยวกับ ZFS คือการทำให้มันเป็นที่รู้จักมากที่สุดว่าดิสก์มีพฤติกรรมอย่างไร จากนั้นแย่ที่สุดถึงดีกว่า:

  • การจู่โจมฮาร์ดแวร์ (ZFS ไม่มีเงื่อนงำเกี่ยวกับฮาร์ดแวร์จริง ๆ )
  • โหมด JBOD (ปัญหาเกี่ยวกับตัวขยายที่อาจเกิดขึ้น: แบนด์วิดท์น้อยลง),
  • โหมด HBA เป็นอุดมคติ (ZFS รู้ทุกอย่างเกี่ยวกับดิสก์)

เนื่องจาก ZFS ค่อนข้างหวาดระแวงเกี่ยวกับฮาร์ดแวร์ยิ่งมีการซ่อนตัวน้อยลงเท่าใดก็ยิ่งสามารถรับมือกับปัญหาฮาร์ดแวร์ได้มากขึ้นเท่านั้น และตามที่Sammitch ระบุไว้การกำหนดค่า RAID Controller และ ZFS อาจยากมากที่จะกู้คืนหรือกำหนดค่าใหม่เมื่อล้มเหลว (เช่นฮาร์ดแวร์ล้มเหลว)

เกี่ยวกับปัญหาของฮาร์ดแวร์มาตรฐานที่มีคอนโทรลเลอร์คอนโทรลเลอร์ RAID ในฮาร์ดแวร์ให้ระวังว่าตัวควบคุมฮาร์ดแวร์มีโหมดการส่งผ่านหรือโหมด JBOD จริง


10
นอกจากนี้ยังเป็นที่น่าสังเกตว่าถ้าคุณใช้ HW RAID และคอนโทรลเลอร์ของคุณตาย [เกิดขึ้นมากกว่าที่คุณคิดว่า] ถ้าคุณไม่สามารถทดแทนสิ่งที่เหมือนกันหรือเข้ากันได้อย่างเต็มที่ ในทางตรงกันข้ามถ้าคุณให้ดิสก์ดิบกับ ZFS คุณสามารถเสียบดิสก์เหล่านั้นกลับเข้าไปในตัวควบคุมใด ๆ บนเครื่องใดก็ได้และ ZFS สามารถสร้างอาร์เรย์ขึ้นใหม่และดำเนินการต่อได้เหมือนไม่มีอะไรเกิดขึ้น
Sammitch

1
เซิร์ฟเวอร์ระดับสูงมักจะมีออนบอร์ด RAID ในตัว เช่นฉันไม่เคยต้องเปลี่ยนคอนโทรลเลอร์ในระบบ HP หรือ Dell
ewwhite

2
คำตอบนี้ไม่ตอบอะไรเลย มันเป็นการแสดงออกถึงความเห็นที่ลำเอียงว่าซัพพลายเออร์ของฮาร์ดแวร์เซิร์ฟเวอร์และโปรแกรมเมอร์ ZFS ทำงานได้ดีกว่าซัพพลายเออร์ของคอนโทรลเลอร์ RAID และโปรแกรมเมอร์ของเฟิร์มแวร์ RAID ชุมชน FreeNAS เต็มไปด้วยพวกที่ฆ่า Zpool ของพวกเขาด้วยหน่วยความจำเซิร์ฟเวอร์ที่ชำรุดหรือแหล่งจ่ายไฟที่ไม่เหมาะสม โอกาสที่สิ่งที่ล้มเหลวใหญ่กว่าสิ่งที่มีขนาดเล็ก
ceving

14

ถามหากมีใครเกิดมีฮาร์ดแวร์ระดับเซิร์ฟเวอร์ที่ใช้งานอยู่จะแนะนำให้รัน ZFS บน RAID1 ที่ใช้ฮาร์ดแวร์หรือบางอย่าง

A. เป็นที่นิยมอย่างมากในการรัน ZFS ตรงไปยังดิสก์และไม่ใช้ RAID ในรูปแบบใด ๆ ไม่ว่าระบบที่ต้องการคุณอย่างมีประสิทธิภาพนั้นจะใช้การ์ด RAID หรือไม่ก็ตามการใช้ ZFS นั้นเกี่ยวข้องกับประโยชน์อื่น ๆ ของ ZFS มากกว่าที่จะมีความยืดหยุ่นของข้อมูล โดยสรุปหากมีการ์ด RAID ต้นแบบที่รับผิดชอบในการจัดหา LUN หนึ่งถึง ZFS เดียว ZFS จะไม่ปรับปรุงความยืดหยุ่นของข้อมูล หากเหตุผลเดียวที่คุณจะไปกับ ZFS ในตอนแรกคือการปรับปรุงความยืดหยุ่นของข้อมูลคุณจะสูญเสียเหตุผลทั้งหมดในการใช้งาน อย่างไรก็ตาม ZFS ยังมี ARC / L2ARC, การบีบอัด, สแน็ปช็อต, โคลน, และการปรับปรุงอื่น ๆ ที่คุณอาจต้องการและในกรณีนั้นบางทีมันอาจเป็นระบบไฟล์ที่คุณเลือก

ถามหนึ่งควรปิด RAID ที่อิงกับฮาร์ดแวร์และรัน ZFS บนมิรเรอร์หรือ zz ของ raidz แทน?

ตอบใช่ถ้าเป็นไปได้ทั้งหมด การ์ด RAID บางตัวอนุญาตให้ใช้โหมดพาสทรู ถ้ามันมีมันเป็นสิ่งที่ดีกว่าที่จะทำ

ถามเมื่อปิดการทำงานของฮาร์ดแวร์ RAID ตัวควบคุม SATA2 และ SAS ที่ใช้ฮาร์ดแวร์ RAID มีแนวโน้มที่จะซ่อนข้อผิดพลาดในการอ่านและเขียนมากกว่าหรือน้อยกว่าตัวควบคุมที่ไม่ใช่ฮาร์ดแวร์-RAID

A. สิ่งนี้ขึ้นอยู่กับการ์ด RAID ที่มีปัญหาทั้งหมด คุณจะต้องรูขุมขนด้วยตนเองหรือติดต่อผู้ผลิต / ผู้จำหน่ายการ์ด RAID เพื่อค้นหา มีบางอย่างที่ทำใช่โดยเฉพาะอย่างยิ่งถ้า 'ปิด' ฟังก์ชั่น RAID ไม่ได้ปิดจริงๆ

ถาม: ในแง่ของเซิร์ฟเวอร์ที่ไม่สามารถปรับแต่งได้หากมีสถานการณ์ที่คอนโทรลเลอร์ RAID ของฮาร์ดแวร์มีความเป็นกลางทางด้านต้นทุนอย่างมีประสิทธิภาพ (หรือแม้แต่ลดต้นทุนของการเสนอเซิร์ฟเวอร์ที่สร้างไว้ล่วงหน้าเนื่องจากสถานะของมันช่วยเพิ่มโอกาสให้ บริษัท โฮสติ้ง การเข้าถึง IPMI เสริม) ควรหลีกเลี่ยงได้ไหม? แต่มันควรจะแสวงหาหลังจาก?

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

ฉันต้องการเพิ่มข้อกังวลเพิ่มเติม - คำตอบข้างต้นขึ้นอยู่กับความคิดที่ว่าการใช้การ์ด RAID ของฮาร์ดแวร์ภายใต้ ZFS ไม่ได้ทำอะไรที่จะเป็นอันตรายต่อ ZFS นอกเหนือจากการกำจัดความสามารถในการปรับปรุงความยืดหยุ่นของข้อมูล ความจริงคือพื้นที่สีเทามากกว่า มีการปรับแต่งและสมมติฐานต่าง ๆ ภายใน ZFS ที่ไม่จำเป็นต้องทำงานเช่นกันเมื่อส่งมอบ LUN หลายดิสก์แทนการใช้ดิสก์ดิบ สิ่งเหล่านี้ส่วนใหญ่สามารถถูกทำให้ยุ่งเหยิงได้ด้วยการปรับจูนอย่างเหมาะสม แต่คุณจะไม่ได้ประสิทธิภาพเท่า ZFS บน RAID LUN ขนาดใหญ่เท่าที่คุณจะอยู่ด้านบนของแกนหมุนแต่ละอัน

นอกจากนี้ยังมีหลักฐานบางอย่างที่ชี้ให้เห็นว่าวิธีที่แตกต่างกันอย่างมากในการที่ ZFS พูดคุยกับ LUN เมื่อเทียบกับระบบไฟล์แบบดั้งเดิมอื่น ๆ มักจะเรียกเส้นทางรหัสในตัวควบคุม RAID และเวิร์กโหลดที่พวกเขาไม่คุ้นเคย โดยเฉพาะอย่างยิ่งคุณอาจทำตัวเองโดยการปิดการใช้งานฟังก์ชั่น ZIL บนสระที่คุณวางไว้บน LUN เดียวหากคุณไม่ได้ให้อุปกรณ์บันทึกแยกต่างหาก แต่แน่นอนว่าฉันขอแนะนำให้คุณ เตรียมอุปกรณ์บันทึก raw แยกต่างหาก (ซึ่งไม่ใช่ LUN จากการ์ด RAID ถ้าเป็นไปได้)


9

ฉันรัน ZFS ด้านบนของการกำหนดค่า HP ProLiant Smart Array RAID ค่อนข้างบ่อย

ทำไม?

  • เพราะฉันชอบ ZFS สำหรับพาร์ติชันข้อมูลไม่ใช่พาร์ติชันสำหรับเริ่มระบบ
  • เนื่องจากการบูต Linux และ ZFS อาจไม่สามารถป้องกันได้สำหรับฉันในตอนนี้
  • เพราะ HP ควบคุม RAID ไม่อนุญาตให้RAW passthrough การกำหนดค่าโวลุ่ม RAID 0 หลายรายการไม่เหมือนกับดิสก์ RAW
  • เนื่องจากโดยปกติแล้ว backplanes ของเซิร์ฟเวอร์จะไม่ยืดหยุ่นพอที่จะอุทิศช่องไดรฟ์ให้กับคอนโทรลเลอร์ที่เฉพาะเจาะจงหรือแบ่งหน้าที่ระหว่างสองคอนโทรลเลอร์ วันนี้คุณเห็นการตั้งค่า 8 และ 16 Bay บ่อยที่สุด ไม่เพียงพอที่จะแบ่งกลุ่มสิ่งต่าง ๆ ในแบบที่ควรเป็น
  • แต่ฉันยังคงชอบความสามารถในการจัดการปริมาณของ ZFS zpool ช่วยให้ฉันสามารถแกะสลักสิ่งต่าง ๆ แบบไดนามิกและใช้ประโยชน์สูงสุดจากพื้นที่ดิสก์ที่มีอยู่
  • การบีบอัด ARC และ L2ARC เป็นคุณสมบัตินักฆ่า!
  • การติดตั้ง ZFS บนฮาร์ดแวร์อย่างเหมาะสมยังคงให้การเตือนและความล้มเหลวในการแจ้งเตือนที่ดี แต่มีประสิทธิภาพสูงกว่าโซลูชันสำหรับฮาร์ดแวร์เท่านั้น

ตัวอย่าง:

การกำหนดค่าตัวควบคุม RAID

[root@Hapco ~]# hpacucli ctrl all show config

Smart Array P410i in Slot 0 (Embedded)    (sn: 50014380233859A0)

   array B (Solid State SATA, Unused Space: 250016  MB)
      logicaldrive 3 (325.0 GB, RAID 1+0, OK)

      physicaldrive 1I:1:3 (port 1I:box 1:bay 3, Solid State SATA, 240.0 GB, OK)
      physicaldrive 1I:1:4 (port 1I:box 1:bay 4, Solid State SATA, 240.0 GB, OK)
      physicaldrive 2I:1:7 (port 2I:box 1:bay 7, Solid State SATA, 240.0 GB, OK)
      physicaldrive 2I:1:8 (port 2I:box 1:bay 8, Solid State SATA, 240.0 GB, OK)

รายการอุปกรณ์บล็อก

[root@Hapco ~]# fdisk  -l /dev/sdc

Disk /dev/sdc: 349.0 GB, 348967140864 bytes
256 heads, 63 sectors/track, 42260 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       42261   340788223   ee  GPT

การกำหนดค่า zpool

[root@Hapco ~]# zpool  list
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
vol1   324G  84.8G   239G    26%  1.00x  ONLINE  -

รายละเอียดสวนสัตว์

  pool: vol1
 state: ONLINE
  scan: scrub repaired 0 in 0h4m with 0 errors on Sun May 19 08:47:46 2013
config:

        NAME                                      STATE     READ WRITE CKSUM
        vol1                                      ONLINE       0     0     0
          wwn-0x600508b1001cc25fb5d48e3e7c918950  ONLINE       0     0     0

รายชื่อระบบไฟล์ zfs

[root@Hapco ~]# zfs list
NAME             USED  AVAIL  REFER  MOUNTPOINT
vol1            84.8G   234G    30K  /vol1
vol1/pprovol    84.5G   234G  84.5G  -

ดังนั้นเกี่ยวกับคำถามปิดที่คุณได้ทำการเชื่อมโยงไปแล้วมันจะบอกว่าถ้าฉันต้องการใช้ ZFS ฉันควรหลีกเลี่ยงเช่น Dell PERC H200 และ HP P410 หรือไม่ พวกเขายังไม่มีวิธีปิดใช้งานโหมดการโจมตีด้วยฮาร์ดแวร์หรือไม่นั่นคือ RAID0 หรือ RAID1
cnst

ดังนั้นดูเหมือนว่าdell.com/learn/us/en/04/campaigns/dell-raid-controllersจะอ้างว่า H200 "รองรับ non-RAID" แม้ว่าh18004.www1.hp.com/products/servers/proliantstorage/ …ยังไม่ชัดเจนว่าฟังก์ชั่นการโจมตีของ P410 สามารถหรือไม่สามารถปิดได้
cnst

@cnst คุณไม่สามารถปิดการใช้งานฟังก์ชั่น RAID ของ HP Smart Array P410
ewwhite

มันยังถูกต้องหรือไม่ คุณกำลังบอกว่าไม่มีการรัน ZFS ที่เป็นอันตรายในการโจมตีด้วยฮาร์ดแวร์หรือไม่?
sparse

แก้ไข. มันไม่อันตราย
ewwhite

5

โดยทั่วไปแล้วคุณไม่ควรรัน ZFS บนดิสก์ที่ตั้งค่าไว้ในอาร์เรย์ RAID โปรดทราบว่า ZFS ไม่จำเป็นต้องทำงานในโหมด RAID คุณสามารถใช้ดิสก์เดี่ยว ๆ ได้ อย่างไรก็ตามผู้คนเกือบ 99% ใช้ ZFS สำหรับส่วน RAID ของมัน คุณสามารถเรียกใช้ดิสก์ของคุณในโหมดสไทรพ์ได้ แต่นั่นเป็นการใช้งาน ZFS ที่ไม่ดี เช่นเดียวกับผู้โพสต์คนอื่น ๆ ได้กล่าวไว้ ZFS ต้องการทราบเกี่ยวกับฮาร์ดแวร์อย่างมากมาย ZFS ควรเชื่อมต่อกับการ์ด RAID ที่สามารถตั้งค่าเป็นโหมด JBOD หรือเชื่อมต่อกับ HBA โดยเฉพาะ ข้ามไปยัง IRC Freenode channel #openindiana; ผู้เชี่ยวชาญ ZFS คนใดในช่องจะบอกคุณในสิ่งเดียวกัน ขอให้ผู้ให้บริการโฮสต์ของคุณระบุโหมด JBOD หากพวกเขาจะไม่ให้ HBA


1
ใช่ฉันเห็นด้วย แต่มันก็เป็นเรื่องของสิ่งที่มีอยู่ในสต็อกด้วยการกำหนดค่าที่เหมาะกับใบเรียกเก็บเงินและสเป็ค หากเซิร์ฟเวอร์มี CPU ที่ดีเยี่ยม, ECC RAM จำนวนมาก, แบนด์วิดธ์ที่ยอดเยี่ยมและมากมาย แต่ต้องมาพร้อมกับ RAID ที่อิงกับฮาร์ดแวร์มันอาจไม่คุ้มค่าที่จะแสวงหาทางเลือกซึ่งอาจมีราคาแพงกว่าหลายเท่า เนื่องจากอยู่ในประเภทที่แตกต่างกันหรือให้หรือขาดหายไปบางส่วนขององค์กรที่มีคุณสมบัติเช่น RAM ECC ฯลฯ
CNST

2

ในระยะสั้น: การใช้ RAID ด้านล่าง ZFS เพียงแค่ฆ่าความคิดในการใช้ ZFS ทำไม? - เพราะมันถูกออกแบบมาเพื่อทำงานบนดิสก์ที่บริสุทธิ์ไม่ใช่ RAID


1
ไม่จำเป็น. ถ้าฉันสนใจเพิ่มเติมเกี่ยวกับความยืดหยุ่นในการจัดการโวลุ่มมากกว่าการปรับให้เหมาะสมจะสามารถเข้าถึงอุปกรณ์ทางกายภาพได้ ZFS ทำงานได้ค่อนข้างดีสำหรับกรณีการใช้งานของฉัน
ewwhite

3
@ ขาวผู้อื่นสามารถขับรถจักรยานที่เดินไปมาใกล้ ๆ โดยบอกว่าเขาชอบที่จะเดินและรักจักรยานโดยทั่วไป แต่ความจริงก็คือจักรยานนั้นถูกสร้างขึ้นมาเพื่อการขี่ )
poige

2

สำหรับคุณทุกคน ... ZFS เหนือการโจมตีใด ๆ เป็นความเจ็บปวดทั้งหมดและทำได้โดยคน MAD! ... เช่นเดียวกับการใช้ ZFS ที่ไม่ใช่หน่วยความจำ ECC

ด้วยตัวอย่างคุณจะเข้าใจดีกว่า:

  • ZFS บน Raid1 ดิสก์หนึ่งมีการเปลี่ยนแปลงเล็กน้อยเมื่อไม่มีการปิด ... แงะทุกอย่างที่คุณรู้ ZFS จะเห็นความเสียหายหรือไม่ขึ้นอยู่กับสิ่งที่อ่านดิสก์ (ตัวควบคุม Raid ไม่เห็นบิตที่เปลี่ยนแปลงและคิดว่าดิสก์ทั้งสองตกลง ) ... หากความล้มเหลวอยู่ในส่วน VDEV ... ZPOOL ทั้งหมดจะสูญเสียข้อมูลทั้งหมดตลอดไป
  • ZFS บน Raid0 หนึ่งดิสก์มีการเปลี่ยนแปลงเล็กน้อยเมื่อไม่ได้ปิด ... งัดสิ่งที่คุณรู้ (คอนโทรลเลอร์คอนโทรลเลอร์ไม่เห็นบิตนั้นเปลี่ยนไปและคิดว่าดิสก์ทั้งสองนั้นโอเค) ... ZFS จะเห็นความเสียหายนั้น แต่ถ้า fail อยู่ในส่วน VDEV ... ZPOOL ทั้งหมดสูญเสียข้อมูลทั้งหมดไปตลอดกาล

ที่ ZFS ดีอยู่ในการตรวจจับบิตที่เปลี่ยนเมื่อดิสก์ที่ไม่มีไฟ (คอนโทรลเลอร์ RAID ไม่สามารถทำเช่นนั้นได้) เมื่อมีการเปลี่ยนแปลงบางอย่างโดยไม่ต้องขอ ฯลฯ

มันเป็นปัญหาเดียวกับเมื่อบิตในโมดูล RAM เปลี่ยนแปลงตามธรรมชาติโดยไม่ถูกขอให้ ... ถ้าหน่วยความจำคือ ECC หน่วยความจำจะแก้ไขด้วยตนเอง หากไม่มีข้อมูลนั้นมีการเปลี่ยนแปลงดังนั้นข้อมูลจะถูกส่งไปยังดิสก์ที่ถูกแก้ไข แงะการเปลี่ยนแปลงนั้นไม่ได้อยู่ในส่วน UDEV หากความล้มเหลวอยู่ในส่วน VDEV ... ZPOOL ทั้งหมดจะสูญเสียข้อมูลทั้งหมดตลอดไป

นั่นคือจุดอ่อนใน ZFS ... VDEV ล้มเหลวแสดงถึงข้อมูลทั้งหมดที่สูญหายตลอดไป

การจู่โจมฮาร์ดแวร์และซอฟต์แวร์การจู่โจมไม่สามารถตรวจจับการเปลี่ยนแปลงบิตที่เกิดขึ้นเองพวกเขาไม่มี checksums ที่แย่ที่สุดในระดับ Raid1 (mirros) พวกเขาอ่านไม่ได้ทุกส่วนและเปรียบเทียบพวกเขาพวกเขา supose ทุกส่วนจะมีข้อมูลเหมือนกัน ALLWAYS มันเสียงดัง) การจู่โจมทำให้ข้อมูลไม่ได้เปลี่ยนแปลงไปโดยสิ่งอื่นใด / วิธี ... แต่ดิสก์

ไม่เคยใช้ ZFS บน RAM ที่ไม่ใช่ ECC และไม่เคยใช้ ZFS บนดิสก์ที่ถูกโจมตีให้ ZFS ดูดิสก์ทั้งหมดอย่าเพิ่มเลเยอร์ที่สามารถทำลาย VDEV และ POOL ของคุณ

วิธีการจำลองความล้มเหลว ... ปิดเครื่องคอมพิวเตอร์ดึงดิสก์หนึ่งแผ่นของ Raid1 ออกและแก้ไขเพียงหนึ่งบิต ... ตรวจสอบอีกครั้งและดูว่าคอนโทรลเลอร์คอนโทรลเลอร์ไม่สามารถรู้ได้ว่ามีการเปลี่ยนแปลง ... ZFS สามารถเพราะอ่านทั้งหมดได้รับการทดสอบ เทียบกับการตรวจสอบและถ้าไม่ตรงกันอ่านในส่วนอื่น ... จู่โจมไม่เคยอ่านอีกเพราะความล้มเหลว (ยกเว้นฮาร์ดแวร์เป็นไปไม่ได้อ่านล้มเหลว) ... ถ้าจู่ ๆ สามารถอ่านมันคิดว่าข้อมูลตกลง (แต่มันไม่ใช่ในกรณีเช่นนี้ ) ... Raid พยายามอ่านจากดิสก์อื่นถ้ามันอ่านว่า "เฮ้ฉันไม่สามารถอ่านได้จากที่นั่นฮาร์ดแวร์ล้มเหลว" ... ZFS อ่านจากดิสก์อื่นถ้า checksum ไม่ตรงกันเช่นเดียวกับที่อ่าน พูดว่า "เฮ้ฉันไม่สามารถอ่านจากที่นั่นฮาร์ดแวร์ล้มเหลว"

หวังว่าฉันจะปล่อยให้มันชัดเจนมาก ... ZFS ในทุกระดับของการจู่โจมนั้นเป็นความเจ็บปวดและความเสี่ยงต่อข้อมูลของคุณ! เช่นเดียวกับ ZFS ในความทรงจำที่ไม่ใช่ ECC

แต่สิ่งที่ไม่มีใครพูด (ยกเว้นฉัน) คือ:

  • อย่าใช้ดิสก์ที่มีแคชภายใน (ไม่เพียงแค่ SHDD อันนั้นบางตัวที่มีแคช 8Mib ถึง 32MiB ฯลฯ ) ... บางตัวใช้หน่วยความจำที่ไม่ใช่ ECC สำหรับแคชดังกล่าว
  • อย่าใช้ SATA NCQ (วิธีในการเขียนคิว) เนื่องจากสามารถทำลาย ZFS ได้หากไฟดับ

ดังนั้นสิ่งที่ดิสก์ที่จะใช้?

  • ดิสก์ใด ๆ ที่มีแบตเตอรี่ภายในที่ช่วยให้มั่นใจว่าคิวทั้งหมดจะถูกเขียนลงดิสก์ในกรณีไฟดับและใช้หน่วยความจำ ECC ภายใน (ขออภัยมีน้อยมากที่มีทั้งหมดและมีราคาแพง)

แต่เฮ้คนส่วนใหญ่ไม่ทราบทั้งหมดนี้และไม่เคยมีปัญหา ... ฉันพูดกับพวกเขา: ว้าวโชคดีแค่ไหนที่คุณซื้อตั๋วลอตเตอรี่ก่อนที่โชคดีจะหายไป

ความเสี่ยงอยู่ที่นั่น ... ความล้มเหลวเกิดขึ้นโดยบังเอิญ ... ดังนั้นคำตอบที่ดีกว่าคือ:

  • พยายามอย่าวางเลเยอร์ใด ๆ ระหว่าง ZFS และที่เก็บข้อมูลจริงๆ (RAM, Raid, NCQ, แคชดิสก์ภายใน ฯลฯ ) ... เท่าที่คุณสามารถจ่ายได้

ส่วนตัวฉันทำอะไร

  • เพิ่มเลเยอร์มากกว่านั้น ... ฉันใช้ดิสก์ SATA III 7200 rpm ขนาด 2.5 นิ้วแต่ละตัวบนกล่องหุ้ม USB 3.1 Gen2 type C ฉันเชื่อมต่อกล่องหุ้มบางอย่างเข้ากับฮับ USB 3.1 Gen 2 Type A ฮับที่ฉันเชื่อมต่อกับพีซี ฉันเชื่อมต่อกับรูทพอร์ตอื่นบนพีซี ฯลฯ
  • สำหรับระบบฉันใช้ตัวเชื่อมต่อ sata ภายในบน ZFS (ระดับ Raid0) เพราะฉันใช้ระบบ Linux ที่ไม่เปลี่ยนแปลง (เช่น LiveCD) ระบบ Linux แต่ละเนื้อหาที่บูตเหมือนกันในดิสก์ภายใน ... และฉันมีภาพโคลนของระบบที่ฉันสามารถกู้คืนได้ (ระบบน้อยกว่า 1GiB) ... นอกจากนี้ฉันยังใช้เคล็ดลับเพื่อให้ระบบมีอยู่ในไฟล์และใช้ RAM ที่แมปไดรฟ์ที่ฉันโคลนมันในการบูตดังนั้นหลังจากบูตระบบทั้งหมดที่ทำงานใน RAM ... วางไฟล์ดังกล่าวบน ดีวีดีฉันยังสามารถบูตแบบเดียวกันดังนั้นในกรณีที่ความล้มเหลวของดิสก์ภายในฉันเพิ่งบูตด้วย DVD และระบบออนไลน์อีกครั้ง ... เคล็ดลับที่คล้ายกันกับ SystemRescueCD แต่ไฟล์ ISO ที่ซับซ้อนเล็กน้อยสามารถอยู่บน ZFS ภายในหรือเพียงแค่เป็น DVD จริงและฉันไม่ต้องการสองรุ่นที่แตกต่างกัน

หวังว่าฉันจะให้แสงเล็กน้อยกับ ZFS กับ Raid มันเป็นความเจ็บปวดจริงๆเมื่อสิ่งต่าง ๆ ผิดพลาด!


ดังนั้นคุณกำลังบอกว่า ZFS นั้นไม่น่าเชื่อถือดังนั้นหากการเปลี่ยนแปลงเพียงเล็กน้อยคุณสามารถสูญเสียระบบไฟล์ทั้งหมดได้หรือไม่ SATA NCQ จะทำให้ข้อมูลสูญหายได้อย่างไรเมื่อไดรฟ์ยังคงแจ้งเตือนโฮสต์เฉพาะเมื่อมีการเขียนเซกเตอร์เรียบร้อยแล้ว (แม้ว่าอาจจะเป็นลำดับอื่น)
Malvineous
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.