Поиск по сайту:

LFCS №6: Как собрать разделы в виде RAID-устройств в Linux


Linux Foundation запустил сертификацию LFCS (сертифицированный системный администратор Linux Foundation). Это прекрасная возможность для системных администраторов во всем мире продемонстрировать с помощью экзамена, основанного на производительности, свои способности выполнение общей оперативной поддержки систем Linux: поддержка системы, диагностика и мониторинг первого уровня, а также эскалация проблем, при необходимости, другим группам поддержки.

Серия будет называться «Подготовка к LFCS (Сертифицированному системному администратору Linux Foundation) Части с 1 по 33» и охватывать следующие темы:

Part 1

Как использовать команду «Sed» для управления файлами в Linux

Part 2

Как установить и использовать Vi/Vim в Linux

Part 3

Как сжать файлы и каталоги и найти файлы в Linux

Part 4

Как разделить устройства хранения данных в Linux

Part 5

Как смонтировать файловые системы (Samba и NFS) в Linux

Part 6

Как собрать разделы в виде RAID-устройств и создать резервные копии системы

Part 7

Управление процессами и службами запуска системы (SysVinit, Systemd и Upstart).

Part 8

Как управлять пользователями и группами, разрешениями для файлов и доступом к Sudo

Part 9

Управление пакетами Linux с помощью Yum, RPM, Apt, Dpkg, Aptitude и Zypper

Part 10

Изучение основных сценариев оболочки и устранение неполадок файловой системы

Part 11

Как управлять LVM и создавать его с помощью команд vgcreate, lvcreate и lvextend

Part 12

Как изучить Linux с установленной справочной документацией и инструментами

Part 13

Как настроить и устранить неполадки загрузчика Grand Unified Bootloader (GRUB)

Part 14

Мониторинг использования ресурсов процессов Linux и установка ограничений процессов для каждого пользователя

Part 15

Как установить или изменить параметры времени выполнения ядра в системах Linux

Part 16

Реализация обязательного контроля доступа с помощью SELinux или AppArmor в Linux

Part 17

Как настроить списки контроля доступа (ACL) и дисковые квоты для пользователей и групп

Part 18

Установка сетевых служб и настройка автоматического запуска при загрузке

Part 19

Полное руководство по настройке FTP-сервера для анонимного входа в систему

Part 20

Настройте базовый DNS-сервер рекурсивного кэширования и настройте зоны для домена

Part 21

Как установить, защитить и настроить производительность сервера базы данных MariaDB

Part 22

Как установить и настроить NFS-сервер для общего доступа к файловой системе

Part 23

Как настроить Apache с виртуальным хостингом на основе имени с сертификатом SSL

Part 24

Как настроить брандмауэр Iptables для обеспечения удаленного доступа к службам в Linux

Part 25

Как превратить Linux в маршрутизатор для статической и динамической обработки трафика

Part 26

Как настроить зашифрованные файловые системы и обмен данными с помощью инструмента Cryptsetup

Part 27

Как отслеживать использование системы, сбои в работе и устранять неполадки серверов Linux

Part 28

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

Part 29

Как проверить производительность, безопасность сети и устранить неполадки

Part 30

Как устанавливать виртуальные машины и контейнеры и управлять ими

Part 31

Изучите основы Git для эффективного управления проектами

Part 32

Руководство для начинающих по настройке адресов IPv4 и IPv6 в Linux

Part 33

Руководство для начинающих по созданию сетевых соединений и мостов в Ubuntu

Этот пост представляет собой Часть 6 серии 33 руководств. В этой части мы объясним, как собирать разделы в виде устройств RAID, а также создавать и управлять резервными копиями системы, которые требуется для сдачи сертификационного экзамена LFCS.

Понимание RAID в Linux

Технология, известная как Резервный массив независимых дисков (RAID), представляет собой решение для хранения данных, которое объединяет несколько жестких дисков в один логический блок для обеспечения избыточности данных и/или повышения производительности. в операциях чтения/записи на диск.

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

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

Установите mdadm в Linux

Наш инструмент для создания, сборки, управления и мониторинга программных RAID-массивов называется mdadm (сокращение от «администратор нескольких дисков»).

