Как заменить неисправный диск в программном рейде с помощью lvm

grep -rc 'Author' $1 | sort -t : -k 2,2n

хорошо, если вам нужно количество строк, содержащих ключевое слово, независимо от того, сколько раз оно повторяется в любой данной строке. Если вам нужно фактическое количество слов, вам следует использовать этот параметр

echo $1:$(grep -o 'Author' $1|wc -l) | sort -t : -k 2,2n

-o для grep, который, скорее всего, доступен в версии grep для gnu. Если вы используете grep, предоставляемый более старой устаревшей системой, он может быть недоступен. Просто быстрое предупреждение.

2
02.05.2019, 10:07
1 ответ

LVM использует /dev/md*устройств, и соответствующие /dev/sd*устройства заблокированы программным RAID для монопольного доступа. Во время работы RAID LVM не заботится об устройствах /dev/sd*, которые являются частью программных RAID-массивов.

Таким образом, пока обе половины любого массива RAID не выходят из строя одновременно, вам вообще ничего не нужно делать для LVM.

GRUB, с другой стороны, это другое дело. Поскольку программный RAID отражает только то, что находится в разделах компонентов RAID,основная загрузочная запись и часть GRUB, встроенная между MBR и началом первого раздела, не будут реплицироваться RAID. Однако это будет легко исправить :, просто запустите grub-install /dev/sdaи grub-install /dev/sdb, чтобы убедиться, что обе копии вашего системного диска имеют действительный загрузчик.

Фрагмент grub.confсодержит ссылки на lvmidи mduuid, так что похоже, что он уже подходит для использования в RAID.

См. этот вопрос для получения дополнительной информации. Это шаг, который вы уже должны были сделать один раз при настройке программного зеркального системного диска.

Однако, если вы изначально пропустили этот шаг или хотя бы немного не уверены, может быть целесообразно запустить grub-install /dev/sdbпрямо сейчас перед перезагрузкой системы, чтобы убедиться, что вторичная копия вашего системного диска (который теперь является единственной оставшейся хорошей копией ), на которой действительно есть загрузчик.

Чтобы проверить, установлен ли GRUB на вашем /dev/sdb, вы можете запустить эту команду:

dd if=/dev/sdb bs=512 count=1 2>/dev/null | od -t x1z -A x

Если в ответе указано, что байты между началом MBR и байтом 0x1c0 равны нулю, то GRUB определенно не установлен в /dev/sdb.

Пример вывода без GRUB:

000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
*
0001c0 02 00 ee fe bf 66 01 00 00 00 ff ff ff ff 00 00  >.....f..........<
0001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
*
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa  >..............U.<
000200

Обратите внимание, что в первой строке все нули, а последующие строки до 0001c0 опущены с помощьюod(и помечены звездочкой ), так как они тоже все нули.

Если установлен GRUB, вы не должны видеть все строки -с нулями перед 0001c0, и где-то в текстовом представлении режима -с правой стороны должна быть видна строка GRUB.

Пример вывода с установленным GRUB:

000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0  >.c..............<
000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00  >...|.........!..<
000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75  >....8.u........u<
000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b  >.........|...t..<
000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00  >L.....|.........<
000050 00 00 00 00 00 00 00 00 00 00 00 80 01 00 00 00  >................<
000060 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70  >...........t...p<
000070 74 02 b2 80 ea 79 7c 00 00 31 c0 8e d8 8e d0 bc  >t....y|..1......<
000080 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 be 80 7d  >...d|<.t...R..}<
000090 e8 17 01 be 05 7c b4 41 bb aa 55 cd 13 5a 52 72  >.....|.A..U..ZRr<
0000a0 3d 81 fb 55 aa 75 37 83 e1 01 74 32 31 c0 89 44  >=..U.u7...t21..D<
0000b0 04 40 88 44 ff 89 44 02 c7 04 10 00 66 8b 1e 5c  >.@.D..D.....f..\<
0000c0 7c 66 89 5c 08 66 8b 1e 60 7c 66 89 5c 0c c7 44  >|f.\.f..`|f.\..D<
0000d0 06 00 70 b4 42 cd 13 72 05 bb 00 70 eb 76 b4 08  >..p.B..r...p.v..<
0000e0 cd 13 73 0d 5a 84 d2 0f 83 d8 00 be 8b 7d e9 82  >..s.Z........}..<
0000f0 00 66 0f b6 c6 88 64 ff 40 66 89 44 04 0f b6 d1  >.f....d.@f.D....<
000100 c1 e2 02 88 e8 88 f4 40 89 44 08 0f b6 c2 c0 e8  >.......@.D......<
000110 02 66 89 04 66 a1 60 7c 66 09 c0 75 4e 66 a1 5c  >.f..f.`|f..uNf.\<
000120 7c 66 31 d2 66 f7 34 88 d1 31 d2 66 f7 74 04 3b  >|f1.f.4..1.f.t.;<
000130 44 08 7d 37 fe c1 88 c5 30 c0 c1 e8 02 08 c1 88  >D.}7....0.......<
000140 d0 5a 88 c6 bb 00 70 8e c3 31 db b8 01 02 cd 13  >.Z....p..1......<
000150 72 1e 8c c3 60 1e b9 00 01 8e db 31 f6 bf 00 80  >r...`......1....<
000160 8e c6 fc f3 a5 1f 61 ff 26 5a 7c be 86 7d eb 03  >......a.&Z|..}..<
000170 be 95 7d e8 34 00 be 9a 7d e8 2e 00 cd 18 eb fe  >..}.4...}.......<
000180 47 52 55 42 20 00 47 65 6f 6d 00 48 61 72 64 20  >GRUB.Geom.Hard <
000190 44 69 73 6b 00 52 65 61 64 00 20 45 72 72 6f 72  >Disk.Read. Error<
0001a0 0d 0a 00 bb 01 00 b4 0e cd 10 ac 3c 00 75 f4 c3  >...........<.u..<
0001b0 00 00 00 00 00 00 00 00 23 c1 00 00 00 00 80 20  >........#...... <
0001c0 21 00 8e fe ff ff 00 08 00 00 00 f8 ff 00 00 00  >!...............<
0001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
*
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa  >..............U.<
000200

Иметь загрузчик на системном диске с программным RAID всегда сложно, поэтому я бы рекомендовал администраторам систем с программным RAID знать, как использовать функцию аварийной загрузки на установочном носителе. Вот официальные инструкции по аварийной загрузке на SuSE 11 и 12 .

В этом случае, если система не загружается после извлечения неисправного диска, вам нужно будет сначала выполнить процедуру, описанную в этом документе, а затем запустить grub-install /dev/sda(, так как оставшаяся половина набора RAID, вероятно, будет обнаружена как /dev/sdaпосле удаления неисправного диска ).

0
27.01.2020, 22:26

Теги

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