Недавно я пытался узнать, как использовать XenServer для другого моего проекта, для чего мне нужно иметь возможность программно запускать и уничтожать виртуальные машины из командной строки.
Поскольку это в первую очередь личный проект, мне не удалось приобрести какое-либо реальное оборудование, поэтому в настоящее время я запускаю XenServer внутри Oracle VirtualBox в мостовом режиме без HVM, поэтому я могу запускать только 32-разрядные виртуальные машины Linux ( Думаю).
В настоящее время я запускаю следующие команды, которые успешно запускают виртуальную машину и переводят ее в рабочее состояние:
xe vm-install template=<the_ubuntu_precise_template_32bit> new-name-label=UbuntuVM
sr-uuid=<local_storage_uuid>
xe network-list bridge=xenbr0 --minimal
xe vif-create vm-uuid=<vm_uuid> network-uuid=<network_uuid (previous command output)> mac=random device=0
xe vm-param-set uuid=<vm_uuid>
other-config:install-repository=http://archive.ubuntu.com/ubuntu/dists/precise-updates/
xe vm-start uuid=<vm_uuid>
После запуска этих команд наступает короткая пауза, пока я предполагаю, что сетевой установщик загружен, а затем виртуальная машина переходит в рабочий режим. (как отображается, когда я бегу xe vm-list
)
Тогда, если я убегу xe console uuid=<vm_uuid>
, Я вхожу в установщик ubuntu, но каждый раз, когда он не работает.
В настройке все вроде работает нормально, IPv6 настроен правильно, и я дважды проверил свой маршрутизатор, обнаружив, что виртуальная машина правильно зарегистрирована как подключенное устройство. Затем он просит меня выбрать зеркало, но после выбора зеркала установщик начинает «загрузку файлов выпуска», и начинается индикатор выполнения, который в течение нескольких минут меняется от 0% до 100%, возвращая ошибку. сообщение: BAD MIRROR
. Я пробовал разные зеркала, но обнаружил, что ни одно из них не работает, и выдал ту же ошибку.
Наконец, я запустил оболочку, включенную в установщик, и выполнил следующие команды, чтобы проверить, работает ли мое интернет-соединение:
ping 127.0.0.1
знак равно 127.0.0.1 is alive!
ping 192.168.0.31
(хост XenServer) = 192.168.0.31 is alive!
ping 192.168.0.1
(мой маршрутизатор) ничего не возвращает.
ping 8.8.8.8
также ничего не возвращает.
Из этого кажется, что виртуальная машина не имеет доступа к Интернету, и поэтому я считаю, что может быть какая-то проблема с сетью, которую я назначил виртуальной машине?
На хосте XenServer я запустил ifconfig
и получил следующую информацию:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:6f:51:a0 txqueuelen 1000 (Ethernet)
RX packets 246 bytes 47076 (45.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 93 bytes 10473 (10.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 16 bytes 4602 (4.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 4602 (4.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.31 netmask 255.255.255.0 broadcast 192.168.0.255
ether 08:00:27:6f:51:a0 txqueuelen 0 (Ethernet)
RX packets 274 bytes 48924 (47.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 121 bytes 13909 (13.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Для хорошей меры я тоже побежал netstat -rn
на хосте XenServer и получил следующий вывод:
Таблица IP-маршрутизации ядра
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 xenbr0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 xenbr0
Любая помощь будет принята с благодарностью,
Ура, Оли
Итак, получается, что после очень большого ошибки вы не можете запустить XenServer в VirtualBox с помощью Bridged Adapter и в то же время предоставить доступ к виртуальным машинам. Поэтому в качестве быстрого решения этой проблемы я прибег к использованию NAT и перенаправления портов SSH на мой хост (мой MacBook), чтобы я мог подключиться. Я не совсем уверен, почему мне не удалось запустить XenServer в режиме моста, но я думаю, что это как-то связано с xenbr0
не настроен правильно и, откровенно говоря, для тестовой машины, чтобы увидеть, могу ли я запустить виртуальную машину, я не могу беспокоиться о ее перенастройке, и я не уверен, возможно ли это вообще.
Итак, в качестве быстрого решения для всех вас, VirtualBoxers, запустить XenServer в NAT как это не работает в режиме мостового адаптера.
Надеюсь, это поможет любому, у кого болит голова,
Оли.