Краткое руководство. Создание виртуальной машины Linux на портале Azure
Виртуальные машины Azure можно создать на портале Azure. Портал Azure — это браузерный пользовательский интерфейс, который позволяет создавать ресурсы Azure. В этом кратком руководстве показано, как использовать портал Azure для развертывания виртуальной машины Linux под управлением Ubuntu Server 22.04 LTS. Чтобы проверить работу виртуальной машины, вы также подключитесь к ней по протоколу SSH и установите веб-сервер NGINX.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Вход в Azure
Создание виртуальной машины
- В поле поиска введите Виртуальные машины.
- В разделе Службы выберите Виртуальные машины.
- На странице Виртуальные машины выберите Создать и щелкните Виртуальная машина. Откроется страница Создание виртуальной машины.
- На вкладке Основные сведения в разделе Сведения о проекте убедитесь, что выбрана правильная подписка, и при необходимости щелкните Создать для группы ресурсов. В поле «Имя» введите myResourceGroup*.
- В разделе Сведения об экземпляре введите myVM в поле Имя виртуальной машины и выберите Ubuntu Server 22.04 LTS — Gen2 для образа. Оставьте другие значения по умолчанию. Размер и цена по умолчанию указаны только в качестве примера. Доступность размера и цена зависят от вашего региона и подписки.
Примечание Некоторым пользователям теперь доступна возможность создания виртуальных машин в нескольких зонах. Дополнительные сведения об этой новой возможности см. в статье Создание виртуальных машин в зоне доступности.
Подключение к виртуальной машине
Создайте SSH-подключение к виртуальной машине.
- Если вы работаете на компьютере с Mac или Linux, откройте подсказку Bash и установите разрешение только для чтения для файла .pem, используя chmod 400 ~/Downloads/myKey.pem . Если вы используете компьютер Windows, откройте командную строку PowerShell.
- В командной строке установите SSH-подключение к виртуальной машине. Измените IP-адрес на IP-адрес виртуальной машины и вместо пути .pem укажите путь к скачанному файлу ключа.
ssh -i ~/Downloads/myKey.pem azureuser@10.111.12.123
Созданный вами ключ SSH можно использовать при следующем создании виртуальной машины в Azure. Только при этом выберите для параметра Источник открытого ключа SSH значение Use a key stored in Azure (Использовать ключ, сохраненный в Azure). У вас уже есть закрытый ключ на компьютере, поэтому вам не нужно ничего скачивать.
Установка веб-сервера
Чтобы проверить работу виртуальной машины, установите веб-сервер NGINX. Из сеанса SSH обновите источники пакетов, а затем установите последнюю версию пакета NGINX.
sudo apt-get -y update sudo apt-get -y install nginx
sudo zypper --non-interactive update sudo zypper --non-interactive install nginx
sudo dnf update sudo dnf install nginx
После этого введите exit , чтобы выйти из сеанса SSH.
Проверка работы веб-сервера
Страницу приветствия NGINX по умолчанию можно просмотреть в любом веб-браузере. Введите общедоступный IP-адрес виртуальной машины в качестве веб-адреса. Общедоступный IP-адрес можно найти на странице общих сведений о виртуальной машине. Также он является частью строки подключения SSH, использованной ранее.
Очистка ресурсов
Если группа ресурсов, виртуальная машина и все связанные с ними ресурсы вам больше не требуются, их можно удалить. Для этого выберите группу ресурсов для виртуальной машины, выберите действие Удалить и подтвердите имя удаляемой группы ресурсов.
Дальнейшие действия
В этом кратком руководстве вы развернули виртуальную машину, создали группу безопасности сети и правило, а также установили базовый веб-сервер.
Дополнительные сведения о виртуальных машинах Azure см. в руководстве для виртуальных машин Linux.
Установка виртуальных машин KVM под ubuntu server
Последнее время применение виртуализации при построении серверной инфраструктуры встречается все чаще. Гибкость, масштабируемость, экономия делают эту технологию очень перспективной. Сейчас на рынке существует достаточное количество решений, как проприетарных, так и open source, позволяющих развернуть виртуальные сервера. Один из таких вариантов я хочу рассмотреть в данной статье.
Поигравшись с ГУЙовыми платформами виртуализации от Microsoft, VMware и Sun, я решил попробовать сделать тоже самое через консоль. Установив давно понравившийся мне linux дистрибутив ubuntu, стал выбирать — на какой же реализации виртуальных машин (ВМ) остановиться. В википедии есть интересная табличка, хотя посмотрев оффициальный help к ubuntu я понял, что лучше начать с KVM.
Процедура установки хост-сервера в общем-то стандартная, но есть нюансы. Во время установки включил LVM (как я понял — гостевые ОС можно впоследстии размещать на LVM-томах, что придаст дополнительную гибкость), а в окне выбора доустанавлемого ПО отметил OpenSSH server и Virtual Machine host.
Хост-серверу задан статический ip 172.16.4.24, что можно увидеть далее в приведенных конфигах.
После установки хост-сервера, подключаемся к нему по ssh (одноименной командой из linux или putty/kitty из windows).
Первым делом необходимо проверить, поддерживает ли железо сервера аппаратную виртуализацию командой
egrep ‘(vmx|svm)’ /proc/cpuinfo
Если вывод команды не пустой, значит поддерживает.
Скачиваем в домашнюю папку iso-образ того дистрибутива операционной системы, которая в последствии будет гостевой. У меня это тот же самый ubuntu-9.04-server-amd64.iso
Устанавливаем необходимые пакеты:
sudo apt-get install kvm libvirt-bin python-virtinst bridge-utils
Добавляем пользователя, который будет рулить виртуалками (в простейшем случае это тот пользователь, которого мы завели во время установки системы, и под которым проделываем все описываемые действия):
sudo adduser $USER libvirtd
После этого лучше ребутнуться.
Проверяем, как установилась KVM, командой:
virsh -c qemu:///system list —all
В консоли должно появиться примерно следующее:
az@vsrvs:~$ virsh -c qemu:///system list —all
Connecting to uri: qemu:///system
Id Name State
———————————-
если все так, продолжаем.
Для того, чтобы виртуальные сервера работали в нашей реальной локальной сети на хост-машине создаем сетевой мост. Для этого надо подредактировать файл /etc/network/interfaces
Так он выглядел до модификации:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 172.16.4.24 netmask 255.255.255.192 network 172.16.4.0 broadcast 172.16.4.63 gateway 172.16.4.1
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 172.16.4.24 netmask 255.255.255.192 network 172.16.4.0 broadcast 172.16.4.63 gateway 172.16.4.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
Далее переходим к инсталляции ВМ:
sudo virt-install -n vsrv1 -r 384 -f vsrv1.img -s 10 -c ubuntu-9.04-server-amd64.iso —accelerate —os-type=linux —os-variant=generic26 -v —vnc -w bridge:br0
где:
-n vsrv1 — имя ВМ;
-r 384 — выделяемый объем ОЗУ для нее;
-f vsrv1.img — файл, являющийся виртуальный жестким диском для гостевой ОС;
-s 10 — объем этого диска в гигабайтах;
-c ubuntu-9.04-server-amd64.iso — образ cd дистрибутива гостевой ОС, подключаемый как виртуальный cdrom;
—accelerate —os-type=linux —os-variant=generic26 -v — ускоряем, оптимизируем ВМ для конкретной гостевой ОС и задействуем аппаратные возможности виртуализации;
—vnc — запускаем для ВМ vnc-сервер;
-w bridge:br0 — указываем использовать сетевой мост.
Если после запуска этой команды не появилось никаких ошибок, а отобразилось нечто следующее:
Starting install…
Creating domain… 0 B 00:01
/usr/lib/python2.6/dist-packages/virtinst/Guest.py:1086: DeprecationWarning: integer argument expected, got float
for ignore in range(1, (5 / .25)): # 5 seconds, .25 second sleeps
Unable to connect to graphical console: virt-viewer not installed. Please install the ‘virt-viewer’ package.
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
То все отлично, виртуальная машина запустилась, что можно проверить командой:
virsh -c qemu:///system list —all
Поэтому преступаем к установке гостевой ОС.
Для начала необходимо подключится к vnc-серверу, который отображает экран ВМ. Я делал это из WinXP, хотя, из практически любого linux дистрибутива, это делается аналогично.
Устанавливаем (если в самом начале не установили, а настраивали сервер локально) ssh-клиент, например, kitty (доработанный вариант putty). Запускаем, настраиваем:
- Во вкладке Session — Host Name (or IP address) адрес нашего хост-сервера (в моем случае 172.16.4.24).
- Во вкладке Windows-Translation — выбираем UTF-8.
- Во вкладке Connection-SSH-Tunnels — заполняем поля Source port 59000, Destination localhost:5900, нажимаем Add. Должна появится следующая запись:
- Жмем Open и мы должны подключится по SSH к хост-серверу. Одновременно у нас произойдет перенаправление порта 5900 хост-сервера (порт vnc-сервера) на наш локальный 59000 порт.
Примечание. При запуске еще одной ВМ, порт vnc-сервера увеличится на 1, поэтому для того, чтобы увидеть ее экран необходимо сделать перенаправление порта 5901 хост-сервера на, например, порт 59001.
Устанавливаем vnc-клиент, например UltraVNC, запускаем UltraVNC Viewer и подключаемся к localhost:59000. Если все сделано правильно, то мы увидим экран нашей ВМ с запущенным инсталлятором гостевой ОС.
Устанавливаем гостевую ОС.
Так она начинает загружаться после установки:
После установки и настройки гостевой ОС, ВМ можно клонировать командой
sudo virt-clone -o vsrv1 -n vsrv2 -f vsrv2.img —connect=qemu:///system
UPD: После клонирования для того, чтобы заработал сетевой интерфейс необходимо на клоне удалить файл /etc/udev/rules.d/70-persistent-net.rules ну и заодно изменить в /etc/hostname и в /etc/hosts имя сервера на новое.
- virsh -c qemu:///system help
Встроенная помощь по командам - virsh -c qemu:///system list —all
Посмотреть статус установленных ВМ - virsh -c qemu:///system start vsrv1
Запусить ВМ vsrv1 - virsh -c qemu:///system shutdown vsrv1
Послать команду завершения работы ВМ - virsh -c qemu:///system destroy vsrv1
Принудительно завершить работу ВМ - virsh -c qemu:///system undefine vsrv1
Удалить ВМ