У меня есть старое оборудование, которое вышло из строя несколько лет назад, и у меня все еще есть 2 жестких диска, оба из которых настроены как JBOD.

Есть ли способ выгрузить эти диски на один жесткий диск и удалить / перестроить JBOD с фактическим оборудованием, которое больше не доступно?

JBOD был построен на чипе Promise 20579 - материнской плате MSI K8T Neo для AMD 64.

1 ответ1

0

Есть вероятность, что ваши диски просто объединены в один большой том. Это самое простое решение, когда дело доходит до 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 его разделы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .