BASH Programming - Введение

       

Авто-детектирование


Авто-детектирование позволяет ядру автоматически распознавать устройства RAID при загрузке, сразу после завершения обычного детектирования разделов.

Для этого требуется несколько вещей:

  1. Вам нужна поддержка авто-детектирования в ядре. Проверьте это.
  2. Вы должны создать RAID устройства используя отдельный суперблок
  3. Тип раздела устройств используемых в RAID должен быть установлен в 0xFD (запустите fdisk и установите тип в ``fd'')
  4. ЗАМЕТКА: Удостоверьтесь, что Ваш RAID НЕ ЗАПУЩЕН перед сменой типа раздела. Используйте raidstop /dev/md0 для остановки устройства.

    Если Вы сделаете 1, 2 и 3 как указано выше, авто-детектирование должно быть установлено. Попробуйте перезагрузиться. После загрузки системы, сделайте cat /proc/mdstat и это должно показать, что Ваш RAID запущен.

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

    Oct 22 00:51:59 malthe kernel: SCSI device sdg: hdwr sector= 512 bytes. Sectors= 12657717 [6180 MB] [6.2 GB] Oct 22 00:51:59 malthe kernel: Partition check: Oct 22 00:51:59 malthe kernel: sda: sda1 sda2 sda3 sda4 Oct 22 00:51:59 malthe kernel: sdb: sdb1 sdb2 Oct 22 00:51:59 malthe kernel: sdc: sdc1 sdc2 Oct 22 00:51:59 malthe kernel: sdd: sdd1 sdd2 Oct 22 00:51:59 malthe kernel: sde: sde1 sde2 Oct 22 00:51:59 malthe kernel: sdf: sdf1 sdf2 Oct 22 00:51:59 malthe kernel: sdg: sdg1 sdg2 Oct 22 00:51:59 malthe kernel: autodetecting RAID arrays Oct 22 00:51:59 malthe kernel: (read) sdb1's sb offset: 6199872 Oct 22 00:51:59 malthe kernel: bind<sdb1,1>

    Oct 22 00:51:59 malthe kernel: (read) sdc1's sb offset: 6199872 Oct 22 00:51:59 malthe kernel: bind<sdc1,2>

    Oct 22 00:51:59 malthe kernel: (read) sdd1's sb offset: 6199872 Oct 22 00:51:59 malthe kernel: bind<sdd1,3>

    Oct 22 00:51:59 malthe kernel: (read) sde1's sb offset: 6199872 Oct 22 00:51:59 malthe kernel: bind<sde1,4>

    Oct 22 00:51:59 malthe kernel: (read) sdf1's sb offset: 6205376 Oct 22 00:51:59 malthe kernel: bind<sdf1,5>

    Oct 22 00:51:59 malthe kernel: (read) sdg1's sb offset: 6205376 Oct 22 00:51:59 malthe kernel: bind<sdg1,6>


    Oct 22 00:51: 59 malthe kernel: autorunning md0 Oct 22 00:51:59 malthe kernel: running: <sdg1><sdf1><sde1><sdd1><sdc1><sdb1>

    Oct 22 00:51:59 malthe kernel: now! Oct 22 00:51:59 malthe kernel: md: md0: raid array is not clean -- starting background reconstruction

    Это отрывок при авто-детектировании массива RAID-5, который не был чисто остановлен (например при крахе машины). Была автоматически инициирована реконструкция. Монтирование этого устройства вполне безопасно, так как реконструкция прозрачна и все данные целы ( только паритетная информация противоречива - но она не нужна, пока диск не откажет).

    Автоматически стартующие устройства также автоматически останавливаются при выключении. Не беспокойтесь о init скриптах. Просто используйте устройства /dev/md как любые другие /dev/sd или /dev/hd устройства.

    Да, это в самом деле очень просто.

    Вы можете взглянуть в Ваш init-scripts для любых raidstart/raidstop комманд. Они часто есть в стандартных RedHat init скриптах. Они используются для RAID старого стиля, и не используются в RAID нового стиля с авто-детектированием. Посто удалите строки, и все будет очень просто.


    Содержание раздела