Виртуализация

Виртуальные машины и среды исполнения

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 13446
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Olej » 21 окт 2011, 17:31

2Sergey371:
Я хотел бы коротко вернуться к вашим словам:
Sergey371 писал(а): Я пока ориентируюсь на способ получения копий физических машин изложенном в Poor man’s P2V:
С LiveCD(или по PXE) на клонируемой машине выполняется:

Код: Выделить всё

dd if=/dev/sda | ssh root@virthost 'cat > /var/lib/libvirt/images/guest.img'
А полученный образ уже запускается в VM(учитывая возможность конвертации образа можно даже запустить копии в разных системах виртуализации).
Идея понятна, но...
Смотрю я вашу ссылку http://rwmj.wordpress.com/2009/10/13/poor-mans-p2v/... Там в обсуждениях задали вопрос (и ответ был):
John L Magee
November 23, 2009 at 12:29 am
Will this migrate a Windows XP system?

Reply
rich
November 23, 2009 at 10:55 am
John, I don’t know — please try it and let us know.
One thing I do know is that Windows gets very annoyed when the hardware suddenly changes from under it. At the very least this will require reactivation.

Reply
Ken Barber
May 18, 2010 at 9:31 pm
I tried it; didn’t work.
Specifics: the “P” system was already XP / RHEL dual boot, so it has grub instead of the Win bootloader.
Grub comes up, gives its menu. Choose Windows, it echos grub’s “chainloader” command, and then hangs.
I don’t have the XP install CD (company laptop) so I don’t have a way of issuing “fdisk /mbr” to see what would happen.

Reply
rich
May 19, 2010 at 8:20 am
Use virt-rescue …
Как я понимаю, то же действие, что они делают, можно воспроизвести и более простой командой, локально, без сети, создав локальный файл-образ, который потом использовать:

Код: Выделить всё

dd if=/dev/sda | cat > /var/lib/libvirt/images/guest.img
Это даже на очень быстром компьютере занимает 14 мин. ... не побалуешь с этим сильно (понятно, что эта цифра может отличаться в разы а то и порядки, в зависимости от процессоров и размеров HDD, скорее в большую сторону, потому что это у меня такая цифра получилась на очень быстром процессоре).

Меня интересовало: как проще создать образ для VM Windows, любого Windows, не важно какого ... я с ним работать всё равно не буду ;-) , в любом VM формате - трансформирую...
Я попробовал способ подобный обсуждаемому.... "но из этого Луя не выходит ... абсолютно" :lol:
Очень хотелось бы выслушать соображения!

Только это, наверное, уместно продолжить в другом месте, вот там:
viewtopic.php?f=9&t=1503
чтоб здесь предметный разговор не засорять ... виндоузами :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 13446
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Olej » 21 окт 2011, 18:00

Ali писал(а):А вот как это выглядит в fedora16:
7.png
А как вам удалось в "Менеджер виртуальных машин" добиться ;-) подключения LXC?
У меня на закладке "Добавить подключение" только 2 выбора "Гипервизор:"
- Xen
- QEMU/KVM
(именно в таком написании).

Или это версией определяется? всё, что я смотрю - это Fedora 14:

Код: Выделить всё

[olej@nvidia ~]$ virt-manager --version
0.8.7

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Ali » 21 окт 2011, 18:35

2 Olej
....
А как вам удалось в "Менеджер виртуальных машин" добиться ;-) подключения LXC?
У меня на закладке "Добавить подключение" только 2 выбора "Гипервизор:"
- Xen
- QEMU/KVM
(именно в таком написании).

Или это версией определяется? всё, что я смотрю - это Fedora 14:
....
Да, это определяется версиями virt-manager и libvirt. Подходящие пока только в бете шестнадцатой федоры.
Но и в четырнадцатой кое что есть.

Код: Выделить всё

[root@aliCQ ~]# cat /etc/issue
RFRemix release 14.1 (Laughlin)
Kernel \r on an \m (\l)

[root@aliCQ ~]# cat /home/ali/v1.xml 
<domain type='lxc'>
  <name>vm1</name>
  <memory>500000</memory>
  <os>
    <type>exe</type>
    <init>/bin/sh</init>
  </os>
  <vcpu>1</vcpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/libvirt_lxc</emulator>
    <interface type='network'>
      <source network='default'/>
    </interface>
    <console type='pty' />
  </devices>
</domain>
[root@aliCQ ~]# virsh --connect lxc:/// define /home/ali/v1.xml
Домен vm1 определён на основе /home/ali/v1.xml

[root@aliCQ ~]# virsh --connect lxc:/// dominfo vm1
ID:             -
Имя:         vm1
UUID:           1fce8935-793b-b36e-8383-db9cd478a0f9
Тип ОС:    exe
Статус:   выключен
CPU:            1
Макс.память: 500000 kB
Занято памяти: 500000 kB
Persistent:     yes
Автозапуск: выкл.

