четверг, 23 августа 2012 г.

KVM: установка Windows 7 x64 на LVM с драйверами virtio

Опробуем теорию в бою и установим Windows 7 x64 на drive со следующими опциями:

file=lvm, if=virtio, cache=none, aio=native

Для начала создадим lvm раздел и запускаем виртуальную машину:

lvcreate -L+30G -ntest_win7 vg
/opt/kvm-1.1.1/bin/qemu-system-x86_64 -m 1024 -cpu host
     -net nic,model=virtio,macaddr=DE:AD:BE:1B:B3:C1 \ 
     -net tap,script=/home/kvm/scripts/qemu-ifup \
     -drive file=/dev/vg/test_win7,if=ide,cache=none \
     -cdrom /home/kvm/iso/win7x64.iso -boot d -localtime \
     -daemonize -name test_win7 -vnc 0.0.0.0:7

Note: слэши и переносы строк добавлены в командах для удобочитаемости
Note2: если вы в дальнейшем планируете использовать возможность миграции, то процессор лучше указывать -cpu qemu64

Далее идёт процесс установки Windows. После того как установка завершена подключаемся по vnc и выключаем ОС.



Скачиваем диск с драйверами последей версии virtio-win.
Теперь запускаем указав в роли cdrom'а уже этот диск и добавив новый drive (любой существующий раздел\диск или можно создать тестовый пустой ) с указанием if=virtio, для того чтобы Windows попыталась его "увидить".

Запускаем виртуалку:
/opt/kvm-1.1.1/bin/qemu-system-x86_64 -m 1024 -cpu host \ 
     -net nic,model=virtio,macaddr=DE:AD:BE:1B:B3:C1 \
     -net tap,script=/home/kvm/scripts/qemu-ifup \
     -drive file=/dev/vg/test_win7,if=ide,cache=none \
     -drive file=/dev/vg/kvm,if=virtio,cache=none \
     -cdrom /home/kvm/iso/virtio-win-0.1-30.iso -boot d -localtime \
     -daemonize -name test_win7 -vnc 0.0.0.0:7

Подключаемся по vnc, заходим в диспечер устройств ( Пуск->Компьютер->Свойства->Диспечер устройств) должны увидить следующую картину:



Жмем на SCSI-контроллер, и выбираем Обновить драйверы:


В появившемся окне выбираем "Выполнить поиск драйверов на этом компьютере". Далее указываем на диске нужную директорию: Win7\AMD64:


Всплывает окно о безопасности устанавливаемого драйвера. Жмакаем галочку "Всегда доверять программному обеспечению Red Hat" и жмем установить:

Ту же самую операцию инсталяции драйвера проделываем с Ethernet-контроллером.

Выключаем Windows. Убираем "левый" -drive и убираем опцию cdrom, у win-driv'a ставим if=virtio и запускаем:

/opt/kvm-1.1.1/bin/qemu-system-x86_64 -m 1024 -cpu host \
     -net nic,model=virtio,macaddr=DE:AD:BE:1B:B3:C1 \
     -net tap,script=/home/kvm/scripts/qemu-ifup \
     -drive file=/dev/vg/test_win7,if=virtio,cache=none,aio=native  \
     -boot c -localtime -daemonize -name test_win7 -vnc 0.0.0.0:7

В дальнейшем эту виртуалку можно будет клонировать на другой лвм раздел аналогичного размера и использовать как эталонную инсталяцию win7:

dd if=/dev/vg/test_win7 of=/dev/vg/lvm_win7_etalon bs=131072

Теперь замерим скорость создадим и запустим:

lvcreate -L+10G -ntest_speed1 vg
lvcreate -L+11G -ntest_speed2 vg
# и добавим их к виртуалке
  -drive file=/dev/vg/test_speed1,if=virtio,cache=none,aio=native 
  -drive file=/dev/vg/test_speed2,if=ide,cache=writethrough,aio=thread
# и у основного девайса нужно поставить if=ide иначе не загрузится   

И натравим HD Speed:


Как видим разница "налицо" :)
Протестировав же HD Tune Pro становится более понятно, что увеличение скорости с if=virtio,cache=none,aio=native идет именно в записи (что часто немаловажно) и оно равно x10:

 и 10гиговый (if=virtio,cache=none,aio=native):

1 комментарий:

  1. Casino Online - JtmHub
    Find the best games 이천 출장마사지 at Casino Online with JtmHub™. Get 밀양 출장안마 the best casino bonuses, promotions & latest 광주광역 출장안마 promotions. 안산 출장안마 Play casino 김제 출장안마 games for free. Start your casino career today.

    ОтветитьУдалить