Импорт виртуальных машин Linux » История » Версия 4
Dmitry Chernyak, 07.07.2016 01:10
1 | 1 | Dmitry Chernyak | h1. Импорт виртуальных машин Linux |
---|---|---|---|
2 | 1 | Dmitry Chernyak | |
3 | 4 | Dmitry Chernyak | [[OVERVIEW]] | [[INSTALL]] | [[SETUP]] | [[OPERATIONS]] | [[LICENSE]] |
4 | 4 | Dmitry Chernyak | [[ОБЗОР]] | [[УСТАНОВКА]] | [[НАСТРОЙКА]] | [[ОПЕРАЦИИ]] | [[ЛИЦЕНЗИЯ]] |
5 | 4 | Dmitry Chernyak | |
6 | 1 | Dmitry Chernyak | <pre> |
7 | 1 | Dmitry Chernyak | gnt-instance activate-disks megaplan |
8 | 1 | Dmitry Chernyak | </pre> |
9 | 2 | Dmitry Chernyak | |
10 | 1 | Dmitry Chernyak | Команда выведет имя диска |
11 | 1 | Dmitry Chernyak | |
12 | 1 | Dmitry Chernyak | Залить raw-образ командой |
13 | 1 | Dmitry Chernyak | |
14 | 1 | Dmitry Chernyak | <pre> |
15 | 1 | Dmitry Chernyak | dd if=ОБРАЗ of=ДИСК bs=64k |
16 | 1 | Dmitry Chernyak | </pre> |
17 | 1 | Dmitry Chernyak | |
18 | 1 | Dmitry Chernyak | <pre> |
19 | 1 | Dmitry Chernyak | gnt-instance deactivate-disks megaplan |
20 | 1 | Dmitry Chernyak | </pre> |
21 | 1 | Dmitry Chernyak | |
22 | 1 | Dmitry Chernyak | h2. Настроить виртуальную машину |
23 | 1 | Dmitry Chernyak | |
24 | 1 | Dmitry Chernyak | При создании обычных виртуальных машин используется внутреннее ядро и загрузчик pygrub, |
25 | 3 | Владимир Ипатов | настройки которого находятся в /boot/grub/menu.lst виртуальной машины. |
26 | 1 | Dmitry Chernyak | |
27 | 1 | Dmitry Chernyak | <pre> |
28 | 3 | Владимир Ипатов | Можно его создать: |
29 | 3 | Владимир Ипатов | default 0 |
30 | 3 | Владимир Ипатов | timeout 5 |
31 | 3 | Владимир Ипатов | color cyan/blue white/blue |
32 | 3 | Владимир Ипатов | |
33 | 3 | Владимир Ипатов | title Debian GNU/Linux, default kernel |
34 | 3 | Владимир Ипатов | root (hd0,0) |
35 | 3 | Владимир Ипатов | kernel /vmlinuz root=/dev/xvda1 ro |
36 | 3 | Владимир Ипатов | initrd /initrd.img |
37 | 3 | Владимир Ипатов | |
38 | 3 | Владимир Ипатов | title Debian GNU/Linux, default kernel (single-user mode) |
39 | 3 | Владимир Ипатов | root (hd0,0) |
40 | 3 | Владимир Ипатов | kernel /vmlinuz root=/dev/xvda1 ro single |
41 | 3 | Владимир Ипатов | initrd /initrd.img |
42 | 3 | Владимир Ипатов | </pre> |
43 | 3 | Владимир Ипатов | |
44 | 3 | Владимир Ипатов | В данном случае в root= указан первый раздел первого диска. |
45 | 3 | Владимир Ипатов | Однако, в поставляемых образах возможно рутовым разделом будет другой раздел, в этом случае надо подсчитать их и записать нужный. |
46 | 3 | Владимир Ипатов | А в случае, если внутри образа есть LVM, нужно узнать имя vg и имя тома с рутовым разделом: |
47 | 3 | Владимир Ипатов | <pre> |
48 | 3 | Владимир Ипатов | gnt-instance activate-disks |
49 | 3 | Владимир Ипатов | kpartx -av /dev/mapper/то-что-вывел-activate-disks |
50 | 3 | Владимир Ипатов | vgscan |
51 | 3 | Владимир Ипатов | vgchange -ay |
52 | 3 | Владимир Ипатов | </pre> |
53 | 3 | Владимир Ипатов | |
54 | 3 | Владимир Ипатов | После этого нужный нам vg будет доступен и мы сможем смонтировать его волюмы. |
55 | 3 | Владимир Ипатов | После того, как нашли имя рутового раздела, вписываем его в root: |
56 | 3 | Владимир Ипатов | kernel /vmlinuz root=/dev/mapper/имя--группы-имя--тома ro |
57 | 3 | Владимир Ипатов | |
58 | 3 | Владимир Ипатов | |
59 | 3 | Владимир Ипатов | Если не хочется вмешиваться в полученный образ, то можно загрузить систему используя внешнее ядро. |
60 | 3 | Владимир Ипатов | Для этого нужно узнать путь к рутовому разделу способом, описанным выше, затем, если требуется, скопировать ядро и инитрд из виртуальной машины и положить в /boot (например, если виртуальная машина заметно новее гипервизора) (также нужно затем скопировать ядро и инитрд на все ноды кластера командой gnt-cluster copyfile). |
61 | 3 | Владимир Ипатов | |
62 | 3 | Владимир Ипатов | добавление аргумента ядра console=hvc0 может потребоваться, если ход загрузки не виден на xen консоли. |
63 | 3 | Владимир Ипатов | |
64 | 3 | Владимир Ипатов | Дальше нужно задать настройки для инстанса: |
65 | 3 | Владимир Ипатов | |
66 | 3 | Владимир Ипатов | <pre> |
67 | 1 | Dmitry Chernyak | gnt-instance modify -H use_bootloader=false megaplan |
68 | 1 | Dmitry Chernyak | gnt-instance modify -H initrd_path=/boot/initrd.img-3.2.0-33-generic megaplan |
69 | 1 | Dmitry Chernyak | gnt-instance modify -H kernel_path=/boot/vmlinuz-3.2.0-33-generic megaplan |
70 | 1 | Dmitry Chernyak | gnt-instance modify -H kernel_args='ro console=hvc0' megaplan |
71 | 3 | Владимир Ипатов | gnt-instance modify -H root_path=/dev/mapper/megaplan--box-root megaplan |
72 | 1 | Dmitry Chernyak | </pre> |
73 | 1 | Dmitry Chernyak | |
74 | 1 | Dmitry Chernyak | h2. Запустить виртуальную машину |
75 | 1 | Dmitry Chernyak | |
76 | 1 | Dmitry Chernyak | <pre> |
77 | 1 | Dmitry Chernyak | gnt-instance startup megaplan |
78 | 1 | Dmitry Chernyak | </pre> |