Как экземпляр Amazon EC2 выбирает свое ядро? - PullRequest
15 голосов
/ 16 января 2009

У меня есть экземпляр Amazon EC2, использующий поставляемый Amazon 64-битный AMI Fedora 8, который я хотел бы обновить до Fedora 10.

Я попытался сделать это, запустив «yum update» для обновления ядра и всех пакетов. Кажется, это работает нормально, и я вижу, что у меня теперь установлено ядро ​​fc10, и все мои установленные пакеты также обновлены до версий Fedora 10.

Тем не менее, я также заметил, что ядро ​​fc8 все еще установлено, и когда я перезагружаю свой образ, он возвращается с ядром fc8, а не с ядром fc10 (это вывод из вывода «uname -a») .

Есть ли какие-то дополнительные шаги, которые мне нужно предпринять, чтобы мой образ загрузился под ядром fc10, или это вообще возможно? Документация Amazon не принесла ничего полезного для меня.

Ответы [ 6 ]

8 голосов
/ 28 января 2011

Вы можете создать свой собственный AMI, но вам нужно использовать ядра, поставляемые Amazon. Самое новое, что они предоставляют, это 2.6.21. У меня есть список ядер fc (Fedora Core), которые я использую для экземпляров CentOS. Я уверен, что они хорошо работают и с Ubuntu.

Вы захотите добавить их в свой AMI, когда зарегистрируете его с помощью ec2-register. Они могут быть изменены во время запуска экземпляра, но мне нравится иметь надлежащие AKI (ядро) и ARI (рамдиск) для начала. Добавление поддержки эфемерных дисков также полезно. Вы платите за дополнительное хранилище с более крупными экземплярами, вы также можете его использовать. Мое волшебное заклинание для ec2-регистра:

ec2-register --snapshot snap-12345678 -K pk-XXXXXXXXXXX.pem -C cert-XXXXXXXXXXX.pem \
--description "EBS CentOS 5.5 i386" --name "base-image-i386-4" --architecture i386 \
--root-device-name /dev/sda1 -b /dev/sdb=ephemeral0 -b /dev/sdc=ephemeral1 \
-b /dev/sdd=ephemeral2 -b /dev/sde=ephemeral3 --region us-east-1 \
--kernel aki-6eaa4907 --ramdisk ari-e7dc3c8e

Вы можете изменить регион, идентификатор снимка, описание, имя, арку и т. Д.

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

2.6.21 ядра доступны как:

Регион США:

32-бит:

* aki-6eaa4907
* ari-e7dc3c8e
* ami-48aa4921

64-битный:

* aki-a3d737ca
* ari-4fdf3f26
* ami-f61dfd9f

Регион ЕС:

* * Тысяча двадцать-одина 32-бит: * * тысяча двадцать-дв
* aki-02486376
* ari-aa6348de
* ami-0a48637e

64-битный:

* aki-f2634886
* ari-a06348d4
* ami-927a51e6

AP Region:

64-битный:

* aki-07f58a55
* ari-27f58a75
* ami-ddf58a8f

32-бит

* aki-01f58a53
* ari-25f58a77
* ami-c3f58a91
5 голосов
/ 16 июня 2010

Вы не можете загрузить свой собственный образ ядра в EC2 / Amazon. Только авторизованные пользователи могут загружать образы ядра. Даже когда вы загружаете свой собственный образ ОС Linux и загружаетесь с него в EC2, загружается заранее определенное ядро, которое отличается от того, которое вы загрузили изначально. Это политическое решение, принятое Amazon. Максимум, что вы можете сделать, - это изменить версию ядра по умолчанию, выбрав из списка заранее определенных и доступных ядер amazon, с которыми вы хотите, чтобы ваш экземпляр загружался.

Вы можете однако собрать свои собственные модули ядра или пересобрать те для ядра, которое загружается. Компиляция вашего собственного модуля или перекомпиляция модулей, предоставляемых загружаемым ядром, становится немного сложнее, поскольку ядро ​​в amazon является модифицированным с гипервизором Xen. Вам нужно узнать конкретный исходный код ядра, который загружается в вашем экземпляре.

Приветствия

Эрнесто Бенедито

4 голосов
/ 16 января 2009

Похоже, вы не можете. Этот парень пытался, но пока не удалось.

http://developer.amazonwebservices.com/connect/thread.jspa?messageID=72964#72964

2 голосов
/ 10 февраля 2009

Технически, по крайней мере, до недавнего времени вы не могли выбрать ядро. Вы можете только выбрать, какие модули вы получаете для упаковки в образе. Amazon сохраняет полный контроль над ядром. Это, вероятно, необходимо, потому что виртуализация Xen должна взаимодействовать с ядром особым образом.

В последних обновлениях (несколько месяцев назад, в прошлый раз, когда я проверял), Amazon расширил некоторые из своих API и инструментов, чтобы вы могли выбрать одно из нескольких предоставляемых ими ядер. Например, вы можете выбрать между 2.6.16 и 2.6.18.

Выглядело так, как будто со временем может появиться поддержка для создания вашего собственного "образа ядра", но необходимые для этого инструменты были неполными. Я предполагаю, что они (Amazon) предоставляли эту возможность только специальным партнерам, поскольку я видел несколько сторонних образов, которые имели специальные связанные образы ядра.

1 голос
/ 26 января 2009

Вероятно, вам лучше всего создать свой собственный AMI; ядро, которое вы получаете при загрузке AMI, - это ядро, которое работало при создании AMI.

1 голос
/ 16 января 2009

По моему опыту с OpenSolaris AMI, это невозможно. Инструмент pkg image-update также отключен в среде EC2, чтобы точно предотвратить это. Причина может заключаться в том, что каждое изображение связано с определенным виртуальным диском и ядром (aki и ari). И они не могут быть обновлены до новых. Я думаю, что это верно и для других AMI, как это наблюдалось в вашем случае.

...