PVE: различия между версиями
Vovan (обсуждение | вклад) (→StarterKit GNOME3) |
Vovan (обсуждение | вклад) (→Монтирование хранилищ) |
||
| (не показаны 34 промежуточные версии 2 участников) | |||
| Строка 1: | Строка 1: | ||
=Alt P10= | =Alt P10= | ||
==StarterKit GNOME3== | ==StarterKit GNOME3== | ||
| + | |||
===Инициализация моста=== | ===Инициализация моста=== | ||
В | В | ||
| Строка 74: | Строка 75: | ||
Далее перезагрузиться и проверить пинг | Далее перезагрузиться и проверить пинг | ||
| + | |||
| + | ===Настройка имён хостов=== | ||
| + | |||
| + | !!! Перед этим нужно чтобы был настроен мост и статический ip по инструкциям из предыдущего пункта | ||
| + | |||
| + | MACHINE_NAME='mobd-06' | ||
| + | hostnamectl set-hostname $MACHINE_NAME | ||
| + | IP=$(ip a | grep vmbr0 | tail -1 | awk {'print $2'} | awk -F '/' {'print $1'}) | ||
| + | HOST=$(hostname) | ||
| + | echo "127.0.0.1 localhost" > /etc/hosts | ||
| + | echo "$IP $HOST.nntc.nnov.ru $HOST" >> /etc/hosts | ||
| + | |||
| + | Перезагрузиться и убедиться, что имя хоста после перезагрузки поменялось! | ||
===Установка ProxMox=== | ===Установка ProxMox=== | ||
| Строка 83: | Строка 97: | ||
update-kernel -y | update-kernel -y | ||
| − | + | Устанавливаем пакеты | |
| − | apt-get install -qq -y pve-manager | + | apt-get install -qq -y pve-manager kernel-modules-zfs-un-def sendmail |
Стартуем и включаем сервисы | Стартуем и включаем сервисы | ||
| Строка 98: | Строка 112: | ||
systemctl enable corosync lxc lxc-net lxc-monitord pve-cluster pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy pve-guests | systemctl enable corosync lxc lxc-net lxc-monitord pve-cluster pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy pve-guests | ||
| − | Если | + | Перезагрузиться и убедиться, что интерфейс доступен по адресу https://localhost:8006 |
| + | |||
| + | ===Скрипт проверки доступности веб интерфейса=== | ||
| + | |||
| + | /opt/pve_checker.sh | ||
| + | |||
| + | Содержимое: | ||
| + | |||
| + | <pre> | ||
| + | #!/bin/bash | ||
| + | |||
| + | res=1 | ||
| + | |||
| + | function check(){ | ||
| + | wget --no-check-certificate https://localhost:8006 &> /dev/null | ||
| + | res="$?" | ||
| + | } | ||
| + | |||
| + | while [ $res -ne 0 ];do | ||
| + | check | ||
| + | systemctl restart pve-cluster | ||
| + | echo "retry after 3 sec ..." | ||
| + | sleep 3s | ||
| + | done | ||
| + | |||
| + | echo "success" | ||
| + | exit 0 | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | |||
| + | ==Старый вариант разметки дисков и настройки zfs (с mdadm)== | ||
| + | ===Скрипт авторазметки дисков=== | ||
| + | |||
| + | <pre> | ||
| + | |||
| + | #диск с pve | ||
| + | os_disk='/dev/nvme1n1' | ||
| + | data_disk='/dev/nvme0n1' | ||
| + | |||
| + | #create partition /dev/nvme1n1p5 | ||
| + | fdisk $os_disk <<EOF | ||
| + | n | ||
| + | |||
| + | |||
| + | |||
| + | w | ||
| + | EOF | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | |||
| + | <pre> | ||
| + | #пустой диск | ||
| + | #create partition /dev/nvme0n1p1 | ||
| + | wipefs -af $data_disk | ||
| + | fdisk $data_disk <<EOF | ||
| + | g | ||
| + | n | ||
| + | |||
| + | |||
| + | |||
| + | Y | ||
| + | w | ||
| + | EOF | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | Собираем из свободных разделов stripe-raid | ||
| + | |||
| + | echo 1 > /sys/module/raid0/parameters/default_layout | ||
| + | wipefs -af /dev/nvme1n1p5 | ||
| + | wipefs -af /dev/nvme0n1p1 | ||
| + | mdadm --create /dev/md0 -l 0 -n 2 /dev/nvme1n1p5 /dev/nvme0n1p1 | ||
| + | |||
| + | |||
| + | Поверх страйпа настраиваем zfs: | ||
| + | |||
| + | /sbin/modprobe zfs | ||
| + | zpool create zfspool /dev/md0 -f | ||
| + | zfs set compression=off zfspool | ||
| + | zfs set sync=disabled zfspool | ||
| + | |||
| + | |||
| + | Подключаем zfspool в pve | ||
| + | |||
| + | pvesm add zfspool vmstorage --pool zfspool --content images,rootdir | ||
| + | |||
| + | |||
| + | Подключаем внешнее хранилище в pve | ||
| + | |||
| + | pvesm add cifs pveshare --server 172.16.254.123 --share disk1 --username root --password --content iso,backup | ||
| + | |||
| + | ===Монтирование хранилищ=== | ||
| + | |||
| + | Написать точки монтирования и команды монтирования двух внешних накопителей по 3 ТБ! | ||
| + | |||
| + | Хранилище с apve3 (TOSHIBA - серверный диск) | ||
| + | |||
| + | pvesm add cifs iso --server 172.16.254.123 --share disk1 --username root --password --content iso | ||
| + | |||
| + | |||
| + | В новой сети: | ||
| + | |||
| + | pvesm add cifs iso --server 10.207.151.241 --share disk1 --username root --password --content iso | ||
| + | |||
| + | |||
| + | Хранилище с hpg8 (TOSHIBA - серверные диски) | ||
| + | |||
| + | pvesm add cifs disk1 --server 192.168.10.126 --share disk1 --username root --password --content backup | ||
| + | pvesm add cifs disk2 --server 192.168.10.126 --share disk2 --username root --password --content backup | ||
| + | pvesm add cifs disk3 --server 192.168.10.126 --share disk3 --username root --password --content backup | ||
| + | pvesm add cifs disk4 --server 192.168.10.126 --share disk4 --username root --password --content backup | ||
| + | |||
| + | |||
| + | Два 4х-терабайтных USB-диска, подключенных, соответственно, к PVE1 и PVE2 монтировать в PVE на базе учебных компьютеров -- так: | ||
| + | |||
| + | echo 'YourPassword' | pvesm add cifs backup1 --server 10.207.151.243 --share backup1 --username root --password --content backup | ||
| + | echo 'YourPassword' | pvesm add cifs backup2 --server 10.207.151.242 --share backup2 --username root --password --content backup | ||
| + | |||
| + | |||
| + | Для хранилищ по SAMBA в доп. сети | ||
| + | |||
| + | echo 'YourPassword' | pvesm add cifs nntc2-pve-disk1 --server 10.207.142.36 --share disk1 --username root --password --content backup | ||
| + | echo 'YourPassword' | pvesm add cifs nntc2-pve-disk2 --server 10.207.142.36 --share disk2 --username root --password --content backup | ||
| + | |||
| + | ==Новый вариант разметки дисков и настройки zfs (без mdadm)== | ||
| + | ===Скрипт авторазметки дисков=== | ||
| + | |||
| + | <pre> | ||
| + | |||
| + | #диск с pve | ||
| + | os_disk='/dev/nvme0n1' | ||
| + | data_disk='/dev/nvme1n1' | ||
| + | |||
| + | #create partition /dev/nvme0n1p3 | ||
| + | fdisk $os_disk <<EOF | ||
| + | n | ||
| + | |||
| + | |||
| + | |||
| + | w | ||
| + | EOF | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | |||
| + | <pre> | ||
| + | #пустой диск | ||
| + | #create partition /dev/nvme1n1p1 | ||
| + | wipefs -af $data_disk | ||
| + | fdisk $data_disk <<EOF | ||
| + | g | ||
| + | n | ||
| + | |||
| + | |||
| + | |||
| + | Y | ||
| + | w | ||
| + | EOF | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | ===Собираем raidz0 (страйп из двух разделов)=== | ||
| + | |||
| + | Создаём пулл | ||
| + | |||
| + | zpool create -f -o ashift=12 zfspool /dev/nvme0n1p3 /dev/nvme1n1p1 | ||
| + | |||
| + | Некоторые оптимизации для быстрой работы пулла в PVE | ||
| + | |||
| + | zfs set compression=off zfspool | ||
| + | zfs set sync=disabled zfspool | ||
| + | |||
| + | Подключаем zfspool в pve | ||
| + | |||
| + | pvesm add zfspool vmstorage --pool zfspool --content images,rootdir | ||
| + | |||
| + | ===Разбираем zfspool=== | ||
| + | zfs list | ||
| + | zpool destroy <namepool> | ||
| + | |||
| + | Далее необходимо форматировать диски(разделы) | ||
| + | wipefs -af /dev/disk | ||
| + | |||
| + | ===Подключаем внешнее хранилище в pve=== | ||
| + | |||
| + | Если необходимо... | ||
| + | |||
| + | pvesm add cifs pveshare --server 172.16.254.123 --share disk1 --username root --password --content iso,backup | ||
| + | |||
| + | ===Монтирование хранилищ=== | ||
| + | |||
| + | Хранилище с apve3 (TOSHIBA - серверный диск) | ||
| + | |||
| + | pvesm add cifs iso --server 172.16.254.123 --share disk1 --username root --password --content iso | ||
| + | |||
| + | Хранилище с hpg8 (TOSHIBA - серверные диски) | ||
| + | |||
| + | pvesm add cifs disk1 --server 192.168.10.126 --share disk1 --username root --password --content backup | ||
| + | pvesm add cifs disk2 --server 192.168.10.126 --share disk2 --username root --password --content backup | ||
| + | pvesm add cifs disk3 --server 192.168.10.126 --share disk3 --username root --password --content backup | ||
| + | pvesm add cifs disk4 --server 192.168.10.126 --share disk4 --username root --password --content backup | ||
| + | |||
| + | Диски бэкапов (по 3.7 терабайта два штуки) | ||
| + | |||
| + | pvesm add cifs backup1 --server 192.168.10.121 --share backup1 --username root --password --content backup | ||
| + | pvesm add cifs backup2 --server 192.168.10.122 --share backup2 --username root --password --content backup | ||
| + | |||
| + | |||
| + | ==Собираем RAID-10 на ZFS== | ||
| + | |||
| + | Допустим, собираем из четёрых разделов: | ||
| + | |||
| + | /dev/sda | ||
| + | /dev/sdb | ||
| + | /dev/sdc | ||
| + | /dev/sdd | ||
| + | |||
| + | Тогда массив формата 10 собирается в две команды. | ||
| + | |||
| + | 1. Создаём зеркало командой | ||
| + | |||
| + | zpool create -f -o ashift=12 zfspool1 mirror /dev/sda /dev/sdb | ||
| + | |||
| + | 2. Добавляем в уже созданный пул ещё два диска в зеркале -- получаем в итоге массив, работающий в режиме зеркало+чередование (mirror+stripe), т.е. 1+0 | ||
| + | |||
| + | zpool add zfspool1 mirror /dev/sdc /dev/sdd | ||
| + | |||
| + | 3*. Если есть ещё пара дисков, то можно продолжить... | ||
| + | |||
| + | zpool add mirror /dev/sde /dev/sdf | ||
| + | |||
| + | ну и так далее... | ||
| + | |||
| + | |||
| + | Не забудем максимально повысить производительность, командами | ||
| − | + | zfs set compression=off zfspool1 | |
| − | + | zfs set sync=disabled zfspool1 | |
| − | |||
Текущая версия на 10:34, 21 октября 2024
Содержание
Alt P10
StarterKit GNOME3
Инициализация моста
В
acc
в настройках сети выбираем "не управляется"
В настройках GNOME в разделе сетевых интерфейсов убираем у сетевого интерфейса галочку "Подключаться автоматически"
Затем создаём скрипт (замените в скрипте название интерфейса eno1 на своё):
/opt/up_vmbr0.sh
Содержимое скрипта:
#!/bin/bash
mac=`ip link show eno1 | grep 'link/ether' | awk {'print $2'}`
#creatge bridge vmbr0
ip link add name vmbr0 type bridge
#up vmbr0
ip link set vmbr0 up
#up eno1
ip link set eno1 up
#connect eno1 to the vmbr0
ip link set eno1 master vmbr0
# set mac from eno1 to vmbr0
ip link set dev vmbr0 down
ip link set dev vmbr0 address ${mac}
ip link set dev vmbr0 up
#set ip/mask to the vmbr0
ip a add 172.16.89.6/16 dev vmbr0
#set system default gw
ip ro add default via 172.16.1.1
#set system dns
echo 'nameserver 172.16.1.1' > /etc/resolv.conf
Создаём скрипт инициализации systemd:
/etc/systemd/system/up-vmbr0.service
Содержимое:
[Unit] Description=x11vnc Requires=network-online.target After=network-online.target [Service] Restart=on-failure ExecStart=/opt/up_vmbr0.sh User=root Group=root [Install] WantedBy=multi-user.target
Выполняем команды для старта сервиса:
systemctl daemon-reload systemctl enable up-vmbr0.service systemctl start up-vmbr0.service
Далее перезагрузиться и проверить пинг
Настройка имён хостов
!!! Перед этим нужно чтобы был настроен мост и статический ip по инструкциям из предыдущего пункта
MACHINE_NAME='mobd-06'
hostnamectl set-hostname $MACHINE_NAME
IP=$(ip a | grep vmbr0 | tail -1 | awk {'print $2'} | awk -F '/' {'print $1'})
HOST=$(hostname)
echo "127.0.0.1 localhost" > /etc/hosts
echo "$IP $HOST.nntc.nnov.ru $HOST" >> /etc/hosts
Перезагрузиться и убедиться, что имя хоста после перезагрузки поменялось!
Установка ProxMox
Обновляем систему
apt-get update -qq -y apt-get dist-upgrade -y update-kernel -y
Устанавливаем пакеты
apt-get install -qq -y pve-manager kernel-modules-zfs-un-def sendmail
Стартуем и включаем сервисы
systemctl start rrdcached ksmtuned crond lxcfs openvswitch nfs-client.target systemctl enable rrdcached ksmtuned crond lxcfs openvswitch nfs-client.target
systemctl start pve-cluster systemctl enable pve-cluster
systemctl start lxc lxc-net lxc-monitord pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy systemctl enable corosync lxc lxc-net lxc-monitord pve-cluster pvedaemon pve-firewall pvestatd pve-ha-lrm pve-ha-crm spiceproxy pveproxy pve-guests
Перезагрузиться и убедиться, что интерфейс доступен по адресу https://localhost:8006
Скрипт проверки доступности веб интерфейса
/opt/pve_checker.sh
Содержимое:
#!/bin/bash
res=1
function check(){
wget --no-check-certificate https://localhost:8006 &> /dev/null
res="$?"
}
while [ $res -ne 0 ];do
check
systemctl restart pve-cluster
echo "retry after 3 sec ..."
sleep 3s
done
echo "success"
exit 0
Старый вариант разметки дисков и настройки zfs (с mdadm)
Скрипт авторазметки дисков
#диск с pve os_disk='/dev/nvme1n1' data_disk='/dev/nvme0n1' #create partition /dev/nvme1n1p5 fdisk $os_disk <<EOF n w EOF
#пустой диск #create partition /dev/nvme0n1p1 wipefs -af $data_disk fdisk $data_disk <<EOF g n Y w EOF
Собираем из свободных разделов stripe-raid
echo 1 > /sys/module/raid0/parameters/default_layout wipefs -af /dev/nvme1n1p5 wipefs -af /dev/nvme0n1p1 mdadm --create /dev/md0 -l 0 -n 2 /dev/nvme1n1p5 /dev/nvme0n1p1
Поверх страйпа настраиваем zfs:
/sbin/modprobe zfs zpool create zfspool /dev/md0 -f zfs set compression=off zfspool zfs set sync=disabled zfspool
Подключаем zfspool в pve
pvesm add zfspool vmstorage --pool zfspool --content images,rootdir
Подключаем внешнее хранилище в pve
pvesm add cifs pveshare --server 172.16.254.123 --share disk1 --username root --password --content iso,backup
Монтирование хранилищ
Написать точки монтирования и команды монтирования двух внешних накопителей по 3 ТБ!
Хранилище с apve3 (TOSHIBA - серверный диск)
pvesm add cifs iso --server 172.16.254.123 --share disk1 --username root --password --content iso
В новой сети:
pvesm add cifs iso --server 10.207.151.241 --share disk1 --username root --password --content iso
Хранилище с hpg8 (TOSHIBA - серверные диски)
pvesm add cifs disk1 --server 192.168.10.126 --share disk1 --username root --password --content backup pvesm add cifs disk2 --server 192.168.10.126 --share disk2 --username root --password --content backup pvesm add cifs disk3 --server 192.168.10.126 --share disk3 --username root --password --content backup pvesm add cifs disk4 --server 192.168.10.126 --share disk4 --username root --password --content backup
Два 4х-терабайтных USB-диска, подключенных, соответственно, к PVE1 и PVE2 монтировать в PVE на базе учебных компьютеров -- так:
echo 'YourPassword' | pvesm add cifs backup1 --server 10.207.151.243 --share backup1 --username root --password --content backup echo 'YourPassword' | pvesm add cifs backup2 --server 10.207.151.242 --share backup2 --username root --password --content backup
Для хранилищ по SAMBA в доп. сети
echo 'YourPassword' | pvesm add cifs nntc2-pve-disk1 --server 10.207.142.36 --share disk1 --username root --password --content backup echo 'YourPassword' | pvesm add cifs nntc2-pve-disk2 --server 10.207.142.36 --share disk2 --username root --password --content backup
Новый вариант разметки дисков и настройки zfs (без mdadm)
Скрипт авторазметки дисков
#диск с pve os_disk='/dev/nvme0n1' data_disk='/dev/nvme1n1' #create partition /dev/nvme0n1p3 fdisk $os_disk <<EOF n w EOF
#пустой диск #create partition /dev/nvme1n1p1 wipefs -af $data_disk fdisk $data_disk <<EOF g n Y w EOF
Собираем raidz0 (страйп из двух разделов)
Создаём пулл
zpool create -f -o ashift=12 zfspool /dev/nvme0n1p3 /dev/nvme1n1p1
Некоторые оптимизации для быстрой работы пулла в PVE
zfs set compression=off zfspool zfs set sync=disabled zfspool
Подключаем zfspool в pve
pvesm add zfspool vmstorage --pool zfspool --content images,rootdir
Разбираем zfspool
zfs list zpool destroy <namepool>
Далее необходимо форматировать диски(разделы)
wipefs -af /dev/disk
Подключаем внешнее хранилище в pve
Если необходимо...
pvesm add cifs pveshare --server 172.16.254.123 --share disk1 --username root --password --content iso,backup
Монтирование хранилищ
Хранилище с apve3 (TOSHIBA - серверный диск)
pvesm add cifs iso --server 172.16.254.123 --share disk1 --username root --password --content iso
Хранилище с hpg8 (TOSHIBA - серверные диски)
pvesm add cifs disk1 --server 192.168.10.126 --share disk1 --username root --password --content backup pvesm add cifs disk2 --server 192.168.10.126 --share disk2 --username root --password --content backup pvesm add cifs disk3 --server 192.168.10.126 --share disk3 --username root --password --content backup pvesm add cifs disk4 --server 192.168.10.126 --share disk4 --username root --password --content backup
Диски бэкапов (по 3.7 терабайта два штуки)
pvesm add cifs backup1 --server 192.168.10.121 --share backup1 --username root --password --content backup pvesm add cifs backup2 --server 192.168.10.122 --share backup2 --username root --password --content backup
Собираем RAID-10 на ZFS
Допустим, собираем из четёрых разделов:
/dev/sda /dev/sdb /dev/sdc /dev/sdd
Тогда массив формата 10 собирается в две команды.
1. Создаём зеркало командой
zpool create -f -o ashift=12 zfspool1 mirror /dev/sda /dev/sdb
2. Добавляем в уже созданный пул ещё два диска в зеркале -- получаем в итоге массив, работающий в режиме зеркало+чередование (mirror+stripe), т.е. 1+0
zpool add zfspool1 mirror /dev/sdc /dev/sdd
3*. Если есть ещё пара дисков, то можно продолжить...
zpool add mirror /dev/sde /dev/sdf
ну и так далее...
Не забудем максимально повысить производительность, командами
zfs set compression=off zfspool1 zfs set sync=disabled zfspool1