У меня есть облачные серверы Ubuntu, к которым у меня нет прямого доступа, но есть ssh. Я использую tar для клонирования или высокой доступности этого сервера. Я следовал за учебником по ссылке [текст ссылки] [1]. Я пробовал это установить новый сервер той же версии. Когда я распаковал tar (tar -xvpzf ~ / clone.tgz -C /) в месте назначения (новый), в конце он заканчивается следующим выводом, аналогичным приведенному ниже (не знаю, если это ошибка). [117 ]
tar: var/run: time stamp 2010-11-09 17:09:11 is 7335.159880406 s in the future
tar: var/spool/postfix/usr/lib/zoneinfo: time stamp 2010-11-09 17:08:26 is 7290.159730037 s in the future
tar: var/lib: time stamp 2010-11-09 17:27:51 is 8455.159349527 s in the future
tar: usr/bin: time stamp 2010-11-09 17:28:02 is 8466.159254097 s in the future
tar: usr/share/sgml: time stamp 2010-11-09 17:27:47 is 8451.158909506 s in the future
tar: usr/share/man/man7: time stamp 2010-11-09 17:27:50 is 8454.158393583 s in the future
tar: usr/share/man/man1: time stamp 2010-11-09 17:28:02 is 8466.158166556 s in the future
tar: usr/share/man/man8: time stamp 2010-11-09 17:27:51 is 8455.158057701 s in the future
tar: usr/share/omf/time-admin: time stamp 2010-11-09 17:27:52 is 8456.157830449 s in the future
---------------------------------------------
---------------------------------------------
---------------------------------------------
Я использую следующую команду для создания tar-файла из указанных каталогов в исходной системе.
tar -cvzf ~/clone.tgz --exclude ~/clone.tgz --exclude /etc/hosts --exclude /etc/hostname --exclude /etc/udev/ --exclude /etc/network/interfaces --exclude /etc/resolv.conf /etc /home /opt /tmp /usr /var /mnt
Если есть какой-либо лучший способ без какого-либо ущерба для сервера, чтобы достичь этого, могу предложить.
[1]: http://ubuntuforums.org/showthread.php ? т = 525660
Я бы порекомендовал вам вместо этого использовать rsync, это позволит вам выполнять реальную синхронизацию системы с системой без необходимости во временных файлах. Это также дает преимущество создания дополнительных обновлений, когда вам нужно обновить клон.
Я бы исключил только: / proc / / sys / dev / tmp / mnt В системе клонирования вам необходимо убедиться, что / etc / fstab и /boot/grub/grub.cfg обновлены с UUID клона Системные перегородки.
Если у вас есть база данных, такая как mysql, вам нужно быть осторожным и останавливать базу данных перед выполнением копирования.
Во-первых, многие облачные провайдеры IaaS предлагают мощные возможности моментальных снимков, которые решают эту проблему довольно легко.
В EC2, если вы запускаете систему на основе EBS, вы можете просто периодически снимать ее. Если с исходным экземпляром происходит что-то ужасное, вы можете вернуться к предыдущему снимку на новом экземпляре. Если вы хотите заархивировать снимок, вы можете загрузить другой экземпляр с прикрепленным к нему и использовать что-то вроде tar + s3, не оказывая негативного влияния на производственный блок.
Есть ряд проблем с этим подходом, которые могут быть не очевидны прямо сейчас.
Что вам действительно нужно, так это система управления конфигурацией и высокая доступность данных.
Я бы порекомендовал вам выбрать систему управления конфигурациями, например, puppet (в основном!), Chef или cfengine. Начните выполнять все свои настройки в системе управления конфигурациями, а затем вы можете просто загрузить общую систему и применить к ней управление конфигурацией. Добавьте «etckeeper», и у вас есть история.
Для обеспечения высокой доступности данных rsync должен работать и быть намного более простым, поскольку вы можете просто скопировать данные, которые вы хотите. Есть также drbd, чтобы иметь то, что составляет «сетевой RAID1». Они не заменяют резервные копии данных, которые должны включать исторические снимки (будь то через снимки блочных устройств или что-то вроде tar), а не синхронизироваться с хостом восстановления (что, если кто-то удалит все данные, которые были синхронизированы с полем восстановления, удалив их все) там тоже?)