Centos 7 настройка bridge
Open vSwitch — программный многоуровневый коммутатор с открытым исходным кодом, предназначенный для работы в гипервизорах и на компьютерах с виртуальными машинами.
Имея один активный физический интерфейс на сервере, базовая конфигурация Open vSwitch будет выглядеть следующим образом:
Добавляем бридж и в него добавляем наш физический интерфейс:
Проверяем:
Вносим изменения в настройки интерфейсов:
/etc/sysconfig/network-scripts/ifcfg-eno1
/etc/sysconfig/network-scripts/ifcfg-ovs-br0
Перезагружаем сеть.
Установка представлена в статье Установка OpenvSwitch в CentOS
Установка необходимых пакетов и инструментов виртуализации
Создаем каталог для хранения образов виртуальных серверов и образов ОС:
Для удобства я использую симлинки в директорию пользователя:
А также создаем отдельную папку под конфигурацию:
Создание виртуального сервера
Создаем тестовый сервер с настройками по умолчанию. Не забываем загрузить образ системы, которую будем устанавливать.
Команды можно вводить одной строкой.
--network network=default : Подключаем виртуальный сервер к виртуальной сети с именем default
--name : Указываем имя виртуального сервера
--ram= : Указываем размер выделяемой оперативной памяти для сервера
--vcpus= : Указываем количество процессоров которое выделяем для сервера
--disk : Указываем расположение, формат и размер виртуального диска
--graphics vnc,password=password : Указываем пароль и возможность подключатся к терминалу виртуального сервера через VNC
--cdrom : Указываем расположение образа с которого будем устанавливать систему
--boot : Указываем что подключено при загрузке
После запуска можем наблюдать приблизительно следующую информацию:
В настройках при создании сервера мы указали что можем подключатся к терминалу через VNC ключом --graphics vnc,password=password . Подключаемся. Узнать порт, который был назначен виртуальном серверу можно командой:
Порт VNC как правило 5900+0=5900 . Если результат предыдущей команды был 127.0.0.1:1 , то порт VNC будет 5901 . И так далее..
Подключаться к порту необходимо по IP хост-сервера.
Настроить libvirt для работы с OvS можно только через редактирование конфигурационного XML виртуального сервера.
Находим секцию конфигурации сети нашего виртуального сервера:
И приводим её к следующему виду:
После запуска виртуального сервера проверяем конфигурацию OvS и наблюдаем успешное добавление порта:
Управление виртуальными серверами
Просмотр текущих виртуальных серверов.
Включение виртуального сервера.
Отключение виртуального сервера.
Имитация отключения кабеля питания.
Приостановка работы сервера.
Подключение ISO-образа к виртуальному серверу.
Отключение ISO-образа
(Не физическое удаление устройства, а извлечение диска)
Автоматический запуск виртуального сервера при старте хост системы:
Отключить автозапуск для сервера:
Работа со снепшотами
Cоздать снепшот виртуальной машины:
Откатиться к нужному снепшоту:
Изменение параметров виртуального сервера
Параметры виртуального сервера можно изменять редактируя XML-файл.
Первый вариант - сохранить конфигурацию в XML формате:
Затем загрузить её обратно:
Второй вариант - использовать команду virsh edit . При использовании команды конфигурационный файл сервера будет открыт в системном редакторе по умолчанию, а по завершении редактирования автоматически сохранит конфигурацию.
На этом базовое знакомство с KVM завершено.
Более подробная информация по настройке и работе с KVM будет опубликована в последующих статьях.
Подготовка сервера
Проверяем наличие поддержки со стороны процессора:
cat /proc/cpuinfo | egrep "(vmx|svm)"
Создадим каталоги, в которых будем хранить все, что касается виртуализации (предлагаемые по умолчанию не удобные):
* каталог /kvm/images для виртуальных дисков; /kvm/iso — для iso-образов.
Установка и запуск
Установка выполняется из репозитория следующей командой:
yum install qemu-kvm libvirt virt-install
* где qemu-kvm — сам гипервизор; libvirt — библиотека управления виртуализацией; virt-install — утилита для управления виртуальными машинами.
systemctl enable libvirtd
systemctl start libvirtd
Настройка сети
В данной инструкции рассмотрим использование сетевого моста.
Настраивая сетевой мост через удаленное подключение, внимательно проверяйте вводимые данные. В случае ошибки соединение будет прервано.
Устанавливаем пакет для работы с bridge:
yum install bridge-utils
Смотрим список сетевых интерфейсов и их настроек:
В моем примере были следующие данные:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.24/24 brd 192.168.1.255 scope global enp4s0f0
valid_lft forever preferred_lft forever
inet6 fe80::216:76ff:fe04:26c6/64 scope link
valid_lft forever preferred_lft forever
3: enp5s5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
* из этого для нас важны enp4s0f0 — реальный сетевой интерфейс с настроенным IP-адресом 192.168.1.24, через который идет подключение сервера к локальной сети (из него мы будем делать мост); 00:16:76:04:26:c6 — mac-адрес реального ethernet адаптера; virbr0 — виртуальный сетевой адаптер.
Редактируем настройки реального адаптера:
Приводим его к виду:
ONBOOT=yes
BRIDGE=br0
TYPE=Ethernet
DEVICE=enp4s0f0
BOOTPROTO=none
Создаем интерфейс для сетевого моста:
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.24
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=77.88.8.8
Перезапускаем сетевую службу:
systemctl restart network
Сетевые настройки должны измениться — в моем случае:
2: enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000
link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
3: enp5s5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.24/24 brd 192.168.1.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::216:76ff:fe04:26c6/64 scope link
valid_lft forever preferred_lft forever
Для доступа к виртуальным машинам, которые предлагаются через KVM, вы используете libvirtd. Libvirtd - это процесс, который находится между уровнем виртуализации и приложением, которое администратор использует для доступа к виртуальным машинам.
Параметры управления виртуальной машиной настраиваются через файл /etc/libvirt/libvirtd.conf.
Если у вас возникают проблемы с доступом к виртуальным машинам, libvirtd является основным подозреваемым, и вы должны по крайней мере убедиться, что он работает, с помощью команды systemctl status -l libvirtd.
Несколько служебных программ могут быть использованы поверх libvirtd. Диспетчер виртуальных машин (предлагается через двоичный файл virt-manager) - это широко используемый графический интерфейс пользователя (GUI) для управления KVM. Кроме того, команда virsh доступна в качестве интерфейса командной строки для управления виртуальными машинами KVM.
Установка пакетов KVM
Наиболее удобный способ сделать это - использовать yum groupinstall "Virtualization Host". Эта команда устанавливает все необходимое для настройки среды хоста виртуализации. Выполните команду сейчас.
Еще одним важным фактором является доступность хранилища. Когда вы устанавливаете виртуальную машину, она должна создать виртуальный диск. Этот виртуальный диск по умолчанию хранится в файле образа в каталоге /var/lib/libvirt/images. Убедитесь, что у вас достаточно свободного дискового пространства в разделе, где вы хотите установить виртуальные машины, прежде чем начинать установку.
После установки необходимых пакетов программного обеспечения вы можете перейти к созданию виртуальных машин и управлению ими.
1. Войдите под рутом. Введите lsmod | grep kvm. Этой командой вы ищете модуль kvm и kvm_intel (kvm_amd, если вы используете платформу AMD). Если эти модули в данный момент не загружены, введите modprobe -r kvm для их загрузки.
2. Введите systemctl status libvirtd. Эта команда проверяет, запущена ли служба libvirtd. Если это так, то всё отлично. Если нет, введите systemctl start libvirtd, чтобы запустить службу.
3. Введите df -h, чтобы проверить объем доступного дискового пространства.
Немного о KVM Host Networking
После установки KVM на сервере сеть также существенно меняется. На хосте создан виртуальный мост virbr0. Этот виртуальный мост работает как встроенный коммутатор и используется для подключения одного или нескольких физических сетевых интерфейсов хоста к различным виртуальным машинам.
Во время связи по сети виртуальная машина отправляет пакеты через свой внутренний (виртуальный) сетевой интерфейс, который обычно имеет имя eth0. На уровне гипервизора (хоста, где установлен KVM) эта сеть представлена интерфейсом vnet. Первая виртуальная машина, которая запускается, получает интерфейс vnet0, вторая машина, которая запускается, получает vnet1 и так далее.
Эти интерфейсы vnet в свою очередь подключаются к виртуальному мосту. Сам виртуальный мост подключен к физическому сетевому интерфейсу вашего хоста. Чтобы получить обзор конфигурации виртуальной сети, вы можете использовать команду brctl show. Эта команда показывает имя моста, уникальный идентификатор, который был назначен мосту, индикатор, который показывает, был ли включен протокол STP (Spanning Tree Protocol), и все интерфейсы, которые подключены к мосту.
Обратите внимание, что в CentOS 7 есть два разных способа управления сетевыми мостами. При установке CentOS в качестве хоста KVM автоматически создается мостовой интерфейс с именем virbr0. Кроме того, вы можете настроить мост вручную, используя утилиты мостового соединения, которые доступны в утилитах NetworkManager nmtui и nmcli. Чтобы упростить настройку конфигурации виртуальной сети, рекомендуется установить мост при настройке сервера в качестве хоста KVM.
Создание моста (br0)
Чтобы NIC на хосте работал в режиме моста, нужно установить пакет bridge-utils:
Первым делом узнаем название физического интерфейса. В моём случае это em4:
Затем открываем файл физического интерфейса:
Удаляем всё содержимое и вписываем туда:
Теперь создаем интерфейс br0:
Вписываем туда это содержимое:
Вместо моей адресации впишите ту, которая была на физическом интерфейсе, в моей случае это em4.
Перезапускаем сеть:
Перезапускаем libvirtd:
Теперь появился сетевой интерфейс br0 и он работает в режиме моста. Соответственно ему теперь назначена IP-адресация, которая была на em4:
С настройкой моста закончили, теперь установим дополнительные пакеты для работы с KVM, если вы хотите управлять виртуальными машинами из Windows.
Установка дополнительных пакетов
Установим virt-manager и дополнительные пакеты, благодаря которым можно управлять виртуальными машинами в графической среде прямо из ssh-сессии:
Далее:
И наконец произведем окончательную настройку выше скачанных программ.
Настройка дополнительных параметров SSH на хосте KVM
Открываем файл конфигурации sshd:Найдите строки ниже и приведите их в этот вид:
Перезапустите sshd:
Настройка PuTTy и VcXsrv
Запускаем PuTTy, вводим IP-адрес хоста KVM и имя сессии. После этого слева раскрываем SSH, выбираем X11 и ставим галочку напротив "Enable X11 forwarding" как на скриншоте ниже:
И наконец настроим VcXsrv
После установки жмём и запускаем "Пуск - VcXsrv - VcXsrv.exe", после чего в трее появится значок "X"
Последовательность запуска virt-manager следующая:
- Сначала запускаете VcXsrv
- Затем запускаете PuTTy и подключаетесь к хосту по SSH
- После входа в консоль просто введите virt-manager & (вместе со знаком &, чтобы увидеть, запущен ли до этого процесс virt-manager) и откроется окно Virtual Machine Manager
Установка и управление виртуальными машинами
1. Введите virt-manager &, чтобы запустить диспетчер виртуальных машин (Virtual Machine Manager).
2. В диспетчере виртуальных машин нажмите Create a New Virtual Machine. Откроется окно шага 1 из 5 мастера создания новой виртуальной машины.
3. На шаге 2 из 5 мастера необходимо указать источник, где находится установочный диск, а также версию операционной системы и операционной системы, которые вы хотите установить.
4. Далее необходимо указать объем оперативной памяти, которую вы хотите выделить для виртуальной машины, а также количество ядер ЦП. Конечно, вам нужно иметь как минимум ресурсы, которые вы выделяете на хост-машине. Для минимальной установки используйте 512 МБ ОЗУ и 1 ЦП.
5. Теперь введите свойства виртуального диска, который вы хотите создать. Для базовой установки рекомендуется минимум 2 ГБ.
6. На данный момент вы ввели все свойства, которые будут использоваться для виртуальной машины.
Теперь вы можете нажать Finish, чтобы записать настройки виртуальной машины на диск и начать процедуру установки.
В этой процедуре вы определили настройки виртуального оборудования, которые будет использовать ваша виртуальная машина. Теперь можно начать установку.
Сами настройки виртуальной машины были записаны в файл конфигурации XML, который хранится в каталоге /etc/libvirt/qemu.Поскольку настройки виртуального оборудования легко доступны в файле конфигурации, у вас может возникнуть желание изменить их также из файла. Это не то, что вы должны делать. Чтобы изменить настройки виртуального оборудования, вы можете использовать свойства виртуальной машины в диспетчере виртуальных машин или использовать команду virsh edit <vmname>. Это связано с тем, что доступ к настройкам виртуальной машины упрощен через libvirtd, потому что после того как вы внесли изменения, происходит проверка синтаксиса и если он будет неправильный, то вы не сможете сохранить конфигурацию, а прямой доступ к конфигурации может испортить вашу виртуальную машину.
Использование виртуальных машин KVM
- SSH
- Через диспетчер виртуальных машин (команда virt-manager &)
- Через GNOME Boxes
- Использование virt-viewer
- Через сторонние утилиты.
Утилита virt-viewer похожа на Virtual Machine Manager. Он был разработан для предоставления пользователям доступа к виртуальной машине без предоставления возможности изменения настроек виртуальной машины.
Утилита GNOME Boxes является дополнением к интерфейсу GNOME 3, который используется на серверах, на которых установлен графический интерфейс. Он был разработан как утилита для конечных пользователей, которая упрощает использование и доступ к виртуальным машинам.
Доступ к виртуальным машинам из консоли хоста
1. Войдите в виртуальную машину и убедитесь, что у вас есть права root.
2. Введите grubby --update-kernel=ALL --args="console=ttyS0". Использование команды grubby позволяет изменить конфигурацию загрузчика GRUB2 без необходимости просматривать файлы конфигурации GRUB2.
В качестве альтернативы вы можете отредактировать файл /etc/default/grub и добавить аргумент console=ttyS0 в строку, которая указывает используемые аргументы ядра. Если вы изменяете файл grub.conf, используйте grub2-mkconfig -o /boot/grub2/grub.cfg, чтобы записать изменения в основной файл конфигурации загрузчика.
3. Перезагрузите виртуальную машину, используя команду reboot.
Управление свойствами виртуальной машины в графической среде
Как администратору, вам иногда придется менять свойства виртуальной машины. Самый простой способ сделать это - через диспетчер виртуальных машин. Для доступа к свойствам в диспетчере виртуальных машин сначала необходимо открыть виртуальную машину. ВМ не должна быть запущена. Открыв его, щелкните значок, который выглядит как лампа, чтобы открыть интерфейс, показанный на скриншоте.
- Чтобы добавить новое оборудование, нажмите кнопку Add Hardware в левой нижней части окна. Это открывает интерфейс, из которого вы можете выбрать аппаратное устройство для добавления, а также его дополнительные свойства.
- Выберите параметр Performance, чтобы отобразить графики производительности использования виртуальных машин.
- Выберите параметр Memory, чтобы увеличить или уменьшить размер памяти, выделенной для виртуальной машины.
- Нажмите Boot Options, чтобы включить автозапуск. Это запустит виртуальную машину при загрузке хоста.
- Также в интерфейсе параметров загрузки вы найдете порядок загрузки устройств (Boot Device Order). Выберите этот параметр, чтобы указать порядок, в котором устройства в вашей виртуальной машине будут использоваться для загрузки.
Управление виртуальными машинами из консоли
CentOS предлагает универсальный интерфейс командной строки для управления виртуальными машинами непосредственно из командной строки. Вы можете запустить команду virsh с множеством различных аргументов для выполнения определенных задач. Вы также можете просто набрать virsh, чтобы открыть интерфейс командной строки, из которого вы можете сразу ввести определенные команды. Таблица показывает некоторые из наиболее распространенных команд virsh.
Узнать IP-адреса гостевой виртуальной машины KVM
Получить список сетей
Посмотреть адреса, выданные машинам этой сетью
Мониторинг активности ВМ с помощью top
В Linux вы можете использовать утилиту top для мониторинга активности процессов. Виртуальная машина похожа на любой другой процесс с точки зрения хоста, на котором она работает. Это означает, что виртуальные машины используют ресурсы, как и любые другие процессы. В утилите top для отображения такой активности используется интересный параметр; параметр st в строке загрузки ЦП указывает процент времени ЦП, которое было «украдено» у гипервизора виртуальными машинами. Сама виртуальная машина на хосте гипервизора отображается как один отдельный процесс сверху.
Таким образом, использование top на хосте позволяет увидеть, насколько занята виртуальная машина связана с другими процессами, запущенными на этом компьютере. Вы не можете видеть, что происходит внутри виртуальной машины, используя top с хоста, но вам придется делать это, используя соответствующие инструменты внутри виртуальной машины. На скриншоте показан вывод команды top хоста KVM, на котором запущены разные виртуальные машины. Каждая из виртуальных машин отображается как процесс qemu-kvm.
Полные шаги настройки сети моста Centos7 под виртуальной машиной VMware
1. Откройте страницу настроек виртуальной машины и установите режим моста виртуальной машины, как показано на рисунке: Выберите режим моста (копирование физического сетевого подключения необязательно)
2. Настройте сеть виртуальной машины VMware в режиме моста.
1. Просмотрите информацию о сети хоста:
2. Настройте CentOS7, введите соответствующую информацию в хосте в соответствующую позицию ниже, статический IP-адрес, маску подсети, шлюз по умолчанию, DNS.
Описание: ifcfg-eno16777736 файл может быть у всех разным
3. Добавьте адрес шлюза.
Содержание выглядит следующим образом:
4. Добавьте DNS
Содержание выглядит следующим образом:
5. Перезагрузите сеть.
Три, тест
1. Интранет-доступ к собственному статическому ip
2. Посетите общедоступную сеть.
3. Виртуальная машина доступа к хосту
4. Виртуальная машина обращается к хосту.
Если вы по-прежнему не можете проверить связь с Интернетом, вам может потребоваться выбрать следующую сетевую карту:
Строка меню VMware -> Правка -> Редактор виртуальной сети
Сделайте переключатель, попробуйте сэкономить
Интеллектуальная рекомендация
совместный запрос mysql с тремя таблицами (таблица сотрудников, таблица отделов, таблица зарплат)
1. Краткое изложение проблемы: (внизу есть инструкция по созданию таблицы, копирование можно непосредственно практиковать с помощью (mysql)) Найдите отделы, в которых есть хотя бы один сотрудник. Отоб.
[Загрузчик классов обучения JVM] Третий день пользовательского контента, связанного с загрузчиком классов
IP, сеанс и cookie
Читайте также: