xg-scale
diff xen/installation.tex @ 1:6f6e0f706b86
Added tag v0.1 for changeset 4730a0d07d88
author | Igor Chubin <igor@chub.in> |
---|---|
date | Tue Jul 01 16:28:00 2008 +0300 (2008-07-01) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/xen/installation.tex Tue Jul 01 16:28:00 2008 +0300 1.3 @@ -0,0 +1,347 @@ 1.4 +\section{Инсталляция Xen} 1.5 + 1.6 +На этой странице 1.7 +описывается процедура подготовки 1.8 +Linux-машины 1.9 +для использования в качестве 1.10 +хост-системы (домена 0) Xen. 1.11 +Хост система работает под управлением Debian GNU/Linux. 1.12 + 1.13 +\subsection{Начальные требования} 1.14 +<graphviz> 1.15 +digraph G \{ 1.16 +\begin{verbatim} 1.17 +node [shape=rectangle]; 1.18 +a [label="Подготовка\nдомена 0",bgcolor=cyan,style=filled]; 1.19 +b [label="Подготовка\nдомена U"]; 1.20 +c [label="Запуск и эксплуатация\nсистемы"]; 1.21 +a -> b; 1.22 +b -> c; 1.23 +\end{verbatim} 1.24 +\} 1.25 +</graphviz> 1.26 + 1.27 +\subsection{Получение Xen} 1.28 +Xen можно получить одним из нескольких способов: 1.29 +\begin{itemize} 1.30 +\item Скачать архив исходных кодов; 1.31 +\item Получить исходный код непосредственно из репозитория Xen; 1.32 +\item Воспользоваться пакетом Xen, входящим в ваш дистрибутив Linux. 1.33 +\end{itemize} 1.34 + 1.35 +В первом и втором случае Xen нужно будет собирать из исходников, 1.36 +в третьем — в систему, как правило, установливаются уже откомпилированные 1.37 +пакеты. 1.38 + 1.39 +\subsubsection{Получение архива исходных кодов} 1.40 +Архив исходных кодов можно скачать со страницы: 1.41 +\begin{itemize} 1.42 +\item http://xen.xensource.com/download/ 1.43 +\end{itemize} 1.44 + 1.45 +\subsubsection{Получение Xen из репозитория Mercurial} 1.46 +Для получения кода Xen непосредственно из репозитория 1.47 +необходимо установить \textbf{mercurial}. 1.48 +После того как он установлен, 1.49 +код можно получить с помощью команды: 1.50 + 1.51 +\begin{verbatim} 1.52 +node [shape=rectangle]; 1.53 +a [label="Подготовка\nдомена 0",bgcolor=cyan,style=filled]; 1.54 +b [label="Подготовка\nдомена U"]; 1.55 +c [label="Запуск и эксплуатация\nсистемы"]; 1.56 +a -> b; 1.57 +b -> c; 1.58 +\end{verbatim} 1.59 + 1.60 +(здесь вместо версии 3.1 должна быть указана интересующая версия) 1.61 + 1.62 +Или, для получения последнего среза unstable: 1.63 +\begin{verbatim} 1.64 + libncurses5-dev gawk libx11-dev zlib1g-dev libssl-dev python-dev 1.65 +\end{verbatim} 1.66 + 1.67 +Для сборки в Debian GNU/Linux 1.68 +необходимо установить пакеты: 1.69 +\begin{verbatim} 1.70 + libncurses5-dev gawk libx11-dev zlib1g-dev libssl-dev python-dev 1.71 +\end{verbatim} 1.72 + 1.73 +Процедура получения кода из репозитория Mercurial подробна описана 1.74 +на странице: 1.75 +\begin{itemize} 1.76 +\item http://www.cl.cam.ac.uk/research/srg/netos/xen/readmes/hg-cheatsheet.txt 1.77 +\end{itemize} 1.78 + 1.79 +\subsubsection{Инсталляция Xen из репозитория дистрибутива} 1.80 +Можно воспользоваться пакетами Xen, входящими непосредственно в дистрибутив 1.81 +Linux (при условии, что они входят в ваш дистрибутив). 1.82 + 1.83 +Например, для Debian GNU/Linux процедура будет такой: 1.84 + 1.85 +\begin{verbatim} 1.86 +%# apt-get install xen-hypervisor-3.0.4-1-i386 linux-image-2.6.18-4-xen-686 xen-ioemu-3.0.4-1 xen-utils-3.0.4-1 1.87 +\end{verbatim} 1.88 + 1.89 +В случае выполнения команды установятся уже откомпилированные версии пакетов. Будут установлены: 1.90 +\begin{itemize} 1.91 +\item гипервизор; 1.92 +\item ядро Linux откомпилированное под архитектуру Xen; 1.93 +\item userland утилиты для работы с Xen. 1.94 +\end{itemize} 1.95 + 1.96 +\subsection{Инсталляция Xen из архива исходных текстов} 1.97 +Список программного обеспечения, необходимого для сборки: 1.98 +\begin{itemize} 1.99 +\item GCC v3.4 or later 1.100 +\item GNU Make 1.101 +\item GNU Binutils 1.102 +\item Development install of zlib (e.g., zlib-dev) 1.103 +\item Development install of Python v2.3 or later (e.g., python-dev) 1.104 +\item Development install of curses (e.g., libncurses-dev) 1.105 +\item Development install of openssl (e.g., openssl-dev) 1.106 +\item Development install of x11 (e.g. xorg-x11-dev) 1.107 +\item bridge-utils package (/sbin/brctl) 1.108 +\item iproute package (/sbin/ip) 1.109 +\item hotplug or udev 1.110 +\end{itemize} 1.111 + 1.112 +Для Debian GNU/Linux, список такой: 1.113 + 1.114 +\begin{verbatim} 1.115 + 1.116 +\end{verbatim} 1.117 + 1.118 +\subsection{Подготовка хост-системы Xen} 1.119 +\subsubsection{Подготовка домена0} 1.120 +Пусть: 1.121 +\begin{itemize} 1.122 +\item В качестве хост-машины (dom0) будет использоваться Debian GNU/Linux. 1.123 +\item Будут использовать бинарные версии, доступные в репозитории Debian GNU/Linux. 1.124 +\end{itemize} 1.125 + 1.126 +Выполните инсталляцию бинарных версий 1.127 +утилит Xen: 1.128 + 1.129 +\begin{verbatim} 1.130 +# apt-get install xen-hypervisor-3.0-i386 xen-utils-3.0 1.131 +\end{verbatim} 1.132 + 1.133 +Версии могут отличаться; найти текущие версии можно с помощью \textbf{apt-cache}: 1.134 + 1.135 +\begin{verbatim} 1.136 +%# apt-cache search xen hypervisor 1.137 +\end{verbatim} 1.138 + 1.139 +В том случае, если в вашей машине >4GB оперативной памяти, 1.140 +используйте PAE-версию гипервизора Xen: \texttt{xen-hypervisor-3.0-i386-pae}. 1.141 + 1.142 +Проинсталлируйте программное обеспечение, 1.143 +используемое скрипта Xen для настройки сети: 1.144 + 1.145 +\begin{verbatim} 1.146 +# apt-get install iproute bridge-utils 1.147 +\end{verbatim} 1.148 + 1.149 +Отключите поддержку TLS, 1.150 +иначе работа виртуальных машин существенно замедлится. 1.151 +(этот шаг нужен только в более старых системах; в частности в дистрибутиве \textit{sarge} Debian GNU/Linux): 1.152 + 1.153 +\begin{verbatim} 1.154 +# mv /lib/tls /lib/tls.disabled 1.155 +\end{verbatim} 1.156 + 1.157 +В том случае, если вы используете Etch Debian, 1.158 +необходимо установить libc6-xen: 1.159 + 1.160 +\begin{verbatim} 1.161 +# apt-get install libc6-xen 1.162 +\end{verbatim} 1.163 + 1.164 +Подготовьте Grub к загрузке Xen. 1.165 +Такие строки должны присутствовать в конфигурационном 1.166 +файле \texttt{/boot/grub/menu.lst}: 1.167 + 1.168 +\begin{verbatim} 1.169 +title Xen 3.0 / XenLinux 2.6 1.170 +kernel /boot/xen-3.0-i386.gz 1.171 +module /boot/xen0-linux-2.6.16-xen root=/dev/hda1 ro 1.172 +\end{verbatim} 1.173 + 1.174 +Подготовьте ядро, под управлением которого будет работать домен Dom0 Xen: 1.175 +Для этого: 1.176 +\begin{itemize} 1.177 +\item Скачайте исходный код ядра Linux; 1.178 +\item Наложите на него патч Xen; 1.179 +\item Откомпилируйте изменённое ядро. 1.180 +\end{itemize} 1.181 + 1.182 +Получение ядра (используется ядро Debian GNU/Linux): 1.183 + 1.184 +\begin{verbatim} 1.185 +# apt-get install kernel-source-2.6.16 1.186 +\end{verbatim} 1.187 + 1.188 +Разархивирование ядра: 1.189 + 1.190 +\begin{verbatim} 1.191 +# cd /usr/src 1.192 +# tar xfj linux-source-2.6.16.tar.bz2 1.193 +\end{verbatim} 1.194 + 1.195 +Список патчей для ядра Debian GNU/Linux доступен здесь: https://alioth.debian.org/project/showfiles.php?group\_id=30894. 1.196 + 1.197 +Получение патча (точный адрес патча необходимо уточнить на странице, указанной выше): 1.198 + 1.199 +\begin{verbatim} 1.200 +# cd /usr/src 1.201 +# wget --no-check-certificate https://alioth.debian.org/download.php/1561/linux-2.6 1.202 +16-xen3.0.2-hg9629.patch.gz 1.203 +\end{verbatim} 1.204 + 1.205 +Наложение пачта: 1.206 + 1.207 +\begin{verbatim} 1.208 +# cd /usr/src/linux-source-2.6.16 1.209 +# zcat ../linux-2.6.16-xen3.0.2-hg9629.patch.gz | patch -p1 1.210 +patching file include/xen/interface/vcpu.h 1.211 +patching file include/xen/interface/version.h 1.212 +... 1.213 +Hunk #1 succeeded at 422 (offset 4 lines). 1.214 +Hunk #2 succeeded at 717 (offset 5 lines). 1.215 +... 1.216 +\end{verbatim} 1.217 + 1.218 +После того как патч наложен, 1.219 +можно приступить к конфигурированию и сборке ядра: 1.220 + 1.221 +\begin{verbatim} 1.222 +# make menuconfig 1.223 +[configure like a normal machine] 1.224 + 1.225 +Processor type and features ---> Subarchitecture Type (Xen-compatible) 1.226 + 1.227 +Xen ---> 1.228 +[*] Privileged Guest (domain 0) 1.229 +[*] Block-device backend driver 1.230 +[*] Network-device backend driver 1.231 +[*] Scrub memory before freeing it to Xen 1.232 +[*] Block-device frontend driver 1.233 +[*] Network-device frontend driver 1.234 +[*] Disable serial port drivers 1.235 +<*> Export Xen attributes in sysfs 1.236 +\end{verbatim} 1.237 + 1.238 +После конфигурирования, выполните сборку ядра с помощью \texttt{make-kpkg}: 1.239 + 1.240 +\begin{verbatim} 1.241 +# make-kpkg --append-to-version -xen kernel_image 1.242 +\end{verbatim} 1.243 + 1.244 +В результате должен быть получен 1.245 +пакет Debian, который можно проинсталлировать в с помощью программы \texttt{dpkg}. 1.246 + 1.247 +\begin{verbatim} 1.248 +# dpkg -i ../linux-xen0-2.6.16-xen_10.00.Custom_i386.deb 1.249 +\end{verbatim} 1.250 + 1.251 +Ядро будет проинсталлировано в каталог \texttt{/boot}. 1.252 + 1.253 +\begin{verbatim} 1.254 +/boot/xen0-linux-2.6.16-xen 1.255 +\end{verbatim} 1.256 + 1.257 +Подготовка образа initrd: 1.258 +В том случае, если вы используете при загрузке виртуальный диск initrd, 1.259 +его необходимо подготовить для работы с новым ядром. 1.260 + 1.261 +Сейчас можно выполнить перезагрузку 1.262 +системы, и загрузиться на новом ядре. 1.263 +Система будет работать под управление Xen, 1.264 +в домен Dom0. 1.265 + 1.266 +Ещё раз перепроверьте 1.267 +содержимое конфигурационного файла \texttt{/boot/grub/menu.lst} 1.268 +и перезагружайте систему. 1.269 + 1.270 +\subsubsection{Подготовка сетевого моста} 1.271 +<dl><dd> \textit{Основная статья: \textbf{Сеть в Xen}} 1.272 +</dd></dl> 1.273 + 1.274 +По умолчанию пакеты Debian Xen 1.275 +не модифицируют сетевые настройки при инсталляции. 1.276 + 1.277 +Необходимо добавить мост \texttt{br-xen} 1.278 +в файлы \texttt{/etc/network/interfaces}. 1.279 + 1.280 +\begin{verbatim} 1.281 +auto br-xen 1.282 +iface br-xen inet static 1.283 + address 192.168.12.25 1.284 + netmask 255.255.255.0 1.285 + gateway 192.168.12.1 1.286 + bridge_ports eth0 1.287 + # optional 1.288 + bridge_maxwait 0 1.289 +\end{verbatim} 1.290 + 1.291 +Дополнительные сведения о конфигурировании сетевых мостов в Linux, 1.292 +можно узнать в файле \texttt{/usr/share/doc/bridge-utils/README.Debian.gz}, 1.293 +а также в справочном руководстве man на странице brctl(8). 1.294 + 1.295 +\subsection{Что дальше?} 1.296 +После того как домен 0 готов, 1.297 +можно приступать к подготовке гостевых систем - доменов U. 1.298 + 1.299 +Гостевой домен может работать 1.300 +под управлением различных операционных систем 1.301 +(подробнее: Поддержка Xen операционными системами). 1.302 + 1.303 +Процедура подготовки гостевой системы описана 1.304 +на соответствующей странице: 1.305 +\begin{itemize} 1.306 +\item Linux в Xen 1.307 +\item FreeBSD в Xen 1.308 +\item Windows XP в Xen (требует поддержки виртуализации на аппаратном уровне) 1.309 +\end{itemize} 1.310 + 1.311 +В качестве гостевой системы также могут использоваться различные 1.312 +эмуляторы, упакованные в домен Xen, 1.313 +например Xenomips - эмулятор маршрутизатора Cisco 7200. 1.314 + 1.315 +\subsection{Дополнительная информация} 1.316 +\begin{itemize} 1.317 +\item Руководство пользователя Xen 1.318 +\end{itemize} 1.319 + 1.320 +Сборка Xen из архива исходных текстов: 1.321 + 1.322 +\begin{itemize} 1.323 +\item http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/ Архивы исходных текстов Xen 1.324 +\item Mercurial(hg) Cheatsheet for Xen -- Советы по использованию Mercurial для получения текущего архива Xen 1.325 +\end{itemize} 1.326 + 1.327 +Инсталляция на Debian GNU/Linux: 1.328 + 1.329 +\begin{itemize} 1.330 +\item Xen Debian Quick Start 1.331 +\item The Perfect Xen 3.0 Setup For Debian 1.332 +\item Installing Xen 3.0 upon Debian Unstable, with a custom Kernel 1.333 +\end{itemize} 1.334 + 1.335 +Инсталляция на Linux других дистрибутивов: 1.336 + 1.337 +\begin{itemize} 1.338 +\item UbuntuBreezyHowTo на XenSource 1.339 +\item UbuntuHoaryHowTo на XenSource 1.340 +\item HOWTO Xen and Gentoo 1.341 +\end{itemize} 1.342 + 1.343 +Документация по Xen: 1.344 + 1.345 +\begin{itemize} 1.346 +\item Xen v3.0 Users Manual 1.347 +\item Xen Documentation 1.348 +\item HowTos -- сборник HowTo на XenSource 1.349 +\item Xen Wiki на XenSource 1.350 +\end{itemize}