Резервное копирование

Материал из Энциклопедия хостинга
Версия от 00:28, 6 августа 2016; I.artemev (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Вместо введения

Резервное копирование (англ. backup) — процесс создания копии данных на носителе (жёстком диске, дискете и т. д.), предназначенном для восстановления данных в оригинальном или новом месте их расположения в случае их повреждения или разрушения. Так учит нас википедия :) .

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

Таже википедия подсказывает, что поместить резервную копию наших данных мы можем:

  • на ленту стримера — запись резервных данных на магнитную ленту стримера;
  • в «Облачный» бэкап» — запись резервных данных по «облачной» технологии через онлайн-службы специальных провайдеров;
  • на DVD или CD — запись резервных данных на компактные диски;
  • на HDD — запись резервных данных на жёсткий диск компьютера;
  • в LAN — запись резервных данных на любую машину внутри локальной сети;
  • на FTP — запись резервных данных на FTP-серверы;
  • на USB — запись резервных данных на любое USB-совместимое устройство (такое, как флэш-карта или внешний жёсткий диск);
  • на ZIP, JAZ, MO — резервное копирование на дискеты ZIP, JAZ, MO.

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

  • в LAN — запись резервных данных на любую машину внутри локальной сети;
  • на FTP — запись резервных данных на FTP-серверы;
  • в «Облачный» бэкап» — запись резервных данных по «облачной» технологии через онлайн-службы специальных провайдеров;

в LAN

Способ резервного копирования в "локальной сети" (на VDS локальной сети у нас нет, поэтому в кавычках) применим лишь в случае если у Вас куплено как минимум два VDS (first.vds и second.vds), тогда мы можем настроить резервное копирование одного VDS на другой любым доступным способом. Именно доступным, а не удобным потому, что возможность использования того или иного способа напрямую зависит от системы виртуализации с помощью которой создан Ваш VDS. Так в случае с виртуализацией KVM эмулирующей настоящий сервер вполне получится использовать nfs, samba и базирующиеся на FUSE ftpfs и sshfs и работать с хранилищем резервных копий так же как с обычной директорией на диске, в случае же с виртуализацией на базе OpenVZ придется довольствоваться доступом через FTP-клиент. Рассмотрим на примерах как получить в директории /backup нашего VDS удаленное хранилище данных.

NFS

Для начала на second.vds надо настроить экспорт директории /backup, делается это в файле /etc/exports, запись будет выглядеть примерно так в Linux

/backup first.vds(rw,sync,no_subtree_check)

После этого можно запустить nfs-сервер В Linux хватит команды

service nfs-kernel-server start

После всего этого можно будет монтировать файловую систему на сервере first.vds

mount -t nfs second.vds:/backup /backup

FUSE SSHFS/FTPFS

Для начала их придется поставить с помощью yum, apt.

Debian/Ubuntu:

apt-get install sshfs curlftpfs

CentOS:

yum install sshfs

curlftpfs в стандартных репозиториях CentOS нет. После установки запустив команду типа такой

sshfs -o allow_other,follow_symlinks,reconnect,intr,IdentityFile=/path/.ssh/id_rsa backup@second.vds:/home/backup /backup

или такой

curlftpfs ftp://second.vds/ /backup/ -o rw,allow_other,uid=backup:<пароль>

мы получим смотнированную в /backup на сервере first.vds директорию /home/backup с сервера second.vds

на FTP

В случае если VDS у Вас один и покупать второй Вы не планируете можно воспользоваться FTP-сервером провайдера для хранения своих бэкапов по цене 3 руб./мес. за 1 Гб, заказать услугу можно в Вашем личном кабинете my.firstvds.ru в разделе Товары/Услуги -> Внешний диск для бэкапов. Работать можно как обычным FTP-клиентом, так и с помощью curlftpfs, описанной выше, если позволяет виртуализация.

«Облачный» бэкап

Если мы снова обратимся к википедии, то найдем там достаточно обширный список сервисов, готовых предоставить нам какое-то количество места на своих дисках. Где-то место предоставляют бесплатно, где-то за деньги. Для своих экспериментов я выбрал Яндекс.Диск, которых хорош тем, что доступ к нему осуществляется по протоколу WebDAV. Нетрудно догадаться, что после непродолжительных поисков в сети я нашел davfs2 - утилиту, которая простой и понятной командой

mount -t davfs https://webdav.yandex.ru /backup

подключила мой Яндекс.Диск в директорию /backup моего VDS. Аналогичным образом подключается Microsoft SkyDrive, который так же работает по протоколу WebDAV.

Но этот способ сработает лишь на VDS c аппаратной виртуализацией KVM, в случае же с неаппаратными виртуализациями на базе OpenVZ воспользоваться этими способами не получится, т.к. у VDS нет прав на загрузку модулей ядра, однако все равно есть способ разместить архив в Webdav-хранилище на Яндексе, Skydrive или где-то еще используя curl, команда при этом будет выглядеть так

# curl --user yandex_login:yandex_password -T file_name_to_upload https://webdav.yandex.ru

В случае с Яндекс.Диском в целях повышения безопасности, можно так же воспользоваться API Яндекса для выполнения авторизации.

Бэкапимся

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

Пример скрипта

 #!/bin/sh
 LFILE='/backup/backup.tgz'
 RFILE='/backup.tgz'
 HOST='FTP-host'
 USER='<USER>'
 PASSWD='<PASSWD>'
 /bin/tar -cz --exclude=/backup/ -f /backup/backup.tgz /
 /usr/bin/ftp -n $HOST <<END_SCRIPT
 quote USER $USER
 quote PASS $PASSWD
 passive
 binary
 rename backup.tgz backup-old.tgz
 put $LFILE $RFILE
 quit
 END_SCRIPT

который создает в директории /backup архив всех файлов сервера (за исключением директории /backup) и загружает по FTP архив на удаленный сервер, переименовывая старый в backup-old.tgz

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты

Заметили ошибку?

Выделите ее и нажмите CTRL+ENTER