mdadm - исключите диск из монитора

[117041] Обновление работающей системы так, чтобы новый корневой образ использовался при следующей перезагрузке, немного сложнее, чем просто сделать прямую копию по сети. Предполагая, что корневой образ находится на [117404]/dev/mmcblk0p5[117405] (как указано в выводе [117406]parted -l[117407] и комментариях выше), операционная система должна быть в состоянии скопировать корневой раздел с образа в [117408]/dev/mmcblk0p3[117409] без каких-либо проблем (при условии, конечно, что у вас нет никаких данных, которые вы хотите хранить на этом разделе). Вы можете следовать инструкциям, приведенным ниже. [117410]Однако, пожалуйста, убедитесь, что вы выполнили предложенные проверки и изменили команды соответствующим образом, слепое копирование команд, приведенных ниже, является хорошим способом разделить вашу систему.

Я буду считать, что корневой раздел на новом изображении - это раздел 5, но это может быть и не так. Вы можете распечатать таблицу разделов изображения под названием [117872]pi.img[117873] с помощью [117874]parted pi.image print[117875]. Если вы не уверены, добавьте вывод к вашему вопросу.

="INSERT INTO MyTable (ISAM_ID, ENTITY, CUSTOMER_MEDIA,STATUS,IIN,OID,FVC)"
  & " VALUES (" & A2 & ", '" & B2 & "', '" & C2 
  & "', '" & D2 & "','" & E2 & "', '" & F2 & "', '" & G2 & "', '" & H2 & "');"

Так как мы хотим скопировать образ только для корневого раздела, а не для всего образа диска (который также будет содержать собственную таблицу разделов и загрузочный раздел), вам нужно отделить его от остальной части образа. Один из способов сделать это (в системе Linux) - использовать [117876]kpartx[117877]:

INSERT INTO MyTable (ISAM_ID, ENTITY, CUSTOMER_MEDIA,STATUS,IIN,OID,FVC)
   VALUES ( 10001, 'ErferrRR01','MP3','LOADED'
   ,'RRGEE', '232133122dfcsdds212121','TGEE');

sudo kpartx -av pi.img

enter image description here

Если другие устройства для работы с шлейфом не используются, то будет использоваться [117880] loop0[117881], однако, пожалуйста, проверьте выход и измените дальнейшие команды соответственно.

Убедитесь, что целевой раздел не смонтирован на Raspberry Pi, сделав:

sudo umount /dev/mmcblk0p3.

Для следующего шага вы должны иметь возможность передавать данные по ssh [117884] и [117885] иметь права root. Есть несколько способов сделать это, но я думаю, что проще всего включить корневой логин. Обычно это не рекомендуется, но так как вы хотите загрузить новый образ системы, я не думаю, что это будет проблемой. На Raspberry Pi do:

sudo passwd root


Далее скопируйте изображение на Raspberry Pi (используя [117888]RAAK's suggestion for data integrity[117889]):

sudo dd if=/dev/mapper/loop0p5 |. ssh -o MACs=hmac-ripemd160 root@host dd of=/dev/mmcblk0p3

хост [117893] может быть любым из [117894]/etc/hostname[117895] на малиновой Pi (по-видимому [117896]mypi[117897] для операционной системы) или IP-адресом малиновой Pi. Также не забудьте изменить это соответственно, если вы не используете [117898]loop0[117899].

Далее измените корневой раздел для Raspberry Pi, насколько я вижу (у меня нет Raspberry Pi для тестирования) вы должны изменить [117900]/boot/cmdline.txt[117901]. Вы должны изменить часть с надписью [117902]root=/dev/mmcblk0p5[117903] на [117904]root=/dev/mmcblk0p3[117905].

Вы можете удалить [117906]цикл[117907] и [117908]устройства mapper[117909] в системе, с которой вы скопировали:

sudo kpartx -d pi.img.

Теперь перезагрузите Raspberry Pi и вы должны использовать новый образ!

2
08.07.2014, 12:07
2 ответа

Да, это возможно - так сказать, только для RAID1. Поменять его на один привод.

mdadm --grow /dev/md5 --raid-devices=1 --force

Затем он должен отображаться как находящийся в хорошем состоянии:

md0 : active raid1 sdx1[42]
      12345678 blocks super 1.2 [1/1] [U]

После этого больше не будет отсутствующего диска, и mdadm больше не должен жаловаться на его ухудшение.

Когда вы будете готовы добавить второй диск позже, просто увеличьте его снова:

mdadm --grow /dev/md5 --raid-devices=2 --force
mdadm --manage /dev/md5 --add /dev/sdy1

Я использую это время от времени для создания загрузочного зеркала моего единственного SSD на жесткий диск.

1
27.01.2020, 22:22

Не совсем. Подглядывая за исходным кодом, если вы используете переключатель командной строки --scan, mdadm парсирует /proc/mdstat без какой-либо фильтрации. И если вы не используете --scan, вы должны указать имя устройства, которое не соответствует вашему назначению.

0
27.01.2020, 22:22

Теги

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