Спасательная система Hetzner

Вступление

Hetzner Rescue System — это живая среда Linux на основе Debian, которая предоставляет вам административный доступ к вашему серверу, даже если установленная система больше не загружается. Среда запускается с использованием сетевой загрузки (PXE) и запускается в памяти сервера, не касаясь дисков или ваших данных на них. Это позволяет выполнять ремонт установленной системы, получать доступ к данным на дисках, создавать резервные копии, проверять оборудование сервера и устанавливать операционные системы. Кроме того, любое необходимое дополнительное программное обеспечение может быть временно установлено в Rescue System.

В качестве альтернативы вы можете использовать консоль KVM вместе с загрузочным ISO-образом по вашему выбору.

Запуск системы спасения Hetzner

Активация спасательной системы

Чтобы запустить сервер в Rescue System, его необходимо активировать через административный интерфейс Robot . Поэтому нажмите Servers, выберите нужный сервер и откройте вкладку Rescue. Здесь можно выбрать и активировать желаемый вариант и архитектуру.

Пароль, который был дан вам при активации Rescue System, теперь можно использовать для входа в систему как «root» через SSH . Кроме того, вы также можете выбрать SSH-ключ (если вы уже загрузили его в Robot ранее) и войти в систему спасения без пароля.

Перезагрузка сервера

Чтобы загрузить Rescue System, необходимо перезапустить сервер. Если у вас больше нет доступа к серверу, вы можете использовать функцию сброса в Robot . Вы найдете это на Resetвкладке желаемого сервера.

Обратите внимание, что активация Rescue System действительна только для одной загрузки. Если вы хотите снова загрузить сервер в систему спасения, вам придется снова активировать ее в роботе. Если вы не перезагрузите сервер в течение 60 минут после активации, запланированная загрузка Rescue System автоматически станет неактивной. Если сервер перезапустится позже, система загрузится с внутреннего диска (ов).

Установка накопителя (ов) в спасательной системе

Во-первых, вы должны определить идентификаторы разделов вашей системы, выполнив команду lsblk.

Если вывод выглядит так, как показано ниже, и raidв TYPEстолбце есть записи , у вас работает программный RAID:

root@rescue ~ # lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0     7:0    0     4G  1 loop
sda       8:0    0 447.1G  0 disk
├─sda1    8:1    0     4G  0 part
│ └─md0   9:0    0     4G  0 raid1
├─sda2    8:2    0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1
└─sda3    8:3    0 442.6G  0 part
  └─md2   9:2    0 442.5G  0 raid1
sdb       8:16   0 447.1G  0 disk
├─sdb1    8:17   0     4G  0 part
│ └─md0   9:0    0     4G  0 raid1
├─sdb2    8:18   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1
└─sdb3    8:19   0 442.6G  0 part
  └─md2   9:2    0 442.5G  0 raid1

Если вывод выглядит примерно так, как показано ниже, значит, программный RAID не настроен:

root@rescue ~ # lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0     7:0    0     4G  1 loop
sda       8:0    0 447.1G  0 disk
├─sda1    8:1    0     4G  0 part
├─sda2    8:2    0   512M  0 part
└─sda3    8:3    0 442.6G  0 part
sdb       8:16   0 447.1G  0 disk
└─sdb1    8:17   0   446G  0 part

Теперь вы можете смонтировать нужный раздел в пустой папке, например /mnt.

  • В случае программного RAID, /dev/md2обычно это системный раздел (введите, cat /proc/mdstatчтобы отобразить все разделы raid):mount /dev/md2 /mnt
  • Без программного RAID, как правило, предпоследний или предпоследний раздел содержит систему:mount /dev/sda3 /mnt

Монтаж томов LVM

Сначала используйте следующую команду, чтобы отобразить все тома LVM.

