Fedora установка на raid

Обновлено: 04.07.2024

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

Однако существуют дистрибутивы, инсталляционные программы которых позволяют создать программный RAID уже на стадии установки и даже разместить на нём корневую файловую систему. С полной определённостью могу сказать это за Anaconda, используемую в RHEL, Fedora и практически всех их клонах и дериватах, вплоть до ASPLinux, Debian Installer одноимённого дистрибутива, как в текстовой, так и графической его ипостаси, инсталлятора Ubuntu. При этом от пользователя не требуется знание команд и опций — вся процедура осуществляется в графическом режиме простым выбором вариантов. За что, правда, подчас приходится платить некоторой утратой гибкости — что мы скоро увидим на примере рассматриваемого здесь инсталлятора Fedora.

Итак, начинаем инсталляцию Fedora — пусть для определённости это будет последняя, 12-я, версия в модификации Russian Remix. До момента дисковой разметки всё происходит обычным порядком — как было описано на соответствующей странице. А тут, естественно, надо выбрать пункт Собственное разбиение:

f-raid01.jpg

После этого мы видим имеющиеся диски и разделы на них:

f-raid02.jpg

Скриншоты на этой странице сделаны, естественно, в виртуальной машине. И потому все приводимые на них данные о дисках и разделах условны. Но порядок действий от этого не меняется. Так что.

. Так что если мы хотим поместить на RAID нулевого уровня корень файловой иерархии, то перво-наперво нам нужно создать на первом из имеющихся дисков раздел под загрузочный каталог /boot . Потому как GRUB способен загрузить ядро Linux только с массива 1-го уровня (да, думаю, и LILO тоже). Делается это обычным, ранее описанным, порядком:

f-raid03.jpg

Разумеется, при использовании Level 1 создания загрузочного раздела можно избежать. Однако, по моему скромному мнению, в десктопных условиях как раз для корневой файловой системы это не имеет ни малейшего резона — при крахе одного из дисков систему так или иначе придётся переустанавливать. Хотя для серверов или станций, работающих в режиме 7x24, это может иметь смысл. Тем не менее, в данном случае мы останавливаемся всё-таки на уровне нулевом.

А вот после этого фиксируем курсор мыши на первом из наличных дисков, смело жмём на кнопку RAID и получаем в ответ предложение создать раздел программного RAID'а (собственно, больше ничего в этой панели пока сделать и нельзя):

f-raid04.jpg

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

f-raid05.jpg

Подтверждаем выбор и переходим на второй физический диск, для которого в точности повторяем процедуру создания раздела под RAID. А затем, вернувшись в меню разметки дисков, снова жмём на заветную кнопку — и на этот раз получаем возможность выбора: создать ли ещё один раздел RAID autodetect или объединить в массив два существующих. Поскольку в наших планах помещение на массив также и каталога /home , порядок действий не имеет значения. Предположим для определённости, что мы решили не откладывать создание массива под будущий корень:

f-raid06.jpg

  • определить точку монтирования — очевидно, это будет / ;
  • выбрать файловую систему — по умолчанию; как обычно, предлагается ext4, и резона отказываться от этого в данном случае нет;
  • задать имя RAID-устройства — и здесь от умолчального предложения, /dev/md0 , также нет смысла отказываться;
  • определиться с уровнем массива — по умолчанию предлагается Level 1, но мы уже решили, что ни малейшего смысла в этом нет, поэтому меняем его на Level 0;
  • отметить галочками чекбоксы против имён файлов разделов, которые будут входить в массив — разумеется, в реальных условиях они будут лежать на разных дисках.

f-raid07.jpg

Теперь остаётся только нажать кнопку OK, дабы увидеть результаты наших трудов праведных:

f-raid08.jpg

Теперь вспоминаем о каталоге /home и повторяем процедуру: создаём пару одинаковых разделов на обоих дисках и объединяем их в массив? предварительно подумав над его уровнем, во-первых, и файловой системе на нём — во-вторых. Возможно, пущей надёжности ради ему стоит определить Level 1 — тогда в случае краха одного из физических носителей удастся спасти пользовательские данные.

Если же пожертвовать надёжностью ради быстродействия, есть смысл подумать о файловой системе XFS — ведь не секрет, что наибольший объём в ряду данных занимает, фигурально говоря, всякого рода "парнуха" — фильмы, музыка etc. То есть большие файлы, требующие под себя большой файловой системы — а именно для этой цели и создавалась XFS. Которая лучше всего и показывает себя на аппаратных и программных RAID'ах. Но это совсем отдельная история, к которой я вернусь после рассмотрения файловых систем вообще.

