LINUX.ORG.RU

История изменений

Исправление sunny1983, (текущая версия) :

Бекапить всю фс - бессмысленно.

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

Одна из задач, которую должен уметь делать админ - это бэкапы. Меня правда многим вещам не учили, приходится до всего доходить самому, так что то, что мои вопросы звучат для кого-то странно я не удивляюсь.
В своё время уже задавался вопросом как сделать бэкап корневого раздела, вот тема моя на юниксфоруме до сих пор жива http://unixforum.org/index.php?showtopic=131179
С тех пор пользуюсь dump/restore. Хотя и про rsync, который тут упомянался тоже слышал. На локальном сервере бэкап я делую так:

dump -0au -f - /dev/sda1 | gzip > dumpfile.gz
Чтобы сделать роллбэк, гружусь с Live CD, форматирую раздел и на него уже делаю restore.

Однако с удалённым и к тому же виртуальным сервером такой способ не прокатит потому что тут невозможно загрузиться с Live CD. Мне сервер достался нахаляву, но vscale.io сам по себе сервис копеечный и набор услуг у него копеечный: нет ни снапшотов, ни vnc-доступа, в панели управления сервером есть только 2 кнопки: «перезагрузить сервер» и «переустановить сервер». То есть для роллбэка я деляю переустановку (уничтожаются все данные), а потом по ssh накатываю сверху свой бэкап. Про это вроде говорили:

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



Но мне бы хотелось углубиться в теорию. По какому принципу вообще работают dump и rsync? Вот перед тем как сделать restore я создаю файловую систему на диске, сама restore файловую систему не создаёт. А значит dump/restore работает не на уровне файловой системы, а на уровне отдельных файлов и принцип их работы в общем случае ничем не отличается от принципа работы простых утилит для работы с файлами: tar и cp. А если уж я бэкаплю на файловом уровне, то я должен сначала:
1. Если у меня открыты бд я должен заставить их сбросить кэш на диск.
2. Перемонтировать корневую фс в r/o.
3. Уже после этого делать бэкап причём передавать его сразу по ssh, на диск сохранить будет невозможно, поскольку он в r/o.
Буду признателен тому кто объяснить мне как эти три пункта выполняются.

Исходная версия sunny1983, :

Бекапить всю фс - бессмысленно.

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

Одна из задач, которую должен уметь делать админ - это бэкапы. Меня правда многим вещам не учили, приходится до всего доходить самому, так что то, что мои вопросы звучат для кого-то странно я не удивляюсь.
В своё время уже задавался вопросом как сделать бэкап корневого раздела, вот тема моя на юниксфоруме до сих пор жива http://unixforum.org/index.php?showtopic=131179
С тех пор пользуюсь dump/restore. Хотя и про rsync, который тут упомянался тоже слышал. На локальном сервере бэкап я делую так:

dump -0au -f - /dev/sda1 | gzip > dumpfile.gz
Чтобы сделать роллбэк, гружусь с Live CD, форматирую раздел и на него уже делаю restore.

Однако с удалённым и к тому же виртуальным сервером такой способ не прокатит потому что тут невозможно загрузиться с Live CD. Мне сервер достался нахаляву, но vscale.io сам по себе сервис копеечный и набор услуг у него копеечный: нет ни снапшотов, ни vnc-доступа, в панели управления сервером есть только 2 кнопки: «перезагрузить сервер» и «переустановить сервер». То есть для роллбэка я деляю переустановку (уничтожаются все данные), а потом по ssh накатываю сверху свой бэкап. Про это вроде говорили:

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



Но мне бы хотелось углубиться в теорию. По какому принципу вообще работают dump и rsync? Вот перед тем как сделать restore я создаю файловую систему на диске, сама restore файловую систему не создаёт. А значит dump/restore работает не на уровне файловой системы, а отдельных файлов и принцип их работы в общем случае ничем не отличается от принципа работы простых утилит для работы с файлами: tar и cp. А если уж я бэкаплю на файловом уровне, то я должен сначала:
1. Если у меня открыты бд я должен заставить их сбросить кэш на диск.
2. Перемонтировать корневую фс в r/o.
3. Уже после этого делать бэкап причём передавать его сразу по ssh, на диск сохранить будет невозможно, поскольку он в r/o.
Буду признателен тому кто объяснить мне как эти три пункта выполняются.