Помните, что 'облако' является просто модным словечком, намеренно неопределенным для обращения почти к любому виду установки. Так, необходимо сначала разделить яблоки и апельсины. К счастью, некоторые немного более точные условия появляются.
Во-первых, вид большой тройки сервисов:
определения:
Очень связанное предложение является устройством хранения данных (Amazon S3, Rackspace 'облачные файлы', облачное хранилище GoGrid, и т.д.), и недавно базы данных (Google, амазонка), диспетчеры очереди (Amazon, Google). Вы могли сказать, что это просто SaaS; но обычно они не очень полезны собой, таким образом, они обычно замечаются (и продаются) как часть платформы, чтобы быть добавленным к PaaS или IaaS.
Хорошо, со всеми этими классификациями, можно просто запланировать требования и проверить каждого поставщика для наблюдения, какие части предлагаются, в том, какие цены, и если они готовы использоваться, или если потребность некоторая дополнительная работа.
Например, устройство хранения данных GoGrid может просто быть смонтировано через Samba или скопировано rsync. Трафик между экземпляром сервера и устройством хранения данных не измерен. Это делает это очень простым в использовании. Файлы Rackspace, OTOH, больше похожи на Amazon: Вы получаете API в файлы чтения-записи и можете дополнительно сделать их видимыми к миру через HTTP, таким образом, Вы можете, например, изображения хранилища или видеофайлы, непосредственно упомянутые от Ваших веб-страниц. Трафик измеряется, но стоится на ГБ, способ, которым ниже... Вы получаете идею.
Проверьте /etc/fstab
файл, они, вероятно, были настроены без, загружают изображение, которое Вы используете. Я думаю некоторые люди, выполненные без подкачки для серверов, так как они ожидают никогда не использовать больше, чем общая память - свопинг заставляет все супер замедлиться.
Однако я всегда параноик о некотором процессе, увеличивающемся в памяти, таким образом, я думаю, что это было бы благоразумно из Вас просто настроить диск подкачки и воссоздало бы изображение от выполнения ec2 экземпляр.
Вы правы, изображения EBS Ubuntu EC2 не идут с настроенной областью подкачки (для 11,04, по крайней мере). "Обычные" изображения типа экземпляра действительно имеют раздел подкачки, хотя только 896 МБ на том я протестировал.
Если некоторый процесс аварийно завершается, и у Вас нет области подкачки, Ваш сервер мог бы прийти к останову сканирования довольно долгое время, прежде чем уничтожитель OOM умрет, тогда как с подкачкой, это просто становится медленным. По этой причине мне всегда нравится иметь область подкачки вокруг, даже с достаточным количеством RAM. Вот Ваши опции:
Создайте объем EBS (2-4 раза размер Вашей RAM), присоедините его к своему экземпляру (мне нравится называть это/dev/xvdm для "памяти"), sudo mkswap /dev/xvdm
, добавьте его к fstab, sudo swapon -a
, и Вы хороши для движения. Я сделал это прежде, и это хорошо работает, но это, вероятно, немного медленнее, чем хранилище экземпляра, потому что это пробегается через сеть.
Или Вы смогли повторно делить свой диск для добавления раздела подкачки, хотя это могло бы потребовать создания нового AMI. Я не смог сделать это в рабочем экземпляре, потому что я не могу размонтировать корневую файловую систему, и у меня даже нет доступа к дисковому устройству (/dev/xvda), только раздел (xvda1).
Или можно создать файл подкачки. Это - мое предпочтительное решение прямо сейчас.
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048 &&
sudo chmod 600 /var/swapfile &&
sudo mkswap /var/swapfile &&
echo /var/swapfile none swap defaults 0 0 | sudo tee -a /etc/fstab &&
sudo swapon -a
Готово. :) Я знаю, что много людей чувствует себя неприглядным об использовании файлов вместо разделов, но оно, конечно, работает достаточно хорошо чрезвычайной областью подкачки.
Примечание : Amazon изменила свою ценовую политику , и не взимает плату за запросы ввода-вывода с середины 2016 года. Ответ сохранен здесь по историческим причинам, но использование (или неиспользование) свопа на инстансах с поддержкой EC2 EBS не связано с затратами.
Это сделано намеренно. Подкачка отключена по умолчанию для инстансов с поддержкой EC2 EBS, чтобы избежать непредсказуемых затрат.
Если у вас есть приложение, требующее много памяти, которое выходит из строя (скажем, на крошечном или маленьком экземпляре), оно может генерировать довольно большой объем запросов ввода-вывода на томе EBS. Amazon взимает 0,10 доллара США за 1 миллион запросов ввода-вывода (см. http://aws.amazon.com/pricing/ebs/ ) .
В нормальных условиях вы не должны беспокоиться об этом; Обычно стоимость запросов ввода-вывода даже на небольших экземплярах составляет несколько долларов, если так. Итак, если вы знаете, что у вас есть экземпляр правильного размера и этот своп будет использоваться нечасто, вперед и включите его. Но будьте осторожны с крошечными экземплярами.
Если вы включите свопинг, вы можете следить за отчетами об использовании. При желании вы также можете настроить оповещение о выставлении счетов, перейдя в Панель управления CloudWatch и создав новый сигнал для общей суммы выставленного счета. Таким образом, вы сразу же получите уведомление о том, что с вашими экземплярами происходит что-то странное.
ИМХО, лучшее место для свопа - это хранилище экземпляров. Почему? AWS не взимает плату за ввод-вывод в хранилище экземпляров. Кроме того, во многих случаях хранилище экземпляров более производительно, чем EBS. Просто убедитесь, что у вас есть сценарий, который воссоздает файл подкачки на случай, если вы остановите экземпляр. Перезагрузки в порядке. Почему, почему его нет по умолчанию?
Давайте найдем хранилище экземпляров.
root@domU-**-**-**-**-**-**:/var/log# fdisk -l
[...]
Disk /dev/xvda2: 160.1 GB, 160104972288 bytes
255 heads, 63 sectors/track, 19464 cylinders, total 312705024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/xvda2 doesn't contain a valid partition table
Ура, 160,1 ГБ бесплатно! Поместите туда свой своп и забудьте о перерасходе 100 долларов на сервер, когда ваш своп на основе EBS по ошибке роится. Здесь говорится о неудачном опыте.
Очевидно, в некоторых случаях вы не видите хранилище экземпляров.
В зависимости от типа экземпляра, вам сначала нужно присоединить тома хранилища экземпляров к экземпляру с помощью блочного устройства- варианты отображения. Если вы этого не сделаете, вы можете даже не видеть устройства в / dev (согласно Как использовать хранилище «Instance Store Volumes» в Amazon EC2? )