В настоящее время я запускаю виртуальный бокс на Linux, чтобы запустить несколько простых хостов Linux для веб-серверов. Это потому, что мне нравится портативность и дополнительная безопасность.
Поскольку хост (и гости) - это Ubuntu, и поскольку похоже, что Sun сворачивает Virtualbox, я хочу посмотреть, смогу ли я перейти на Xen. Я установил пакеты Xen хоста Ubuntu, перезагрузился, преобразовал файл диска виртуального бокса в необработанный раздел и создал файл .conf. После небольшого ручного редактирования, чтобы защитить невиновных, это выглядело так:
# ls -lth /home/me/Xen-VMs/domains/test.img
-rw-r--r-- 1 me me 20G Feb 3 16:02 test.img
# file test.img
test.img: DOS/MBR boot sector
# cat /etc/xen/test.conf
name="test"
bootloader="pygrub"
disk = ['file:/home/me/Xen-VMs/domains/test.img,sda,w']
memory = 2048
Затем я сделал xl create /etc/xen/test.conf
который работал (причина xl list
показал тест), и я смог его запустить (xl reboot test
) после того, как я установил домен 0. Затем я даже запустил эту виртуальную машину, но она всегда была заблокирована или приостановлена (а гостевая сеть еще не была подключена). Что ж, может быть, не стоит начинать с существующей виртуальной машины. Кто знает, какие гостевые надстройки виртуального бокса блокирует гипервизор xen.
Итак, я хотел попробовать Xen с нуля. Я пробовал нечто подобное после это руководство,
xen-create-image --hostname=tutorial-pv-guest \
--memory=512mb \
--vcpus=2 \
--dir=/home/me/Xen-VMs \
--dhcp \
--pygrub \
--dist=wheezy
где я заменил LVM на необработанный каталог, но тот умер с ошибкой при создании. Я пробовал пример в скрипте xl perl, но
# xen-create-image --size=2Gb --dhcp --dist=stable --dir=/home/ivo/Xen-VMs --hostname=testmexen
...
xt-install-image --hostname=testmexen --location=/tmp/y3U0xqhG18 --dist=stable --install-method=debootstrap --mirror=http://us.archive.Ubuntu.com/ubu
ntu/ --cache=yes --cachedir=/var/cache/apt/archives/ --arch=amd64 2>&1' failed with exit code 32512.
Копаем глубже, это может быть, а может и не быть
W: Cannot check Release signature; keyring file not available /usr/share/keyrings/debian-archive-keyring.gpg
I: Retrieving Release
E: Failed getting release file http://us.archive.Ubuntu.com/Ubuntu/dists/stable/Release
Running command '/usr/sbin/debootstrap --arch amd64 stable /tmp/J06gK4zZ0i http://us.archive.Ubuntu.com/Ubuntu/ 2>&1' failed with exit code 256.
Отсутствие базы затрудняет отслеживание того, что на самом деле необходимо для работы Xen.
Подходит ли Xen для работы? То есть мне нужен один файл на диске с необработанным изображением, который я могу при необходимости переместить на другой компьютер с хорошей изоляцией гостя от его хоста.
Есть ли графический интерфейс (например, VirtualBox), который показывает мне, что происходит на моей работающей, но заблокированной виртуальной машине?
Сделал ли я здесь какие-нибудь легко исправляемые ошибки, особенно при попытке «начать с нуля»?
совет оценен.
Я использую Xen около 5 лет и считаю, что он отлично подходит для моих нужд. Чтобы ответить на ваши вопросы:
Подходит ли Xen для работы? То есть мне нужен один файл на диске с необработанным изображением, который я могу при необходимости переместить на другой компьютер с хорошей изоляцией гостя от его хоста.
Я использую Xen и необработанные диски как часть HA-кластера, поэтому ответ - да.
Есть ли графический интерфейс (например, VirtualBox), который показывает мне, что происходит на моей работающей, но заблокированной виртуальной машине?
Да. Либвирт. На самом деле разработан для KVM, он отлично работает с Xen.
Сделал ли я здесь какие-нибудь легко исправляемые ошибки, особенно при попытке «начать с нуля»?
Вот небольшой рецепт, который может сделать вашу жизнь немного проще. Сначала я конвертирую жесткие диски VirtualBox в необработанные жесткие диски следующим образом:
qemu-img convert -f vdi -O raw vbDefault.vdi xenDefault.img
Конфигурация Xen (xenDefault.cfg) может быть резервной. Вам нужно имя, оперативная память, виртуальный процессор и жесткий диск. Вот и все.
name = "xenDefault"
память = 2048
vcpus = 2
disk = ['файл: /srv/xen/xenDefault.img,hda,w']
Теперь я могу создать виртуальную машину.
xm создать xenDefault.cfg
И я вижу свою виртуальную машину за
xm список
и подключитесь к нему, используя
консоль xm xenDefault
Вот и все. Попробуйте сами. Надеюсь, это было полезно.