ZFS Ubuntu 16.04 Заменить диск самим собой

Ваш сценарий сообщает, что имя не найдено, а затем сообщает, что имя существует. Это из-за вашего состояния , если [$? -ne 1] . Знак "$?" представляет код возврата последнего выражения в скрипте. В данном случае это код возврата предыдущего блока if.

Чтобы получить желаемый результат, переместите команду grep между первым и вторым блоками if. Таким образом, второе if будет оценивать результаты grep. Если grep найдет результат, он напечатает этот результат, и его код возврата будет 0, и блок будет пропущен. Если grep не находит результата, он ничего не должен печатать, а его код возврата будет 1, что приведет к выполнению условия.

2
22.02.2017, 04:46
1 ответ

Для повторного использования того же диска в ZFS, если вы уверены, что диск не неисправен, хорошим началом будет выполнение DD первых 10 ГБ диска, но это нужно делать и в конце привод. А вот DD 10 Гб не надо, думаю первого и последнего МБ хватит.

Я решил это так:

dd bs=512 if=/dev/zero of=/dev/sdk count=2048 seek=$(($(blockdev --getsz /dev/sdk) - 2048))
dd bs=512 if=/dev/zero of=/dev/sdk count=2048 

Затем просто добавьте «новый» диск обратно в пул ZFS. Не нужно очищать этикетки, стирать, протирать диск. ДД - это все, что вам нужно. Вы также не должны разбивать диск после DD. ZFS не примет ранее разбитый на разделы диск.

Тогда простоzpool replace <pool-name> <old-device> <new-device>

обычно это диск -с идентификатором -и устройство, указанное в lsblk.

2
27.01.2020, 22:19

Теги

Похожие вопросы