Тем не менее, я пошёл по более простому пути, разместив на обоих RAID-устройствах файловую систему ext4, что в итоге дало следующую картину: А теперь подведём краткий итог: создание soft RAID средствами инсталлятора Fedora выполняется не сложнее создания обычных разделов. Конечно, по сравнению с той же процедурой, осуществляемой прямыми командами, оно несколько менее гибко: в частности, под каждую выделяемую ветвь файлового древа приходится свой отдельный массив из пары разделов; возможности разметить единый массив на разделы тут нет. Что, впрочем, никаких неудобств не доставляет, напротив: позволяет комбинировать для разных каталогов разные уровни. Вплоть до того, что при достаточном объёме дискового пространства можно было бы поместить /home на RAID Level 0+1.

Гибридный RAID (избыточный массив независимых дисков) 1 (Зеркало) RAM drive & SATA HDD, используя LVM с LUKS на Linux Fedora.

1. Вступление

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

FreeSoftware предлагает довольно элегантное решение для защиты шифрованных данных, под названием Linux Unified Key Setup (LUKS).

2. Определения и критерии

Fedora 21 использует не более 1 Гб памяти, при этом система позволяет использовать до 16 ГбDDR3, поэтому для запуска Fedora будем использовать 16 Гб RAM, для создания RAM-drive, на котором будем использовать Fedora.

2А. RAID 1

В данной статье ссылка на RAID 1 (зеркало) означает, что RAID 1 реализован через LVM2.

2Б. Linux Unified Key Setup (LUKS)

В простейшем случае, LUKS расширяет функциональность Crypt setup, с целью соответствия TKS1. TKS1 использует ключ хэш для выполнения данных де/шифрования через алгоритм шифрования.

2В. образ Fedora для загрузки с флешки

На официальном сайте проекта Fedora можно найти информацию как по созданию образа для сменного носителя (типа флэш), чтобы загружаться непосредственно с него, так и образа сетевого установщика (net-install image). Обычно Fedoda USB media позволяет загрузиться и установить gparted. Как показала практика, современная версия Fedora 21 занимает примерно 2 Гб на флэшке.

2Г. Тестирование CPU (AES-NI), RAM и HDD

Новейшие процессоры Intel включают расширение системы команд AES-NI. Для проверки процессора на наличие данных команд введём следующее:

Далее протестируем пропускную способность процессора для различных алгоритмов шифрования:

AES-XTS с 256 битным ключом показывает наилучшие результаты. По умолчанию Fedora (через Anaconda) устанавливает AES-XTS 512 битный ключLUKS раздела, используя хэш SHA1.

Для отображения данных о памяти введём следующее:

В нашем случае получим:

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

Теперь протестируем скорость чтения:

После тестирование виртуальный диск можно удалить:

Для сравнения теперь протестируем жесткий диск:

При создании зеркала RAID 1, мы пытаемся увеличить пропускную способность шифрования для Fedora(OS) от 100,51МБ / с (скоростьHDD) в 1260Mб/

1321Мб / с размещением шифрования на ЦП.

3. LVM или создание PV, VG&LG

3A. Физический том (pv)

