В последующих заданиях будет полезной функция Proxmox snapshot, которая позволяет откатить состояние жёстких дисков до момента времени снимка. Если вы будете пользоваться этой функцией, чтобы ускорить процесс создания снимка, предварительно выключайте машину.
Загрузите виртуальную машину `bios` или `uefi`с подключенным диском `gparted-live-*.iso` и загрузите debian с gparted. Зайдите в gparted найдите в интерфейсе все подключенные диски и их разметку.
Добавьте к оборудованию виртуальной машины 15 новых дисков по 0.1ГБ, обновите список устройств в интерфейсе gparted. Создайте snapshot виртуальной машины на случай ошибок в конфигурации.
Далее создадим несколько `RAID` массивов и логических томов `LVM`. Обе техники, `RAID` и `LVM`, абстрагируют примонтированные дисковые устройства от физических дисков. В обоих случаях в системе появляются новые блочные устройства в `/dev/`, которые можно использовать для создания файловых систем. Решение `mdadm` является более специализированным для создания массивов дисков, в отличие от `LVM`. В последнем задании попробуем современный подход к организации хранения данных с помощью `ZFS` или `btrfs`.
|Тип| Описание| Количество дисков | Выдерживает потерю |
|---|---------|-----------| ------ |
| RAID0 | Дисковый массив из двух или более жёстких дисков без резервирования (striping — «чередование»). | от 2 | 0 дисков |
| RAID1 | Массив из двух дисков являющихся полными копиями друг друга (mirroring — «зеркалирование»). | от 2 | N-1 дисков |
| RAID2 | Данные распределяются по дискам, предназначенным для хранения информации, так же, как и в RAID 0, но требуются выделенные диски в массиве для хранения кодов Хэмминга для коррекции ошибок. | от 3 | 1 диска |
| RAID3 | В массиве RAID 3 из N дисков данные разбиваются на куски размером меньше сектора и распределяются по N-1 дискам. Ещё один диск используется для хранения блоков чётности. Коррекция ошибок проще, чем в RAID 2, коды коррекции занимают 1 диск, вместо log2(N) дисков. | от 4 | 1 диска |
| RAID4 | RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Отчасти это решает проблему низкой скорости чтения данных небольшого объёма. | от 4 | 1 диска |
| RAID5 | Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Дисковый массив с чередует блоки данных и блоки контроля чётности. | от 3 | 1 диска |
| RAID6 | Массив из четырёх или более дисков с проверкой чётности `P+Q` (двумя томами чётности) или `DP` (разработанный для защиты от потери данных при выходе из строя сразу двух жестких дисков в массиве). | от 4 | 2 дисков |
| RAID01 | Массив типа RAID 1, состоящий из двух вложенных массивов типа RAID 0. | от 4, чётное | от 1 до N/2 дисков |
| RAID10 | Массив типа RAID 0, составленный из двух и более RAID 1 (зеркалированных пар). | от 4, чётное | от 1 до N/2 дисков |
| RAID51 | Массив типа RAID 1, зеркалирующий два RAID 5. | от 6, чётное | 2 до N/2+1 дисков |
Зайдите в терминал. Изучите документацию `mdadm`: `man mdadm` и `mdadm --help`. Создайте программный raid массив типа 0 (чередование записи разбитого на блоки потока данных) на основе первых 2 созданных дисков по 0.1GB. Используйте сырые диски, например `/dev/sdc /dev/sdd`.
Примонтируйте файловую систему на `/dev/md0` в папку `/raid0`, предварительно её создав. Проверьте, что запись и чтение работают для этой директории. Проверьте размер диска. Общий объем должен составлять 0.2GB.
Отключите live диск с gparted, перезагрузите машину и зайдите в одну из ОС. Настройте сеть, если она ещё не настроена, установите `mdadm`, если пакет ещё не установлен.
Выведите список устройств в директории `/dev`, среди которых должно присутствовать устройство `/dev/md0`. Если его нет, после установки `mdadm` перезагрузите систему.
Изучите документацию fstab `man fstab`. Добавьте запись в `/etc/fstab` для автоматического монтирования raid при загрузке ОС в ту же директорию `/raid0`. Используйте `UUID` для указания на `/dev/md0` (вывести таблицу `UUID` можно командой `blkid`). Последние два значения установите в `0 2`. После перезагрузки системы, проверьте, что директория примонтировалась, доступна для записи и чтения.
Загрузите в gparted live диск. Запишите из меню `Device` таблицу разметки типа GPT на каждый диск. Создайте по одному не отформатированному разделу на дисках.
Примечание. Если вы используете сырые диски без разметки, заменять диски можно только на идентичного размера диск. Предварительная разметка диска позволяет заменить диск на диск большего размера, при сохранении размеров разделов.
Архитектура верхнего уровня LVM заключается в том, что отдельные диски и разделы (физические тома) собираются в пулы хранения, называемые группами томов. Затем группы томов подразделяются на логические тома, представляющие собой блочные устройства, содержащие файловые системы.
У физического тома (physical volume) должна быть метка LVM, созданная командой `pvcreate`. Создание метки — это первый шаг к доступу к устройству через LVM. В дополнение к мета информации метка содержит уникальный идентификатор для идентификации устройства.
Термин «физический том» (physical volume) может вводит в заблуждение, поскольку физические тома не обязательно должны иметь прямое соответствие с физическими устройствами. Это могут быть диски, разделы диска или RAID массивы.
Вы можете управлять LVM либо с помощью большой группы простых команд (перечисленных в таблице 1), либо с помощью одной команды lvm и ее различных подкоманд. Отдельные команды — это просто ссылки на lvm.
В начале разметьте диски в gparted, создайте по одному разделу GPT. Затем установите метки lvm каждом диске командой `pvcreate`. Добавьте диски в группу (Volume group) с названием `RAID0` командой `vgcreate`. Посмотрите на свойства группы командой `vgdisplay`. И создайте логический том командой `lvcreate`. Задайте ему название raid0, размер 0.2ГБ и количеством полосок для чередования записи равным 2.
ZFS и Btrfs обычно называют файловыми системами. Но на самом деле они представляют собой вертикально интегрированные подходы к управлению хранилищем, включающие в себя функции файловой системы, менеджера логических томов и RAID-контроллера.