Своп исчезает при остановке экземпляра, поддерживаемого ebs.

Мой файл подкачки экземпляра исчезает, когда я запускаю свой экземпляр.

У меня есть экземпляр Ubuntu ec2, и я следую инструкциям "Четырехшаговый процесс добавления файла подкачки" по адресу https://help.ubuntu.com/community/SwapFaq:

sudo dd if=/dev/zero of=/mnt/512MiB.swap bs=1024 count=524288
sudo chmod 600 /mnt/512MiB.swap
sudo mkswap /mnt/512MiB.swap
sudo swapon /mnt/512MiB.swap

Затем я изменил свой /etc/fstab, добавив в него:

/mnt/512MiB.swap  none  swap  sw  0 0

Поскольку я использую гораздо больший своп, этот процесс занимает некоторое время, и я не хочу делать это каждый раз, когда начинаю. Я бы лучше заплатил за хранение. Однако, когда я запускаю свой экземпляр, обмен исчез. Если я наберу 'top', экземпляр не будет использовать файл подкачки.

Что я должен делать?

1 ответ

Решение

В то время как используемый вами экземпляр Amazon EC2 имеет хранилище корневых устройств с поддержкой EBS, все типы экземпляров EC2 по- прежнему имеют доступное для использования хранилище экземпляров EC2 (также называемое эфемерным хранилищем) и меньшие типы экземпляров (например, m1.small и c1.medium) прикрепить и смонтировать на /mnt по умолчанию даже (большие не!).

Наиболее важная характеристика этого типа хранилища, о которой следует помнить, заключается в том, что данные в томах хранилища экземпляров сохраняются только в течение срока службы связанного экземпляра Amazon EC2.

Это утверждение в настоящее время немного вводит в заблуждение, поскольку оно применимо и к остановке экземпляра, поддерживаемого EBS (но не к перезагрузке), т. Е. В тот момент, когда вы останавливаете этот экземпляр, эфемерный том, смонтированный в /mnt отсоединен и удален, и все данные, хранящиеся там, потеряны, включая, конечно, ваш файл подкачки; как только вы снова запустите экземпляр, новый эфемерный том будет прикреплен и смонтирован в /mnt,

Решение

Вы по-прежнему можете использовать хранилище экземпляров EC2 (которое является обильным и бесплатным), если вы точно знаете, что делаете (см. Раздел " Фон" ниже), например, это идеальный вариант для строго временных данных или всего, что может быть легко воссоздано на спрос, как кеш, например.

Разумеется, файл подкачки также соответствует этим требованиям, поэтому вам просто нужно создать скрипт с командами, изложенными в вашем вопросе, и выполнить его при запуске экземпляра, чтобы воссоздать файл подкачки. Вы должны установить защиту, потому что хранилище экземпляров выживает после перезагрузки, то есть вам не нужно и не нужно заново создавать файл подкачки при перезагрузке, просто с реальными циклами остановки / запуска.


Фон

Хранилище экземпляров раньше было единственным вариантом хранения, когда Amazon EC2 был впервые представлен, но, к счастью, возникающие серьезные ограничения для повседневного использования были исправлены с помощью Amazon Elastic Block Store (EBS), который вы используете соответственно. Эрик Хаммонд недавно представил отличную сводку, почему вы должны использовать загрузочные инстансы EBS на Amazon EC2, обращаясь к этой самой теме:

Если вы только начинаете работать с Amazon EC2, используйте загрузочные экземпляры EBS и перестаньте читать эту статью. Забудьте, что вы когда-либо слышали о инстанс-магазине, и примите мои извинения, что я только что упомянул это. Когда вы полностью освоитесь с использованием загрузочных экземпляров EBS на EC2, вы можете (а можете и не захотеть) вернуться сюда и прочитать, почему вы приняли правильное решение.

Другие вопросы по тегам