Выберем следующую схему разделов: sda1 /boot/efi 256 MiB, sda2 /boot 512 MiB, sda3LVM2 все остальное пространство(

3Б. Группа томов (vg)

При создании группы томов выбреем имя хоста:localhost:

3В. Логический том

Остальные разделы в системе (/, / OPT, / VAR)

При наличии свободного места, его можно использовать под lv_home: lvcreate -l 90% Free -nlv_homefedora_localhost

Повторитеэтидействиядляостальныхлогическихтомов, также рекомендуется сохранить / DEV / fedora_ [hostname] / lv_home.

3Г. Величина RAM диска

Создадим виртуальный диск для RAID. Модуль ядра brd использует K, поэтому 1048576K=1Гби, следовательно, 10(для 10Гб) = 10485760.Однакоlv_rootраздел, созданный ранее,был размером 16Гб. Мы собираемся удалить этот раздел в следующем шаге и сократить его до 10Гб, однако лучше увеличить объём lv_root и затем уменьшить его, а не пытаться угадать, сколько еще памяти вам нужно.

Создадим модуль ядра Kernelbrd, размером 10 Гб:

Затем создадим физический том pv вместе с Ram диском:

Создадим временную группу томов VGдля получения экстентов/dev/ram0

Далее создадим логический том, используя 100% от RAMдиска:

Теперь выянимсколько*экстентов*находятся надиске:

На диске RAM находится 2559 экстентов.

Теперь логический том можно удалить:

Теперь удалим группутомов:

Последним удалим физический том:

Наконец разгрузим RAM диск:

Обратите внимание, LVMsне ожидает, что RAMдискибудут логическим томом LVиочень чувствительны кневозможностинайти физический том PV, поэтому всегда аккуратно выключайте RAMдиск.

3Д. Удаление и пересоздание lv_rootчерез экстенты

В нашем случае используется 2559 экстента, которые в данный момент соответствуют размеру HDD. Для удаленияlv_root введём следующее:

Теперь пересоздадим lv_root указав экстенты, а не Мб:

4. LUKSAES шифрование & файловая система Ext4

На данный момент у нас должно быть пятьРНв системе, lv_root

10GiB, lv_opt16GiB, lv_var16Джибе, lv_swap16Джибеиlv_home

768GiB. Исходя из Cryptsetup тестов, AES-XTS обладает самой высокой пропускной способностью, при использовании с 256-битным ключом. Также, вместоSHA1 мы используем sha512, и зададим время 5сек(-i 5000) нахэшитерации. При установке через mapper, Fedora монтирует LUKSшифрованные разделы на /Dev/mapper/luks-[UUID]. Для подключения раздела через mapper вручную, мы должны будем использовать CryptsetupluksUUID[DEV] для полученияUUID.

Для каждого из 5 LV необходимо будет повторить одни и те же операции, в качестве примера рассмотрим 2 LV, что бы наглядно продемонстрировать изменения:

5. RAMдиск& (LVM) RAID 1

Так как мы установили Fedora 20 через сетевую установку с MATE, корневой раздел выражен размером экстентов (2559 =

10Гб), RAM диск может легко использоваться RAID.

5A. Создание RAM диска и добавление его вLVMRAID 1

Посмотрим процент построения зеркала

Наконец изменим HDD наwritemostly, для того, чтобы чтение происходило изRAMдиска:

5Б. Удаление RAM диска из LVMRAID 1 (в случае потери мощности системы)

6. Systemd Unit file

Теперь дадим возможность systemd управлять созданием/удалением RAM диском &RAID 1. Для этого создадим компонент systemd, под названием 2Ro2L (RAMdiskRAIDonLVM&LUKS) и два скрипта:

[Unit]
Description=Enable RAMdisk RAID 1 on LVM & LUKS
After=multi-user.target

Теперь создадим, запустим и затем остановим скрипты:

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

/dev/sda и второй /dev/sdb . BIOS был настроен с отключенным встроенным SATA RAID , и оба диска управлялись непосредственно BIOS. Так операционная система видит два жестких диска .

Необходимо выполнить следующее , чтобы достичь цели :

  • Создание разделов и настройка RAID с помощью Disk Druid
  • Построение массивов RAID
  • Настройка GRUB
  • Тестирование

Дополнительные важные шаги :

  • Проверить состояние RAID и установить мониторинг RAID
  • Восстановление диска после сбоя ( не дай бог )

1. Создание разделов и настройка RAID с помощью Disk Druid


Во время установки Fedora , вам будет предложено автоматическое разбиение с помощью Disk Druid или разбивка на разделы вручную. Независимо от того, что вы выберете, вы должны удалить все существующие разделы и начать с чистых дисков ( NB: это, конечно, удалит все ваши данные ) :



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



Теперь создайте раздел подкачки( swap) . Размер раздела подкачки должен, по крайней мере , соответствовать размеру оперативной памяти. swap не должен находиться на программном RAID , так что все что вам нужно сделать , это нажать на New, и создать swap на каждом жестком диске. Результатом будет два раздела подкачки, каждый на отдельном диске :


Теперь, после создания /boot и /swap разделов , необходимо выделить оставшееся свободное пространство как md1 и создать корневой(root) раздел на нем . Вы должны быть уже знакомы с шагами . Окончательные результаты разбиения должны быть похожи на следующий рисунок:


Завершите установку Fedora . После перезагрузки система , вероятно, будет остановлена д о загрузки GRUB. С ообщение об ошибке может варьироваться между ошибками в файловой системе , паникой ядра и ошибки GRUB 17 .

Не разочаровывайтесь (пока) , поскольку есть еще несколько действий , которые необходимо предпринять .

2. Построение массивов RAID

Статус RAID сообщается через файл /proc/mdstat . Давайте посмотрим на его и увидим, как наш RAID работает : Во время перестроения вы можете запустить cat /proc/mdstat , чтобы проверить текущий прогресс и статус. Этот процесс может занять некоторое время в зависимости от размеров разделов .
Важно: Подождите, пока процесс завершится , прежде чем вы перейдёте к следующему шагу.

3. Настройка GRUB


Первый диск ( на моей системе это /dev/sda ) еще не стал загрузочным. В следующих действиях мы завершаем установку загрузчика GRUB на обоих дисках и устанавливаем /boot как загрузочный.
Продолжаем работу в командной строке режима восстановления , и загружаем оболочку GRUB :

Выйти и загрузиться с жесткого диска. Система должна загрузиться . Не пропустите этап тестирования, чтобы убедиться, что все ДЕЙСТВИТЕЛЬНО работает должным образом.

4. Тест


Лучший способ проверить состоит в том, чтобы физически отключить каждый диск, и посмотреть, загрузится ли система с другого подключенного диска ( убедитесь, что вы выключили систему , прежде чем отсоединять диск ).
Важно: Тестирование вызывает разрушение (degraded) вашего RAID . Это означает, что после того, как вы заново подключили диск, вы должны hotadd диск обратно в массив с помощью команды

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

5. Проверка состояния RAID и мониторинг состояния RAID

The partial source files of this driver are also included in the package, which allows for compilation on many Linux distributions not pre-compiled and provided otherwise. However, this does not imply any level of support for the partial source files, the build process, nor for other Linux distributions. These files are all located in the ./shim subdirectory.

Подскажите пожалуйста что почитать, чтобы скомпилировать исходники?

P.S. В линуксе неделю. Желательно поставить именно на Fedora Core 6 или RHEL4 update 4 так как PostgreSQL под 1С идет только на них (или ещё более старых дистрибутивах)

Поставь CentOS 4.4


используй программный рэйд

Попробовал ставить CentOS 4.4. Он хочет драйвера RAID и не хочет кушать драйвера для RHEL4 Update5,6,7.

У нас на сервере очень много чего крутится. Производительность нужна нам очень.


> Производительность нужна нам очень.

и поэтому на набортный рэйд вешаете? купите нормальный контроллер

>У нас на сервере очень много чего крутится. Производительность нужна нам очень.

В конторе, в которой я работаю, на серверах не используют встроенный рейдом-контроллер, а ставят внешние платы, как правило от LSI.

Причиной тому - один печальный инциндент со встроенным RAID на Intel-овом серваке (критичном, он использовался в качестве резервного), который за несколько недель вымотал админов вусмерть. Вроде бы проблема была в том, что после вылета одного из дисков массива и его замены он начинал rebuid массива, но никак не мог его закончить. Занимало несколько суток, потом терпение у админов иссякало.

После этого используют либо софтверный, либо отдельной платой.


>После этого используют либо софтверный, либо отдельной платой.

под RH почему-то советуют софтварный. а с набортным тоже было дело - потеряли все бэкапы..

Почитал про что такое fakeraid, но не могу найти ни в биосе ни в документации как его отключить.

В биосе нашел только один пункт по теме где можно выбрать:

ENHANCED Mode: Supports up to six SATA ports with IDE Native Mode.

COMPATIBILITY Mode: Supports up to four SATA ports[0/1/2/3] with IDE Legacy mode and two SATA ports[4/5] with IDE Native Mode.

AHCI Mode: Supports all SATA ports using the Advanced Host Controller Interface (AHCI) when the option is enabled. Note: For AHCI capability in EFI, you must set the AHCI legacy Option ROM to “disabled”.

SW RAID Mode: Supports configuration of SATA ports for RAID using RAID configuration software.

Выбираю любой, всё равно при установке линукс требует драйвер. Как обычно его отключают, если это возможно?


вот четвертый пункт не нужен. лучше в первом.

при установке линукс требует драйвер

на каком этапе? что говорит?

Когда ставлю Windows Server 2008 тоже в момент выбора с какого носителя устанавливаться я выбираю CDROM и он требует драйвер, я ему даю драйвер и Windows ставится.

Так у тебя, походу, драйвер к CD требуют. CD висит на SATA?

А так, я самолично CentOS (правда 5.3) поставил на AHCI без проблем


В этот момент у меня спрашивают драйвер

тыцки пальцем в скриншот на каком этапе


похоже что к CD ага.

Судя по википедии AHCI с ядра 2.6.19, то есть CentOS 5.3 пойдет. А в Red Hat Enterprise Linux 4 Update 4 ядро кажется 2.6.18

Да, драйвер видимо к CD требуют, он на SATA. Только у меня драйвера есть начиная с Red Hat Enterprise Linux 4 Update 5


ну точно. попробуй USB привод. на мамке IDE нету?

В RHEL 5 ядро 2.6.18, в RHEL 4 - 2.6.9.

Только это еще ничего не значит. Куча вещей заимствуется во время жизненного цикла дистрибутива Red Hat - ом из старших веток. Например, у RHEL 5.4 сетевые драйвера бэкпортированы из 2.6.2x.

RHEL 5.2 и старше точно умеет AHCI (у меня на работе такая конфигурация), поэтому предлагаю отталкиваться от него. Проблему с CD (если она есть) можно обойти сетевой установкой.

Попробовал ставиться с флешки, начало ставиться, но Linux жесткие диски не видит. Жесткие диски и CDROM один и тот же драйвер RAID хотят видимо.

Пробовал и ENHANCED Mode и COMPATIBILITY Mode и AHCI Mode

А даже если IDE есть, у меня же все жесткие диски SATA-шные

Мне нужно поставиться именно на RHEL 4.4 или Fedora Core 4,5,6 по причинам описанным мною выше

Я могу помочь тебе собрать драйвер на дискету и подсунуть инсталятору на этапе установки.



Накопитель жесткого диска на аппаратном уровне является дорогостоящим. По этой причине пользователи регулярно создают программный RAID в Linux для удовлетворения своих больших потребностей в данных.

На протяжении многих лет создание пула хранилищ стало проще в Linux благодаря инструментам вроде Mdadm. С помощью этой программы пользователи могут создавать программный RAID-массив за считанные минуты!



Установить Mdadm

Лучший способ создать RAID-массив в Linux - использовать инструмент Mdadm. Mdadm - это утилита командной строки, которая позволяет быстро и легко манипулировать RAID-устройствами. К сожалению, это программное обеспечение не поставляется с большинством дистрибутивов по умолчанию. Если вы хотите его использовать, вам нужно будет установить его вручную.

Откройте терминал и следуйте инструкциям, которые соответствуют вашей операционной системе Linux.


Ubuntu

Debian

Arch Linux

Fedora

OpenSUSE

Общий Linux

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

Шаг 1: Перейдите на страницу Mdadm GitHub и узнайте, какие зависимости программа должна правильно компилировать.

Шаг 3: Скомпилируйте код с помощью команды make.

make

Шаг 4: Установите Mdadm в Linux с командой make install.

sudo make install

Подготовьте жесткие диски


Для RAID-массивов на Linux требуется как минимум два жестких диска. Эти жесткие диски должны быть полностью пустыми, и на них ничего нет. Запустите терминал и используйте команду DD для ноль каждого из них.



Примечание: используйте команду lsblk для определения метки каждого жесткого диска.

Когда команда суперблока Mdadm будет завершена, перейдите к следующему этапу процесса.



Создание массива RAID

Использование Mdadm для создания нового массива RAID очень простое. Чтобы сделать это, запишите в терминал следующую команду. Обязательно измените и удалите X в терминальной операции, так как метки вашего диска будут отличаться от приведенного примера.

Примечание. В этом примере мы используем инструмент управления RAID Mdadm для создания устройства с двумя жесткими дисками. Если вашему RAID требуется более двух жестких дисков, измените raid-devices = 2 на raid-devices = 3 или на большее число.
sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdX /dev/sdXX

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

Вы можете проверить, что ваш RAID был успешно выполнен, выполнив команду cat в окне терминала.

cat/proc/mdstat

Формировать массив RAID

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

Для форматирования RAID-диска в Linux требуется команда MKFS. В терминале выполните mkfs.ext4. Запуск этой команды приведет к созданию новой файловой системы Extended4 в массиве.

sudo mkfs.ext4 -F /dev/md0

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

Шаг 1: Создайте новую папку для RAID для монтирования с помощью команды mkdir.

sudo mkdir -p /mount/md0

Шаг 2: Используйте команду mount и привяжите массив RAID к новой папке /mnt/md0.

sudo mount /dev/md0 /mnt/md0
После установки обратитесь к вашему RAID-массиву с помощью команды CD.

cd /mnt/md0

sudo echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' >> /etc/fstab

Если вы хотите отключить RAID, вам нужно будет использовать команду umount.

Примечание. НЕ пытайтесь отсоединить устройство RAID во время копирования данных!

sudo umount /dev/md0

sudo umount /dev/md0 -l

Как настроить программный RAID на Linux

Как настроить программный RAID на Linux Reviewed by Admin on октября 01, 2018 Rating: 5

Читайте также: