vCloud Director: пошаговая установка CentOS на облачный сервер

KVM — это инфраструктура виртуализации для Linux, для которой процессор с аппаратным расширением виртуализации может принимать гостевые системы.

Постановка задачи

Имеется выделенный сервер на хостинге и 2 выделенных IP адреса: , Требуется предоставить к виртуальной машине под debian (предположим, что образ виртуальной машины с настроенным веб-сервером уже есть) доступ из интернет через ip адрес Настройку будем проводить в 3 этапа

  1. Установим гипервизор KVM под debian на выделенный сервер.
  2. Cоздадим виртуальную машину и подключим образ.
  3. Предоставим доступ из интернет к этой виртуальной машине используя ip адрес

Все инструкции проверены на работу в Debian Squeeze.

Установка

Предполагаем, что вы уже установили CentOS (если еще нет, можете арендовать VPS с этой операционной системой), и вы имеете права root-пользователя или суперпользователя. В данном случае мы будем писать команды от имени пользователя root. Если вы не являетесь пользователем root, просто ставьте sudo перед всеми командами.

Обновите вашу систему

Сначала мы обновляем систему. Это требуется не всегда, но делать так — это хорошая практика:

yum update

Ожидаем завершения установки обновлений и переходим к следующему шагу.

Установите пакеты GNOME

Установка

Теперь мы устанавливаем пакеты GNOME. Для их установки мы будем использовать команду, которая устанавливает все пакеты, связанные с GNOME GUI:

sudo yum -y groups install «GNOME Desktop»

Настройте систему X Window System

Программа, которая запускает графическую среду в большинстве систем Linux, называется X Window System. Итак, во-первых, вы должны указать X Window System, что GNOME — это графический интерфейс, используемый по умолчанию. Поэтому введите эту команду:

echo «exec gnome-session» >> ~/.xinitrc

Теперь мы закончили установку GNOME и настройку системы X Window. Давайте проверим это, введя команду:

startx

После запуска этой команды вы увидите графический интерфейс GNOME, похожий на изображение ниже, что означает, что он работает:

Скриншот №1. Графический интерфейс GNOME

Теперь GNOME GUI установлен и протестирован. Однако для его запуска необходимо вводить команду startx при каждом запуске операционной системы, что не очень удобно. Давайте сделаем так, чтобы он запускался автоматически. Для этого используйте следующую команду:

systemctl set-default

Поделиться Оценить

Установка

Средняя оценка: 5.0 Оценили: 3191028 Санкт-Петербург Литейный пр., д. 26, Лит. А +7 (812) 443-85-60

  • 700 300 ООО «ИТГЛОБАЛКОМ ЛАБС»191028 Санкт-Петербург Литейный пр., д. 26, Лит. А +7 (812) 443-85-60
  • 700 300 ООО «ИТГЛОБАЛКОМ ЛАБС»
  • 700 300
  • Виртуализация и гипервизор KVM

    KVM (Kernel-based Virtual Machine, виртуальная машина на основе ядра) — технология аппаратной виртуализации на базе ядра Linux. С помощью гипервизора KVM можно развернуть несколько виртуальных машин на реальном физическом сервере. Гипервизор KVM работает как один из процессов, которые выполняются основной ОС Linux. Такой гипервизор управляет всеми гостевыми операционными системами, а основная ОС выполняет эмуляцию (копирование функций основной ОС на гостевых ОС) и управляет ресурсами сервера.

    На VPS с KVM для каждого виртуального сервера выделяются ядра процессора, оперативная память и жёсткий диск (в зависимости от выбранного тарифа). Работа с виртуальным сервером на KVM Virtualization не отличается от работы с полноценным физическим сервером. VPS даёт полную свободу выбора ресурсов в зависимости от вашей задачи.

    Читайте также:  0х80070643 в процессе установки произошла неисправимая ошибка

    Настройка автоматического обновления CentOS

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

    Автоматическая проверка обновления настраивается по-разному в зависимости от версии ОС. В CentsOS 7 используется утилита yum-cron. Устанавливается она из стандартного репозитория.

    yum install yum-cron

    После установки создается задание на выполнение утилиты в /etc/ и /etc/. По умолчанию yum-cron скачивает обнаруженные обновления, но не устанавливает их. Администратор получает на локальный почтовый ящик письмо с информацией о наличии апдейтов. Дальше он сам решает, стоит ли их ставить.

    Работа yum-cron настраивается через конфигурационные файлы, расположенные по адресу /etc/yum/ и /etc/yum/. Например, можно указать параметры отправки сообщения, в том числе настроить использование стороннего почтового сервера.

    На CentOS 8 для настройки обновлений используется утилита dnf-automatic. Первым делом ее нужно установить из стандартного репозитория:

    yum install dnf-automatic

    Управляет запуском проверки обновлений по расписанию уже утилита systemd, у которой есть встроенный планировщик. Посмотрим таймеры автоматического запуска:

    systemctl list-timers *dnf-*

    Если заданий нет, добавим таймер вручную:

    systemctl enable —now

    По умолчанию таймер настроен на запуск dnf-automatic через час после загрузки VDS и ежедневное повторение процедуры. Конфигурационный файл таймера расположен по адресу /etc/systemd/system/.

    Посмотреть и отредактировать конфигурационный файл dnf-automatic можно в /etc/dnf/. По умолчанию утилита только скачивает обновления, но не применяет их. Конфиги можно настроить так, как вам удобно.

    Настройка сети

    В процессе установки создается мост с именем «virbr0». Это устройство использует NAT для подключения компьютеров гостей к внешнему миру.

    Вы можете использовать инструмент brctl для вывода списка текущих мостов и интерфейсов, к которым они подключены:

    brctl show

    bridge name bridge id STP enabled interfaces virbr0 yes virbr0-nic

    Мост «virbr0» не имеет добавленных физических интерфейсов. «Virbr0-nic» — это виртуальное устройство, через которое не проходит трафик. Единственная цель этого устройства — избежать изменения MAC-адреса моста «virbr0».

    Эта сетевая настройка подходит для большинства пользователей настольных компьютеров Ubuntu, но имеет ограничения. Если вы хотите получить доступ к гостям из-за пределов локальной сети, вам необходимо создать новый мост и настроить его так, чтобы гостевые машины могли подключаться к внешнему миру через физический интерфейс хоста.

    Шаг 3: Создание образа шаблона виртуальной машины KVM

    После завершения установки войдите в виртуальную машину и обновите все системные пакеты.

    $ sudo dnf update

    Установите необходимые пакеты, которые необходимы для работы. В этом случае я установлю EPEL release, wget, curl, net-tools и vim. Конечно список программ для ваших нужд может отличаться.

    $ sudo dnf install epel-release wget curl net-tools vim

    Если вы собираетесь развернуть шаблон на облачной платформе, тогда вам потребуется установить пакеты cloud-init.

    $ sudo dnf install cloud-init cloud-utils-growpart acpid

    Далее отключите маршрут zeroconf.

    $ echo «NOZEROCONF=yes» >>> /etc/sysconfig/network

    Как только вы закончите, обязательно выключите виртуальную машину и очистите образ шаблона виртуальной машины, как показано ниже.

    $ sudo virt-sysprep-d centos8

    Шаг 3: Создание образа шаблона виртуальной машины KVM

    Virt-sysprep — это утилита командной строки, которая сбрасывает виртуальную машину для создания из нее клонов. Она удаляет такие записи как:

    1. Ключи хоста SSH.
    2. Файлы журналов.
    3. Учетные записи пользователей и некоторые постоянные сетевые конфигурации.
    Читайте также:  Настройка протоколов TLS на Windows Server

    Чтобы использовать эту команду, вы должны убедиться, что виртуальная машина выключена.

    $ sudo virt-sysprep-d centos8

    Клонирование Виртуальной Машины CentOS 8

    И последнее, введите команду, чтобы отменить определение домена виртуальной машины.

    $ sudo virsh undefine centos8

    Как создать шаблон виртуальной машины KVM

    Образ шаблона теперь готов к клонированию и развертыванию.

    vCloud Director: пошаговая установка CentOS на облачный сервер

    — инструкции по развертыванию IT инфраструктуры в облаке.

    С учетом текущей экономической обстановки все больше внимания уделяется оптимизации IT инфраструктуры. Миграция в облако — один из вариантов сокращения расходов на закупку, внедрение и обслуживание дорогостоящего локального оборудования. Самым популярным облаком по подписке (инфраструктура как сервис) является продукт VMware vCloud Director.

    vCloud Director: пошаговая установка CentOS на облачный сервер

    ✅ Заказать консультацию инженера по использованию облачных технологий именно под задачи Вашего бизнеса:

    Настройка SSH в CentOS 7

    Дальше внесем некоторые изменения в работу ssh для увеличения безопасности. По-умолчанию, сервис работает на 22 порту и если все оставить как есть, то мы получим огромное количество попыток авторизоваться. Боты сканят непрерывно интернет и подбирают пароли к ssh. Чтобы обезопасить себя от сканов простых ботов, изменим порт, на котором работает ssh. Можно выбрать любой пятизначный номер, это не принципиально. От автоматического сканирования это защитит.

    Повесим демон ssh на 25333 порт. Для этого редактируем файл /etc/ssh/sshd_config

    # mcedit /etc/ssh/sshd_config

    Раскомментируем строку Port 22 и заменим значение 22 на 25333.

    Так же я обычно разрешаю подключаться по ssh пользователю root. Мне так удобнее. Проблем с этим у меня никогда не возникало. Если вы считаете, что это не безопасно, не трогайте эту настройку. Чтобы разрешить пользователю root подключаться по ssh, раскомментируйте строку PermitRootLogin yes.

    Сохраняем файл. Теперь обязательно изменяем настройки iptables, добавляем в разрешенные подключения вместо 22 порта 25333. Если этого не сделать, то после перезапуска sshd мы потеряем удаленный доступ к серверу. Итак, открываем /etc/iptables_ и меняем в строке

    $IPT -A INPUT -i $WAN -p tcp —dport 22 -j ACCEPT

    22 на 25333 и исполняем файл.

    Наше текущее соединение не оборвется, так как оно уже установлено, но заново подключиться по ssh к 22 порту уже н получится.

    Перезапускаем sshd:

    # systemctl restart sshd

    Проверяем какой порт слушает sshd:

    # netstat -tulpn | grep sshd tcp 0 0 0.0.0.0:25333 0.0.0.0:* LISTEN 1799/sshd tcp6 0 0:::25333:::* LISTEN 1799/sshd

    Если вывод такой же как у меня, то все в порядке, теперь к ssh можно подключаться по 25333 порту.

    Видео по настройке CentOS 7

    Заключение

    Мы выполнили некоторые начальные шаги по настройке, которые я обычно делаю при подготовке сервера. Я не претендую на абсолютную истину, возможно что-то упускаю или делаю не совсем верно. Буду рад разумным и осмысленным комментариям и замечаниям с предложениями.

    Полезно после настройки сразу же подключить сервер к системе мониторинга. Либо настроить ее, если у вас еще нет.

    За информацию спасибо:

    Последнее время стало модно использовать всюду виртуализацию. Имеем сервер с установленной CentOS 7 minimal x64 и планируем использовать KVM .

    Конечно, не плохо бы было убедится что наш сервер поддержит виртуализацию (но если у вас современный нормальный сервер то думаю что 100% он это поддерживает) .

    Egrep «(vmx|svm)» /proc/cpuinfo

    Читайте также:  Как закрыть компьютер от удаленного доступа

    Устанавливаем KVM на наш сервер:

    Устанавливаем необходимые пакеты и инструменты:

    Yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install –y

    не забываем добавить в автозагрузку:

    Systemctl enable libvirtd && systemctl start libvirtd

    Создадим каталог для хранения образов виртуальных машин:

    Видео по настройке CentOS 7

    Mkdir /var/vm

    Ну тут у нас два пути или добавляем соответствующий контекст для нашей директории что бы не ругался SElinux:

    Semanage fcontext —add -t virt_image_t «/var/vm(/.*)?» restorecon -R -v /var/vm или просто его отключаем.

    Ну в общем то готово. Остается только при необходимости произвести изменения настройки сети если такая необходимость есть. Посмотреть список возможных сетей можно командой «virsh net-list » По умолчанию имеем одну внутреннею сеть редактировать которую можно командой «virsh net-edit default » , где «default» название сети

    Создадим виртуальную машину

    Для примера (проверки) создадим первую виртуальную машину с простыми настройками и подключением к сети «default». Для начала скачаем образ OS которую будем ставить на сервер.

    Virt-install —network network=default —name vm1 —ram=2048 —vcpus=1 —disk path=/var/vm/,size=20,format=qcow2 —graphics vnc,password=123 —cdrom /home/iso/CentOS-7-x86_ —boot cdrom,hd,menu=on

    И так пройдемся немного по параметрам которые мы указываем:

    • —network network=default Подключаем виртуальную машину к виртуальной сети с именем default
    • —name Указываем название виртуальной машины
    • —ram= Указываем размер оперативной памяти который выделяем
    • —vcpus= Указываем количество процессоров которое мы выделяем
    • —disk Указываем расположение, формат и размер виртуального диска
    • —graphics vnc,password=123 Указываем пароль и возможность подключатся к терминалу виртуальной машины через VNC
    • —cdrom Указываем расположение образа с которого будем устанавливать систему
    • —boot Что подключено при загрузке

    и мы увидим:

    Запуск установки… Выделение ресурсов «»… | 10 GB 00:00:00 Создание домена… | 0 B 00:00:00 Установка домена продолжается. Ожидание до завершения установки…

    Подключение к Виртуальной машине по VNC

    Поскольку на нашем сервере нет оконного менеджера то что бы произвести установку и настройку нам необходимо как то подключится. В настройках при создании виртуалки «—graphics vnc,password=123» мы указали что можем подключатся к терминалу через VNC .

    Нашей виртуальной машине был назначен порт VNC, узнать какой порт назначен конкретной виртуальной машине можно командой (где «vm1» название виртуальной машины):

    Virsh vncdisplay vm1 127.0.0.1:0

    Это означает, что порт VNC 5900+0=5900. Если бы результат был «127.0.0.1:1», порт VNC был бы 5901. И т.д. Подключатся к порту надо на хост (наш сервер который мы настраивали) виртуальных машин.

    По умолчанию, хост виртуальных машин (у нас это CentOS 7 minimal) не должен позволять подключение к любому порту кроме ssh (22/tcp). Не советую вам открывать доступ к портам VNC из-вне. Это небезопасно. Для того, чтобы получить доступ к экрану виртуальной машины с рабочей станции Windows, с которой я все настраиваю, я сделал туннелирование порта в Putty: 5900 -> 127.0.0.1:5900.

    После успешного логина по ssh, можно запустить TightVNC и указать порт 127.0.0.1::5900 (обратите внимание на двойное двоеточие).

    Подключившись к виртуальной машине можем произвести установку ОС и последующую настройку.

    Управление Виртуальной машиной:

    Включение виртуальной машины

    Virsh start vm1

    Выключение виртуальной машины

    Virsh shutdown vm1

    Видео по настройке CentOS 7

    Выдергивание кабеля питания:

    Virsh destroy vm1

    Приостановка работы:

    Virsh suspend vm1

    Подключить к виртуальной машине iso-образ в качестве cdrom

    Virsh attach-disk vm1 /home/iso/CentOS-7-x86_ hda —type cdrom —mode readonly

    Virsh attach-disk vm1 «» hda —type cdrom —mode readonly

    Для того, чтобы при перезапуске хоста виртуальная машина vm1 запускалась автоматически:

    Virsh autostart vm1

    Выключить автостарт для vm1:

    Отключить iso-образ (не удалить устройство из гостя, а просто «извлечь cd-диск из привода»):

    Virsh attach-disk vm1 «» hda —type cdrom —mode readonly

    Современная техника - портал Миникод