sudo apt install mdadm         [On Debian, Ubuntu and Mint]
sudo yum install mdadm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo zypper install mdadm      [On OpenSUSE]    

Сборка разделов как RAID-устройств

Процесс сборки существующих разделов в качестве RAID-устройства состоит из следующих шагов.

1. Создайте новый массив, используя mdadm.

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

Предполагая, что вы приняли необходимые меры предосторожности, чтобы избежать потери важных данных, которые могли в них находиться, вы можете безопасно ввести y и нажать Enter.

mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

2. Проверьте статус создания массива.

Чтобы проверить статус создания массива, вы будете использовать следующие команды – независимо от типа RAID. Они так же действительны, как и при создании RAID0 (как показано выше) или когда вы находитесь в процессе настройки RAID5, как показано на рисунке. ниже.

cat /proc/mdstat
or 
mdadm --detail /dev/md0	[More detailed summary]

3. Отформатируйте RAID-устройство.

Отформатируйте устройство с использованием файловой системы в соответствии с вашими потребностями/требованиями, как описано в части 4 этой серии.

4. Мониторинг службы RAID-массива

Поручите службе мониторинга «следить» за массивом. Добавьте вывод mdadm --detail --scan в /etc/mdadm/mdadm.conf (Debian и производные) или /etc/mdadm.conf (CentOS/openSUSE), вот так.

mdadm --detail --scan

mdadm --assemble --scan 	[Assemble the array]

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

systemctl start mdmonitor
systemctl enable mdmonitor

5. Проверьте неисправность RAID-диска.

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

В противном случае нам придется вручную подключить к нашей системе дополнительный физический диск и запустить его.

mdadm /dev/md0 --add /dev/sdX1

Где /dev/md0 — массив, в котором возникла проблема, а /dev/sdX1 — новое устройство.

6. Дизассемблируем рабочий массив

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

mdadm --stop /dev/md0 		#  Stop the array
mdadm --remove /dev/md0 		# Remove the RAID device
mdadm --zero-superblock /dev/sdX1 	# Overwrite the existing md superblock with zeroes

7. Создавайте почтовые оповещения

Вы можете настроить действующий адрес электронной почты или системную учетную запись для отправки оповещений (убедитесь, что эта строка есть в mdadm.conf). – (Необязательный шаг)

MAILADDR root

В этом случае все оповещения, которые собирает демон мониторинга RAID, будут отправляться в почтовый ящик локальной учетной записи root. Одно из таких предупреждений выглядит следующим образом.

Примечание. Это событие связано с примером из ШАГА 5, где устройство было помечено как неисправное, а запасное устройство было автоматически встроено в массив от mdadm. Таким образом, у нас «исчерпались» работоспособные запасные устройства, и мы получили предупреждение.

Понимание уровней RAID в Linux

Вот краткий обзор распространенных уровней RAID:

RAID 0

Общий размер массива в n раз превышает размер наименьшего раздела, где n — количество независимых дисков в массиве (вам понадобится как минимум два диска). Выполните следующую команду, чтобы собрать массив RAID 0, используя разделы /dev/sdb1 и /dev/sdc1.

mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

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

RAID 1 (он же зеркалирование)

Общий размер массива равен размеру наименьшего раздела (вам понадобится как минимум два диска). Выполните следующую команду, чтобы собрать массив RAID 1, используя разделы /dev/sdb1 и /dev/sdc1.

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Общее использование: установка операционной системы или важных подкаталогов, например /home.

RAID 5 (также известный как диски с четностью)

Общий размер массива будет (n – 1) раз больше размера наименьшего раздела. Пространство «lost» в (n-1) используется для расчета четности (избыточности) (вам понадобится как минимум три диска).

Обратите внимание, что вы можете указать запасное устройство (в данном случае /dev/sde1) для замены неисправной детали в случае возникновения проблемы. Выполните следующую команду, чтобы собрать массив RAID 5, используя разделы /dev/sdb1, /dev/sdc1, /dev/sdd1 и /dev/sde1 в качестве запасного.

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

Общее использование: веб- и файловые серверы.

RAID 6 (также известный как диски с двойной четностью)

