Чим автоматичні копії відрізняються від знімків
Обидва способи зберігають копію всього диска сервера, але відрізняються моментом створення й способом оплати.
- Автоматичне резервне копіювання: додаткова опція, яку ви вмикаєте під час створення сервера. Копія всього диска сервера створюється автоматично за встановленим розкладом, а плата, 5.6% від вартості сервера, додається до рахунку. Для відновлення залиште запит на сторінці підтримки після першої оплати, і ми все зробимо.
- Знімки: окремий продукт, який замовляється. Він зберігає весь диск у вибраний вами момент, наприклад просто перед великим оновленням, і коштує $0.009 на місяць за GB сховища. Під час замовлення оберіть обсяг від 20GB до 2,000GB з кроком 10GB.
Сайти й бази даних, що змінюються щодня, захищають автоматичні копії, а перед діями, які важко скасувати, наприклад оновленням операційної системи, варто зробити знімок: так два способи доповнюють одне одного. Опис продуктів на сторінках автоматичні резервні копії і знімки.
Увімкнення автоматичних копій
- Натисніть «Новий сервер» в акаунті й оберіть регіон, розмір і образ.
- Увімкніть автоматичні резервні копії в додаткових опціях.
- Праворуч у зведенні одразу з'явиться місячна ціна сервера разом з копіями.
- Натисніть Створити сервер і оплатіть обраний період оплати, а потім оплатіть рахунок на продовження до завершення періоду, щоб сервер продовжував працювати.
Автоматичні копії це опція, яка обирається під час створення сервера. Щоб захистити дані вже робочого сервера, замовте знімок або використовуйте резервне копіювання на самому сервері, описане нижче. Під час створення сервера через API та сама опція вмикається, якщо додати до запиту "backups": true.
Запит відновлення з автоматичної копії
Відновлення виконують наші співробітники підтримки, які повертають сервер до потрібного моменту. Після першої оплати залиште запит на сторінці підтримки ось так.
- У темі оберіть «Сервер».
- У полі імені сервера вкажіть ім'я сервера, який потрібно відновити.
- У тексті вкажіть дату й час (UTC), до яких потрібно повернутися, і чи потрібно відновлювати на той самий сервер.
Під час відновлення диск сервера замінюється вмістом на момент резервної копії, тож файли, створені пізніше, зникнуть. Якщо є свіжі файли, які треба зберегти, завантажте їх на свій комп'ютер до надсилання запиту. Відповідь з'явиться на сторінці підтримки.
Замовлення знімка
- Натисніть «Замовити» на сторінці знімків.
- Оберіть обсяг сховища. Якщо він дорівнює розміру диска сервера або трохи більший, увесь диск поміститься із запасом.
- Вкажіть у полі імені ім'я сервера, і буде одразу зрозуміло, якому серверу належить знімок. Можна використовувати латинські літери, цифри, крапку й дефіс.
- Під час замовлення оплатіть обраний період оплати, і коли все буде готово, сервер з’явиться в списку продуктів у вашому акаунті.
Для серверів із постійним записом, як-от бази даних, найчистіший образ виходить, якщо на час створення знімка ненадовго зупинити сервіс або сам сервер. Щоб повернутися до знімка чи створити з нього новий сервер, залиште запит на сторінці підтримки з назвою сервера та знімка після першої оплати, і ми все зробимо.
Резервне копіювання на самому сервері
Якщо автоматичні копії та знімки захищають увесь сервер, то копії на самому сервері дають змогу зберігати ще один примірник файлів і баз даних в іншому місці. Найнадійніше дотримуватися правила 3-2-1: три копії, на двох видах сховищ, одна з них в іншому місці.
Крок 1. Запакуйте файли й бази даних
mkdir -p /root/backup
tar czf /root/backup/www-$(date +%F).tar.gz /var/www
mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +%F).sql.gzДля PostgreSQL запакуйте командою sudo -u postgres pg_dumpall | gzip > /root/backup/pg-$(date +%F).sql.gz, для тому Docker командою docker run --rm -v VOLUME_NAME:/data -v /root/backup:/out alpine tar czf /out/VOLUME_NAME.tar.gz -C /data ..
Крок 2. Запускайте автоматично щодня
Відкрийте розклад командою crontab -e і додайте три рядки нижче: щодня о 3 годині ночі (за часом сервера) створюватиметься файл копії, а файли, старші за 7 днів, видалятимуться. Усередині crontab перед % ставиться зворотна скісна риска.
0 3 * * * tar czf /root/backup/www-$(date +\%F).tar.gz /var/www
5 3 * * * mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +\%F).sql.gz
30 3 * * * find /root/backup -name '*.gz' -mtime +7 -deleteКрок 3. Надішліть ще одну копію в інше місце
Якщо файли копій лежать лише на тому самому сервері, вони можуть зникнути разом з ним. Надішліть їх через rsync на сервер в іншому регіоні або завантажте через rclone в об'єктне сховище, і у вас з'явиться копія в іншому місці.
rsync -az /root/backup/ backup@BACKUP_SERVER_IP:/backups/web-1/Який спосіб обрати у вашій ситуації
Три способи не замінюють, а доповнюють одне одного й найнадійніше працюють разом. Поєднуйте їх під завдання свого сервера, наприклад так.
- Особистий блог, невеликий сайт: увімкніть автоматичні копії під час створення сервера, а перед великою зміною теми чи плагінів завантажте файл експорту WordPress, цього достатньо.
- Інтернет-магазин, сервіс з реєстрацією: на додачу до автоматичних копій щодня робіть дамп бази даних і надсилайте копію в інший регіон. Так замовлення й дані користувачів можна повернути з точністю до години.
- Сервери для розробки й тестів: перед великим експериментом зробіть знімок, а після експерименту видаліть його й заощадьте на зберіганні.
- Кілька серверів однакової конфігурації: зберігайте знімок еталонного сервера довше, і нові сервери можна буде швидко привести до того самого стану.
За будь-якого поєднання головне, щоб одна копія була й поза сервером і щоб ви хоч раз справді відновлювалися з неї. Якщо подбати про ці дві речі, ви спокійно відновите сервіс навіть після раптової помилки чи збою.
Враховуйте й вартість. Автоматичні копії коштують 5.6% від ціни сервера, тобто ту саму суму щомісяця, а за знімки ви платите лише за збережений обсяг. Копії на самому сервері не потребують доплати й займають лише місце на диску, але для копії в іншому місці потрібне сховище на приймальному боці. Обирайте за обсягом даних, які важливо зберегти, і за тим, як часто може знадобитися відновлення, і ви знайдете баланс ціни й надійності.
Тренування відновлення й корисні звички
Резервна копія цінна тоді, коли з неї можна відновитися. Приблизно раз на місяць створіть невеликий сервер, розпакуйте на ньому файл копії й перевірте, чи відкривається сайт, і в реальній ситуації ви не заплутаєтеся в кроках. Тестовий сервер після перевірки одразу видаліть.
- Просто перед великими роботами робіть знімок або файл копії.
- Вказуйте в імені файлу копії дату й ім'я сервера, щоб одразу було видно, до якого моменту вона належить.
- Зберігайте копії із секретними даними, наприклад паролями баз даних і ключами API, лише в надійному місці.
- Перед перевстановленням сервера спершу виконайте крок перенесення даних з посібника з перевстановлення.
Якщо місця на диску не вистачає для довгого зберігання копій, можна додати до сервера блоковий диск NVMe і використовувати його лише для копій. Якщо ви працюєте з Docker, подивіться також розділ про томи в посібнику зі встановлення Docker.
