Могу ли я перестроить JBOD?

Могу ли я перестроить JBOD?

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

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

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

решение1

Есть вероятность, что ваши диски простообъединенныйв один большой том. Это самое простое решение, когда дело касается JBOD.Если бы только ребята из аппаратного обеспечения последовали за намипринцип KISS, у вас не возникнет проблем с доступом к данным/сбросом данных с помощью программного обеспечения, а не оборудования.

В Linux подходящим инструментом является dmsetup, но если вы хотите только скопировать диски в образ (или на другой диск), то catможет подойти и простой способ.

Расследование

Сначала вам нужно узнать исходный порядок дисков в JBOD. Должно быть легко определить самый первый диск; сложная часть заключается в том, чтобы упорядочить остальные. В вашем случае, когда есть два HDD, у вас не должно возникнуть проблем. Первый диск имеет действительную таблицу разделов 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сначала вам следует его разбить на разделы.

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