จะเกิดอะไรขึ้นถ้าฉันบังคับให้ ZFS ปลด hot spare ที่ไม่มีเรพลิกาที่ถูกต้อง


9

ฉันมีพูล ZFS ที่ทำจาก 6 RAIDZ หนึ่งใน RAIDZ ถูกลดระดับเนื่องจากการสูญเสียดิสก์สองตัวใน RAIDZ เดียวใกล้กันพอที่ ZFS ไม่สามารถกู้คืนจากความล้มเหลวครั้งแรกก่อนที่ดิสก์ที่สองจะล้มเหลว นี่คือผลลัพธ์จาก "สถานะ zpool" ไม่นานหลังจากรีบูต:

  pool: pod2
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: resilver in progress for 0h6m, 0.05% done, 237h17m to go
config:

        NAME                                                 STATE     READ WRITE CKSUM
        pod2                                                 DEGRADED     0     0 29.3K
          raidz1-0                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F165XG    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F1660X    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F1678R    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F1689F    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16AW9    ONLINE       0     0     0
          raidz1-1                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16C6E    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16C9F    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16FCD    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16JDQ    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17M6V    ONLINE       0     0     0
          raidz1-2                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17MSZ    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17MXE    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17XKB    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17XMW    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17ZHY    ONLINE       0     0     0
          raidz1-3                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F18BM4    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F18BRF    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F18XLP    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09880    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F098BE    ONLINE       0     0     0
          raidz1-4                                           DEGRADED     0     0 58.7K
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09B0M    ONLINE       0     0     0
            spare-1                                          DEGRADED     0     0     0
              disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09BEN  UNAVAIL      0     0     0  cannot open
              disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F49M01  ONLINE       0     0     0  837K resilvered
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0D6LC    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CWD1    ONLINE       0     0     0
            spare-4                                          DEGRADED     0     0     0
              disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09C8G  UNAVAIL      0     0     0  cannot open
              disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F4A7ZE  ONLINE       0     0     0  830K resilvered
          raidz1-5                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-1CH_Z1F2KNQP    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BML0    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPV4    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPZP    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ78    ONLINE       0     0     0
          raidz1-6                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ9G    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQDF    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQFQ    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CW1A    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BV7M    ONLINE       0     0     0
        spares
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F49M01      INUSE     currently in use
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F4A7ZE      INUSE     currently in use
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F49MB1      AVAIL   
          disk/by-id/scsi-SATA_ST3000DM001-1ER_Z5001SS2      AVAIL   
          disk/by-id/scsi-SATA_ST3000DM001-1ER_Z5001R0F      AVAIL   

errors: 37062187 data errors, use '-v' for a list

เมื่อดิสก์แรกล้มเหลวฉันแทนที่มันด้วยอะไหล่สำรองและเริ่มที่จะ resilver ก่อนที่ตัวช่วยกู้จะเสร็จสมบูรณ์ดิสก์ตัวที่สองล้มเหลวดังนั้นฉันจึงเปลี่ยนดิสก์ตัวที่สองด้วย hot spare อื่น ตั้งแต่นั้นมาจะเริ่มมีการ resilver รับเสร็จประมาณ 50% และจากนั้นก็เริ่มกลืนหน่วยความจำจนกินหมดแล้วทำให้ระบบปฏิบัติการพัง

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

ฉันคิดว่า ZFS ที่พยายามจัดการกับการดำเนินการเปลี่ยนอะไหล่สำรองสองครั้งนั้นเป็นสาเหตุหลักของปัญหาการใช้หน่วยความจำดังนั้นฉันจึงต้องการลบหนึ่งในอะไหล่ที่ร้อนแรงเพื่อให้ ZFS สามารถทำงานได้ทีละครั้ง อย่างไรก็ตามเมื่อฉันพยายามแยกส่วนหนึ่งฉันได้รับ "ไม่สามารถแยก / dev / ดิสก์ / by-id / scsi-SATA_ST3000DM001-1CH_W1F49M01: ไม่มีแบบจำลองที่ถูกต้อง" บางทีฉันสามารถใช้ตัวเลือก -f เพื่อบังคับให้ดำเนินการ แต่ก็ไม่ชัดเจนสำหรับฉันว่าผลลัพธ์ของมันจะเป็นเช่นไรดังนั้นฉันจึงต้องการดูว่าใครมีอินพุตใด ๆ ก่อนดำเนินการต่อไป

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


zfs-fuseคุณแท็กนี้ นี่เป็นฟิวส์ ZFS จริงเหรอ? โปรดระบุรายละเอียดระบบปฏิบัติการ
ewwhite

คุณเดิมพัน ewwhite Debian 6.0.6
jasongullickson

ระบบนี้มี RAM เท่าใด คุณขัดอาร์เรย์บ่อยแค่ไหน?
Chris S

เหตุใดคุณจึงใช้ FUSE ไม่ใช่การใช้งาน ZFS จริง โดยเฉพาะอย่างยิ่งเนื่องจากมีฮาร์ดแวร์มากมายที่นี่ ฉันคิดว่าอาเรย์นี้จะเสร็จสิ้น ...
ewwhite

ในขณะที่ระบบถูกสร้างขึ้นก็ไม่มีการนำ ZFS มาใช้งานจริงสำหรับ Linux
jasongullickson

คำตอบ:


1

ตอนนี้คุณสามารถถอดดิสก์ UNAVAIL ได้แล้ว ZFS ไม่ได้ใช้ดิสก์เหล่านั้นอีกต่อไป

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

ในฐานะที่เป็นหมายเหตุด้าน RAIDZ ได้พิสูจน์แล้วว่าเป็นสิ่งที่ไม่สม่ำเสมอในประสบการณ์ของฉันกับ OpenSolaris / Solaris11 ฉันจะแนะนำไม่ให้ใช้มันในปริมาณงานการผลิตใด ๆ

นอกจากนี้เพื่อเสริมสิ่งที่ ewwhite พูดไว้ FUSE ไม่ใช่ตัวเลือกที่ดีที่สุดของคุณ ฉันใช้โอกาสนี้เพื่อย้ายไปยังบางสิ่งที่มีเสถียรภาพมากขึ้น (อาจเป็น FreeBSD 10)

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