[root@aliCQ ~]# virsh --connect lxc:/// start vm1
Домен vm1 запущен

[root@aliCQ ~]# virsh --connect lxc:/// dominfo vm1
ID:             3485
Имя:         vm1
UUID:           1fce8935-793b-b36e-8383-db9cd478a0f9
Тип ОС:    exe
Статус:   работает
CPU:            1
Макс.память: 500000 kB
Занято памяти: 500000 kB
Persistent:     yes
Автозапуск: выкл.


[root@aliCQ ~]# virsh --connect lxc:/// console vm1
Выполнено подключение к домену vm1
Escape-символ: ^]
sh-4.1# env
TERM=linux
PATH=/bin:/sbin
PWD=/
SHLVL=1
_=/bin/env
sh-4.1# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:27 pts/3    00:00:00 /bin/sh
root         6     1  0 19:28 pts/3    00:00:00 ps -ef
sh-4.1# 

/bin/shsh-4.1# exit
exit


[root@aliCQ ~]# virsh --connect lxc:/// undefine vm1
Определение домена vm1 удалено

[root@aliCQ ~]# 

Sergey371
Писатель
Сообщения: 60
Зарегистрирован: 06 окт 2011, 19:54
Откуда: Рига, Латвия
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Sergey371 » 21 окт 2011, 21:43

Olej писал(а):1. это Fedora 15?
2. а grub.conf :?: ;-)

Код: Выделить всё

title Fedora (2.6.40.6-0.fc15.i686.PAE)
        root (hd0,0)
        kernel /vmlinuz-2.6.40.6-0.fc15.i686.PAE ro root=UUID=85d43f94-dc06-4a46-873c-5c6c82ded398 rhgb quiet SYSFONT=latarcyrheb-sun16 LANG=ru_RU.UTF-8 KEYTABLE=us-acentos selinux=0
        initrd /initramfs-2.6.40.6-0.fc15.i686.PAE.img
title Xen (2.6.40.6-0.fc15.i686.PAE)
        root (hd0,0)
        kernel /xen.gz
        module /vmlinuz-2.6.40.6-0.fc15.i686.PAE ro root=UUID=85d43f94-dc06-4a46-873c-5c6c82ded398 rhgb quiet SYSFONT=latarcyrheb-sun16 LANG=ru_RU.UTF-8 KEYTABLE=us-acentos selinux=0
        module /initramfs-2.6.40.6-0.fc15.i686.PAE.img
Olej писал(а):3. это консоль? без X11? ... или сессия SSH?
Зашёл по ssh на тестовую машину, на тестовых серверах минимальная конфигурация без X-ов.

Sergey371
Писатель
Сообщения: 60
Зарегистрирован: 06 окт 2011, 19:54
Откуда: Рига, Латвия
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Sergey371 » 21 окт 2011, 22:01

Olej писал(а):Как я понимаю, то же действие, что они делают, можно воспроизвести и более простой командой, локально, без сети, создав локальный файл-образ
Можно делать и локально... если можно ;-)

Процесс p2v т.е. перенос физического серверного комплекса в виртуальный на практике зависит от многих обстоятельств, к примеру если диски нового сервака можно воткнуть в "старичка" то можно клон сделать и локально, но у меня "старички" PATA, а новые SATA II, и проще клон сделать по сети(80ГБ за пару часов "тупо" сливается и это при 100Мбпс, а если 1Гбпс то смысла "перетыкать" диски вообще мало).

Но это опять таки если рассматривать "старичков" как чёрные ящики которые надо почти как есть запустить в виртуале(увы, второй раз сталкиваюсь с такой ситуацией). Если же "старичков" можно разобрать "по косточкам", выдрав данные и конфигурации то конечно лучше "с нуля" поставить виртуалки только с необходимым обновлённым софтом и выправленными конфигурациями.

К стати комп c Windows XP SP3 склонировал, ранее описанным "дистанционным" способом, и запросто запустил под KVM/QEMU, даже удивился на сколько легко получилось. Но думаю эта "лёгкость" сильно зависит в первую очередь от типа контроллера дисков, остальные ус-ва обновятся службой PnP.

Аватара пользователя
Olej
Писатель
Сообщения: 13446
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Olej » 22 окт 2011, 14:03

Sergey371 писал(а):
Olej писал(а):Как я понимаю, то же действие, что они делают, можно воспроизвести и более простой командой, локально, без сети, создав локальный файл-образ
Можно делать и локально... если можно ;-)

