Apa yang terjadi jika saya memaksa ZFS untuk melepaskan cadangan panas tanpa replika yang valid?

9

Saya memiliki kumpulan ZFS yang terbuat dari 6 RAIDZ. Salah satu RAIDZ terdegradasi, karena kehilangan dua disk di RAIDZ tunggal cukup berdekatan sehingga ZFS tidak dapat pulih dari kegagalan pertama sebelum disk kedua gagal. Ini adalah output dari "zpool status" tidak lama setelah reboot:

  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

Ketika disk pertama gagal saya menggantinya dengan cadangan panas dan mulai resilver. Sebelum resilver selesai, disk kedua gagal, jadi saya mengganti disk kedua dengan cadangan panas lainnya. Sejak itu akan mulai resilver, selesai sekitar 50% dan kemudian mulai melahap memori sampai makan semuanya dan menyebabkan OS crash.

Memutakhirkan RAM di server bukan pilihan langsung saat ini, dan tidak jelas bagi saya bahwa hal itu akan menjamin solusi. Saya mengerti bahwa akan ada kehilangan data pada tahap ini, tetapi jika saya bisa mengorbankan isi RAIDZ yang satu ini untuk mempertahankan sisa kumpulan yang merupakan hasil yang bisa diterima. Saya sedang dalam proses membuat cadangan konten server ini ke server lain, tetapi masalah konsumsi memori memaksa reboot (atau crash) setiap 48 jam atau lebih, yang mengganggu cadangan rsync saya, dan memulai ulang rsync membutuhkan waktu (itu bisa Lanjutkan begitu mengetahui di mana ia tinggalkan, tapi itu membutuhkan waktu yang sangat lama).

Saya pikir ZFS berusaha menangani dua operasi penggantian cadangan adalah akar dari masalah konsumsi memori, jadi saya ingin menghapus salah satu suku cadang panas agar ZFS dapat bekerja pada satu per satu. Namun, ketika saya mencoba melepaskan salah satu suku cadang, saya mendapatkan "tidak dapat melepaskan / dev / disk / oleh-id / scsi-SATA_ST3000DM001-1CH_W1F49M01: tidak ada replika yang valid". Mungkin saya bisa menggunakan opsi -f untuk memaksakan operasi, tetapi tidak jelas bagi saya apa hasil dari itu, jadi saya ingin melihat apakah ada yang punya input sebelum melanjutkan.

Jika saya dapat membuat sistem dalam keadaan stabil di mana ia dapat tetap beroperasi cukup lama untuk menyelesaikan cadangan saya berencana untuk menurunkannya untuk perbaikan, tetapi dengan kondisi saat ini terjebak dalam sedikit lingkaran pemulihan.

jasongullickson
sumber
Anda menandai ini zfs-fuse. Apakah ini benar-benar Sekering ZFS? Harap berikan detail OS.
ewwhite
Anda bertaruh ewwhite. Debian 6.0.6
jasongullickson
Berapa banyak RAM yang dimiliki sistem ini? Seberapa sering Anda menggosok array?
Chris S
Mengapa Anda menggunakan FUSE dan bukan implementasi ZFS nyata? Apalagi mengingat ada banyak perangkat keras di sini. Saya pikir susunan ini selesai ...
ewwhite
Pada saat sistem dibangun tidak ada implementasi ZFS asli untuk Linux.
jasongullickson

Jawaban:

1

Sekarang Anda dapat melepaskan disk UNAVAIL, ZFS tidak menggunakan itu lagi.

Anda memiliki dua disk yang gagal dalam pengaturan RAIDZ-1. Sangat mungkin Anda melihat beberapa kehilangan data dan harus siap untuk memulihkan dari cadangan.

Sebagai catatan, RAIDZ telah terbukti sangat tidak jelas dalam pengalaman saya dengan OpenSolaris / Solaris11. Saya akan menyarankan untuk tidak menggunakannya dalam jenis pekerjaan apa pun.

Juga, untuk memperkuat apa yang dikatakan ewwhite, FUSE bukan pilihan terbaik Anda. Saya akan mengambil kesempatan ini untuk bermigrasi ke sesuatu yang lebih stabil (mungkin FreeBSD 10).

Giovanni Tirloni
sumber