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

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

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

No. Title
Part 1 How to Use ‘Sed’ Command to Manipulate Files in Linux
Part 2 How to Install and Use Vi/Vim in Linux
Part 3 How to Compress Files & Directoires and Finding Files in Linux
Part 4 How to Partition Storage Devices in Linux
Part 5 How to Mount (Samba and NFS) Filesystems in Linux
Part 6 How to Assemble Partitions as RAID Devices and Create System Backups
Part 7 Managing System Startup Processes and Services (SysVinit, Systemd, and Upstart
Part 8 How to Manage User & Groups, File Permissions, and Sudo Access
Part 9 Linux Package Management with Yum, RPM, Apt, Dpkg, Aptitude, and Zypper
Part 10 Learning Basic Shell Scripting and Filesystem Troubleshooting
Part 11 How to Manage and Create LVM Using vgcreate, lvcreate, and lvextend Commands
Part 12 How to Explore Linux with Installed Help Documentations and Tools
Part 13 How to Configure and Troubleshoot Grand Unified Bootloader (GRUB)
Part 14 Monitor Linux Processes Resource Usage and Set Process Limits on a Per-User Basis
Part 15 How to Set or Modify Kernel Runtime Parameters in Linux Systems
Part 16 Implementing Mandatory Access Control with SELinux or AppArmor in Linux
Part 17 How to Set Access Control Lists (ACLs) and Disk Quotas for Users and Groups
Part 18 Installing Network Services and Configuring Automatic Startup at Boot
Part 19 An Ultimate Guide to Setting Up FTP Server to Allow Anonymous Logins
Part 20 Setup a Basic Recursive Caching DNS Server and Configure Zones for Domain
Part 21 How to Install, Secure, and Performance Tuning of MariaDB Database Server
Part 22 How to Install and Configure NFS Server for File System Sharing
Part 23 How to Setup Apache with Name-Based Virtual Hosting with SSL Certificate
Part 24 How To Setup an Iptables Firewall to Enable Remote Access to Services in Linux
Part 25 How to Turn a Linux into a Router to Handle Traffic Statically and Dynamically
Part 26 How to Setup Encrypted Filesystems and Swap Using Cryptsetup Tool
Part 27 How to Monitor System Usage, Outages, and Troubleshoot Linux Servers
Part 28 How to Setup a Network Repository to Install or Update Packages
Part 29 How to Audit Network Performance, Security, and Troubleshooting
Part 30 How to Install and Manage Virtual Machines and Containers
Part 31 Learn the Basics of Git to Manage Projects Efficiently
Part 32 A Beginner’s Guide to Configuring IPv4 and IPv6 Addresses in Linux
Part 33 A Beginner’s Guide to Creating Network Bonding and Bridging in Ubuntu

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

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

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

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

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

Установка mdadm в Linux

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

$ 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
Creating RAID Array

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

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

# cat /proc/mdstat
or 
# mdadm --detail /dev/md0	[More detailed summary]
Check RAID Array Status

3. Форматирование RAID устройства

Форматируйте устройство файловой системой в соответствии с вашими потребностями/требованиями, как объяснено в Часть 4 этой серии.

4. Мониторинг RAID массива

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

# mdadm --detail --scan
Monitor RAID Array
# mdadm --assemble --scan 	[Assemble the array]

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

# systemctl start mdmonitor
# systemctl enable mdmonitor

5. Проверка сбоя диска RAID

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

Check RAID Faulty Disk

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

# 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 Monitoring Alerts

Understanding RAID Levels in 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) раз больше размера самого маленького раздела. Пространство “потерянного” в (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 подробный.

rsync Synchronizing Files

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

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

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

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

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

rsync Synchronize Remote Files

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

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

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

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

Итог

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

Теперь доступен электронная книга LFCS для покупки. Закажите свой экземпляр сегодня и начинайте свой путь к получению сертификата системного администратора Linux!

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

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

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

Source:
https://www.tecmint.com/creating-and-managing-raid-backups-in-linux/