
Мой 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 описана в вышеупомянутых темах.
Надеюсь, это поможет кому-то с похожей проблемой. Спасибо всем, кто уделил время, чтобы прочитать мою проблему.