10 Обеспечение надёжного функционирования
10.1 Введение
Средства обеспечения надёжного функционирования предоставляют возможности резервного копирования и восстановления данных и программного обеспечения при сбоях и отказах, а также возможности функционирования отдельных экземпляров системы на нескольких технических средствах в отказоустойчивом режиме, обеспечивающем доступность сервисов и данных при выходе из строя одного из технических средств или при исчерпании вычислительных ресурсов.
10.2 Архивация файлов и директорий
Утилита tar
позволяет архивировать файлы и директории со всеми их
поддиректориями и файлами, а затем восстанавливать их из архива, т.е. является удобным
средством для создания резервных копий.
Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленным в таблице:
Опция |
Значение |
---|---|
|
Создать новый архив. |
|
Присоединить файлы к концу архива. |
|
Удалить файл из архива. |
|
Вывести список содержимого архива. |
|
Присоединить существующий архив к другому архиву. |
|
Извлечь файлы из архива. |
|
Добавить в архив более новые версии файлов. |
|
Сменить директорию перед выполнением операции на |
|
Вывести результат в архивный файл или в устройство |
|
Осуществить проверку на наличие различий между архивом и некоторой файловой системой. |
|
Выводить подробную информацию о процессе выполнения команды. |
Пример: в примере директория mydir
и все её поддиректории сначала сохраняются в файле myarch.tar
:
tar cf myarch.tar mydir
а затем извлекаются из архива:
tar xf myarch.tar
А этот скрипт организует хранение четырех последних резервных копий директории
/var/www
в директории /opt/backup/www-backup
. Первая версия будет всегда иметь номер 0,
последняя — номер 3. При создании новых версий старые будут удаляться. Сами резервные
копии хранятся в сжатом виде.
#! /bin/bash
cd /opt/backup/www-backup
rm www-dump-3.tar.gz
cp www-dump-2.tar.gz www-dump-3.tar.gz
cp www-dump-1.tar.gz www-dump-2.tar.gz
cp www-dump-0.tar.gz www-dump-1.tar.gz
tar --selinux --acls --xattrs --czf www-dump-o.tar.gz /var/www
10.3 Создание архивов и извлечение файлов из них
Утилита cpio
используется для создания архивов и извлечения файлов из них, а также
для копирования файлов в целях их переноса из текущей директории в другую.
Поддерживает множество различных архивных форматов. При извлечении файлов из архива
утилита автоматически распознает, каким типом обладает архив, с которым она
взаимодействует.
Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице:
Опция |
Значение |
---|---|
|
Копировать файлы в архив. |
|
Добавить файлы в архив. Может быть использована только в связке с опцией |
|
Копирует файлы из архива или выводит список содержимого некоторого архива. |
|
Копирует файлы из одной файловой структуры в другую, комбинируя при этом режимы работы, использующиеся при передаче опций |
|
Сбрасывает времена обращения к входным файлам после их копирования, так что при использовании данной опции будет нельзя распознать, что файлы были скопированы. |
Пример: в примере сначала флеш-носитель монтируется как устройство /mnt
:
mount /dev/sdb4 /mnt
Затем создается и записывается на флеш-носитель резервная копия директории /lib
:
find /lib/ | cpio -o > /mnt/2/backup.cpi
Для того чтобы восстановить все файлы в директорию /lib
из созданной ранее архивной копии, необходимо выполнить следующую команду:
cpio -ivmd /lib/\* < /mnt/2/backup.cpio
10.4 Резервное копирование данных
Утилита amanda
обладает возможностью резервного копирования данных,
хранящихся на множестве компьютеров в вычислительной сети. Она реализует клиент-серверную модель и использует следующие утилиты:
- клиентская утилита
аmandad
, взаимодействующая с сервером системы. - Во время своего выполнения вызывает другие утилиты:
selfcheck
(проверка конфигурации клиента);sendsize
(оценка объема резервной копии);sendbackup
(выполнение операции резервного копирования);amcheck
(проверка конфигурации системы).
- клиентская утилита
- серверная утилита
amdump
, инициирующая все операции резервного копирования. - Во время своего выполнения использует другие утилиты и контролирует их выполнение:
planner
(определение того, что надо копировать);driver
(интерфейс к внешнему устройству);dumper
(связывается с клиентским процессомamandad
);taper
(запись данных на внешнее устройство);amreport
(подготовка сообщения о выполненном копировании).
- серверная утилита
- административные утилиты:
amcheck
(проверка готовности системы к работе);amlabel
(записать метку на сменный носитель перед использованием в системе);amcleanup
(очистить систему после неплановой перезагрузки сервера или после непланового завершения операции резервного копирования);amflush
(переписать данные из дискового кэша на внешний носитель);amadmin
(выполнение большого количества различных административных операций).
- утилиты восстановления данных:
amrestore
(восстановление данных с носителей, на которых записаны резервные копии, выполненные системой);amrecover
(программа для интерактивного восстановления данных с резервных копий).
10.5 Создание дисковых RAID-массивов
Утилита mdadm
позволяет создавать так называемые дисковые RAID-массивы c
использованием технологии распределения данных по нескольким дискам с целью
достижения избыточности, отказоустойчивости, сокращения задержек и/или увеличения
скорости чтения и записи, а также для улучшения возможностей восстановления данных в
случае отказа.
Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице:
Опция |
Значение |
---|---|
|
Режим сборки ранее созданного массива и его активации. |
|
Режим сборки массива без суперблоков. |
|
Режим сборки нового массива. |
|
Режим слежения за состоянием устройств. |
|
Режим расширения или уменьшения размера массива. |
|
Устанавливает имя массива. |
|
Указывает количество активных устройств в массиве. |
|
Указывает количество запасных устройств в массиве. |
|
Указывает объем пространства, используемого для каждого диска. |
|
Устанавливает уровень массива. |
|
Указывает файл конфигурации. По умолчанию |
|
Помечает перечисленные устройства как неисправные. |
|
Деактивирует массив и освобождает все ресурсы. |
|
Выводит информацию о версии утилиты. |
|
Выводит справку об утилите. |