Общий размер массива составит (n*s)-2*s, где n — количество независимых дисков в массиве, а s это размер наименьшего диска. Обратите внимание, что вы можете указать запасное устройство (в данном случае /dev/sdf1) для замены неисправной детали в случае возникновения проблемы.

Выполните следующую команду, чтобы собрать массив RAID 6, используя разделы /dev/sdb1, /dev/sdc1, /dev/sdd1 , /dev/sde1 и /dev/sdf1 в качестве запасных.

mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

Общее применение: файловые серверы и серверы резервного копирования с требованиями большой емкости и высокой доступности.

RAID 1+0 (он же Полоса зеркал)

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

Обратите внимание, что вы можете указать запасное устройство (в данном случае /dev/sdf1) для замены неисправной детали в случае возникновения проблемы. Выполните следующую команду, чтобы собрать массив RAID 1+0, используя разделы /dev/sdb1, /dev/sdc1, /dev /sdd1, /dev/sde1 и /dev/sdf1 в качестве запасных.

mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

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

Создание резервных копий системы и управление ими в Linux

Никогда не помешает помнить, что RAID со всеми его возможностями НЕ ЯВЛЯЕТСЯ ЗАМЕНОЙ РЕЗЕРВНЫХ КОПИЙ! Если нужно, напишите это 1000 раз на доске, но обязательно сохраните это. идея всегда в голове.

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

  • Для чего вы используете свою систему? (Настольный компьютер или сервер? Если применим последний случай, какие службы являются наиболее важными – чью конфигурацию будет очень больно потерять?)
  • Как часто вам нужно делать резервные копии вашей системы?
  • Какие данные (например, файлы/каталоги/дампы базы данных) вы хотите создать резервную копию? Вы также можете подумать, действительно ли вам нужно создавать резервные копии огромных файлов (например, аудио- или видеофайлов).
  • Где (имеется в виду физическое место и носитель) будут храниться эти резервные копии?

1. Резервное копирование дисков с помощью команды dd

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

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

Например, если вы хотите создать образ раздела размером 20 ГБ, который заполнен только на 10%, размер файла образа все равно будет 20 ГБ. размер. Другими словами, копируются не только сами данные, но и весь раздел. Вы можете рассмотреть возможность использования этого метода, если вам нужны точные резервные копии ваших устройств.

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

dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file --------------------- 
dd if=/dev/sda | gzip -c > /system_images/sda.img.gz 

Восстановление образа раздела

dd if=/system_images/sda.img of=/dev/sda
OR 
gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

2. Резервное копирование файлов с помощью команды tar.

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

2. Резервное копирование и синхронизация файлов с помощью команды rsync

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

Независимо от того, синхронизируете ли вы два локальных каталога или локальные < --- > удаленные каталоги, смонтированные в локальной файловой системе, основной синтаксис один и тот же.

Синхронизация двух локальных каталогов

rsync -av source_directory destination directory

Где -a рекурсивно переходит в подкаталоги (если они существуют), сохраняет символические ссылки, временные метки, разрешения и исходного владельца/группу и -v подробное описание.

Кроме того, если вы хотите повысить безопасность передачи данных по проводу, вы можете использовать ssh вместо rsync.

Синхронизация локальных → удаленных каталогов через SSH

rsync -avzhe ssh backups root@remote_host:/remote_directory/

В этом примере каталог резервных копий на локальном хосте синхронизируется с содержимым /root/remote_directory на удаленном хосте.

Где опция -h показывает размеры файлов в удобочитаемом формате, а флаг -e используется для указания SSH-соединения.

Синхронизация удаленного → локальных каталогов через SSH

В этом случае поменяйте местами исходный и целевой каталоги из предыдущего примера.

rsync -avzhe ssh root@remote_host:/remote_directory/ backups 

Обратите внимание, что это всего лишь 3 примера (наиболее частые случаи, с которыми вы, вероятно, столкнетесь) использования rsync. Дополнительные примеры и использование команд rsync можно найти в следующей статье.

Краткое содержание

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

Электронная книга LCS уже доступна для покупки. Закажите копию сегодня и начните свой путь к тому, чтобы стать сертифицированным системным администратором Linux!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

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

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