Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:руководство_по_ubuntu_server:виртуализация:jeos_and_vmbuilder [2012/09/23 08:56] [Определение вашей виртуальной машины] |
wiki:руководство_по_ubuntu_server:виртуализация:jeos_and_vmbuilder [2012/09/29 18:07] (текущий) |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
<style float-right> | <style float-right> | ||
[[wiki:руководство_по_ubuntu_server:виртуализация:libvirt|<-назад]] | | [[wiki:руководство_по_ubuntu_server:виртуализация:libvirt|<-назад]] | | ||
- | [[wiki:руководство_по_ubuntu_server:виртуализация:uec|далее->]]</style> | + | [[wiki:руководство_по_ubuntu_server:виртуализация:ubuntu_cloud|далее->]]</style> |
=====JeOS и vmbuilder===== | =====JeOS и vmbuilder===== | ||
Строка 12: | Строка 12: | ||
===Что такое JeOS== | ===Что такое JeOS== | ||
- | Ubuntu JeOS (произносится как %%"Juice" - "джус"%%) является эффективным вариантом операционной системы Ubuntu Server, настроенной специально для виртуальных применений. Она более не доступна для загрузки в виде CDROM ISO, а только как одна из опций: | + | Ubuntu **JeOS** (произносится как %%"Juice" - "джус"%%) является эффективным вариантом операционной системы Ubuntu Server, настроенной специально для виртуальных применений. Она более не доступна для загрузки в виде CDROM ISO, а только как одна из опций: |
-- Либо во время установки с Server Edition ISO (нажатие F4 на первом экране позволит выбрать вам минимальную установку, что соответствует выбору пакетов, эквивалентному JeOS). | -- Либо во время установки с Server Edition ISO (нажатие F4 на первом экране позволит выбрать вам минимальную установку, что соответствует выбору пакетов, эквивалентному JeOS). | ||
-- Либо может быть создана с использованием Ubuntu **vmbuilder**, как будет описано здесь. | -- Либо может быть создана с использованием Ubuntu **vmbuilder**, как будет описано здесь. | ||
- | **JeOS** - это специализированная установка редакции Ubuntu Server с настроенным ядром, которое содержит только базовые элементы, требуемые для запуска виртуализированной среды. | + | **JeOS** - это специализированная установка редакции Ubuntu Server с настроенным ядром, которое содержит только базовые элементы, требуемые для запуска среды виртуализации. |
- | Ubuntu JeOS настроена для получения преимущества от ключевых технологий производительности в новейших продуктах виртуализации от **VMware**. Эта комбинация минимального размера и оптимизированной производительности гарантирует, что редакция Ubuntu JeOS предоставляет эффективное использование серверных ресурсов при развертывании больших виртуальных сред. | + | Ubuntu **JeOS** настроена для получения преимущества от ключевых технологий производительности в новейших продуктах виртуализации от **VMware**. Эта комбинация минимального размера и оптимизированной производительности гарантирует, что редакция Ubuntu **JeOS** предоставляет эффективное использование серверных ресурсов при развертывании больших виртуальных сред. |
- | Без излишних драйверов, а только используя минимально необходимые пакеты, независимые поставщики ПО (ISV - independent software vendor) могут настроить поддерживаемую ОС исключительно как им требуется. Они могут быть спокойны, что обновления как по соображениям безопасности, так и улучшений, будут ограничены абсолютным минимумом того, что требуется для их специфического окружения. В итоге: пользователи, разворачивающие виртуальные среды, построенные на основе JeOS, будут проходить через минимальные обновления и тем самым уменьшать время обслуживания по сравнению со стандартной полной установкой сервера. | + | Без излишних драйверов, а только используя минимально необходимые пакеты, независимые поставщики ПО (ISV - independent software vendor) могут настроить поддерживаемую ОС исключительно как им требуется. Они могут быть спокойны, что обновления, как по соображениям безопасности, так и улучшений, будут ограничены абсолютным минимумом того, что требуется для их специфического окружения. В итоге: пользователи, разворачивающие виртуальные среды, построенные на основе **JeOS**, будут проходить через минимальные обновления и тем самым уменьшать время обслуживания по сравнению со стандартной полной установкой сервера. |
===Что такое vmbuilder=== | ===Что такое vmbuilder=== | ||
Строка 147: | Строка 147: | ||
==Пользователь и пароль== | ==Пользователь и пароль== | ||
- | Снова настраивая виртуальное решение, вам может потребоваться предоставить пользователя и пароль по умолчанию, которые в общем случае вы можете включить в вашу документацию. Позже в этом руководстве мы рассмотрим как обеспечить некоторую безопасность, определив в сценарии, что при первом подключении к решению, помимо прочего, запросить у него смену пароля. В данном примере будем использовать 'user' в качестве имени пользователя, а 'default' в качестве пароля. | + | Снова настраивая виртуальное решение, вам может потребоваться предоставить пользователя и пароль по умолчанию, которые в общем случае вы можете включить в вашу документацию. Позже в этом руководстве мы рассмотрим как обеспечить некоторую безопасность, определив в сценарии, что при первом подключении пользователя к решению, помимо прочего, у него нужно запросить смену пароля. В данном примере будем использовать 'user' в качестве имени пользователя, а 'default' в качестве пароля. |
Для этого мы используем следующие параметры: | Для этого мы используем следующие параметры: | ||
Строка 200: | Строка 200: | ||
==Кеширование пакетов== | ==Кеширование пакетов== | ||
- | When vmbuilder creates builds your system, it has to go fetch each one of the packages that composes it over the network to one of the official repositories, which, depending on your internet connection speed and the load of the mirror, can have a big impact on the actual build time. In order to reduce this, it is recommended to either have a local repository (which can be created using apt-mirror) or using a caching proxy such as apt-proxy. The later option being much simpler to implement and requiring less disk space, it is the one we will pick in this tutorial. To install it, simply type: | + | Когда **vmbuilder** создает сборку вашей системы, он вынужден запрашивать каждый из пакетов, который в нее входит, по сети с одного из официальных хранилищ (репозиториев), что, в зависимости от скорости вашего соединения с интернетом и загруженности зеркала, может сильно увеличивать время сборки вашего решения. Чтобы уменьшить это время, рекомендуется либо использовать локальное хранилище (которое может быть создано с помощью **apt-mirror**), либо использовать кеширующий прокси, такой как **apt-proxy**. Последний вариант намного проще в реализации и требует меньше места на диске, и поэтому мы выбрали такой вариант для данного руководства. Чтобы установить его, просто наберите: |
- | + | <code>sudo apt-get install apt-proxy</code> | |
- | sudo apt-get install apt-proxy | + | Как только процесс завершится, ваш (пустой) прокси готов к использованию по адресу %%http://mirroraddress:9999%% и хранилище ubuntu можно будет искать в каталоге /ubuntu. Чтобы **vmbuilder** использовал его, мы должны добавить опцию **//%%--mirror%%//**: |
- | + | ||
- | Once this is complete, your (empty) proxy is ready for use on %%http://mirroraddress:9999%% and will find ubuntu repository under /ubuntu. For vmbuilder to use it, we'll have to use the --mirror option: | + | |
<code> | <code> | ||
--mirror=URL Use Ubuntu mirror at URL instead of the default, which | --mirror=URL Use Ubuntu mirror at URL instead of the default, which | ||
Строка 212: | Строка 209: | ||
otherwise | otherwise | ||
</code> | </code> | ||
- | + | Таким образом мы добавляем к нашей команде: | |
- | So we add to the command line: | + | <code>--mirror http://mirroraddress:9999/ubuntu</code> |
- | + | <note>Адрес зеркала, указанный здесь, будет также использован в **/etc/apt/sources.list** нашей заново созданной гостевой системы, поэтому полезно указывать адрес, который будет определяться гостевой системой, либо нужно планировать сбросить этот адрес впоследствии.</note> | |
- | <code> | + | |
- | --mirror http://mirroraddress:9999/ubuntu | + | |
- | </code> | + | |
- | + | ||
- | The mirror address specified here will also be used in the /etc/apt/sources.list of the newly created guest, so it is useful to specify here an address that can be resolved by the guest or to plan on reseting this address later on. | + | |
==Установка локального зеркала== | ==Установка локального зеркала== | ||
- | If we are in a larger environment, it may make sense to setup a local mirror of the Ubuntu repositories. The package apt-mirror provides you with a script that will handle the mirroring for you. You should plan on having about 20 gigabyte of free space per supported release and architecture. | + | При более объемной инфраструктуре имеет смысл установить локальное зеркало хранилищ Ubuntu. Пакет **apt-mirror** проставляется со сценарием, который будет поддерживать зеркалирование для вас. Вам требуется запланировать приблизительно по 20 гигабайт свободного места на поддержку каждого выпуска и архитектуры. |
- | + | ||
- | By default, apt-mirror uses the configuration file in /etc/apt/mirror.list. As it is set up, it will replicate only the architecture of the local machine. If you would like to support other architectures on your mirror, simply duplicate the lines starting with “deb”, replacing the deb keyword by /deb-{arch} where arch can be i386, amd64, etc... For example, on an amd64 machine, to have the i386 archives as well, you will have (some lines have been split to fit the format of this document): | + | |
+ | По умолчанию **apt-mirror** использует файл конфигурации /etc/apt/mirror.list. В соответствии с тем, как это настраивается, он будет повторять только архитектуру локальной машины. Если вы желаете поддерживать другие архитектуры на вашем зеркале, просто дублируйте строки, начинающиеся с %%"deb"%%, заменяя ключевое слово в /deb-{arch}, где arch может быть i386, amd64 и пр. Например, на amd64 машине чтобы хранить также i386 архивы, вы должны иметь следующий список (некоторые строки разбиты на несколько, чтобы соответствовать формату документа): | ||
<code> | <code> | ||
deb http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse | deb http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse | ||
- | /deb-i386 http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse | + | /deb-i386 http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse |
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse | deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse | ||
- | /deb-i386 http://archive.ubuntu.com/ubuntu precise-updates main | + | /deb-i386 http://archive.ubuntu.com/ubuntu precise-updates main |
restricted universe multiverse | restricted universe multiverse | ||
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse | deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse | ||
- | /deb-i386 http://archive.ubuntu.com/ubuntu precise-backports main | + | /deb-i386 http://archive.ubuntu.com/ubuntu precise-backports main |
restricted universe multiverse | restricted universe multiverse | ||
deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse | deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse | ||
- | /deb-i386 http://security.ubuntu.com/ubuntu precise-security main | + | /deb-i386 http://security.ubuntu.com/ubuntu precise-security main |
restricted universe multiverse | restricted universe multiverse | ||
deb http://archive.ubuntu.com/ubuntu precise main/debian-installer | deb http://archive.ubuntu.com/ubuntu precise main/debian-installer | ||
restricted/debian-installer universe/debian-installer multiverse/debian-installer | restricted/debian-installer universe/debian-installer multiverse/debian-installer | ||
- | /deb-i386 http://archive.ubuntu.com/ubuntu precise main/debian-installer | + | /deb-i386 http://archive.ubuntu.com/ubuntu precise main/debian-installer |
restricted/debian-installer universe/debian-installer multiverse/debian-installer | restricted/debian-installer universe/debian-installer multiverse/debian-installer | ||
</code> | </code> | ||
- | Notice that the source packages are not mirrored as they are seldom used compared to the binaries and they do take a lot more space, but they can be easily added to the list. | + | Обратите внимание что пакеты с исходными кодами не зеркалируются, поскольку они реже используются по сравнению с программами и занимают значительно больше места, но они могут быть легко добавлены в этот список. |
- | Once the mirror has finished replicating (and this can be quite long), you need to configure Apache so that your mirror files (in /var/spool/apt-mirror if you did not change the default), are published by your Apache server. For more information on Apache see HTTPD - Apache2 Web Server. | + | Когда зеркало закончит копирование (а это может длиться достаточно долго), вам потребуется настроить Apache таким образом, чтобы ваши файлы (в каталоге /var/spool/apt-mirror, если вы ничего не меняли) были опубликованы вашим Apache сервером. Для дополнительной информации смотрите раздел [[wiki:руководство_по_ubuntu_server:web_сервера:httpd_apache2_web_server|HTTPD - Apache2 интернет сервер]]. |
- | ====Package the Application==== | + | ====Упаковка приложения==== |
- | Two option are available to us: | + | Нам доступны два варианта: |
- | The recommended method to do so is to make a Debian package. Since this is outside of the scope of this tutorial, we will not perform this here and invite the reader to read the documentation on how to do this in the Ubuntu Packaging Guide. In this case it is also a good idea to setup a repository for your package so that updates can be conveniently pulled from it. See the Debian Administration article for a tutorial on this. | + | -- Рекомендуемый метод - создать пакет Debian. Поскольку это выходит за рамки данного руководства, мы не будем описывать это здесь и приглашаем почитать как это делается в руководстве [[http://developer.ubuntu.com/packaging/html/|Ubuntu Packaging Guide]]. В этом случае будет хорошей идеей организовать хранилище (репозиторий) для вашего пакета, чтобы обновления могли удобно забираться из него. Смотрите статью [[http://www.debian-administration.org/articles/286|Debian Administration]] в качестве руководства по этой теме. |
+ | -- Вручную установить приложение в каталоге /opt, как рекомендовано [[http://www.pathname.com/fhs/|установками FHS]]. | ||
- | Manually install the application under /opt as recommended by the FHS guidelines. | + | В нашем случае мы будем использовать **//Limesurvey//** в качестве примера web приложения, для которого мы собираемся предоставить виртуальное решение. Как отмечалось ранее, мы создадим версию пакета, доступную в PPA. |
- | In our case we'll use Limesurvey as example web application for which we wish to provide a virtual appliance. As noted before, we've made a version of the package available in a PPA (Personal Package Archive). | + | ====Полезные дополнения==== |
- | ====Useful Additions==== | + | ===Настройка автоматических обновлений=== |
- | ===Configuring Automatic Updates== | + | Чтобы ваша система была настроена на регулярные обновления, мы лишь установим **unattended-upgrades**, для чего мы добавим следующую опцию в строку нашей команды: |
+ | <code>--addpkg unattended-upgrades</code> | ||
+ | Поскольку мы помещаем пакет нашего приложения в PPA, процесс будет обновлять не только систему, но и наше приложение каждый раз, как мы обновим его в PPA. | ||
- | To have your system be configured to update itself on a regular basis, we will just install unattended-upgrades, so we add the following option to our command line: | + | ===Обработка событий ACPI=== |
- | --addpkg unattended-upgrades | + | Для того, чтобы ваша виртуальная машина могла обрабатывать события перезагрузки и выключения, которые будут ей посылаться, хорошей мыслью будет установить также пакет **acpid**. Чтобы сделать это просто добавьте следующую опцию: |
+ | <code>--addpkg acpid</code> | ||
- | As we have put our application package in a PPA, the process will update not only the system, but also the application each time we update the version in the PPA. | + | ====Окончательный вариант команды==== |
- | + | ||
- | ===ACPI Event Handling=== | + | |
- | + | ||
- | For your virtual machine to be able to handle restart and shutdown events it is being sent, it is a good idea to install the acpid package as well. To do this we just add the following option: | + | |
- | + | ||
- | --addpkg acpid | + | |
- | + | ||
- | ====Final Command==== | + | |
- | + | ||
- | Here is the command with all the options discussed above: | + | |
+ | Здесь приведена окончательная версия команды со всеми опциями, обсуждавшимися выше: | ||
<code> | <code> | ||
sudo vmbuilder kvm ubuntu --suite precise --flavour virtual --arch i386 -o \ | sudo vmbuilder kvm ubuntu --suite precise --flavour virtual --arch i386 -o \ | ||
Строка 296: | Строка 282: | ||
</code> | </code> | ||
- | ====Resources==== | + | ====Ссылки==== |
- | + | ||
- | If you are interested in learning more, have questions or suggestions, please contact the Ubuntu Server Team at: | + | |
- | + | ||
- | IRC: #ubuntu-server on freenode | + | |
- | + | ||
- | Mailing list: ubuntu-server at lists.ubuntu.com | + | |
- | Also, see the JeOSVMBuilder Ubuntu Wiki page. | + | Если вы заинтересованы в дальнейшем изучении темы, имеете вопросы или предложения, пожалуйста, свяжитесь с командой Ubuntu Server одним из способов: |
+ | -- IRC канал **//#ubuntu-server//** на [[http://freenode.net/|freenode]]. | ||
+ | -- Список рассылки [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-server|ubuntu-server на lists.ubuntu.com]]. | ||
+ | -- Или посетите страницу [[https://help.ubuntu.com/community/JeOSVMBuilder|JeOSVMBuilder Ubuntu Wiki]]. | ||
---- | ---- | ||
Строка 311: | Строка 294: | ||
<style float-right> | <style float-right> | ||
[[wiki:руководство_по_ubuntu_server:виртуализация:libvirt|<-назад]] | | [[wiki:руководство_по_ubuntu_server:виртуализация:libvirt|<-назад]] | | ||
- | [[wiki:руководство_по_ubuntu_server:виртуализация:uec|далее->]]</style> | + | [[wiki:руководство_по_ubuntu_server:виртуализация:ubuntu_cloud|далее->]]</style> |