Proxmox

Материал из First-Leon
Перейти к: навигация, поиск

Содержание

Работа с кластером

Создание кластера

pvecm create YOUR-CLUSTER-NAME
pvecm status
pmxcfs -l

Заставить сервер работать в single mode (вне кластера)

pvecm e 1

При повторном добавлении ноды:

pvecm add  proxmox-01 -force

/usr/share/doc/corosync/examples/corosync.conf.example.udpu

transport: udpu

Добавить ноду (выполнить на ноде):

pvecm add IP-ADDRESS-CLUSTER

Обновить сертификаты (pveproxy /etc/pve/local/pve-ssl.key: failed to load local private key (key_file or key) at /usr/share/perl5/PVE/APIServer/AnyEvent.pm line 1626)

pvecm updatecerts

/etc/udev/rules.d/80-net-setup-link.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="38:d5:47:c9:10:d7", NAME="net10"

Удаляем сервер из кластера

pvecm delnode cloud902b
pvecm e 1

Проблема с локализацией в контейнере

При использовании OpenVZ, для устранения проблем с локалью выполнить:

localedef ru_RU.UTF-8 -i ru_RU -fUTF-8

Работа с ZFS

Автоматическое монтирование zfs

В файл /etc/insserv.conf в строку:

$local_fs       +mountall +mountall-bootclean +mountoverflowtmp +umountfs 

Добавляем:

$local_fs       +mountall +mountall-bootclean +mountoverflowtmp +umountfs +zvol +zfs +zfs-mount

Создание дополнительного локального хранилища с ZFS

В /etc/default/zfs  ZFS_MOUNT=yes
/etc/init.d/pve-cluster stop
/etc/init.d/pvedaemon stop

Разное

Выключить сжатие

zfs set compression=off rpool/ROOT/pve-1

Посмотреть информацию о сжатии:

zfs get all | grep compress

Очистить каталог для монтирования.

Установить точку монтирования: zfs set mountpoint=/mnt/storage spool/storage

Настроить хранилище в интерфейсе PVE

Реальный размер файлов в zfs (без учета сжатия)

du --apparent-size

Работа с дампами в консоли

vzrestore --storage pve05ssd vzdump-openvz-136-2015_11_09-11_09_00.tar.lzo 154
vzdump 777 --dumpdir /mnt/backup --mode snapshot

Пересчитать дисковые квоты контейнера

vzquota drop 200
vzctl start 200

Уменьшение размера образа

qemu-img convert -O raw VM1.qcow2 VM1.raw
qemu-img resize VM1.raw -20G
qemu-img convert -c -O qcow2 VM1.raw VM1.qcow2

Снижение агрессивности кэширования

echo "vm.swappiness=1" >> /etc/sysctl.conf

Создание своего контейнера на базе существующего

Удалить ip контейнера. После этого:

cd /var/lib/vz/private/100
tar -cvzpf /var/lib/vz/template/cache/containername.tar.gz .

Очистка блоков диска, для лучшего сжатия

В Windows:

sdelete -z

В linux:

dd if=/dev/zero of=/mytempfile
# that could take a some time
rm -f /mytempfile

Отключение KSM

apt-get remove ksm-control-daemon

Выключение Balloon

