mdadm: повторная активация массива RAID6 после неправильного выключения

432
nonoitall

У меня есть массив из семи дисков RAID6 на файловом сервере. На сервере произошел сбой, и потребовалась полная перезагрузка, что привело к неправильному завершению работы. Обратите внимание, что в этот момент в массиве, вероятно, происходили операции ввода-вывода, поэтому я предполагаю, что для устранения возможных несоответствий необходимо проверить массив. Я перезагрузил сервер и, согласно / proc / mdstat, массив неактивен, но все диски отображаются в нем с (S) рядом с ними. (Запасные части?) В любом случае, какое действие необходимо предпринять для повторной активации и проверки массива? (Конечно, после того, как сам массив снова заработает и будет работать согласованно, я проверю файловую систему массива, но мне просто нужна помощь в поиске правильного способа заставить массив работать снова.)

/ Proc / mdstat

Personalities :  md0 : inactive sdf1[4](S) sdh1[1](S) sdg1[3](S) sdc1[7](S) sdd1[8](S) sdb1[6](S) sda1[5](S) 13674579968 blocks super 1.2  unused devices: <none> 

mdadm - изучить / dev / sd 1

/dev/sda1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 14691340:39f90733:090f8d1d:992b9aa7  Update Time : Sun Nov 23 18:20:24 2014 Checksum : cd065d9e - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 6 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdb1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 01c26529:75542d96:c966fe26:f580dcdf  Update Time : Sun Nov 23 18:20:24 2014 Checksum : 5b31bee5 - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 5 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdc1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 24aa47a3:9f0a123e:f0ce78b2:774359bd  Update Time : Sun Nov 23 18:20:24 2014 Checksum : e5ef87dc - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 4 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdd1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : e2983a0c:0bc3b3d4:b8d018c7:fb547dff  Update Time : Sun Nov 23 18:20:24 2014 Checksum : 3c484254 - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 3 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdf1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 82f35d80:31b62631:22102161:dda95f56  Update Time : Sun Nov 23 18:18:13 2014 Checksum : fdc823df - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 0 Array State : AAAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdg1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 2612c125:cb5d4712:4777122a:46b5e6c7  Update Time : Sun Nov 23 18:20:24 2014 Checksum : bec55d2b - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 2 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdh1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 8cb08975:ff61e873:997d5d58:0559d0f9  Update Time : Sun Nov 23 18:20:24 2014 Checksum : d063a9d5 - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 1 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) 

Я вижу, что / DEV / sdf1 имеет другое состояние массива, чем другие устройства, которые выделяются для меня как - то, что должно быть осмысленным, а как к тому, что смысл есть, я не имею ни малейшего понятия. Я очень ценю любую помощь, которую вы можете предложить добрым леди и джентльменам. :-)

РЕДАКТИРОВАТЬ: Попробовал совет в комментарии ниже о остановке массива и сборке. mdadm сообщает, что он успешно запустил / dev / md0 с 7 дисками, и, согласно / proc / mdstat, теперь массив выполняет повторную синхронизацию (что, очевидно, займет некоторое время). Я предполагаю, что это означает, что он видел, что одно устройство немного устарело и восстанавливает его с помощью других устройств? И значит ли это, что все должно быть хорошо на стороне RAID сейчас? (Все еще буду проверять файловую систему, прежде чем я что-то сделаю с массивом.)

0
Попробуйте `mdadm --stop md0`; затем `mdadm --assemble --uuid = 05e69c50: 388afb83: 1418f18e: a393cb21`, чтобы увидеть, будет ли он теперь правильно собирать массив, даже если один компонент (sdf1), вероятно, будет пропущен; время обновления на этом диске меньше, чем у остальных. Покажите вывод, который это дает (отредактируйте свой вопрос, чтобы добавить его). РЕДАКТИРОВАТЬ: хм, я только что заметил, что ваш mdstat шоу не личности; вам наверное нужно `modprobe raid456` wurtel 9 лет назад 0
Спасибо за чаевые. Попробовал ваш совет и выложил результаты выше. nonoitall 9 лет назад 0
Вы делали `modprobe raid456` или это было не нужно? `/ Proc / mdstat` теперь показывает личностей? wurtel 9 лет назад 0
Да, я сделал это до остановки массива, и впоследствии в личностях появились RAID 4, 5 и 6. nonoitall 9 лет назад 0

1 ответ на вопрос

1
wurtel

Очевидно, в то время, когда массив был собран, требуемый RAID 6 еще не был доступен, так как модуль еще raid456не загружался.

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

mdadm --stop md0 modprobe raid456 mdadm --assemble --uuid=05e69c50:388afb83:1418f18e:a393cb21 

UUID - это то, что указано как UUID массива в mdadm --examineвыводе.

В зависимости от того, как загружается ваша система, вам, вероятно, нужно убедиться, что raid456модуль загружен до сборки массива md.

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

mdadm --grow --bitmap internal /dev/md0 

Растровое изображение также может быть указано во время создания, указанная выше команда должна добавить растровое изображение после факта. Растровое изображение можно удалить, указав noneвместо internal.

Система опустилась в своего рода режим восстановления из-за недоступности массива, и я думаю, что по этой причине модуль был выгружен. Массив закончил повторную синхронизацию, я подключил его и запустил скраб (btrfs), и никаких ошибок не возникло, поэтому я думаю, что все хорошо. Требуется ли внутреннему растровому изображению больше места? (Если я просто добавлю растровое изображение с помощью приведенной выше команды, немного ли уменьшится устройство RAID, чтобы освободить место для него?) Я просто хочу убедиться в этом и заранее сжать базовую файловую систему, если это необходимо. nonoitall 9 лет назад 0
Внутреннее растровое изображение использует свободное место, которое уже доступно, содержимое массива не затрагивается. Также возможно использовать отдельное растровое изображение на другом устройстве, но это не дает такого большого преимущества. Также обратите внимание, что такое растровое изображение полезно только для больших массивов, так как на меньших устройствах повторная синхронизация всего массива не займет много времени, а использование растрового изображения влечет за собой (довольно небольшие) издержки. wurtel 9 лет назад 1

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