RedOS 7.3 настройка рейд массива, установка KVM + Docker

## операционная система redos 7.3
# проверка обновлений
dnf update -y
dnf install -y setroubleshoot

# подготовка 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}  

# сохранение информации о массиве 
mkdir /etc/mdadm
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

# создание файловой системы
mkfs.xfs /dev/md0 -f

# создаем папки для монтирования, получаем UUID
mkdir /data
fdisk -l | grep md0  

#  получаем UUID от md0 и монтируем раздел в /etc/fstab 
echo "`echo "UUID=$(sudo blkid -s UUID -o value /dev/md0)"` /data        xfs     defaults        0 0" >> /etc/fstab

# проверяем 
mount -a

# проверяем поддержку технологии 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)

# добавляем мост ifcfg-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

# меняем конфигурацию сетевого интерфейса ifcfg-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

# перезагружаем сеть, смотрим новый адрес в dhcp
systemctl restart NetworkManager

# добавляем директории для пулов, меняем права 
mkdir -p /data/kvm/{iso,images}
chown root:root /data/kvm/{iso,images}
chmod 700 /data/kvm/{iso,images}

# добавляем пул для образов операционных систем
virsh list --all
virsh pool-define-as images dir - - - - "/data/kvm/iso/"
virsh pool-build iso
virsh pool-start iso
virsh pool-autostart iso
virsh pool-info iso

# добавляем пул для виртуальных машин
virsh list --all
virsh pool-define-as images dir - - - - "/data/kvm/images/"
virsh pool-build images
virsh pool-start images
virsh pool-autostart images
virsh pool-info images

# добавляем разрешения в selinux
semanage fcontext -a -t virt_image_t '/data/kvm/{iso,images}/(/.*)?'
restorecon -R /data/kvm/{iso,images}

# установка docker 
dnf install docker-ce docker-compose -y
sudo usermod -a -G docker $(whoami)

# добавление каталогов конфигурации docker
mkdir -p /data/docker/config

# добавление в автозагрузку и запускаем docker 
systemctl enable --now docker && systemctl start docker