Могу ли я восстановить JBOD?
У меня есть старое оборудование, которое вышло из строя несколько лет назад, и у меня все еще есть 2 жестких диска, оба из которых настроены как JBOD.
Есть ли способ выгрузить эти диски на один жесткий диск и удалить / перестроить JBOD с фактическим оборудованием, которое больше не доступно?
JBOD был построен на чипе Promise 20579 - материнской плате MSI K8T Neo для AMD 64.
1 ответ
Есть вероятность, что ваши диски просто объединены в один большой том. Это самое простое решение, когда дело доходит до JBOD. Если только ребята из аппаратного обеспечения следовали принципу KISS, у вас не возникнет проблем с доступом к данным / сбросом данных с помощью программного обеспечения вместо аппаратного.
В Linux правильный инструмент dmsetup
, но если вы хотите записать диски только в образ (или другой диск), то просто cat
может хватить.
изучение
Для начала вам нужно узнать оригинальный порядок дисков в JBOD. Должно быть легко идентифицировать самый первый диск; сложная часть состоит в том, чтобы заказать остальные из них. В вашем случае, когда есть два жестких диска, у вас не должно быть проблем. На первом диске имеется допустимая таблица разделов MBR или действительный GPT (основной, но не вторичный), который описывает разделы на всем JBOD. Если вы не использовали свой JBOD без таблицы разделов, этот метод будет работать. Проверьте ваши диски с gdisk -l
и определить первый.
подготовка
В моем примере правильный порядок /dev/sdb
, /dev/sdc
, Измените приведенные ниже определения переменных в соответствии с вашими потребностями.
device1=/dev/sdb
device2=/dev/sdc
Таким образом, вы можете использовать следующие команды Bash без каких-либо изменений.
Чтобы создать дамп дисков в образ, этого должно быть достаточно (примечание: теперь вам может потребоваться sudo
):
cat $device1 $device2 > image.raw
Требуется больше подготовки, если вы действительно хотите работать с JBOD. Вам необходимо хранить размеры ваших устройств в 512-байтовых секторах. Команда для получения размера похожа blockdev --getsz /dev/sdX
, так
size1=`blockdev --getsz $device1`
size2=`blockdev --getsz $device2`
Подтвердите с помощью echo $size1 $size2
что у вас есть два номера. (Проверка работоспособности: если вы умножите их на 512, вы должны получить размеры ваших дисков.)
Создание сопоставленного устройства
Пришло время создать виртуальное объединенное устройство. Следующий фрагмент кода использует здесь синтаксис документа для удобства чтения. Возможно, вам придется настроить его, если вы не используете Bash. С другой стороны, с Bash он должен работать, просто вставив его в терминал.
dmsetup create mydevice << EOF
0 $size1 linear $device1 0
$size1 $size2 linear $device2 0
EOF
Заметка mydevice
это произвольное имя. Вторая и третья строка создают карту устройства для dmsetup
, Ссылаться на man dmsetup
Узнать больше.
Теперь вы должны иметь /dev/mapper/mydevice
доступно и готово к использованию; это твой JBOD. (Я не уверен на 100% в каждой реализации dmsetup
создает узлы в /dev/mapper/
; тем не менее mydevice
должно появиться где-то.) Работать с ним как с любым другим устройством.
монтаж
Прочитайте мой другой ответ. Весь раздел, посвященный монтажу, относится к вашему случаю.
очищающий
Разрушать /dev/mapper/mydevice
:
dmsetup remove /dev/mapper/mydevice
Конечно ты должен umount
его разделы первыми.