Я запускал группу управляемых экземпляров Google Cloud (Ubuntu) для запуска веб-сервера, и сегодня утром сервер отключился. Я проверил статус сервера, и оказалось, что все данные пропали. Все файлы apache2, службы, модули apache2 и PHP и т. Д. Отсутствуют, как будто это новая установка.
Сначала я подумал, что это связано с тем, что я не назначил статический IP своему серверу, но после входа в SSH я заметил, что все файлы www и apache2 с моего веб-сервера исчезли.
Я заметил, что это произошло сегодня утром, когда мой сервер достиг точки автомасштабирования для загрузки ЦП. Видимо создал другой экземпляр, но данных о нем нет.
В настоящее время я настраиваю другой экземпляр виртуальной машины, но, очевидно, что-то пошло не так. Что делать, чтобы этого не случилось /
Из комментариев видно, что данные исчезли, потому что они находились в экземпляре, который был частью группы управляемых экземпляров. Когда группе потребовались дополнительные ресурсы, был создан новый экземпляр на основе шаблон экземпляра. Предположительно, шаблон не содержал никаких данных, которые были собраны для данного экземпляра, поэтому новый экземпляр не содержал никаких данных. Именно так можно потерять данные, хранящиеся в этих экземплярах.
Кроме того, хранение данных непосредственно в этих экземплярах почти сразу же приведет к расхождению данных, если нет системы для синхронизации данных между экземплярами. Учитывая группу с 2 экземплярами (А и B), балансировщик нагрузки отправляет запрос экземпляру А что приводит к записи. Спустя несколько мгновений балансировщик нагрузки отправляет новый запрос экземпляру. B поиск данных, которые были недавно записаны. Ничего не найдет. Таким образом, данные должны быть либо синхронизированы, что может быть очень дорогостоящим и подверженным ошибкам, либо, что еще лучше, мигрировать за пределы группы масштабируемых экземпляров.
В Сообщение группы обсуждения GCE о масштабировании отдельных виртуальных машинКамран описывает, как предотвратить такого рода потерю / несоответствие данных. Если экземпляры не имеют постоянного состояния (продолжают существовать после завершения работы), их можно считать без гражданства. Преимущество создания всех экземпляров в данной группе без гражданства состоит в том, что можно ожидать любой экземпляр в группе, чтобы вести себя одинаково и одинаково справляться с задачами. Таким образом, это хорошо подходит для горизонтального масштабирования (наличие большего количества экземпляров для обработки большего объема работы, а не просто наличие более мощного экземпляра).
Как правило, эта структура без сохранения состояния требует, чтобы вы переносили хранилище данных / файлов за пределы группы экземпляров. В случае SQL можно переместить данные в экземпляр Cloud SQL, доступный для группы экземпляров, или в Cloud Datastore в качестве альтернативы NoSQL. Для хранения файлов можно перенести файлы в облачное хранилище. Вы даже можете использовать Cloud Storage FUSE чтобы смонтировать данную корзину GCS в качестве файловой системы на ваших управляемых экземплярах.