Процесс p2v т.е. перенос физического серверного комплекса в виртуальный на практике зависит от многих обстоятельств, к примеру если диски нового сервака можно воткнуть в "старичка" то можно клон сделать и локально, но у меня "старички" PATA, а новые SATA II, и проще клон сделать по сети(80ГБ за пару часов "тупо" сливается и это при 100Мбпс, а если 1Гбпс то смысла "перетыкать" диски вообще мало).
Я не сильно понимаю: как тип контроллера HDD или геометрия диска (H/T/S) могут каким-то образом влиять на качество файла-образа, в который сольётся содержимое диска?
Но я не настолько понимаю стандарты оборудования...
Sergey371 писал(а):К стати комп c Windows XP SP3 склонировал, ранее описанным "дистанционным" способом, и запросто запустил под KVM/QEMU, даже удивился на сколько легко получилось. Но думаю эта "лёгкость" сильно зависит в первую очередь от типа контроллера дисков, остальные ус-ва обновятся службой PnP.
А вот здесь у меня вопрос ... относительно клонирования: и в публикации, и в ваших примерах - клонировался весь диск в образ:

Код: Выделить всё

# dd if=/dev/sda | cat > /var/lib/libvirt/images/guest.img
а не только партиция HDD, которая содержит .... в вашем случае - Windows XP SP3 (там один символ добавился '1' ;-) ):

Код: Выделить всё

# dd if=/dev/sda1 | cat > /var/lib/libvirt/images/guest.img
Эти 2 случая эквивалентны как если бы QEMU запускать из командной строки, и, соответственно:

Код: Выделить всё

$ qemu -hda /dev/sda -boot c ... 
и

Код: Выделить всё

$ qemu -hda /dev/sda1 -boot c ... 
Я так понимаю, что 2-е случаи - некорректные ... и при таком запуске и QEMU-система виснет, и связано это как-то с MBR и передачей управления уже потом в партицию... а в первом варианте загрузка QEMU идёт через меню GRUB ... и далее.
Но при клонировании файла-образа образ всего диска размер может превосходить размер загрузочного раздела ... на порядок, да так оно обычно и есть; и время клонирования тоже.
А нельзя ли как-то указать создание клона только раздела? (a'la дискета FDD :-o ).

P.S. я понятно рассказал своё хотение? :lol:
А то тут в форуме пишут, что я сильно невнятно излагаю :-?

Аватара пользователя
Olej
Писатель
Сообщения: 13446
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Olej » 22 окт 2011, 14:24

Sergey371 писал(а):
Olej писал(а):Как я понимаю, то же действие, что они делают, можно воспроизвести и более простой командой, локально, без сети, создав локальный файл-образ
Можно делать и локально... если можно ;-)

Процесс p2v т.е. перенос физического серверного комплекса в виртуальный на практике зависит от многих обстоятельств, к примеру если диски нового сервака можно воткнуть в "старичка" то можно клон сделать и локально, но у меня "старички" PATA, а новые SATA II, и проще клон сделать по сети(80ГБ за пару часов "тупо" сливается и это при 100Мбпс, а если 1Гбпс то смысла "перетыкать" диски вообще мало).
Я всё-таки не понял ваше замечание ... оно вызвало какое-то беспокойство :oops:
Но ясли я использую локальную сессию SSH (ну, не хочу из каких-то соображений задействовать сеть ... а клонируемый HDD у меня пока ещё не накрылся и благополучно работает :-D ):

Код: Выделить всё

[olej@notebook TMP]$ ssh olej@localhost
olej@localhost's password: 
[olej@notebook ~]$ who
olej     tty1         2011-10-22 11:54 (:0)
olej     pts/0        2011-10-22 11:54 (:0.0)
olej     pts/1        2011-10-22 11:54 (:0.0)
olej     pts/2        2011-10-22 11:54 (:0.0)
olej     pts/3        2011-10-22 11:55 (:0.0)
olej     pts/4        2011-10-22 11:55 (:0.0)
olej     pts/9        2011-10-22 14:09 (localhost.localdomain)
Если я такую локальную сессию использую в ... p2v ;-) ... только на маленьких тестовых файлах, а не разделах HDD:

Код: Выделить всё

[olej@notebook TMP]$ echo 111111111111111111111111 > XXX
[olej@notebook TMP]$ dd if=./XXX | ssh root@localhost 'cat > ./XXX.img'
0+1 записей считано
0+1 записей написано
 скопировано 25 байт (25 B), 2,9124e-05 c, 858 kB/c
root@localhost's password: 
- вот таким где-то образом ... и тут меня ожидала весёлая неожиданность :lol: :

Код: Выделить всё

