Как экземпляр Amazon EC2 выбирает его ядро?
У меня есть экземпляр Amazon EC2 с использованием 64-разрядного AMI с Fedora 8 с поддержкой Amazon, который я бы хотел обновить до Fedora 10.
Я попытался сделать это, запустив "yum update" для обновления ядра и всех пакетов. Кажется, что это работает нормально, и я вижу, что теперь у меня установлено ядро fc10, и все мои установленные пакеты также были обновлены до версий Fedora 10.
Однако я также заметил, что ядро fc8 по-прежнему установлено, и когда я перезагружаю свой образ, он возвращает ядро fc8, а не ядро fc10 (я вывел это из вывода "uname -a" ).
Есть ли еще несколько шагов, которые нужно предпринять, чтобы загрузить изображение под ядром fc10, или это даже возможно? Документация Amazon не принесла мне ничего полезного.
Ответы
Ответ 1
Вы можете создать свой собственный AMI, но вам нужно использовать ядра, поставляемые Amazon. Новейшие они обеспечивают 2.6.21. У меня есть список ядер fc (Fedora Core), которые я использую для экземпляров CentOS. Я уверен, что они отлично работают с Ubuntu.
Вы захотите испечь их в свой AMI, когда зарегистрируете его с помощью ec2-register. Они могут быть изменены во время запуска экземпляра, но мне нравится иметь правильные AKI (ядро) и ARI (ramdisk) для начала. Также полезно поддерживать поддержку эфемерных дисков. Вы платите за дополнительное хранилище с более крупными экземплярами, вы также можете его использовать. Мое волшебное заклинание для ec2-register:
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
Вы можете изменить регион, идентификатор моментального снимка, описание, имя, арку и т.д.
Также помните, что ядра и ramdisks относятся к региону. Я не могу вспомнить, где я получил этот список, но мне не удалось его найти. Надеюсь, это поможет кому-то.
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:
64-бит:
* aki-07f58a55
* ari-27f58a75
* ami-ddf58a8f
32-битный
* aki-01f58a53
* ari-25f58a77
* ami-c3f58a91
Ответ 2
Похоже, вы не можете. Этот парень пытался, но еще не успел.
http://developer.amazonwebservices.com/connect/thread.jspa?messageID=72964#72964
Ответ 3
Вы не можете загрузить свое собственное изображение ядра в EC2/Amazon. Только авторизованные пользователи могут загружать изображения ядра.
Даже когда вы загружаете свой образ ОС Linux и загружаете его в EC2, загружается предопределенное ядро, которое не совпадает с загруженным вами ранее. Это политическое решение, принятое Amazon. Самое большее, что вы можете сделать, это изменить версию ядра по умолчанию, выбрав из списка предварительно определенных и доступных ядер амазонок, которые вы хотите, чтобы ваш экземпляр загрузился.
Однако вы можете создать свой собственный модуль (модули) ядра или перестроить его для загружаемого ядра. Компиляция собственного модуля или перекомпиляция модулей, предоставляемых загружаемым ядром, немного сложнее, поскольку ядро в amazon является модифицированным с гипервизором Xen. Вам нужно узнать конкретный исходный код ядра, который загружается в ваш экземпляр.
Приветствия
Эрнесто Бенедито
Ответ 4
Технически, по крайней мере до недавнего времени вы не могли выбрать ядро. Вы можете выбрать только те модули, которые вы хотите упаковать на изображении. Amazon сохраняет полный контроль над ядром. Это, вероятно, необходимо, поскольку виртуализация Xen должна взаимодействовать с ядром каким-то особым образом.
В последних обновлениях (несколько месяцев назад, в прошлый раз, когда я проверил), Amazon расширила некоторые из своих API и инструментов, чтобы вы могли выбрать один из нескольких ядер, которые они предоставляют. Например, вы можете выбирать между 2.6.16 и 2.6.18.
Казалось, что в конечном итоге может быть поддержка для создания собственного "образа ядра", но необходимые для этого инструменты не были полными. Я предполагаю, что они (Amazon) предоставляли эту возможность только специальным партнерам, поскольку я видел несколько сторонних образов, которые имели специальные связанные изображения ядра.
Ответ 5
По моему опыту с AMI OpenSolaris это невозможно. Инструмент обновления pkg также отключается в среде EC2, чтобы точно предотвратить это. Причиной может быть то, что каждое изображение связано с конкретным ramdisk и ядром (aki и ari). И они не могут быть обновлены до новых. Я думаю, это справедливо и для других ОИМ, как это наблюдалось в вашем случае.
Ответ 6
Вероятно, ваш лучший выбор - создать свой собственный AMI; ядро, которое вы получаете при загрузке AMI, - это то, какое ядро запускалось при создании AMI.