xg-scale
diff xen/linux.tex @ 4:253d66dd74bb
Добавлено подробное описание управления памятью домена и выделением устройств домену
author | Igor Chubin <igor@chub.in> |
---|---|
date | Sun Jul 06 23:27:46 2008 +0300 (2008-07-06) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/xen/linux.tex Sun Jul 06 23:27:46 2008 +0300 1.3 @@ -0,0 +1,571 @@ 1.4 +\section{Linux в Xen} 1.5 + 1.6 +На этой странице описана процедура подготовки 1.7 +гостевой системы под управлением Linux 1.8 +для работы в качестве пользовательского домена Xen 1.9 +(domain U). 1.10 + 1.11 +\subsection{Начальные требования} 1.12 +<graphviz> 1.13 +digraph G \{ 1.14 +\begin{verbatim} 1.15 +node [shape=rectangle]; 1.16 +a [label="Подготовка\nдомена 0"]; 1.17 +b [label="Подготовка\nдомена U",bgcolor=cyan,style=filled]; 1.18 +c [label="Запуск и эксплуатация\nсистемы"]; 1.19 +a -> b; 1.20 +b -> c; 1.21 +\end{verbatim} 1.22 +\} 1.23 +</graphviz> 1.24 + 1.25 +Для выполнение описанных ниже действий 1.26 +необходимо наличие проинсталлированной и настроенной 1.27 +хост-системы Xen (домена 0). 1.28 +Как это сделать описано на странице Инсталляция Xen. 1.29 + 1.30 +Предполагается, что в домене 0 установлен Debian GNU/Linux. 1.31 +Для других дистрибутивов некоторые действия будут выполняться 1.32 +иначе. 1.33 + 1.34 +\subsection{Подготовка образа гостевой системы} 1.35 +\subsubsection{Подготовка дисковых разделов для использования в качестве дисков виртуальной машины} 1.36 +Для того чтобы разделы виртуальной машины 1.37 +соответствовали дисковым разделам реальной машины, 1.38 +используйте следующие шаги: 1.39 + 1.40 +\begin{verbatim} 1.41 +node [shape=rectangle]; 1.42 +a [label="Подготовка\nдомена 0"]; 1.43 +b [label="Подготовка\nдомена U",bgcolor=cyan,style=filled]; 1.44 +c [label="Запуск и эксплуатация\nсистемы"]; 1.45 +a -> b; 1.46 +b -> c; 1.47 +\end{verbatim} 1.48 + 1.49 +В том случае, если в виртуальной машине должно быть 1.50 +несколько дисковых разделов, 1.51 +подготовьте их. 1.52 +Например, для /usr: 1.53 + 1.54 +\begin{verbatim} 1.55 +node [shape=rectangle]; 1.56 +a [label="Подготовка\nдомена 0"]; 1.57 +b [label="Подготовка\nдомена U"]; 1.58 +c [label="Запуск и эксплуатация\nсистемы",bgcolor=cyan,style=filled]; 1.59 +a -> b; 1.60 +b -> c; 1.61 +\end{verbatim} 1.62 + 1.63 +Если вам необходимо пространство подкачки (swap) в виртуальной машине, 1.64 +подготовьте его с помощью команды mkswap: 1.65 + 1.66 +\begin{verbatim} 1.67 +# mkswap /dev/hdX 1.68 +\end{verbatim} 1.69 + 1.70 +\subsubsection{Подготовка файлов для использования в качестве диска виртуальной машины} 1.71 +Создайте файл для использования в качестве основного 1.72 +диска виртуальной машины. 1.73 + 1.74 +\begin{verbatim} 1.75 +# dd if=/dev/zero of=/xen/images/debian-host1.img bs=1M count=<size_in_MB> 1.76 +# mkfs.ext3 /xen/images/debian-host1.img 1.77 +# mount -o loop /srv/debian-host1.img /mnt 1.78 +\end{verbatim} 1.79 + 1.80 +В том случае, если в виртуальной машине должно быть 1.81 +несколько дисковых разделов, 1.82 +подготовьте их. 1.83 +Например, для /usr: 1.84 + 1.85 +\begin{verbatim} 1.86 +# dd if=/dev/zero of=/xen/images/debian-host1-usr.img bs=1M count=<size_in_MB> 1.87 +# mkfs.ext3 /xen/images/debian-host1-usr.img 1.88 +# mkdir /mnt/usr 1.89 +# mount -o loop /xen/images/debian-host1-usr.img /mnt/usr 1.90 +\end{verbatim} 1.91 + 1.92 +Если вам необходимо пространство подкачки (swap) в виртуальной машине, 1.93 +подготовьте его с помощью команды mkswap: 1.94 + 1.95 +\begin{verbatim} 1.96 +# mkswap /dev/hdX 1.97 +\end{verbatim} 1.98 + 1.99 +\subsubsection{Подготовка виртуальной системы под управлением Debian GNU/Linux} 1.100 + 1.101 +\paragraph{Инсталляция ОС Debian GNU/Linux} 1.102 +Этот этап может быть выполнен проще, 1.103 +если использовать xen-tools. 1.104 +Ниже показано, как провести инсталляцию 1.105 +системы вручную. 1.106 + 1.107 +Смотрите таже \url{http://www.debuntu.org/2006/05/14/51-how-to-installing-debian-etch-from-a-running-debian-based-system/1/}. 1.108 + 1.109 +Запустите \textbf{debootstrap} для инсталляция базы 1.110 +системы: 1.111 + 1.112 +\begin{verbatim} 1.113 +# debootstrap sarge /mnt http://debian.org.ua/debian 1.114 +\end{verbatim} 1.115 + 1.116 +Скопируйте пакет ядром для работы с Xen, 1.117 +который был подготовлен ранее, 1.118 +в новую виртуальную машину: 1.119 + 1.120 +\begin{verbatim} 1.121 +# cp linux-xen0-2.6.16-xen_10.00.Custom_i386.deb /mnt/root 1.122 +\end{verbatim} 1.123 + 1.124 +Сделайте новую файловую систему корневой (с помощью chroot): 1.125 + 1.126 +\begin{verbatim} 1.127 +# chroot /mnt /bin/bash 1.128 +\end{verbatim} 1.129 + 1.130 +Проинсталлируйте пакет с ранее подготовленным 1.131 +ядро Xen: 1.132 + 1.133 +\begin{verbatim} 1.134 +# dpkg -i /root/linux-xen0-2.6.16-xen_10.00.Custom_i386.deb 1.135 +\end{verbatim} 1.136 + 1.137 +Измените запись, соответствующую корневой системе в файле /etc/fstab: 1.138 + 1.139 +\begin{verbatim} 1.140 +# vi /etc/fstab 1.141 +/dev/hda1 / ext3 defaults,errors=remount-ro 0 1 1.142 +\end{verbatim} 1.143 + 1.144 +Если используется несколько дисковых разделов 1.145 +в виртуальной машине, перечислите их: 1.146 + 1.147 +\begin{verbatim} 1.148 +/dev/hda2 /usr ext3 defaults 0 2 1.149 +/dev/hda3 /var ext3 defaults 0 2 1.150 +... 1.151 +\end{verbatim} 1.152 + 1.153 +Запустите программу \textbf{base-config} для установки базовой 1.154 +системы Debian. 1.155 + 1.156 +\begin{verbatim} 1.157 +# base-config new 1.158 +\end{verbatim} 1.159 + 1.160 +Измените конфигурацию сети в виртуальной машине: 1.161 + 1.162 +\begin{verbatim} 1.163 +# vi /etc/network/interfaces 1.164 +# vi /etc/resolv.conf 1.165 +# vi /etc/hosts 1.166 +\end{verbatim} 1.167 + 1.168 +Отключите использование TLS, 1.169 +в противном случае работа системы может сильно замедлиться. 1.170 + 1.171 +\begin{verbatim} 1.172 +# mv /lib/tls /lib/tls.disabled 1.173 +\end{verbatim} 1.174 + 1.175 +В том случае, если используется дистрибутив Etch, 1.176 +проинсталлируйте \texttt{libc6-xen}. 1.177 + 1.178 +\begin{verbatim} 1.179 +# apt-get install libc6-xen 1.180 +\end{verbatim} 1.181 + 1.182 +Отключите лишние терминалы getty, 1.183 +а первый терминал направьте на файл \texttt{/dev/console} 1.184 +вместо \texttt{/dev/tty1}: 1.185 + 1.186 +\begin{verbatim} 1.187 +1:2345:respawn:/sbin/getty 38400 /dev/console 1.188 +#2:23:respawn:/sbin/getty 38400 tty2 1.189 +#3:23:respawn:/sbin/getty 38400 tty3 1.190 +#4:23:respawn:/sbin/getty 38400 tty4 1.191 +#5:23:respawn:/sbin/getty 38400 tty5 1.192 +#6:23:respawn:/sbin/getty 38400 tty6 1.193 +\end{verbatim} 1.194 + 1.195 +Если в виртуальной машине будут загружаться модули ядра, 1.196 +установить пакет \texttt{module-init-tools} 1.197 +(обязательно для ядер 2.6 domU). 1.198 + 1.199 +\begin{verbatim} 1.200 +# apt-get install module-init-tools 1.201 +\end{verbatim} 1.202 + 1.203 +На этом инсталляция ОС в виртуальной машине завершена, 1.204 +и можно завершить работу оболочки с изменённой корневой системой (chrooted shell). 1.205 + 1.206 +\begin{verbatim} 1.207 +# exit 1.208 +\end{verbatim} 1.209 + 1.210 +Если вы создавали несколько разделов в виртуальной машине, 1.211 +размонтируйте их, начиная с самой глубокой. 1.212 + 1.213 +\begin{verbatim} 1.214 +# umount /mnt/usr 1.215 +# umount /mnt/var 1.216 +\end{verbatim} 1.217 + 1.218 +После чего размонтируйте корневую файловую систему 1.219 +виртуальной машины. 1.220 + 1.221 +\begin{verbatim} 1.222 +# umount /mnt 1.223 +\end{verbatim} 1.224 + 1.225 +\paragraph{Конфигурирование виртуальной машины} 1.226 +Необходимо создать конфигурационный файл виртуальной 1.227 +машины. 1.228 +Пусть виртуальная машина называется debian-vm0. 1.229 + 1.230 +\begin{verbatim} 1.231 +# vi /etc/xen/debian-vm0 1.232 +# Kernel to use 1.233 +kernel = "/boot/xen0-linux-2.6.16-xen" 1.234 +# Memory in megabytes 1.235 +memory = 128 1.236 +# Your domain's name 1.237 +name = "debian-vm0" 1.238 +# Root device 1.239 +root = "/dev/hda1 ro" 1.240 +# Don't forget to specify your bridge correctly here 1.241 +vif = [ 'mac=aa:00:00:00:00:d2, bridge=br-xen' ] 1.242 +\end{verbatim} 1.243 + 1.244 +В том случае, если использует физический дисковый раздел: 1.245 + 1.246 +\begin{verbatim} 1.247 +disk = [ 'phy:/dev/hdX,hda1,w' ] 1.248 +\end{verbatim} 1.249 + 1.250 +В том случае, если используется несколько разделов: 1.251 + 1.252 +\begin{verbatim} 1.253 +disk = [ 'phy:/dev/hdX,hda1,w', 'phy:/dev/hdY,hda2,w' ] 1.254 +\end{verbatim} 1.255 + 1.256 +Если вместо раздела используется файл, 1.257 +конфигурация дисковой подсистемы выглядит так: 1.258 + 1.259 +\begin{verbatim} 1.260 +disk = [ 'file:/xen/images/debian-host1.img,hda1,w' ] 1.261 +\end{verbatim} 1.262 + 1.263 +В том случае, если используется несколько файлов, 1.264 +строка должна выглядеть так: 1.265 + 1.266 +\begin{verbatim} 1.267 +disk = [ 'file:/xen/images/debian-host1.img,hda1,w', 'file:/xen/images/debian-host1-usr.img,hda2,w' ] 1.268 +\end{verbatim} 1.269 + 1.270 +Обратите внимание на то, чтобы записи о диска в конфигурации 1.271 +виртуальной машины соответствовали файлу \texttt{/etc/fstab} 1.272 +операционной системы этой машины. 1.273 + 1.274 +\subsubsection{Инсталляция и настройка Fedora Core в domU} 1.275 + 1.276 +При условии, что домен 0 работает под управлением Debian GNU/Linux, 1.277 +а образ гостевой системы подмонтирован в каталог /mnt, 1.278 +процедура инсталляции выглядит следующим образом: 1.279 + 1.280 +\begin{verbatim} 1.281 +%# apt-get install yum 1.282 +%# yum -c /tmp/yum-xen.conf --installroot=/mnt -y groupinstall Base 1.283 +\end{verbatim} 1.284 + 1.285 +Пример конфигурационного файла \texttt{yum-xen.conf} (вы можете использовать другой репозиторий и другой уровень отладки): 1.286 + 1.287 +\begin{verbatim} 1.288 +[main] 1.289 +cachedir=/var/cache/yum 1.290 +debuglevel=2 1.291 +logfile=/var/log/yum.log 1.292 +exclude=*-debuginfo 1.293 +gpgcheck=0 1.294 +obsoletes=1 1.295 +reposdir=/dev/null 1.296 + 1.297 +[base] 1.298 +name=Fedora Core 6 - i386 - Base 1.299 +#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-6 1.300 +baseurl=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/i386/os/ 1.301 +enabled=1 1.302 + 1.303 +[updates-released] 1.304 +name=Fedora Core 6 - i386 - Released Updates 1.305 +#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc6 1.306 +baseurl=http://redhat.download.fedoraproject.org/pub/fedora/linux/core/updates/6/i386/ 1.307 +enabled=1 1.308 +\end{verbatim} 1.309 + 1.310 +Если при инсталляции вы получаете ошибку 1.311 + 1.312 +\begin{verbatim} 1.313 +Failed to add groups file for repository: base 1.314 +Error: No Groups on which to run command 1.315 +\end{verbatim} 1.316 + 1.317 +то модифицируйте код \textit{yum} следующим образом: 1.318 + 1.319 +\begin{verbatim} 1.320 +# cp /usr/share/python-support/yum/yum/comps.py{,.ORIG} 1.321 +# vi /usr/share/python-support/yum/yum/comps.py 1.322 +# diff /usr/share/python-support/yum/yum/comps.py{.ORIG,} 1.323 +124c124 1.324 +< if type not in ('mandatory', 'default', 'optional'): 1.325 +--- 1.326 +> if type not in ('mandatory', 'default', 'optional', 'conditional'): 1.327 +143c143 1.328 +< if type not in ('mandatory', 'default', 'optional'): 1.329 +--- 1.330 +> if type not in ('mandatory', 'default', 'optional', 'conditional'): 1.331 +\end{verbatim} 1.332 + 1.333 +Установленную систему можно доработать. 1.334 + 1.335 +\textit{Создать некоторые каталоги и файлы устройств.} 1.336 + 1.337 +\begin{verbatim} 1.338 +%# mkdir /mnt/{dev,proc,etc} 1.339 +%# for i in console null zero ; do /sbin/MAKEDEV -d /mnt/dev -x $i ; done 1.340 +\end{verbatim} 1.341 + 1.342 +\textit{Отключить TLS}. 1.343 + 1.344 +\begin{verbatim} 1.345 +%# mv /mnt/lib/tls /mnt/lib/tls-disabled 1.346 +\end{verbatim} 1.347 + 1.348 +\textit{Создать /etc/fstab} 1.349 + 1.350 +\begin{verbatim} 1.351 +%# cat <<EOL > /mnt/etc/fstab 1.352 +/dev/sda1 / ext3 defaults 1 1 1.353 +none /dev/pts devpts gid=5,mode=620 0 0 1.354 +none /dev/shm tmpfs defaults 0 0 1.355 +none /proc proc defaults 0 0 1.356 +none /sys sysfs defaults 0 0 1.357 +/dev/sda2 /mnt ext3 defaults 1 2 1.358 +/dev/sda3 swap swap defaults 0 0 1.359 +EOL 1.360 +\end{verbatim} 1.361 + 1.362 +\textit{Настроить сетевые интерфейсы}. 1.363 + 1.364 +\begin{verbatim} 1.365 +%# cat <<EOL > /mnt/etc/sysconfig/network 1.366 +NETWORKING=yes 1.367 +HOSTNAME=localhost.localdomain 1.368 +EOL 1.369 + 1.370 +cat <<EOL > /mnt/etc/sysconfig/network-scripts/ifcfg-eth0 1.371 +ONBOOT=yes 1.372 +DEVICE=eth0 1.373 +BOOTPROTO=dhcp 1.374 +EOL 1.375 +\end{verbatim} 1.376 + 1.377 +\textit{Скопировать модули ядра} 1.378 + 1.379 +\begin{verbatim} 1.380 +%# cp -R /lib/modules/2.6.*xen* /mnt/lib/modules/ 1.381 +\end{verbatim} 1.382 + 1.383 +\textit{Установить пароль root\rq{}а} 1.384 + 1.385 +\begin{verbatim} 1.386 +%$ sudo chroot /mnt 1.387 +bash-3.1# pwconv 1.388 +bash-3.1# passwd 1.389 +Changing password for user root. 1.390 +New UNIX password: 1.391 +Retype new UNIX password: 1.392 +passwd: all authentication tokens updated successfully. 1.393 +bash-3.1# exit 1.394 +\end{verbatim} 1.395 + 1.396 +\textit{Отключить сообщения об ошибках ядра на консоль} (не обязательно) 1.397 + 1.398 +\begin{verbatim} 1.399 + 1.400 +\end{verbatim} 1.401 + 1.402 +После того как инсталляция закончена, 1.403 +можно попробовать запустить домен. 1.404 + 1.405 +\begin{verbatim} 1.406 +%# umount /mnt 1.407 +%# xm console -c fc 1.408 +\end{verbatim} 1.409 + 1.410 +(здесь \textit{fc} это конфигурационный файл домена). 1.411 + 1.412 +\begin{center} \resizebox{10cm}{!}{\includegraphics{/var/lib/mediawiki/images/9/90/Fc-in-xen.png}}\\ \textit{}\end{center} 1.413 + 1.414 +\subsubsection{Инсталляция и настройка других дистрибутивов Linux в domU} 1.415 +\begin{itemize} 1.416 +\item Centos5 — описание процедуры подготовки domU для Centos5 1.417 +\end{itemize} 1.418 + 1.419 +\subsubsection{Инсталляция Debian из-под других дистрибутивов Linux} 1.420 + 1.421 +\begin{verbatim} 1.422 +%# wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap-udeb_0.3.3_i386.udeb 1.423 +%# ar t debootstrap-udeb_0.3.3_i386.udeb 1.424 +%# mkdir debootstrap 1.425 +%# cd debootstrap 1.426 +%# tar xvzf ../data.tar.gz 1.427 +\end{verbatim} 1.428 + 1.429 +После этого инсталляция с помощью \textit{./deboostrap} выполняется как обычно. 1.430 + 1.431 +\subsection{Запуск виртуальной машины} 1.432 +<graphviz> 1.433 +digraph G \{ 1.434 +\begin{verbatim} 1.435 +node [shape=rectangle]; 1.436 +a [label="Подготовка\nдомена 0"]; 1.437 +b [label="Подготовка\nдомена U"]; 1.438 +c [label="Запуск и эксплуатация\nсистемы",bgcolor=cyan,style=filled]; 1.439 +a -> b; 1.440 +b -> c; 1.441 +\end{verbatim} 1.442 +\} 1.443 +</graphviz> 1.444 + 1.445 +\begin{verbatim} 1.446 +# xm create -c debian-vm0 1.447 +\end{verbatim} 1.448 + 1.449 +Данная команда запустит новую виртуальную машину и создаст 1.450 +подключенную к ней консоль (ключ -c). 1.451 +Можно войти в систему от имени пользователя 1.452 +root и настроить сетевой интерфейс eth0. 1.453 + 1.454 +Обратите внимание на то, что на консоли (\texttt{/dev/console}) 1.455 +по умолчанию комбинация клавиш Ctrl-C не настроена 1.456 +для прерывания процессов. 1.457 + 1.458 +Отключиться от консоли виртуальной машины вернуться в 1.459 +терминал, из которого выполнялось подключение/запуск, 1.460 +можно с помощью комбинации Ctrl-]. 1.461 + 1.462 +Вернуться на отключенную консоль 1.463 +можно с помощью команды: 1.464 + 1.465 +\begin{verbatim} 1.466 +# xm console debian-vm0 1.467 +\end{verbatim} 1.468 + 1.469 +Остановить домен можно командой: 1.470 + 1.471 +\begin{verbatim} 1.472 +# xm shutdown -H debian-vm0 1.473 +\end{verbatim} 1.474 + 1.475 +Выключить домен (как будто бы вырубить виртуальную машину 1.476 +по питанию), можно с помощью команды: 1.477 + 1.478 +\begin{verbatim} 1.479 +# xm destroy debian-vm0 1.480 +\end{verbatim} 1.481 + 1.482 +Для получения полного списка команд, таких как shutdown, destroy 1.483 +и т.д. введите: 1.484 + 1.485 +\begin{verbatim} 1.486 +# xm help 1.487 +\end{verbatim} 1.488 + 1.489 +Для того чтобы виртуальная машина (domU) загружалась автоматически, 1.490 +когда загружает основная система (dom0), 1.491 +необходимо сделать ссылку на 1.492 +конфигурационный файл виртуальной машины: 1.493 + 1.494 +\begin{verbatim} 1.495 +# ln -s <configfile> /etc/xen/auto/ 1.496 +\end{verbatim} 1.497 + 1.498 +\subsection{Дополнительные вопросы} 1.499 +\subsubsection{Сборка ядра Linux под Xen в Debian} 1.500 +<dl><dd> \textit{Основная страница: \textbf{Сборка ядра Linux под Xen в Debian}} 1.501 +</dd></dl> 1.502 + 1.503 +Ядро Linux, с поддержкой Xen, находящееся в репозитории Debian GNU/Linux 1.504 +собрано с поддержкой PAE. 1.505 +С другой стороны, большое количество систем (FreeBSD, NetBSD, Plan 9 и др.), работающих как гостевые системы в паравиртуальном домене Xen 1.506 +не поддерживают PAE. 1.507 +В этом случае потребуется пересобрать ядро домена 0 1.508 +без поддержки PAE. 1.509 +Пересборка ядра может потребоваться и в других случаях. 1.510 + 1.511 +\subsection{Возможные проблемы при подготовке и запуске} 1.512 +Множество проблем, с которыми можно столкнуться 1.513 +при подготовке и запуске гостевой системы Xen, 1.514 +описано на странице Xen FAQ. 1.515 + 1.516 +\subsubsection{Возможные проблемы с udev} 1.517 +При старте домена может возникнуть такая проблема: 1.518 +домен не стартует, на экран выдаётся сообщение 1.519 +об ошибке: 1.520 + 1.521 +\begin{verbatim} 1.522 +Device 768 (vbd) could not be connected. Hotplug scripts not working. 1.523 +\end{verbatim} 1.524 + 1.525 +\textit{Номер устройства (768) может отличаться.} 1.526 + 1.527 +Если такая проблема возникла, причём она не пропадает 1.528 +ни при отключении сетевых интерфейсов в виртуальной машине; 1.529 +ни при изменении конфигурации дисков, проблема может быть связана с \textbf{udev}. 1.530 + 1.531 +Убедитесь, что udev достаточно новый. 1.532 +Последние версии udev находятся здесь: http://kernel.org/pub/linux/utils/kernel/hotplug/ 1.533 + 1.534 +Проверьте, есть ли в конфигурации udev правила xen. 1.535 + 1.536 +Если нет, нужно их добавить. 1.537 +Нужно создать файл \texttt{xen-backend.rules} 1.538 +в каталоге \texttt{/etc/udev/rules.d} следующего содержания: 1.539 + 1.540 +\begin{verbatim} 1.541 +# cat /etc/udev/rules.d/xen-backend.rules 1.542 +SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap $env{ACTION}" 1.543 +SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block $env{ACTION}" 1.544 +SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm $env{ACTION}" 1.545 +SUBSYSTEM=="xen-backend", KERNEL=="vif*", ACTION=="online", RUN+="$env{script} online" 1.546 +SUBSYSTEM=="xen-backend", KERNEL=="vif*", ACTION=="offline", RUN+="$env{script} offline" 1.547 +SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup" 1.548 +KERNEL=="evtchn", NAME="xen/%k" 1.549 +\end{verbatim} 1.550 + 1.551 +Если такой файл \texttt{xen-backend.rules} уже есть, 1.552 +можно переименовать его или создать символическую ссылку, 1.553 +содержащую номер в названии. Правило должно грузиться предпоследним. 1.554 + 1.555 +\begin{verbatim} 1.556 +# cd /etc/udev/rules.d 1.557 +# mv xen-backend.rules 92-xen-backend.rules 1.558 +\end{verbatim} 1.559 + 1.560 +После этого нужно перезапустить udev и попробовать 1.561 +стартануть домен снова. 1.562 + 1.563 +\begin{verbatim} 1.564 +# ps aux | grep udev 1.565 +root 3321 0.0 0.2 1768 516 ? S<s 22:51 0:00 udevd --daemon 1.566 +root 9349 0.0 0.2 1860 640 pts/2 S+ 23:27 0:00 grep udev 1.567 +# udevd --daemon 1.568 +# ps aux | grep udev 1.569 +root 9352 0.0 0.2 1768 516 ? S<s 23:28 0:00 udevd --daemon 1.570 +root 9356 0.0 0.2 1860 640 pts/2 S+ 23:29 0:00 grep udev 1.571 +\end{verbatim} 1.572 + 1.573 +Дополнительные сведения о проблеме: \url{http://marc.theaimsgroup.com/?l=xen-users\&m=114319459529175\&w=2} 1.574 +