ls /dev/mapper/*

Пример вывода:

/dev/mapper/vg0-home /dev/mapper/vg0-root /dev/mapper/vg0-swap

Затем вы можете смонтировать желаемые тома LVM.

mount /dev/mapper/vg0-root /mnt

Сброс пароля root

Чтобы сбросить пароль root в установленной системе Linux или BSD, вам необходимо перейти mountв системный раздел, как описано в предыдущем разделе этой статьи «Монтирование дисков в системе восстановления» . Затем используйте chrootдля переключения в корневую среду смонтированной системы.

chroot-prepare /mnt
chroot /mnt

Теперь вы можете изменить пароль пользователя «root».

passwd

Наконец, выйдите из корневой среды.

exit

Установка операционной системы

Hetzner предлагает удобный сценарий Installimageна основе меню, предназначенный для установки операционной системы и, таким образом, настройки таких параметров, как используемые диски, уровни RAID, имя хоста, разделы и LVM. Более подробную информацию можно найти на странице Installimage .

Другие спасательные системы

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

Рекомендации в случае блокировки сервера

Вступление

В некоторых ситуациях (см. Ниже) мы вынуждены заблокировать сервер. Если ваш сервер заблокируется, вы получите уведомление по электронной почте. Если вы не получили электронное письмо или не уверены, действительно ли ваш сервер заблокирован, не стесняйтесь отправить нам запрос в службу поддержки через интерфейс администрирования робота . Кроме того, вы можете запустить traceroute на свой сервер. Если traceroute заканчивается на первом маршрутизаторе Hetzner, который отображается в форме core-backbone.hetzner, то сервер заблокирован. В Windows вы запускаете traceroute, запустив tracert.exe. В Linux команда для использования является traceroute.

Причины блокировки сервера

Наиболее частые причины блокировки сервера:

  • Атаки с / на ваш сервер
  • Вмешательство в сеть из-за сканирования портов
  • Неправильная конфигурация сети
  • Неоплата счетов
  • Злоупотребления (например, размещение фишингового сайта / вредоносных программ / материалов, нарушающих авторские права и т. Д.)

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

Чтобы помочь в анализе проблемы, к электронному письму добавляется файл журнала с имеющейся у нас информацией. Обратите внимание, что у нас нет дополнительной информации или файлов журнала к тем, которые мы предоставляем. У нас нет программного доступа к серверу, и поэтому мы не можем видеть, что именно происходит. Пожалуйста, проверьте журналы своего внутреннего сервера и самостоятельно проанализируйте проблему.

Лог-файлы

Информация о Port- / Netscans

###################################################################
#          Netscan detected from host   10.0.0.1                  #
###################################################################

time                        src_ip		  dest_ip:dest_port
-------------------------------------------------------------------
Thu Nov 13 18:14:27 2013:      10.0.0.1 =>           10.0.0.2:   22
Thu Nov 13 18:14:27 2013:      10.0.0.1 =>           10.0.0.3:   22
Thu Nov 13 18:14:27 2013:      10.0.0.1 =>           10.0.0.4:   22
Thu Nov 13 18:14:27 2013:      10.0.0.1 =>           10.0.0.5:   22
.....

Этот журнал показывает точное время и IP-адрес источника, а также IP-адрес и порт назначения.

Сводка по превышенным пределам пакетов

Direction OUT
Internal 198.51.100.1
Threshold Packets 100.000 packets/s
Sum                40.674.000 packets/300s (135.580 packets/s), 40.673 flows/300s (135 flows/s), 5,909 GByte/300s (161 MBit/s)
External 10.0.0.6, 40.668.000 packets/300s (135.560 packets/s), 40.667 flows/300s (135 flows/s), 5,909 GByte/300s (161 MBit/s)
External 10.0.0.7,      5.000 packets/300s (16 packets/s),           5 flows/300s (0 flows/s),   0,000 GByte/300s (0 MBit/s)
External 10.0.0.8,      1.000 packets/300s (3 packets/s),            1 flows/300s (0 flows/s),   0,000 GByte/300s (0 MBit/s)

Этот журнал не перечисляет каждое соединение отдельно, а скорее показывает сводку трафика по IP-адресу назначения. Он показывает скорость пакетов, скорость потока, а также общую скорость соединения.

Подробный дамп трафика

21:44:53.145756 IP 10.0.0.1.55008 > 10.0.0.2.29615: UDP, length 9216
21:44:53.145883 IP 10.0.0.1.55030 > 10.0.0.2.45527: UDP, length 9216
21:44:53.146007 IP 10.0.0.1.55046 > 10.0.0.2.1826:  UDP, length 9216
21:44:53.146126 IP 10.0.0.1.55064 > 10.0.0.2.34940: UDP, length 9216
21:44:53.146249 IP 10.0.0.1.55080 > 10.0.0.2.20559: UDP, length 9216
21:44:53.146371 IP 10.0.0.1.55093 > 10.0.0.2.31488: UDP, length 9216
21:44:53.146493 IP 10.0.0.1.55112 > 10.0.0.2.56406: UDP, length 9216
21:44:53.146616 IP 10.0.0.1.55132 > 10.0.0.2.43714: UDP, length 9216
21:44:53.146741 IP 10.0.0.1.55147 > 10.0.0.2.64613: UDP, length 9216

В этом случае создается подробный дамп трафика, который содержит все (входящие и исходящие) соединения. Здесь отображается следующая информация: IP-адрес назначения, порт назначения, размер и тип пакетов. Поскольку показан каждый отдельный пакет, захватывается лишь небольшая часть трафика из-за огромного количества задействованной информации.

Разблокировка сервера

Прежде чем сервер можно будет разблокировать, необходимо решить проблему, вызвавшую его блокировку. После того, как вы окончательно устранили причину проблемы, отправьте нам запрос на разблокировку через интерфейс администрирования робота ( https://robot.your-server.de/ ). Для этого войдите в свою учетную запись, выберите соответствующий сервер и щелкните вкладку Support. Там, пожалуйста, нажмите UNBLOCK. Здесь выберите соответствующий идентификатор инцидента (он будет начинаться с буквы «L», что означает «замок»). Затем заполните форму полностью и отправьте нам.

Чтобы решить эту проблему, мы предлагаем функцию белого списка IP-адресов в файле Robot . Следовательно, вы должны ввести свой общедоступный IP-адрес дома / офиса, и вы сможете временно получить доступ к серверу через это единственное соединение. Это можно сделать в Robot , перейдя Serversи нажав Server locking. Здесь вы можете ввести свой общедоступный IP-адрес, который отображается непосредственно там, так что вы можете просто скопировать и вставить его. Обратите внимание, что эта функция не всегда доступна, в зависимости от причины блокировки.

Если это невозможно с вашей стороны, в качестве альтернативы можно запросить KVM-консоль (бесплатно), предоставляющую полный доступ к серверу. Если вы хотите заказать KVM-консоль, откройте запрос поддержки для конкретного сервера от Robot . Поэтому просто войдите в Robot . Затем нажмите «Серверы», выберите соответствующий сервер и затем нажмите «Поддержка». Там выберите «Удаленная консоль / KVM». Там вы решите получить консоль KVM как можно скорее или в любое удобное для вас время.

Проверка файловой системы

Вступление

Файловые системы организуют способ хранения данных, но при некоторых обстоятельствах файловая система может быть повреждена, а некоторые ее части могут стать недоступными. Это может привести к отображению предупреждающих сообщений или к «странному» поведению системы, например, при сбое процессов и прекращении запуска программного обеспечения. В этом случае рекомендуется проверить целостность файловой системы.

В этой статье объясняются процедуры как для запуска ручной проверки файловой системы, так и для активации автоматической для систем Linux и Windows.

Проверка файловой системы Linux (FSCK)

Во-первых, вы должны определить файловые системы и их разделы в вашей системе, выполнив команду lsblk.

Если результат выглядит так, как показано ниже, и raidв TYPEстолбце есть несколько записей , у вас работает программный RAID. Здесь mdследует проверить все разделы, которые есть md0md1а md2в этом примере:

root@your_host ~ # lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0     7:0    0     4G  1 loop
sda       8:0    0 447.1G  0 disk
├─sda1    8:1    0     4G  0 part
│ └─md0   9:0    0     4G  0 raid1
├─sda2    8:2    0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1
└─sda3    8:3    0 442.6G  0 part
  └─md2   9:2    0 442.5G  0 raid1
sdb       8:16   0 447.1G  0 disk
├─sdb1    8:17   0     4G  0 part
│ └─md0   9:0    0     4G  0 raid1
├─sdb2    8:18   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1
└─sdb3    8:19   0 442.6G  0 part
  └─md2   9:2    0 442.5G  0 raid1

Если результат выглядит более , как показано ниже, нет программного обеспечения RAID и разделы , чтобы проверить , являются sda1sda2sda3и sdb1в этом примере:

root@your_host ~ # lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0     7:0    0     4G  1 loop
sda       8:0    0 447.1G  0 disk
├─sda1    8:1    0     4G  0 part
├─sda2    8:2    0   512M  0 part
└─sda3    8:3    0 442.6G  0 part
sdb       8:16   0 447.1G  0 disk
└─sdb1    8:17   0   446G  0 part

Показать информацию проверки файловой системы

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

tune2fs -l /dev/<PARTITION> | grep -i 'mounted\|last checked\|interval'

Поэтому просто замените <PARTITION>свои разделы и запустите его шаг за шагом. В этом примере мы проверяем раздел md2:

tune2fs -l /dev/md2 | grep -i 'mounted\|last checked\|interval'
Last mounted on:          /
Last checked:             Tue Feb 13 11:52:32 2020
Check interval:           0 (<none>) # Means that automatic mode is off

Автоматическая проверка файловой системы

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

Чтобы активировать автоматическую проверку файловой системы, используйте следующие две команды:

tune2fs -c <BOOT_COUNT> /dev/<PARTITION>
tune2fs -i <MIN_TIME_BETWEEN> /dev/<PARTITION>

Поэтому просто замените:

  • <BOOT_COUNT> со временем загрузки между проверками
  • <PARTITION> с именем раздела
  • <MIN_TIME_BETWEEN> с минимальным временем между проверками

Например, проверяйте раздел при md2каждой 3загрузке с минимальным интервалом 1m(месяц) между ними:

tune2fs -c 3 /dev/md2
tune2fs -i 1m /dev/md2

Вы можете повторить эти две команды для всех своих разделов.

Ручная проверка файловой системы

Файловую систему вручную можно запустить с помощью системной утилиты fsck(проверка целостности файловой системы). Поскольку проверка файловой системы может выполняться только на не подключенных разделах, мы рекомендуем загрузить Rescue System . Если у вас есть тома LVM, это не всегда требуется — в этом случае просто перейдите к следующему разделу.

После входа в Rescue System используйте следующую команду, чтобы начать проверку с автоматическим восстановлением:

fsck -fy /dev/<PARTITION>

Поэтому замените <PARTITION>имена разделов, которые нужно проверить, шаг за шагом, как в этом примере:

fsck -fy /dev/md0
fsck -fy /dev/md1
fsck -fy /dev/md2

Ручная проверка файловой системы при использовании LVM

При использовании LVM (диспетчера логических томов) не требуется отключать соответствующую файловую систему во время проверки файловой системы, благодаря возможности создания моментального снимка. Следовательно, в некоторых случаях загрузка Rescue System не требуется.

  • Чтобы создать временный том моментального снимка, необходимо на короткое время размонтировать файловую систему:
  • umount /dev/<volume_group>/<volume>
    OR
    umount <mountpoint>
    • Если в выходных данных указано, что устройство в настоящее время используется, вам может потребоваться определить и остановить соответствующие процессы или выйти из системы пользователей:
    umount /dev/vg0/data
    umount: /dev/vg0/data: device is busy.
            (In some cases useful info about processes that use
             the device is found by lsof(8) or fuser(1))
    • Если это невозможно (например, с корневой файловой системой), требуется загрузка Rescue System для выполнения проверки файловой системы.
    • После успешного размонтирования тома вы можете создать том моментального снимка:
    lvcreate -s -n <snapshot_name> -L <snapshot_size> /dev/<volume_group>/<volume>
    • Важно: убедитесь, что размер снимка не занят во время проверки файловой системы. Следовательно, выберите размер снимка с достаточным запасом прочности.Пример:
    lvcreate -s -n my_fsck_snapshot -L 30G /dev/vg0/data
    • Теперь просто перемонтируйте соответствующую файловую систему:
    mount /dev/vg0/data /media/data
    • Пример:
    mount /dev/<volume_group>/<volume> <mountpoint>
    • После этого вы можете запустить проверку файловой системы на томе моментального снимка, как на обычном разделе:
    fsck -fy /dev/<volume_group>/<snapshot_name>
    • Пример:fsck -fy /dev/vg0/my_fsck_snapshot
    • Наконец, удалите временно созданный том моментального снимка:
    lvremove -f /dev/<volume_group>/<snapshot_name>
    • Пример:
    fsck -fy /dev/vg0/my_fsck_snapshot

    Если вам не нужно держать том смонтированным во время проверки файловой системы, если вы загрузили свой сервер в Rescue System, вы можете просто выполнить проверку файловой системы на самом (отключенном) томе:

    fsck -fy /dev/<volume_group>/<volume>

    Пример:

    fsck -fy /dev/vg0/data

    Проверка файловой системы Windows (CHKDSK)

    Затем вывод сообщит вам о состоянии вашей файловой системы и любых выполненных действиях по ее восстановлению.

    Автоматическая проверка файловой системы

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

    Ручная проверка файловой системы

    Несмотря на то, что проверку файловой системы можно запустить и с помощью проводника Windows, использование командной строки является еще более простым методом. Если ваша система больше не загружается, вы можете запросить образ для восстановления Windows через раздел «Поддержка» в роботе вместе с консолью KVM и использовать там командную строку. В противном случае, если вы находитесь в загруженной системе Windows, откройте командную строку с правами администратора:

    1. Нажмите на Windows symbolв левом нижнем углу экрана, или нажмите Windowsили Superклавишу
    2. Тип cmd.exe
    3. Одновременно нажмите клавиши CtrlShiftEnter, чтобы открыть командную строку с правами администратора.
    4. Подтвердите отображаемый диалог, нажав на Yes
    5. Командная строка должна открыться, и ее заголовок должен начинаться с «Администратор»:
    • В командной строке введите следующую команду и нажмите Enter:chkdsk C: /f /r /xЕсли вы выполнили команду в работающей системе, нормально отображается следующее сообщение:
    1. В этом случае нажмите Yи Enter. Обратите внимание, что проверка файловой системы может занять довольно много времени (от пары минут до часов). Следовательно, мы рекомендуем подождать с требуемым перезапуском, который запускает проверку файловой системы, пока время простоя сервера не станет для вас подходящим.
    2. В качестве следующего шага перезапустите сервер по своему усмотрению.
    3. Проверка файловой системы теперь проверяет целостность вашей файловой системы и автоматически устраняет проблемы:
    • После завершения проверки файловой системы ваша установленная система загрузится и снова станет доступной.

    Если у вас используется более одного раздела в формате FAT , HPFS или NTFS , вам следует повторить процедуру CHKDSK и с оставшимися разделами. Поэтому откройте проводник Windows и нажмите «Компьютер» в левом столбце, в котором будут показаны эти разделы с их идентификаторами (например, C: D: E:…). Если вы уже проверили C:, просто повторите процедуру с оставшимися буквами дисков, заменив идентификатор диска в вышеупомянутой команде:

    chkdsk D: /f /r /x
    chkdsk E: /f /r /x
    ...

    Вы можете найти дополнительную информацию в документации Microsoft .

    Если вы все еще сталкиваетесь с проблемами после восстановления всех файловых систем, вы также можете попробовать инструмент проверки файлов SFC.exe, который также описан в документации Microsoft .

    Программный RAID-массив Windows Server

    Вступление

    В следующем руководстве описывается, как вручную настроить зеркалирование дисков (RAID1) в операционной системе Windows.

    Поскольку на серверах, которые были установлены с помощью нашей автоматической установки Windows (доступной через робота ) или заказанных с помощью надстройки Windows, уже настроен и запущен уровень RAID 1, это руководство предназначено для пользовательских установок Windows.

    Подготовка

    1. Сначала щелкните значок Windows symbolв нижнем левом углу или нажмите клавишу Windowsили Super.
    2. Введите diskmgmt.mscи нажмите Enterклавишу, чтобы открыть Утилиту управления дисками.Ниже приведен краткий обзор утилиты:
      • A: Основной диск, содержащий операционную систему
      • B: Второй диск, предназначенный для использования для зеркалирования RAID1
      • C: Тома (означают разделы под Windows) на основном диске
      • D: Незанятое пространство на втором диске
    1. Если на вашем втором диске уже есть тома, щелкните их правой кнопкой мыши и выберите Delete Volumeвсе из них.
    2. Щелкните правой кнопкой мыши диск, который в настоящее время содержит операционную систему, и щелкните Convert to dynamic disk.
    3. В появившемся диалоге уже должен быть выбран главный диск. Пожалуйста, выберите также другой диск, который вы хотите использовать для RAID1, нажмите Okи подтвердите.
    4. Теперь вам нужно определить, была ли ваша система установлена ​​в устаревшем режиме или в режиме UEFI. Поэтому щелкните значок Windows symbolв нижнем левом углу или нажмите клавишу Windowsили Super.
    5. Введите msinfo32.exeи нажмите Enterклавишу, чтобы открыть окно информации о системе.
    6. На правой панели вы должны увидеть BIOS MODEзапись, в которой в качестве значения указан режим рассмотрения ( Legacyили UEFI). Если указанная запись отсутствует, система установлена ​​в Legacyрежиме. Затем перейдите к разделу, касающемуся данной статьи.

    Наследие

    Если ваша система работает в устаревшем режиме, следующие шаги должны быть выполнены на всех томах основного диска слева направо:

    1. Щелкните правой кнопкой мыши соответствующий объем и выберите Add mirroringиз контекстного меню.
    2. В появившемся меню выберите предпочтительный второй диск для RAID1 и подтвердите, нажав на Add mirroring.

    Убедитесь, что все тома были добавлены к зеркалированию и синхронизация запущена, на что указывают тома красного цвета и информация об их состоянии.

    UEFI

    Каждая система UEFI имеет так называемый системный том UEFI. Этот раздел не может быть автоматически зеркалирован Windows, и его необходимо вручную скопировать и настроить на втором диске. Как и в случае с Legacy, добавляйте зеркальное отображение для томов один за другим слева направо.

    • Для всех томов, которые не имеют EFIметки, выполните эти шаги:
      1. Щелкните правой кнопкой мыши соответствующий объем и выберите Add mirroringиз контекстного меню.
      2. В появившемся меню выберите предпочтительный второй диск для RAID1 и подтвердите это, нажав Add mirroring.
    • Для системного тома UEFI выполните следующие действия:
      1. Создайте системный том UEFI того же размера на втором диске и отформатируйте его с помощью FAT32 . Поэтому просто щелкните правой кнопкой мыши незанятое пространство второго диска, выберите New Simple Volumeи следуйте диалогу.
      2. Скопируйте данные системного тома UEFI с первого диска на второй. Поэтому рекомендуем загрузить сервер в Rescue System и подключиться к нему по SSH:
        • Найдите соответствующие разделы:parted -lЭта команда выведет список разделов всех дисков. Найдите там два раздела UEFI на обоих дисках, которые вы можете определить по их размеру и файловой системе ( FAT32 ), и объедините идентификаторы дисков ( /dev/sdX) с соответствующими номерами разделов.Пример:parted -l Model: WD Enterprise P20691 Disk /dev/sda: 2000GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 101MB 100MB primary fat32 2 102MB 2000GB 1999GB primary ntfs Model: WD Enterprise P20691 Disk /dev/sda: 2000GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 101MB 100MB primary fat32 2 102MB 2000GB 1999GB primary ntfsВ данном случае это разделы /dev/sda1и /dev/sdb1.
        • Создайте папки точек монтирования:mkdir /mnt/main mkdir /mnt/second
        • Установите соответствующие разделы системы UEFI (замените разделы на свои):mount -t vfat /dev/sda1 /mnt/main -o rw,umask=0000 mount -t vfat /dev/sdb1 /mnt/second -o rw,umask=0000
        • Затем скопируйте все файлы из текущего системного раздела UEFI в новый:cp -ar /mnt/main/ /mnt/second/
        • После завершения загрузите сервер обратно в установленную систему:reboot
      3. После повторного открытия Утилиты управления дисками (см. Раздел «Подготовка» данного руководства) вы также можете добавить системный том UEFI к зеркалированию, щелкнув его правой кнопкой мыши и выбрав Add mirroringиз контекстного меню.
      4. В появившемся меню выберите предпочтительный второй диск для RAID1 и подтвердите, нажав на Add mirroring.

    Убедитесь, что все тома были добавлены к зеркалированию и синхронизация запущена, на что указывают тома красного цвета и информация об их состоянии.

    Если у вас возникнут проблемы с определенными томами или второй Plex (означает, что часть зеркального тома Microsoft) не является загрузочным, см. Официальную документацию .

    Программное обеспечение-RAID

    Введение

    В этой статье перечислены все необходимые шаги для установки Softwareraid.

    Основная информация

    Software RAID это когда взаимодействие нескольких дисков организовано полностью программно.

    • Уровень RAID 1 ( зеркальное отображение ) обеспечивает повышенную безопасность, поскольку даже в случае выхода из строя одного диска все данные по-прежнему сохраняются на втором диске.
    • Уровень RAID 0 ( чередование ) приводит к удвоению емкости (с двумя дисками) и увеличению скорости чтения по сравнению с RAID 1, но все данные будут потеряны, если хотя бы один из дисков выйдет из строя.

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

    Серверы, предварительно установленные компанией Hetzner, имеют суперблоки RAID (версия 1.2), если это поддерживается операционной системой (то есть все системы с Grub2загрузчиком). При установке через VNCэто может случиться так, что установщик использует другие версии метаданных.

    Уведомление по электронной почте при отказе диска в программном RAID

    • Требование: установлен и настроен почтовый сервер

    Debian / Ubuntu / CentOS

    Отредактируйте /etc/mdadm/mdadm.confили /etc/mdadm.confCentOS ) и измените следующую строку:

    MAILADDR root

    Здесь можно указать адрес назначения напрямую. Кроме того, все электронные письма, отправленные в root, можно пересылать на определенный адрес электронной почты с помощью / etc / aliases.

    Вы также можете дополнительно настроить адрес электронной почты для отправки:

    MAILFROM mdadm@example.com

    Для Debian и Ubuntu, важно , чтобы вы установили AUTOCHECKв файле /etc/default/mdadmна true:

    # grep AUTOCHECK= /etc/default/mdadm
    AUTOCHECK=true

    Для CentOS необходимо включить проверку в файле /etc/sysconfig/raid-check:

    # grep ENABLED /etc/sysconfig/raid-check
    ENABLED=yes

    openSUSE

    Отредактируйте /etc/sysconfig/mdadmи добавьте адрес электронной почты, на который вы хотите отправлять уведомление, рядом с переменной MDADM_MAIL:

    MDADM_MAIL="example@example.com"

    Удаление программного RAID

    Чтобы удалить программный RAID, вы можете выполнить следующие команды в Rescue-System :

    mdadm --remove /dev/md0
    mdadm --remove /dev/md1
    mdadm --remove /dev/md2
    mdadm --stop /dev/md0
    mdadm --stop /dev/md1
    mdadm --stop /dev/md2

    После этого диск можно снова нормально отформатировать (например, с помощью ext3):

    mkfs.ext3 /dev/sda
    mkfs.ext3 /dev/sdb

    Результат можно проверить с помощью:

    fdisk -l

    Программного RAID не должно быть.

    Затем installimage можно использовать для установки новой операционной системы.

    Если операционная система установлена ​​и на сервере активирован программный RAID, то просто запустить installimage и установить новую ОС без программного RAID не получится. В этом случае сервер не загружается.

    Дальнейшие руководства

    RAID

    Вступление

    Hetzner предлагает контроллеры RAID от нескольких различных производителей. В настоящее время это 3Ware, Adaptec и LSI. Эта статья поможет вам узнать, какой контроллер используется на вашем сервере.

    Поиск модели контроллера

    Большинство новых серверов имеют контроллеры LSI, но это не всегда так (и не может быть гарантировано). Если вы не уверены, какой контроллер у вашего сервера, вы можете использовать следующую команду, чтобы узнать:

    # lspci  | grep RAID

    Это покажет вам производителя контроллера RAID. Пример контроллера Adaptec:

    03:00.0 RAID bus controller: Adaptec AAC-RAID (rev 09)

    Пользователи Windows могут найти контроллер RAID в разделе Device Manager.

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

    Ограничение разделов на больших жестких дисках

    Вступление

    В настоящее время все стандартные образы, кроме CentOS 6.x, поддерживают загрузку с жесткого диска с использованием таблицы разделов GUID (GPT). Этот GPT автоматически создается сценарием installimage и необходим для обхода ограничения на размер раздела в 2 терабайта, установленного в старой таблице разделов MS-DOS. Информацию о таблице разделов MS-DOS можно найти в Википедии .

    Использование таблицы разделов MS-DOS с дисками> 2 ТБ

    CentOS 6 и все старые образы по-прежнему используют таблицу разделов MS-DOS. Чтобы позволить использовать все 3 терабайта дисков новой модели EX, стандартная схема разбиения дисков размером более 2 терабайт выглядит следующим образом:

    PART swap swap 32G
    PART /boot ext3 512M
    PART / ext4 1024G
    PART /home ext4 all

    Все остальные серверы продолжают использовать эту схему:

    PART swap swap 2G
    PART /boot ext3 512M
    PART / ext4 all

    Поскольку разделы могут иметь размер не более 2 терабайт, оставшееся пространство хранения необходимо разделить на предыдущие разделы. Для накопителя на 3 терабайта необходимо разделить по крайней мере 1 терабайт (максимум 2 терабайта) на предыдущие разделы. Следовательно, возможна следующая схема:

    PART swap swap 32G
    PART /boot ext3 512M
    PART / ext4 1024G
    PART /var ext4 200G
    PART /usr ext4 300G
    PART /home ext4 all

    В следующей схеме 3 терабайта не могли быть использованы полностью (поскольку максимальный размер раздела составляет 2 терабайта (/ home)):

    PART swap swap 32G
    PART /boot ext3 512M
    PART / ext4 40G
    PART /home ext4 all

    На следующей схеме также показано, что 3 терабайта используются не полностью:

    PART swap swap 32G
    PART /boot ext3 512M
    PART / ext4 40G
    PART /var ext4 100G
    PART /usr ext4 200G
    PART /home ext4 all

    Это связано со структурой. Последние три раздела (/ var, / usr, / home) создаются в расширенном разделе, который, в свою очередь, может иметь размер не более 2 терабайт. Поскольку размер первых трех разделов не превышает 1 терабайт, полное использование здесь также невозможно.

    В этом примере, как и в предыдущем, сценарий installimage ограничивает максимальный размер раздела до 2 терабайт.

    Другое возможное решение — использование LVM . Он объединяет разделы в один большой логический том.

    PART swap swap 32G
    PART /boot ext3 512M
    PART lvm vg0 1024G
    PART lvm vg0 all
    
    LV vg0 root / ext4 all

    Обратной стороной этой настройки является дополнительная сложность.

    RAID

    Ограничение размера применяется только к таблице разделов. Это означает, что программный уровень RAID 5, например, приводит к разделу RAID размером 4 ТБ на трех разделах по 2 ТБ. Это не тот случай, когда используется аппаратный RAID-контроллер. В этом случае размер раздела не может превышать 2 терабайта.

    Аппаратный RAID-контроллер

    Чтобы использовать всю емкость дисков, необходимо дважды создать массив RAID на одних и тех же дисках. Один RAID для загрузочного раздела, например 200 ГБ, и один RAID для оставшегося места на диске.

    пример

    В этом примере были использованы 3 диска по 3 ТБ в схеме RAID уровня 5. Необходимо создать два RAID-массива.

    1. один RAID-массив, на котором должна быть установлена ​​загрузочная система, ок. Размер 200 ГБ.
    2. один RAID, который покрывает оставшееся дисковое пространство. В этом примере размером ~ 5,8 ТБ.

    Аппаратный RAID-контроллер Adaptec

    Чтобы RAID-контроллер мог распознавать диски размером> 2 ТБ, необходимо установить микропрограмму 17911 или более позднюю. Если это не так, обратитесь в нашу службу поддержки.

    RAID 5 объемом 200 ГБ для загрузочной системы:

    arcconf create 1 LOGICALDEVICE 200000 5 0 0 0 1 0 2 noprompt

    RAID 5 остальных дисков:

    arcconf create 1 LOGICALDEVICE MAX 5 0 0 0 1 0 2 noprompt

    Общие сведения доступны здесь: RAID-контроллер Adaptec

    Аппаратный RAID-контроллер LSI

    RAID 5 объемом 200 ГБ для загрузочной системы:

    megacli -CfgLdAdd -r5 [252:0,252:1,252:2] WB ADRA Cached CachedBadBBU -sz200GB -a0

    RAID 5 остальных дисков:

    megacli -CfgLdAdd -r5 [252:0,252:1,252:2] WB ADRA Cached CachedBadBBU -a0

    Общие сведения доступны здесь: Контроллер LSI RAID

    Установка и разметка

    Теперь installimage может быть выполнена. Здесь необходима некоторая корректировка: /dev/sdaиспользуется только для дисков, остальные должны быть закомментированы с помощью #. Программный RAID также необходимо отключить (установить на 0).

    После установки операционной системы на втором RAID-массиве можно создать раздел, чтобы его можно было использовать. Здесь таблица разделов GPT используется вместо таблицы разделов MS-DOS, которая позволяет разделить> 2 ТБ. Эти шаги можно выполнить в Спасательной системе .

    • gdisk / dev / sdb
    • n для нового раздела
    • с помощью Enter принять значение по умолчанию для номера раздела
    • с помощью Enter принять значение по умолчанию для начала раздела
    • аналогично с Enter принять значение по умолчанию для конца раздела
    • Введите шестнадцатеричный код для типа данных раздела (0700 для данных Linux / Windows)
    • с w наконец сохраните поправки.

    Теперь раздел можно отформатировать:

    mkfs.ext4 /dev/sdb1

    Наконец, файл /etc/fstabнеобходимо отредактировать со следующей записью:

    /dev/sdb1  /mnt  ext4  defaults  0  1

    LSI RAID-контроллер

    Вступление

    В этой статье объясняется использование программы администрирования контроллера LSI RAID. Вы можете найти его на сайте загрузок Hetzner .

    Данные для доступа к этой области можно найти в электронном письме о завершении заказа для вашего выделенного корневого сервера. При загрузке программы обязательно ознакомьтесь с лицензионным соглашением.

    • megacliИнструмент используется для управления контроллером через интерфейс командной строки. (Примечание: RPM устанавливает это в /opt/MegaRAID/MegaCli/).
    • Инструмент MegaRAID Storage Manager(MSM) используется для управления контроллером через графический интерфейс.

    Чтение статуса аппаратного RAID

    Чтобы прочитать состояние контроллера LSI RAID, megacliнеобходимо установить инструмент командной строки LSI . Он уже предустановлен в Hetzner Rescue-System .

    Статус RAID можно получить с помощью следующей команды (показать все логические устройства на всех контроллерах):

    megacli -LDInfo -Lall -Aall

    Пример RAID 1:

    Adapter 0 -- Virtual Drive Information:
    Virtual Disk: 0 (Target Id: 0)
    Name:
    RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
    Size:697.560 GB
    State: Optimal
    Stripe Size: 64 KB
    Number Of Drives:2
    Span Depth:1
    Default Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
    Current Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
    Access Policy: Read/Write
    Disk Cache Policy: Enabled
    Encryption Type: None
    
    Exit Code: 0x00

    Статус дисков можно получить с помощью следующей команды:

    megacli -PDList -Aall

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

    megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"

    Настройка аппаратного RAID

    Прежде чем можно будет настроить массив, может потребоваться удалить предыдущую конфигурацию. Чтобы просто удалить логический диск, вы можете использовать CfgLdDel:

    megacli -CfgLdDel -Lall -aAll

    Чтобы удалить все (включая, например, поведение кеша), используйте Configuration Clear:

    megacli -CfgClr -aAll

    Используемые диски должны быть в Unconfigured (good)состоянии (см. Выше). Если они находятся в Unconfigured (bad)статусе, их можно настроить с помощью:

    megacli -PDMakeGood -PhysDrv[<Enclosure#>:<Slot#>] -a0

    Синтаксис:

    megacli -CfgLdAdd -r<RAID#> [E0:S0,E1:S1,...] [WT|WB] [NORA|RA] [Direct|Cached] -sz<Size> [-sz<Size>]

    RAID 0, 1 или 5

    Для «r1» введите «r0» или «r5» соответственно (жесткие диски в корпусе 252, порты 0 и 1, обратная запись включена, чтение кэша в адаптивном режиме, кэш также включен без BBU):

    megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0

    Настройте RAID 0, 1 или 5, как указано выше, размером 20 ГБ:

    megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -sz10GB -a0

    RAID 10

    megacli -CfgSpanAdd -r10 -Array0[252:0,252:1] -Array1[252:2,252:3] WB RA Direct CachedBadBBU -a0

    Расширение существующего массива

    После установки дополнительного диска требуемый объем изменяется соответствующим образом. Вот пример добавления диска в RAID 5:

    megacli -LDRecon -Start -r5 -Add -PhysDrv[252:3] -L0 -a0

    Использование дисков как JBOD

    Контроллер LSI MegaRAID 9260 не поддерживает режим JBOD, который обеспечивал бы прямую передачу дисков. Однако можно настроить каждый диск как RAID 0:

    megacli -CfgEachDskRaid0 WB RA Direct CachedBadBBU -a0

    Настройка диска в качестве горячего резерва

    Выберите unconfigured goodдиск в меню «Диски» и нажмите Properties. Здесь привод может быть настроен как dedicated hot spareдля массива или как global hot spareдля всех массивов. Это также возможно с помощью megacliинструмента

    • в качестве глобального Hotspare: megacli -PDHSP -Set -PhysDrv[252:2] -a0
    • как выделенный Hotspare для Array0: megacli -PDHSP -Set -Dedicated -Array0 -PhysDrv[252:2] -a0
    • удалить статус Hotspare: megacli -PDHSP -Rmv -PhysDrv[252:2] -a0

    Создание загрузочного массива

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

    root@rescue ~ # megacli -AdpBootDrive -get -a0
    
    Adapter 0: No Virtual drive or Physical Drive is configured as boot drive.
    
    Exit Code: 0x00
    root@rescue ~ # megacli -AdpBootDrive -set -L0 -a0
    
    Boot Virtual Drive is set to #0 (target id #0) on Adapter 0
    
    Exit Code: 0x00

    Резервное копирование и восстановление конфигурации контроллера

    Чтобы сохранить конфигурацию контроллера и всех массивов:

    # megacli -CfgSave -f raidcfg.txt -a0

    Чтобы восстановить конфигурацию контроллера:

    root@rescue ~ # megacli -CfgRestore -f raidcfg.txt -a0

    Замена диска в массиве, если восстановление не начинается автоматически

    Статус нового диска должен быть Unconfigured (good). Это можно проверить с помощью PDList. Если статус накопителя равен Unconfigured (bad), его сначала необходимо сделать пригодным для использования следующим образом:

    root@rescue ~ # megacli -PDList -a0 | grep Firmware
    Firmware state: Online, Spun Up
    Device Firmware Level: CC45
    Firmware state: Online, Spun Up
    Device Firmware Level: CC45
    Firmware state: Unconfigured(bad), Spun Up
    Device Firmware Level: CC45
    Firmware state: Online, Spun Up
    Device Firmware Level: CC45
    root@rescue ~ # megacli -CfgForeign -Scan -a0
    
    There are 1 foreign configuration(s) on controller 0.
    
    Exit Code: 0x00
    root@rescue ~ # megacli -CfgForeign -Clear -a0
    
    Foreign configuration 0 is cleared on controller 0.
    
    Exit Code: 0x00
    
    root@rescue ~ # megacli -PDMakeGood -PhysDrv [245:3] -a0

    Если диск есть good, теперь он может заменить отсутствующий диск. Для этого необходимо указать массив и позицию, которую нужно заменить. Эти числа могут быть получены, например, из megacli -CfgDsply -a0. Если диск отсутствует в массиве, запись Physical Disk:будет отображаться, но никакая дополнительная информация отображаться не будет. В этом примере четвертый диск первого массива Array0теперь заменен диском в Enclosure 245 Slot 3 ("PhysDrv[245:3]"):

    root@rescue ~ # megacli -PdReplaceMissing -PhysDrv[245:3] -array0 -row4 -a0
    
    Adapter: 0: Missing PD at Array 0, Row 4 is replaced.
    
    Exit Code: 0x00
    root@rescue ~ # megacli -PDRbld -Start -PhysDrv[245:3] -a0
    
    Started rebuild progress on device(Encl-245 Slot-3)
    
    Exit Code: 0x00
    root@rescue ~ # megacli -PDRbld -ShowProg -PhysDrv [245:3] -aAll
    
    Rebuild Progress on Device at Enclosure 245, Slot 3 Completed 1% in 0 Minutes.

    Чтение значений SMART диска в RAID

    Использование smartmontoolsобеспечивает прямой доступ к физическому диску за контроллером, например. для первого драйва. В первую очередь device idнеобходимо определиться с megacliинструментом:

    # megacli -pdlist -a0| grep 'Device Id'
    Device Id: 4
    Device Id: 5

    Теперь это можно указать как megaraidвариант, например:

    smartctl -d sat+megaraid,4 -a /dev/sda

    В зависимости от операционной системы, обновление из smartmontoolsили kernelможет быть необходимым.

    Конфигурация RAID пуста после перезагрузки

    В редких случаях после перезагрузки сервера конфигурация не обнаруживается при первом создании массива RAID.

    Для решения проблемы конфигурация должна быть создана дважды в Rescue System.

    Пример RAID 1:

    Создайте megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0

    Удалить (в данном случае все) megacli -CfgLdDel -Lall -aAll

    Создать снова megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0

    Обновление прошивки

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

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

    Руководство по резервному копированию и последующему восстановлению конфигурации контроллера можно найти далее.

    Прочтите модель RAID-контроллера / версию прошивки

    Чтобы прочитать состояние контроллера LSI RAID, megacliнеобходимо установить инструмент командной строки . Это уже имеет место в Спасательной системе.

    Команда — Синтаксис:

    megacli -AdpAllInfo -aAll

    Пример вывода:

    Versions
    ================
    Product Name : LSI MegaRAID SAS 9260-4i
    Serial No: SV52117135
    FW Package Build: 12.15.0-0205

    Выполните обновление прошивки RAID-контроллера

    В зависимости от версии микропрограммы, установленной на контроллере, может потребоваться промежуточное обновление (только для версий микропрограмм старше 12.12.0-0090).

    Если версия прошивки старше, чем версия прошивки 12.12.0-0090, выполните промежуточное обновление до версии прошивки 12.12.0-0090. Это обновление доступно для загрузки на зеркале Hetzner .

    Сохраните файл микропрограммы на сервере и выполните следующую команду, чтобы обновить версию микропрограммы до, в этом примере 12.12.0-0090,. Путь к ранее сохраненному файлу прошивки (файл .rom) mr12.12.0-0090.romдолжен быть соответствующим образом скорректирован.

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

    MegaCli -adpfwflash -f mr12.12.0-0090.rom -a0

    Если промежуточное обновление не требуется, вы можете использовать следующую ссылку для поиска на странице поддержки производителя последней доступной прошивки для RAID-контроллера.

    Документы поддержки производителя и загрузка .

    Как и раньше, сохраните файл микропрограммы на сервере и выполните следующую команду, чтобы обновить версию микропрограммы до, в этом примере 2108fw,. Путь к ранее сохраненному файлу прошивки (файл .rom) mr2108fw.romдолжен быть соответствующим образом скорректирован.

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

    Команда — синтаксис:

    MegaCli -adpfwflash -f mr2108fw.rom -a0

    Проверьте обновление прошивки RAID-контроллера

    Наконец, вы можете проверить установленную версию прошивки.

    Команда — синтаксис:

    megacli -AdpAllInfo -aAll

    Пример вывода:

    Versions
    ================
    Product Name : LSI MegaRAID SAS 9260-4i
    Serial No: SV52117135
    FW Package Build: 12.15.0-0205

    Вывод

    В этой статье демонстрируются различные возможности конфигурации RAID на вашем сервере с аппаратным RAID-контроллером LSI. К настоящему времени вы должны были настроить его по своему вкусу.

    Программный RAID Linux

    Вступление

    В этой статье объясняется использование программного RAID-массива для организации взаимодействия нескольких дисков в операционной системе Linux без использования аппаратного RAID-контроллера.

    Серверы с более чем двумя дисками, которые были заказаны вместе с операционной системой или были установлены с помощью робота , уже настроены с рекомендуемым уровнем RAID (1 или 6). Более того, вы можете выполнять настраиваемые установки Linux с помощью нашего сценария Installimage в системе восстановления , который также можно использовать для настройки нескольких уровней рейда. Также программный RAID можно комбинировать с LVM.

    Отображение состояния программного RAID

    Поэтому просто используйте эту команду:

    cat /proc/mdstat

    Вывод, если нет активного RAID:

    Personalities : [raid1]
    unused devices: <none>

    Выход для настроенного RAID1:

    Personalities : [raid1]
    md2 : active raid1 sda3[2] sdb3[1]
          234405504 blocks super 1.2 [2/2] [UU]
          bitmap: 0/2 pages [0KB], 65536KB chunk
    
    md1 : active raid1 sda2[2] sdb2[1]
          523712 blocks super 1.2 [2/2] [UU]
    
    md0 : active raid1 sda1[2] sdb1[1]
          33521664 blocks super 1.2 [2/2] [UU]
    
    unused devices: <none>

    Вывод для настроенного RAID0 ( /bootраздел md0всегда должен быть настроен как RAID1, чтобы сервер мог загружаться с него):

    Personalities : [raid1] [raid0]
    md2 : active raid0 sda3[0] sdb3[1]
          883956736 blocks super 1.2 512k chunks
    
    md1 : active raid0 sda2[0] sdb2[1]
          52393984 blocks super 1.2 512k chunks
    
    md0 : active raid1 sda1[0] sdb1[1]
          523264 blocks super 1.2 [2/2] [UU]
    
    unused devices: <none>

    Если под одним из разделов отображается индикатор выполнения, в настоящее время выполняется повторная синхронизация RAID:

    md0 : active raid1 sdb1[0] sdc1[1]
         2095040 blocks super 1.2 [2/2] [UU]
         	[====>................]  resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec

    Добавить программный RAID-массив

    В нашем примере сценария диски /dev/sdaи /dev/sdbуже объединены в несколько массивов RAID1, которые содержат операционную систему:

    cat /proc/mdstat
    Personalities : [raid1]
    md2 : active raid1 sda3[2] sdb3[1]
          234405504 blocks super 1.2 [2/2] [UU]
          bitmap: 0/2 pages [0KB], 65536KB chunk
    
    md1 : active raid1 sda2[2] sdb2[1]
          523712 blocks super 1.2 [2/2] [UU]
    
    md0 : active raid1 sda1[2] sdb1[1]
          33521664 blocks super 1.2 [2/2] [UU]
    
    unused devices: <none>

    Но у нас есть еще два диска ( /dev/sdcи /dev/sdd), которые мы также хотели бы настроить как хранилище данных с массивом RAID1. Поэтому сначала нужно добавить RAID-массив:

    mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sdc /dev/sdd

    Теперь конфигурация RAID должна выглядеть следующим образом:

    cat /proc/mdstat
    Personalities : [raid1]
    md3 : active raid1 sdc1[0] sdd1[1]
         2095040 blocks super 1.2 [2/2] [UU]
         	[====>................]  resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec
    
    md2 : active raid1 sda3[2] sdb3[1]
          234405504 blocks super 1.2 [2/2] [UU]
          bitmap: 0/2 pages [0KB], 65536KB chunk
    
    md1 : active raid1 sda2[2] sdb2[1]
          523712 blocks super 1.2 [2/2] [UU]
    
    md0 : active raid1 sda1[2] sdb1[1]
          33521664 blocks super 1.2 [2/2] [UU]
    
    unused devices: <none>

    Теперь новый раздел можно отформатировать (здесь с помощью EXT4) и смонтировать:

    mkfs.ext4 /dev/md3
    mount /dev/md3 /mnt

    Уведомление по электронной почте при отказе диска в программном RAID

    Требование : выбранный вами почтовый сервер (например, Sendmail ) должен быть уже установлен и настроен.

    Debian / Ubuntu / CentOS

    Отредактируйте /etc/mdadm/mdadm.confили /etc/mdadm.conf(CentOS) и измените следующую строку:

    MAILADDR holu@example.com

    Здесь можно указать адрес назначения напрямую. Кроме того, все электронные письма, отправленные в root, могут быть отправлены на определенный адрес электронной почты с помощью /etc/aliases.

    Вы также можете дополнительно настроить адрес электронной почты для отправки:

    MAILFROM mdadm@example.com

    Для Debian и Ubuntu, важно , чтобы вы установили AUTOCHECKв файле /etc/default/mdadmна true:

    # grep AUTOCHECK= /etc/default/mdadm
    AUTOCHECK=true

    Для CentOS необходимо включить проверку в файле /etc/sysconfig/raid-check:

    # grep ENABLED /etc/sysconfig/raid-check
    ENABLED=yes

    openSUSE

    Отредактируйте /etc/sysconfig/mdadmи добавьте адрес электронной почты, на который вы будете получать уведомление, рядом с переменной MDADM_MAIL:

    MDADM_MAIL="holu@example.com"

    Проверить конфигурацию

    Вы можете проверить свою конфигурацию, разрешив mdadmотправить тестовое письмо на указанный адрес электронной почты с помощью этой команды:

    mdadm --monitor --test --oneshot /dev/md0

    Кроме того, вы должны убедиться, что файл /etc/cron.daily/mdadmсодержит следующую строку, которая выполняет ежедневный мониторинг вашего RAID:

    exec --monitor --scan --oneshot

    Удаление программного RAID

    Чтобы удалить программный RAID, вы можете использовать следующие команды. Если это необходимо сделать для системных разделов, мы рекомендуем загрузить сервер в Rescue System :

    mdadm --remove /dev/md0
    mdadm --remove /dev/md1
    mdadm --remove /dev/md2
    mdadm --stop /dev/md0
    mdadm --stop /dev/md1
    mdadm --stop /dev/md2

    После этого диски можно снова нормально отформатировать (например, с помощью EXT4):

    mkfs.ext4 /dev/sda
    mkfs.ext4 /dev/sdb

    Результат можно проверить с помощью команд …

    cat /proc/mdstat

    …а также…

    fdisk -l

    Программный RAID следует удалить сейчас.

    Замена жестких дисков в программном RAID

    Вступление

    В этой статье используется пример для описания необходимых шагов, связанных с заменой неисправного диска в программном RAID ( mdadm).

    ВАЖНОЕ ПРИМЕЧАНИЕ: Все команды являются примерами и должны быть соответственно скорректированы!

    Видео с инструкциями можно найти на нашем канале Hetzner на Youtube.

    Пример сценария

    Предполагается следующая конфигурация:

    # cat /proc/mdstat
    Personalities : [raid1]
    md3 : active raid1 sda4[0] sdb4[1]
          1822442815 blocks super 1.2 [2/2] [UU]
    
    md2 : active raid1 sda3[0] sdb3[1]
          1073740664 blocks super 1.2 [2/2] [UU]
    
    md1 : active raid1 sda2[0] sdb2[1]
          524276 blocks super 1.2 [2/2] [UU]
    
    md0 : active raid1 sda1[0] sdb1[1]
          33553336 blocks super 1.2 [2/2] [UU]
    
    unused devices: <none>

    Всего разделов четыре:

    • / dev / md0 как своп
    • / dev / md1 как / boot
    • / dev / md2 как /
    • / dev / md3 как / home

    /dev/sdbв данном случае неисправный привод. Отсутствующий или неисправный привод обозначается значками [U_]и / или [_U]. Если массив RAID не поврежден, он показывает [UU].

    # cat /proc/mdstat
    Personalities : [raid1]
    md3 : active raid1 sda4[0] sdb4[1](F)
          1822442815 blocks super 1.2 [2/1] [U_]
    
    md2 : active raid1 sda3[0] sdb3[1](F)
          1073740664 blocks super 1.2 [2/1] [U_]
    
    md1 : active raid1 sda2[0] sdb2[1](F)
          524276 blocks super 1.2 [2/1] [U_]
    
    md0 : active raid1 sda1[0] sdb1[1](F)
          33553336 blocks super 1.2 [2/1] [U_]
    
    unused devices: <none>

    Изменения в программном RAID можно вносить во время работы системы. Если proc/mdstatпоказывает, что диск выходит из строя, как в примере здесь, то можно назначить встречу со специалистами службы поддержки для замены диска ( см. Ниже ).

    # cat /proc/mdstat
    Personalities : [raid1]
    md3 : active raid1 sda4[0]
          1822442815 blocks super 1.2 [2/1] [U_]
    
    md2 : active raid1 sda3[0]
          1073740664 blocks super 1.2 [2/1] [U_]
    
    md1 : active raid1 sda2[0]
          524276 blocks super 1.2 [2/1] [U_]
    
    md0 : active raid1 sda1[0]
          33553336 blocks super 1.2 [2/1] [U_]
    
    unused devices: <none>

    Удаление неисправного привода

    Перед добавлением нового диска старый неисправный диск необходимо удалить из массива RAID. Это нужно сделать для каждого отдельного раздела.

    # mdadm /dev/md0 -r /dev/sdb1
    # mdadm /dev/md1 -r /dev/sdb2
    # mdadm /dev/md2 -r /dev/sdb3
    # mdadm /dev/md3 -r /dev/sdb4

    Следующая команда показывает диски, которые являются частью массива:

    # mdadm --detail /dev/md0

    В некоторых случаях привод может быть неисправен только частично, например, только /dev/md0в [U_]состоянии, тогда как все другие устройства находятся в [UU]состоянии. В этом случае команда

    # mdadm /dev/md1 -r /dev/sdb2

    беспокоит, поскольку /dev/md1массив в порядке.

    В этом случае команда

    # mdadm --manage /dev/md1 --fail /dev/sdb2

    сначала необходимо выполнить, чтобы перевести RAID в [U_]состояние.

    Назначение встречи с поддержкой для обмена неисправного диска

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

    Используйте раздел запросов на поддержку в Robot, чтобы связаться с техническими специалистами.

    Подготовка нового диска

    Оба диска в массиве должны иметь одинаковые разделы. В зависимости от типа используемой таблицы разделов ( MBRили GPT) должны использоваться соответствующие утилиты для копирования таблицы разделов. Таблица разделов GPT обычно используется в дисках емкостью более 2 ТБ (например, жесткие диски объемом 3 ТБ в EX4и EX6)

    Резервное копирование MBR / GPT

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

    Резервное копирование с MBR

    sfdisk --dump /dev/sda > sda_parttable_mbr.bak
    sfdisk --dump /dev/sdb > sdb_parttable_mbr.bak
    sfdisk --dump /dev/sdX > sdX_parttable_mbr.bak

    Восстановить с MBR

    sfdisk /dev/sda < sda_parttable_mbr.bak
    sfdisk /dev/sdb < sdb_parttable_mbr.bak
    sfdisk /dev/sdX < sdX_parttable_mbr.bak

    Резервное копирование с помощью GPT

    sgdisk --backup=sda_parttable_gpt.bak /dev/sda
    sgdisk --backup=sdb_parttable_gpt.bak /dev/sdb
    sgdisk --backup=sdX_parttable_gpt.bak /dev/sdX

    Восстановить с помощью GPT

    sgdisk --load-backup=sda_parttable_gpt.bak /dev/sda
    sgdisk --load-backup=sdb_parttable_gpt.bak /dev/sdb
    sgdisk --load-backup=sdX_parttable_gpt.bak /dev/sdX

    Диски с GPT

    На диске хранится несколько избыточных копий таблицы разделов GUID (GPT) , поэтому для редактирования таблицы необходимо использовать инструменты, которые поддерживают GPT, например, partedили GPT fdisksgdiskИнструмент из GPT FDISK (предварительно установленные при использовании системы аварийно ) может быть использован для копирования таблицы разделов на новый диск. Вот пример копирования таблицы разделов из sda в sdb:

    sgdisk --backup=sda_parttable_gpt.bak /dev/sda
    sgdisk --load-backup=sda_parttable_gpt.bak /dev/sdb

    Затем диску нужно назначить новый случайный номер UUID:

    sgdisk -G /dev/sdb

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

    Festplatten mit MBR

    Таблицу разделов можно просто скопировать на новый диск, используя sfdisk:

    # sfdisk -d /dev/sda | sfdisk /dev/sdb

    где /dev/sda— исходный диск, а /dev/sdb— целевой диск.

    (Необязательно): Если разделы не обнаруживаются системой, то таблица разделов должна быть перечитана из ядра:

    # sfdisk -R /dev/sdb

    Естественно, что перегородки также могут быть созданы вручную с помощью fdiskcfdiskили другими инструментами. Перегородки должны быть Linux raid autodetect (ID fd)типами.

    E Интеграция нового привода

    После удаления неисправного диска и установки нового его необходимо интегрировать в массив RAID. Это нужно сделать для каждого раздела.

    # mdadm /dev/md0 -a /dev/sdb1
    # mdadm /dev/md1 -a /dev/sdb2
    # mdadm /dev/md2 -a /dev/sdb3
    # mdadm /dev/md3 -a /dev/sdb4

    Новый диск теперь является частью массива и будет синхронизирован. В зависимости от размера разделов эта процедура может занять некоторое время. Статус синхронизации можно наблюдать с помощью cat /proc/mdstat.

    # cat /proc/mdstat
    Personalities : [raid1]
    md3 : active raid1 sdb4[1] sda4[0]
          1028096 blocks [2/2] [UU]
          [==========>..........]  resync =  50.0% (514048/1028096) finish=97.3min speed=65787K/sec
    
    md2 : active raid1 sdb3[1] sda3[0]
          208768 blocks [2/2] [UU]
    
    md1 : active raid1 sdb2[1] sda2[0]
          2104448 blocks [2/2] [UU]
    
    md0 : active raid1 sdb1[1] sda1[0]
          208768 blocks [2/2] [UU]
    
    unused devices: <none>

    Установка загрузчика

    Поскольку серийный номер диска изменился, нам нужно создать новую карту устройств с помощью GRUB2:

    grub-mkdevicemap -n

    Если вы делаете этот ремонт в загруженной системе, то для GRUB2 достаточно запустить grub-installна новом диске. Например:

    grub-install /dev/sdb

    В Grub1 ( grub-legacy) в зависимости от того, какой диск неисправен, может потребоваться больше шагов.

    • Запустите консоль GRUB: grub
    • Укажите раздел, где /bootнаходится:root (hd0,1) (/dev/sda2 = (hd0,1))
    • Установите загрузчик в MBR: setup (hd0)
    • Также для установки загрузчика на второй диск:
      • Подключите второй диск как hd0mappen:device (hd0) /dev/sdb
      • Точно повторите шаги 2 и 3 ( не меняйте команды! )
    • Выйдите из консоли GRUB: quit
    Probing devices to guess BIOS drives. This may take a long time.
    
    
        GNU GRUB  version 0.97  (640K lower / 3072K upper memory)
    
     [ Minimal BASH-like line editing is supported.  For the first word, TAB
       lists possible command completions.  Anywhere else TAB lists the possible
       completions of a device/filename.]
    grub> device (hd0) /dev/sdb
    device (hd0) /dev/sdb
    grub> root (hd0,1)
    root (hd0,1)
     Filesystem type is ext2fs, partition type 0xfd
    grub> setup (hd0)
    setup (hd0)
     Checking if "/boot/grub/stage1" exists... yes
     Checking if "/boot/grub/stage2" exists... yes
     Checking if "/boot/grub/e2fs_stage1_5" exists... yes
     Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  26 sectors are embedded.
    succeeded
     Running "install /boot/grub/stage1 (hd0) (hd0)1+26 p (hd0,1)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded
    Done.
    grub> quit
    #

    Для ремонта через Rescue System необходимо сначала смонтировать установленную систему . Все шаги по установке GRUB должны быть выполнены после chroot.