error: Failed to create domain … Cannot check QEMU binary

При копировании виртуальной машины на новый сервер можно получить ошибку, что эмулятор не найден.

# virsh create /root/copy-vm/server.vm.xml
error: Failed to create domain from /root/copy-vm/server.vm.xml
error: Cannot check QEMU binary /usr/bin/qemu-kvm: No such file or directory

# whereis qemu-kvm
qemu-kvm: /usr/libexec/qemu-kvm /usr/share/qemu-kvm /usr/share/man/man1/qemu-kvm.1.gz

Первое дело куда нужно смотреть это не туда где он находится, а что написано в конфиге виртуальной машины в строке .

...
    <emulator>/usr/bin/qemu-kvm</emulator>
...

После этого вписать туда результат команды

which qemu-kvm

И дальше импорт конфигурационного файла скорее всего закончится успешно.

qemu-img очень медленно конвертирует

Запустил конвертацию 4G диска из lv в qcow2.

qemu-img convert -O qcow2 /dev/VM_POOL/v01.sitea.com_disk0 v01.sitea.com_disk0.qcow2

Почему-то всё шло очень медленно. Посмотрел top – процессор свободен. Посмотрел iostat – также всё свободно и никакой большой активности нет. Оказывается, что после каждой записи qemu-img зачем-то вызывает fsync.

К сожалению qemu-img не поддерживает работу через stdin.

Значительно ускорить процесс получилось простым копирование lv в файл и далее конвертацией файла в qcow2.

dd if=/dev/VM_POOL/v01.sitea.com_disk0 of=v01.sitea.com_disk0.raw bs=2M
(4.5 GB) copied, 103.564 s, 43.5 MB/s

И за пару минут прошла ковертация

qemu-img convert -O qcow2 v01.sitea.com_disk0.raw v01.sitea.com_disk0.qcow2

Обнаружено на:
qemu-img-0.12.5-1.fc13.x86_64
Linux v01-b 2.6.34.8-68.fc13.x86_64 #1 SMP Thu Feb 17 15:03:58 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Похоже это был этот баг.

Копирование lv в ramdisk и подключение к iscsi

Для поддержки клиентов в виртуальных машинах мне периодически требуется быстрый диск для реиндексации файловых баз данных. Если проводить такую реиндексацию на обычном LVM диске то на файловых базах в миллион файлов это занимает до десяти часов. Самая большая база данных у моих клиентов занимает 18 гигабайт дискового пространства, что для современных серверов не так много. И чтобы ускорить эту операцию можно выделить диск в оперативной памяти и там провести реиндексацию. Но если использовать такой диск в памяти самой виртуальной машины то потребуется два часа на то чтобы скопировать этот миллион файлов на RAM disk и обратно (по часу на каждую операцию). Значительно ускорить процесс копирования можно если сделать полный дамп диска в память. Это значительно быстрее и проходит у меня со скоростью 110-150Мб/с против 3-4Мб/с в режиме пофайлового копирования (файлы маленькие и сервисные операции отнимают долю ресурсов). Я поступаю так, что на одной ноде в кластере выделяю 20-ти гигабайтный фрагмент памяти в /dev/shm. Затем копирую туда диск виртуальной машины при помощи dd и nc через сеть. Далее на этой ноде запускаю iscsi-target и монтирую этот диск к windows iscsi-initiator и диск появляется в целевой виртуалке. Важным является то, что объявленный iscsi-target должен иметь физический размер сектора 512 байт! Иначе windows не распознает диск и предложит его отформатировать.

Уou need to format the disk in drive E: before you can use it.
Continue reading Копирование lv в ramdisk и подключение к iscsi

SeaMicro демонстрирует своё Know-How в аппаратном устройстве компьютеров.

Выходя из тени, SeaMicro хочет развеять один из мифов Силиконовой долины, о том что нельзя ввести никакие новшества в аппаратное устройство компьютеров. Сегодня данный стартап, речь идёт о SeaMicro, заявляет что создал сервер на 512-ти процессорах Intel Atom™ достигающий мощности суперкомпьютеров и потребляющий на 75% меньше мощности и занимающий меньший объём чем сорвременные серверы. Continue reading SeaMicro демонстрирует своё Know-How в аппаратном устройстве компьютеров.

Виртуальная реальность, или реальная виртуальность.

Иногда возникает необходимость иметь второй компьютер. Например для того чтобы ходить в банк, с минимальной опасностью лишиться сертификатов и паролей. Или чтобы установить новое программное обеспечение без опасности завалить рабочую операционную систему. Приемлемым решением такой задачи является использование виртуальной машины. Машины которая кажется настоящей только живущим в ней приложениям и операционной системе.
Continue reading Виртуальная реальность, или реальная виртуальность.