🛠️ Настройка RAID-массива и установка KVM + Docker на RedOS 7.3

Добро пожаловать в увлекательный мир настройки RedOS 7.3! Сегодня мы разберёмся, как подготовить RAID-массив, установить KVM для виртуализации и запустить Docker — всё для создания гибкой и мощной системы. Я постараюсь сделать этот процесс предельно понятным, так что готовьтесь прокачать свои навыки!

🐧 Операционная система RedOS 7.3

📥 Проверка обновлений и установка пакетов

dnf update -y
dnf install -y setroubleshoot

⚙️ Подготовка RAID-массива

Переходим к созданию RAID-массива для обеспечения надёжности данных:

mdadm --zero-superblock --force /dev/sd{b,c}
wipefs --all --force /dev/sd{b,c}
yes | mdadm --create --verbose /dev/md0 -l 1 -n 2 /dev/sd{b,c}  

🗂️ Создание файловой системы и монтирование

После успешного создания RAID пора подготовить файловую систему и смонтировать раздел:

mkfs.xfs /dev/md0 -f
mkdir /data
fdisk -l | grep md0  
echo "`echo "UUID=$(sudo blkid -s UUID -o value /dev/md0)"` /data xfs defaults 0 0" >> /etc/fstab
mount -a

🖥️ Проверка и настройка KVM

Проверяем поддержку виртуализации Intel VT:

egrep -c '^flags.*\bvmx\b' /proc/cpuinfo

Установка KVM и настройка системы:

dnf install qemu-kvm libvirt virt-install -y
systemctl enable libvirtd && systemctl start libvirtd
sudo usermod -a -G libvirt $(whoami)

🌐 Настройка сетевого моста

Создадим сетевой мост bridge_vm для виртуальных машин:

echo 'STP=no
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bridge_vm
UUID='"$(uuidgen)"'
DEVICE=bridge_vm
ONBOOT=yes
AUTOCONNECT_SLAVES=yes
ZONE=trusted' > /etc/sysconfig/network-scripts/ifcfg-bridge_vm

Перенастроим сетевой интерфейс enp2s0 для связи с мостом:

echo 'TYPE=Ethernet
NAME=enp2s0
DEVICE=enp2s0
ONBOOT=yes
BRIDGE=bridge_vm' > /etc/sysconfig/network-scripts/ifcfg-enp2s0
rm -rf /etc/sysconfig/network-scripts/ifcfg-virbr0
systemctl restart NetworkManager

📁 Настройка пулов для виртуальных машин

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

mkdir -p /data/kvm/{iso,images}
chown root:root /data/kvm/{iso,images}
chmod 700 /data/kvm/{iso,images}
semanage fcontext -a -t virt_image_t '/data/kvm/{iso,images}/(/.*)?'
restorecon -R /data/kvm/{iso,images}

Для создания пулов образов и виртуальных машин:

virsh pool-define-as iso dir - - - - "/data/kvm/iso/"
virsh pool-build iso
virsh pool-start iso
virsh pool-autostart iso

virsh pool-define-as images dir - - - - "/data/kvm/images/"
virsh pool-build images
virsh pool-start images
virsh pool-autostart images

🐳 Установка Docker

И напоследок — добавим Docker для контейнеризации приложений:

dnf install docker-ce docker-compose -y
sudo usermod -a -G docker $(whoami)
mkdir -p /data/docker/config
systemctl enable --now docker && systemctl start docker

Теперь ваш RedOS 7.3 готов к работе с виртуальными машинами и контейнерами!