Tag: vtb24
Xen, windows
by L0rda on Dec.02, 2008, under MacOS X, linux
Таки я подсел на Xen, очень он мне нравится. В связи с чем поднял на сервере Dom0 на centOS 5 (прикол в том, что dom0 на fedora9 сломан и не заводится, заводится на 8-ке и на 10-ке), сервер с 8 ядрами и 8 гигами оперативной памяти. В качестве гостевых систем уже успел поднять Fedora 9 и Windows XP, последнюю поднял только для того, чтобы отказаться от Parallels, который мне уже порядком надоел, обновляться не хочет, виснет, а за новую версию башлять деньги совсем не хочется, ну а винда мне нужна только для того чтобы пользоваться webmoney, яндекс.деньгами и банк-клиентом ВТБ24. Линукс поднялся в ачестве гостевой оси с пол пинка, с виндой я трахался целый день, хотя казалось бы все просто.
Итак установка винды
Для начала нужно знать, поддерживает ли проц аппаратную виртуализацию, в моем случае я имел два процессора Intel Xeon X5355 и прочитав спецификацию выяснил, что поддержка есть.
Проверяем включена ли она:
$ xm info | grep caps
hw_caps : bfebfbff:20100800:00000000:00000140:0004e3bd:00000000:00000001
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
hvm-3.0-x86_32 говорит о том, что XEN успешно обнаружил процессор, который поддерживает технологии Intel VT или AMD-V.
Далее нам нужен образ винды в формате ISO, закачиваем на сервер и кидаем куда-нибудь вроде /var/lib/xen/images/
Там же создаем файл, в котором у нас будет находиться сама винда.
dd if=/dev/zero of=xp.img bs=1M count=4096
Я сделал его равным 4гб.
Дальше пошли хитрости, сначала запускаем процесс установки через virt-install
virt-install -n xenxp -r 384 -f /var/lib/xen/images/xp.img -b xenbr0 --vnc -v -c /var/lib/xen/images/winxp200808-install.iso
оно конечно ругнется, что к VNC не сможет приконнектиться, но это фигня. Оно создаст конфиг.
Дальше мы останавливаем виртуальную машину.
xm destroy xenxp
И правим ее конфиг, в моем случае это /etc/xen/xenxp
Конфиг должен выглядеть примерно так:
name = "xenxp"
uuid = "9cc97c2f-88de-003d-b254-4185d7833d82"
maxmem = 384
memory = 384
vcpus = 1
builder = "hvm"
kernel = "/usr/lib/xen/boot/hvmloader"
boot = "d"
pae = 0
acpi = 0
apic = 0
localtime = 0
on_poweroff = "destroy"
on_reboot = "destroy"
on_crash = "restart"
device_model = "/usr/lib64/xen/bin/qemu-dm"
sdl = 0
vnc = 1
vncunused = 1
vnclisten="78.x.x.x"
vncdisplay = "0"
disk = [ "file:/var/lib/xen/images/xp.img,hda,w", "file:/var/lib/xen/images/winxp200808-install.iso,hdc:cdrom,r" ]
vif = [ "mac=00:16:3e:67:bf:8f,bridge=xenbr0" ]
serial = "pty"
Обращаем внимание на:
on_reboot = “destroy” – чтобы после установки, машина не перезагрузилась, а выключилась
boot = “d” – чтобы грузилось с CD-ROM(в нашем случае с образа)
vnc = 1 – включение VNC доступа
vnclisten=”78.x.x.x” – биндим на внешний IP
vncdisplay = “0″ – дисплэй по-умолчанию, порт получается 5900
disk = [ "file:/var/lib/xen/images/xp.img,hda,w", "file:/var/lib/xen/images/winxp200808-install.iso,hdc:cdrom,r" ] – и тут прописываем путь к образу перед “,hdc:cdrom,r”
acpi и apic отключаем
pae тоже не нужен, если памяти много не используется, я поставил 384 мб и даже это я считаю много для винды.
Далее запускаем виртуалку
xm create xenxp
коннектимся VNC-клиентом к IP dom0 системы и ставим винду как обычно, тут хочу заметить что пол вечера я трахался и не мог дойти дальше разбивки, VNC-клиент постоянно умирал на маке, в качестве клиента использовал “Chicken of the VNC” – не используйте его, оно глючное. В итоге пришлось поставить какой-то клиент на винду в parallels и работать с него. Винда поставилась, и виртуалка вместо ребута выключилась.
Дальше нужно снова отредактировать конфиг вот таким образом(тут только параметры, которые я редактировал):
boot = "c"
disk = [ "file:/var/lib/xen/images/xp.img,hda,w"]
#, "file:/var/lib/xen/images/winxp200808-install.iso,hdc:cdrom,r" ]
on_reboot = "restart"
конфиг это кстати питоновский скрипт, то есть туда можно зафигачить все что угодно ![]()
тут я убрал подключение имаджа дистрибутива винды, включил загрузку с диска С, и включил обратно нормальный ребут, VNC тоже можно отключить
IP прописал статический, включил удаленный доступ к рабочему столу, разрешил его в фаерволе, дальше я поставил патч который делает из XP нормальный терминал-сервер и снес все ненужные сервисы и программы, перенес из параллелс кипер, яндекс-деньги, банк-клиент, поствил firefox и радуюсь жизни, от parallels я избавился.