LINUX.ORG.RU

Установка Centos 7 на soft raid 1

 , ,


0

0

Всем день добрый!

Проблемка такая: Ставлю centos 7, в установщике разбиваю диск на /boot (ext4), / (ext4) и /swap, выбираю зеркалирование на второй диск, система ставится и стартует.

cat /proc/mdstat показывает что массив собрался

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md125 : active raidl sdb1[1] sdal[0] 
	  289714176 blocks super 1.2 [2/2] [UU] 
	  bitmap: 0/2 pages [0KB], 65536KB chunk 
	  
md126 : active raid1 sdb2[1] sda2[0] 
	  512000 blocks super 1.2 [2/2] [UU] 
	  bitmap: 0/1 pages [0KB], 65536KB chunk 
	  
md127 : active raid1 sdb3[1] sda3[0] 
      16776192 blocks super 1.2 [2/2] [UU]
  
unused devices: <none> 

Теперь вырубаю машину, выдергиваю 2 диск, надо ведь проверить как работает зеркало и... ничего не работает, получаю вот это:

Warning: /dev/disk/by-id/md-uuid-08b83352:67302562:4d23de13:e8add8f3 does not exist
Warning: /dev/disk/by-id/md-uuid-a0b50c1f:e33fb79b:d532b4ba:d5595267 does not exist 
Warning: /dev/disk/by-id/md-uuid-b72d940e:3bf12042:409ce078:f7493a34 does not exist 
Warning: /dev/disk/by-uuid/c6a6e0d3-97ea-43b2-bfec-5b0031de756c does not exist

Generating "/run/initramfs/rdsosreport.txt" 

Entering emergency mode. Exit the shell to continue. 
Type "journalctl" to view system logs. 
You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot 
after mounting them and attach it to a bug report. 

:/# 

Ок, возможно загрузчик криво встал на второй диск, втыкаю обратно второй, выдергиваю первый и получаю тоже самое... Подрубив обратно оба диска - все грузится нормально, что я делаю не правильно, почему массив так криво собирается и в какую сторону копать?

Делай как он советует. Посмотри, что он там найти не может. Слышал, что деградированный btrfs тоже не запускался дальше сам, надо было что-то где-то прописать.

Проверь ещё отключая диск во время работы.

Raid можно сделать средствами lvm, но там он больше как чёрный ящик - видно только процент синхронизации и простейший статус. Можно хранить все разделы внутри lvm. Только первичный загрузчик снаружи, вторичный уже внутри можно.

boowai ★★★★
()
Последнее исправление: boowai (всего исправлений: 1)

Нужно либо вытаскивать диск при работающей системе, чтобы программный RAID увидел сбой, либо руками удалить пропавший диск из рейда с помощью mdadm (это можно сделать в emergency mode).

Быть может есть способ заставить mdadm собирать деградированный RAID1 при загрузке системы после какого-то таймаута, но мне кажется лучше так не делать. Это увеличивает шансы возникновения очень серьёзных проблем в будущем.

Deleted
()

Проверь ещё отключая диск во время работы

Проверю как система себя ведет, но опять же получается пропадает смысл raid1, допустим я недосмотрел за состоянием диска, один вылетел, потом последовала перезагрузка машины и все... приехали. Да подсунув новый диск и пересобрав массив все заработает, но как же отказоустойчивость?

Быть может есть способ заставить mdadm собирать деградированный RAID1 при загрузке системы после какого-то таймаута

Про сборку разговора не идет, собрать-то и потом ручками можно.

Разве soft raid1 не должен позволять грузиться с любого диска, если 1 вылетел?

matrix_ekb
() автор топика
Ответ на: комментарий от matrix_ekb

Разве soft raid1 не должен позволять грузиться с любого диска, если 1 вылетел?

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

Deleted
()
Ответ на: комментарий от matrix_ekb

Проверю как система себя ведет, но опять же получается пропадает смысл raid1, допустим я недосмотрел за состоянием диска, один вылетел, потом последовала перезагрузка машины и все... приехали.

Что мешает протестировать именно эту ситуацию? На _работающей_ системе вытащи один из дисков и всё.

Deleted
()
Ответ на: комментарий от Deleted

Что мешает протестировать именно эту ситуацию? На _работающей_ системе вытащи один из дисков и всё.

на работающей системе диск sda вытащил, массив тут же выдает ошибку и после ребута система стартует нормально. Ради интереса выключил машину, отрубил sdb, подрубил обратно sda --> опять emergency mode. Правильно я понимаю логику работы зеркала в софт рейде, если mdadm обнаружил во время работы вылетевший диск, то система после ребута стартанет нормально, а если диск пропал в то время как система была выключена, получаем emergency mode.

А как в emergency mode деградировать массив в ручную и загрузится с диска?

matrix_ekb
() автор топика
Ответ на: комментарий от matrix_ekb

на работающей системе диск sda вытащил, массив тут же выдает ошибку и после ребута система стартует нормально. Ради интереса выключил машину, отрубил sdb, подрубил обратно sda --> опять emergency mode.

Тут ты как раз смоделировал ситуацию, при которой деградировавший RAID автоматически запускаться совершенно точно не должен. Потому что на единственном оставшемся диске информация уже устаревшая.

Правильно я понимаю логику работы зеркала в софт рейде, если mdadm обнаружил во время работы вылетевший диск, то система после ребута стартанет нормально, а если диск пропал в то время как система была выключена, получаем emergency mode.

Да. Как я уже говорил, софтовый RAID или сам должен задетектить ошибку диска, или ему о ней надо сказать при помощи mdadm.

А как в emergency mode деградировать массив в ручную и загрузится с диска?

Там должна быть утилита mdadm. Соответственно: mdadm --fail, mdadm --remove.

Deleted
()
Ответ на: комментарий от Deleted

Тут ты как раз смоделировал ситуацию, при которой деградировавший RAID автоматически запускаться совершенно точно не должен. Потому что на единственном оставшемся диске информация уже устаревшая.

Стало интересно, решил добить этот диск, в emergency mode --fail и --remove не выполняются, выдает ошибку mdadm: cannot get array info for /dev/md125.

Решил массив совсем остановить mdadm --stop /dev/md125. После ребута все так же emergency mode. Я так понимаю в таком случае только пересборка массива поможет загрузиться?

matrix_ekb
() автор топика
Ответ на: комментарий от matrix_ekb

Я так понимаю в таком случае только пересборка массива поможет загрузиться?

Пересборка массива из этого одного диска с той же версией метаданных точно поможет. Но скорее всего это не единственный и не правильный вариант.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.