Невозможно заменить отсутствующий диск в raidz

Невозможно заменить отсутствующий диск в raidz

Мой raidz деградировал после смены материнской платы - диск не может быть найден. Отсутствующий диск раньше был /dev/sdh, но теперь он называется /dev/sdg - что и является причиной проблемы.

В деградированном zpool мне удалось перевести отсутствующий диск в автономный режим, используя его uid (который я нашел с помощью команды zdb). Теперь деградированный пул выглядит так:

pool: Media
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
    Sufficient replicas exist for the pool to continue functioning in a
    degraded state.
action: Online the device using 'zpool online' or replace the device with
    'zpool replace'.
scrub: scrub completed after 2h10m with 0 errors on Thu May  1 14:02:43 2014 
config:

    NAME                                                      STATE     READ WRITE CKSUM
    Media                                                     DEGRADED     0     0     0
      raidz1-0                                                ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B0_WD-WMAY00171958  ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00424060  ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WMAY04082675  ONLINE       0     0     0
      raidz1-1                                                DEGRADED     0     0     0
        sde                                                   ONLINE       0     0     0
        sdf                                                   ONLINE       0     0     0
        sdh                                                   OFFLINE      0     0     0

Однако мне не удаётся заменить /dev/sdh на /dev/sdg:

zpool replace Media 3840188586753206212 /dev/disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609 -f
invalid vdev specification
the following errors must be manually repaired:
/dev/disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609 is part of active pool 'Media'

... Как я могу решить эту проблему?

решение1

отдать команду

sudo blkid

вы можете обнаружить, что пытаетесь восстановить raidz 1-1 с членом или запасным диском, зарезервированным для raidz 1-0. в любом случае вам, вероятно, следует убедиться, что в будущем вы будете собирать свои raid-массивы по идентификатору, а не по /dev/sdx

В ответ на комментарий о неуважении к членству. Это опасный курс действий. Убедитесь, что ваши резервные копии актуальны и доступны.Это не моя сильная сторона.но я нашел:

По-видимому, этот вопрос уже задавался и на него уже отвечали здесь.Замена мертвого диска в zpool

Я также нашел здесь информацию, которая может быть, а может и не быть актуальной:

http://docs.oracle.com/cd/E19253-01/819-5461/gaypw/index.html

Чтобы удалить участника из zpool

zpool remove pool vdev

источник:http://manpages.ubuntu.com/manpages/lucid/man1/zpool.1M.html

решение2

Я решил это. Хотя не совсем уверен, как. В какой-то момент (я думаю, после экспорта пула и его повторного импорта с другим именем) диски стали обращаться не по их традиционному имени "/dev/sd*", а по их ID. Я ничего не делал, чтобы принудительно применить схему адресации ID - это просто произошло.

        NAME                                                      STATE     READ WRITE CKSUM
    Media                                                     ONLINE       0     0     0
      raidz1-0                                                ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B0_WD-WMAY00171958  ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00424060  ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WMAY04082675  ONLINE       0     0     0
      raidz1-1                                                ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00788302  ONLINE       0     0     0
        disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY01088068  ONLINE       0     0     0
        disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609   OFFLINE       0     0   0

Всякий раз, когда я пытался заменить вышеупомянутое неисправное устройство на /dev/sdg, компьютер возвращал ошибку device /dev/sdg is busy. Оказалось, что из-за изменения адресации ID пул в какой-то степени «исцелился».

Когда я понял, что запись в zpool уже указывает на идентификатор устройства /dev/sdg, который я пытался установить, мне просто пришлось перевести диск в режим онлайн с помощью

zpool online Media /dev/disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609 

и бассейн начал снова серебрянеть.

BTW.: Я также пробовал стереть данные с диска /dev/sdg, чтобы очистить все маркировки и заставить диск забыть, что он уже является частью активного пула. Я не думаю, что это помогло, но, возможно, это имело эффект, о котором я не знаю. Очистка dd описана в вышеупомянутых темах.

Надеюсь, это поможет кому-то с похожей проблемой. Спасибо всем, кто уделил время, чтобы прочитать мою проблему.

Связанный контент