2015-10-05 5 views
1

Мне нужно сохранить состояние экземпляра Google Compute на базе Centos, когда он впервые получит сигнал о приостановке. documentation очень четко указывает, что сигнал «ACPI G2 Soft Off» отправляется за 30 секунд до вытеснения. К сожалению, Google не привел примеров, чтобы продемонстрировать, как захватить этот сигнал, и я еще не нашел способ его захватить.Как сохранить состояние, когда оно выгружено на привилегированном экземпляре Google?

Мои первоначальные попытки были сосредоточены вокруг интерфейса ACPI, используя acpid-демон. Используя это, я смог без проблем остановить захват (кнопка/мощность). Но независимо от того, какое событие я пытаюсь захватить (кнопка, власть, сон), я не смог зафиксировать переход состояния в состояние G2, которое, как я полагаю, является тем, что я ищу.

Удалось ли кому-нибудь успешно захватить сигнал о превенции в среде Centos (или любой Linux)?

ответ

2

Вы можете использовать shutdown scripts для этого:

Создание и запуск сценариев завершения работы, которые позволяют выполнять команды прямо перед экземпляром прекращается или перезапуске на более лучшие усилия основе. Это полезно, если вы полагаетесь на автоматизированные сценарии для запуска и закрытия экземпляров, что позволяет вашим экземплярам время для очистки или выполнения задач, таких как экспорт журналов или синхронизация с другими системами.

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

Сценарии завершения работы очень похожи на startup scripts; большая часть документации для сценариев запуска также применяется для сценариев завершения работы.

Однако, поскольку у вас есть ограниченное время, чтобы сделать работу, рассмотреть возможность использования постоянных внешних систем хранения данных, которые не будут удалены, когда ваш экземпляр вытесняется, например, Google Cloud Storage, Google Cloud Bigtable, Google Cloud Datastore или другие.

+0

Thanks Misha; Попробую сценарий завершения работы. Но разве было бы лучше захватить первоначальное изменение состояния G2? Если да, не существует способа использовать эту более раннюю информацию? –

+0

@NigelRMurray - извините, не знаю, возможно ли захватить изменение состояния G2 или как это сделать. –