/etc/pve/qemu-server/*.conf/balloon: 0

Проброс USB устройства

qm set 105 -usb0 host=19d2:2003

Подготовка контейнеров

Ubuntu 12.04

Debian 7

Для Ubuntu 12.04:

nano /etc/init/tty1.conf (nano /var/lib/vz/private/116/etc/init/tty1.conf in host)
# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]

stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 tty1

При ошибках локали:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Выполнить:

locale-gen ru_RU.UTF-8
localedef ru_RU.UTF-8 -i ru_RU -fUTF-8

Взято отсюда

Пр ошибке создания tun/tap устройства:

ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

На хосте выполнить:

vzctl set 101 --devices c:10:200:rw --save
vzctl exec 101 mkdir -p /dev/net
vzctl exec 101 mknod /dev/net/tun c 10 200
vzctl exec 101 chmod 600 /dev/net/tun
daemon() failed or unsupported: Resource temporarily unavailable (errno=11)
В файле /lib/systemd/system/openvpn@.service закомментировать LimitNPROC

Отключаем ipv6

echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf

Ускоряем высвобождение swap

echo "vm.swappiness=10" >> /etc/sysctl.conf

Миграция на софт рэйд 2 Поправки на GPT

Установка приоритета ввода вывода для контейнера

vzctl set [VM ID] --ioprio [Priority] --save

Значение приоритета от 0 до 7. Чем меньше цифра - тем ниже приоритет. По умолчанию 4.

Взято отсюда

==Включение поддержки fuse в OpenVZ

vzctl set CONTAINERID --devnodes fuse:rw --save

Проброс USB порта по сети

https://pve.proxmox.com/wiki/USB_Redirector

Снятие блокировки после неудачного бэкапа

qm unlock 101

Добавление поддержки tap адаптеров для OpenVPN

CTID=100
vzctl set $CTID --devnodes net/tun:rw --capability net_admin:on --save


/etc/lxc/default.conf

lxc.cgroup.devices.allow = c 10:200 rwm

В контейнере: /etc/rc.local

if ! [ -c /dev/net/tun ]; then
 mkdir -p /dev/net
 mknod -m 666 /dev/net/tun c 10 200
fi

https://www.myspacebox.net:8443/author/robert/

Очистка блоков диска, для лучшего сжатия

В Windows:
sdelete -z

Изменение размера диска в LXC

e2fsck -fy /dev/pve-store/vm-105-disk-2
resize2fs /dev/pve-store/vm-105-disk-2 2G

Либо до минимального:

resize2fs -M /dev/pve-store/vm-105-disk-2

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

vzctl  set   [ VMID ]  --bootorder   [ PRIORITY ]  --save 

Настройка Proxmox для работы виртуалок за NAT

Выпускаем виртуалки в интернет:

post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE

Пробрасываем порты:

post-up iptables -A PREROUTING -t nat -i vmbr0 -p tcp -d 194.67.216.156 --dport 80 -j DNAT --to 10.128.1.86:80
post-down iptables -D PREROUTING -t nat -i vmbr0 -p tcp -d 194.67.216.156 --dport 80 -j DNAT --to 10.128.1.86:80
post-up iptables -A PREROUTING -t nat -i vmbr0 -p tcp -d 194.67.216.156 --dport 443 -j DNAT --to 10.128.1.86:443
post-down iptables -D PREROUTING -t nat -i vmbr0 -p tcp -d 194.67.216.156 --dport 443 -j DNAT --to 10.128.1.86:443

Proxmox 5

Разрешаем запуск docker в контейнере

cd /etc/pve/lxc
vi 100.conf

insert docker part below

lxc.aa_profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

Ubuntu 16.04 контейнер

apt-get update
apt-get dist-upgrade
apt-get install mc iotop iftop tcpdump screen openvpn xtail
chown syslog:adm /var/log/syslog
chmod 644 /var/log/syslog

Установка OpenVPN

/etc/rc.local

if ! [ -c /dev/net/tun ]; then
 mkdir -p /dev/net
 mknod -m 666 /dev/net/tun c 10 200
fi
sleep 3
systemctl restart openvpn.service

На хостовой системе, чтобы контейнеры имели право создавать tap/tun устройства

/etc/lxc/default.conf

lxc.cgroup.devices.allow = c 10:200 rwm

Изменение локали в контейнере

Добавить локали en_US.UTF-8 и ru_RU.UTF-8. Выставить дефолтную локаль en_US.UTF-8

dpkg-reconfigure locales

Увеличение vm.max_map_count

Увеличение vm.max_map_count для гостей требует увеличения на хосте:

sysctl -w vm.max_map_count=262144

Или на постоянно. В файле /etc/sysctl.conf:

vm.max_map_count=262144

NFS сервер в контейнере

cd /etc/pve/lxc

vi 100.conf

lxc.aa_profile: unconfined

Монтирование nfs внутри контейнера

В версиях 3.x

Разрешаем монтирование nfs:

vzctl set 998 --features "nfs:on" --save

В 4-5:

mcedit /etc/apparmor.d/lxc/lxc-default-cgns
mount fstype=nfs*,
mount options=(rw, bind, ro),

Подключиться к консоли контейнера

pct enter 125

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 256
fs.inotify.max_user_watches = 65536
sysctl fs.inotify.max_user_instances=256

Ссылки