Серверы EC2 Ubuntu стирают все содержимое диска при выключении. После досадной аварии я решил запретить запуск командной строки. halt
, poweroff
и shutdown
.
Как лучше всего это сделать? Я думал о переименовании этих команд (на /sbin
) на что-то вроде HALT_RENAMED___ERASES_ALL_DISK_CONTENTS
.
Есть ли какие-либо файлы, кроме трех, перечисленных выше, которые необходимо обработать?
Я заметил это halt
и poweroff
просто ссылки на reboot
. Следует ли переименовать и перезагрузку?
Адам
Если вы используете экземпляры EC2 и у вас есть данные, которые необходимо сохранять, вы должны использовать тома EBS для хранения данных. В противном случае вы несете ответственность за создание процесса для периодической загрузки в S3 или за другую стратегию резервного копирования для восстановления после перезагрузки. У меня работает около десятка инстансов EC2, и я использую комбинацию обеих стратегий.
Диск, установленный для / на инстансах EC2, предназначен для очистки, когда он полностью отключен, что и является halt
, shutdown
и poweroff
делать. Диск останется во время перезагрузки, но когда экземпляр будет полностью отключен, он будет уничтожен, что в точности соответствует тому, что Amazon сообщает вам в условиях использования EC2 и почему они рекомендуют EBS, если это необходимо.
Единственный другой вариант - использовать экземпляры с поддержкой EBS, которые затем будут сохраняться, но вы будете платить за хранение тома EBS. Это приведет к сохранению всего экземпляра на томе EBS, а не только данных, необходимых для сохранения.
Я настоятельно рекомендую использовать экземпляры на основе EBS и периодически создавать моментальные снимки вашего тома EBS. В случае потенциальной проблемы с оборудованием экземпляры на основе EBS могут быть остановлены / запущены (что приводит к их запуску на другом оборудовании, если вам не очень повезло)
Я рекомендую делать снимки, потому что тома EBS не обладают такой же избыточностью, как S3. Они более надежны, чем обычный жесткий диск, но у меня случались отказы томов EBS, и мои моментальные снимки спасли положение.
ec2-modify-instance-attribute --instance -hibited-shutdown-behavior stop не работает с экземплярами, отличными от EBS.
Вы можете изменить поведение при выключении:
ec2-run-instances \
--instance-initiated-shutdown-behavior stop \
Подробнее об этом читайте здесь: http://alestic.com/2010/01/ec2-instance-locking
Выхода нет.
СЕРЬЕЗНО - вы не должны полагаться на сервер EC2 для сохранения состояния. Это хорошо задокументировано.
Вы НЕ МОЖЕТЕ остановить выключение виртуальной машины. Что делать, если сервер выйдет из строя? Этого не случится - уже произошло на Amazon. Системы просто рушатся.
В основном вы здесь охотитесь на гсотов. Вы не можете остановить выключение виртуальной машины.