[olej@notebook TMP]$ ls -l
итого 4
-rw-rw-r-- 1 olej olej 25 Окт 22 14:08 XXX
[olej@notebook 2011_WORK]$ ls -l /root/*.img
-rw-r--r-- 1 root root 25 Окт 22 14:17 /root/XXX.img
- как сменился термин "текущий каталог" на протяжении одной команды :roll:

Но я к тому: чем это отличается от локального копирования, и какое касательство к этому могут иметь детали дисковой подсистемы?

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Ali » 22 окт 2011, 16:40

Виндовсу нужен прописанный в реестре драйвер дика. Иначе вы получите синий экран.

Sergey371
Писатель
Сообщения: 60
Зарегистрирован: 06 окт 2011, 19:54
Откуда: Рига, Латвия
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Sergey371 » 22 окт 2011, 16:58

Olej писал(а):Я не сильно понимаю: как тип контроллера HDD или геометрия диска (H/T/S) могут каким-то образом влиять на качество файла-образа, в который сольётся содержимое диска?
Но я не настолько понимаю стандарты оборудования...
От типа контроллера диска зависит конечно не качество получаемого образа, а сама возможность(или простота) этой операции. В старых серверах встречаются интерфейсы которые уже отсутствуют на новых материнках и, соотв., получить одновременно на оба диска в одном физическом компьютере(без разницы в новом или старом) не получается.

Или получить физический доступ к клонируемой машине просто "в лом", к примеру, образ Windows XP SP3 с реального компа оператора, который стоит под столом и завален всяким барахлом и наверняка внутри грязный, а так просто загрузился с CD и через два часа дело в шляпе и сам сервак останавливать не пришлось.
Olej писал(а):А вот здесь у меня вопрос ... относительно клонирования: и в публикации, и в ваших примерах - клонировался весь диск в образ:
...
Я так понимаю, что 2-е случаи - некорректные ... и при таком запуске и QEMU-система виснет, и связано это как-то с MBR и передачей управления уже потом в партицию... а в первом варианте загрузка QEMU идёт через меню GRUB ... и далее.
Но при клонировании файла-образа образ всего диска размер может превосходить размер загрузочного раздела ... на порядок, да так оно обычно и есть; и время клонирования тоже.
А нельзя ли как-то указать создание клона только раздела? (a'la дискета FDD :-o ).
Плохо понял что нужно: если клонировать весь диск то обращаться надо без цифры(/dev/sda), а если нужен только раздел то с цифрой(/dev/sda1), второй вариант возможно(?) и не корректен для QEMU, но вполне работоспособен в pv домене Xen-а, мои тестовые "Федорочки" лежат именно в образах разделов. Но это и создает неудобство в виде необходимости внешнего, по отношению к образу, хранения ядра и initrd.
Конечно при копировании раздела теряется MBR с кодом первичного загрузчика, находящиеся в первых 512 байтах диска, и наверное есть какая то возможность указать диспетчеру какой загрузчик использовать. По крайней мере в конфигурации ВМ Xen-а есть такая опция, но я с ней пока не разбирался.

А возможность собирать или компоновать диск и нужных разделов и загрузчика это чего и не хватает, и именно об этом я писал ранее что приходится грузится с ЛайвСиДи и использовать доп. дисковые менеджеры.
Это конечно можно "схимичить" утилитами типа dd, вырезая опр. куски файла-образа с последующим складыванием полученных кусков но это довольно муторно и надо точно рассчитывать структуру диска.

К стати встречал упоминание утилиты монтирования образа диска lomount , но она в стандартный дистрибутив Федоры не входит, и я пока ещё не пробовал что она может, но в любом случае полезная вещь, а то образ-раздел подмонтировать для правки можно, а образ-диск нет.

Sergey371
Писатель
Сообщения: 60
Зарегистрирован: 06 окт 2011, 19:54
Откуда: Рига, Латвия
Контактная информация:

Re: Виртуализация

Непрочитанное сообщение Sergey371 » 22 окт 2011, 17:04

Olej писал(а):

Код: Выделить всё

[olej@notebook TMP]$ echo 111111111111111111111111 > XXX
[olej@notebook TMP]$ dd if=./XXX | ssh root@localhost 'cat > ./XXX.img'
0+1 записей считано
0+1 записей написано
 скопировано 25 байт (25 B), 2,9124e-05 c, 858 kB/c
root@localhost's password: 
- вот таким где-то образом ... и тут меня ожидала весёлая неожиданность :lol: :

Код: Выделить всё

[olej@notebook TMP]$ ls -l
итого 4
-rw-rw-r-- 1 olej olej 25 Окт 22 14:08 XXX
[olej@notebook 2011_WORK]$ ls -l /root/*.img
-rw-r--r-- 1 root root 25 Окт 22 14:17 /root/XXX.img
- как сменился термин "текущий каталог" на протяжении одной команды :roll:
Никакой неожиданности нет: на удалённую систему вы залогинились рутом и указали текущий каталог т.е. домашний каталог залогиненного рута, куда и получили образ. Что бы неожиданностей не было лучше указывать абсолютные пути файла, а не относительные.

Ответить

Вернуться в «Виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость