Я ищу рекомендуемый подход к настройке программного RAID (с использованием mdadm) на Centos 8 для обеспечения избыточности.
В моей настройке у меня есть 4 идентичных диска, но я предполагаю, что ответ также должен иметь отношение к настройкам 2 дисков.
Главное требование здесь - избыточность и нет требование ручного вмешательства для загрузки системы в случае выхода из строя одного из дисков.
Короче - ищу самое простое и надежное решение.
Вопросы:
У меня были некоторые проблемы с загрузкой систем EFI / GPT, поэтому я не уверен в преимуществах (похоже, что при использовании GPT требуются дополнительные разделы, некоторые из которых не представляется возможным использовать программный RAID). Так что также ищу причины, чтобы пойти по маршруту EFI / GPT, если это действительно рекомендуемый подход.
В итоге я выбрал таблицу разделов GPT, но придерживался старой загрузки Bios.
Отчасти это было связано с некоторыми сложностями, связанными с использованием RAID для загрузочного раздела EFI - https://unix.stackexchange.com/questions/265368/why-is-uefi-firmware-unable-to-access-a-software-raid-1-boot-efi-partition и частично из-за того, что я восстанавливался из незагружаемой системы, которая использовала EFI (до сих пор не знаю, почему, но после попытки исправить в течение дня было просто проще перестроить. Это именно то, чего я не хочу)
В любом случае, похоже, это можно установить и настроить с помощью установщика Centos8 anaconda. Для этого сделайте следующее:
Я проверил это, вытащив каждый жесткий диск, убедившись, что сервер может загрузиться, а затем повторно добавив «отказавший» диск обратно в массивы MD. Все работает как положено.
Ниже приведены соответствующие части для конфигурации кикстарта, созданной на основе моей установки:
#version=RHEL8
ignoredisk --only-use=sda,sdb,sdc,sdd
# Partition clearing information
clearpart --all --initlabel --drives=sda,sdb,sdc,sdd
# Disk partitioning information
part raid.903 --fstype="mdmember" --ondisk=sda --size=2
part raid.1340 --fstype="mdmember" --ondisk=sdd --size=1025
part raid.2107 --fstype="mdmember" --ondisk=sdc --size=475912
part raid.910 --fstype="mdmember" --ondisk=sdb --size=2
part raid.1319 --fstype="mdmember" --ondisk=sda --size=1025
part raid.2114 --fstype="mdmember" --ondisk=sdd --size=475912
part raid.2100 --fstype="mdmember" --ondisk=sdb --size=475912
part raid.2093 --fstype="mdmember" --ondisk=sda --size=475912
part raid.1326 --fstype="mdmember" --ondisk=sdb --size=1025
part raid.1333 --fstype="mdmember" --ondisk=sdc --size=1025
part raid.917 --fstype="mdmember" --ondisk=sdc --size=2
part raid.924 --fstype="mdmember" --ondisk=sdd --size=2
raid biosboot --device=biosboot --fstype="biosboot" --level=RAID1 raid.903 raid.910 raid.917 raid.924
raid pv.2121 --device=pv00 --fstype="lvmpv" --level=RAID10 --chunksize=512 raid.2093 raid.2100 raid.2107 raid.2114
raid /boot --device=boot --fstype="ext4" --level=RAID1 raid.1319 raid.1326 raid.1333 raid.1340
volgroup cl_host01 --pesize=4096 pv.2121
logvol / --fstype="ext4" --size=51200 --name=root --vgname=cl_host01
logvol swap --fstype="swap" --size=4096 --name=swap --vgname=cl_host01