Своп исчезает при остановке экземпляра, поддерживаемого ebs. - PullRequest
3 голосов
/ 16 февраля 2012

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

У меня есть экземпляр 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 Ответ

6 голосов
/ 21 апреля 2012

В то время как используемый экземпляр 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, вы можете (а можете и не захотеть) вернуться сюда и прочитать, почему вы приняли правильное решение.

...