Установка произвольной системы через виртуальный KVM

02 Mar 2016 | Автор: anchous |

В процессе ковыряния с кривыми ядрами CentOS на выделенных серверах Kimsufi, нашел идеальный способ поставить любую произвольную операционку с помощью виртуального KVM, запущенного из под штатной системы восстановления Rescue System.

Причем есть очень стойкое подозрение, что эта тема работает вообще для любого хостинга, имеющего Rescue Linux, т.е OVH Hetzner Kimsufi SoYouStart и т.д

Тем более что у Hetzner есть система восстановления vKVM.

Но для начала идем в панель управления хостингом Kimsufi и включаем Rescue System: Kimsufi -> Netboot -> Rescue -> rescue-pro -> Restart

Грузимся в систему и скачиваем нужный нам образ системы. В данном случае я ставлю CentOS 6.7, хотя попробовал накатить с 7ку.
# wget http://mirror.h1host.ru/centos/6.7/isos/x86_64/CentOS-6.7-x86_64-minimal.iso

После этого стартуем сервер QEMU VNC на 5900 порту. Устройство диска, который я определил как sda, зависит естественно от конфигурации вашей системы. В принципе вы можете задать большее число разделов, но я не стал заморачиться.

# /usr/bin/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::80-:80 -m 4096M -localtime -enable-kvm -hda /dev/sda -vnc SERVER_IP:0 -cdrom /root/CentOS-6.7-x86_64-minimal.iso -boot d

после чего логинимся через VNC к процессу установки, по адресу SERVER_IP:5900 и проводим её в штатном режиме.

Надо заметить, что kvm присутствует в части линуксовых систем, но если его нет, то придется либо собирать лапками, либо можно дернуть уже собранный пакет, например отсюда

При установке системы главное не забыть настроить сетку, т.к в противном случае можно остаться без доступа к удаленной системе.
После того как система установится, рестартим систему и грузимся с диска. Если диск все равно стартует установку, то перезапускаем нашу QEMU машину уже без установочного диска.
# /usr/bin/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::80-:80 -m 4096M -localtime -enable-kvm -hda /dev/sda -vnc SERVER_IP:0

Убеждаемся в том что в /etc/sysconfig/network-scripts/ifcfg-eth0 сетка настроена корректно, после чего уже рестартим сам Rescue Linux.

В случае если ничего не поднялось, то рестартимся обратно в консоль восстановления и из неё грузим нашу машину (как в строке выше) и смотрим в чем проблема.

Надо заметить, что основная проблема не загрузки – это сетка. Причем я пробовал запустить как CentOS 7, так и CentOS 6.7 и что интересно – при настройке сетки из инсталяшки CentOS 7 перегрузился корректно, т.е все прописалось как надо, тогда как в CentOS 6.7 возникли следующие косяки:

  • в файле /etc/sysconfig/network в параметре GATEWAY= был прописан IP машины, а не шлюза
  • в файле настройки интерфейса не была выставлена настройка автоподъема интерфейса ONBOOT=yes, точно также был некорректно выставлен шлюз GATEWAY= , стоял левый MAC

После того как я руками все поправил, все заработало нормально.

После перезагрузки системы проверяем:
# uname -r
2.6.32-573.el6.x86_64
тогда как родное ядро Kimsufi для CentOS 6.7 – это 3.14.32-xxxx-std-ipv6-32

З.Ы если страдаете паранойей и полагаете что вашу машину кто то настроит за вас или вломится в неё, пока вы поднимаете интерфейсы, через незапароленную сессию VNC, то можно инкапсулировать vnc трафик в сессию ssh. Для чего команда запуска машины выполняется через localhost:
# /usr/bin/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::80-:80 -m 4096M -localtime -enable-kvm -hda /dev/sda -vnc localhost:0 -cdrom /root/CentOS-6.7-x86_64-minimal.iso -boot d

После чего устанавливаете ssh сессию с вашего локального компьютера на настраиваемый сервер:
ssh root@SERVER_IP -L 5900:localhost:5900
и после установки, открываете VNC сессию на localhost:5900

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Теги: , , ,

Ваш отзыв