PROXMOX 4

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

Устанавливаем на чистый минимальный Debian Jessie. Разбивка дисков примерно следующая:

/dev/sda1 /boot ext4 512M
[lvm] vg0 / ext4
[lvm] vg0 swap swap
[lvm] vg0 /var/lib/vz ext4


ОБЯЗАТЕЛЬНО УКАЗЫВАЕМ НУЖНЫЙ HOSTNAME, ПОТОМУ-КАК ЕСЛИ МЕНЯТЬ ЕГО В УСТАНОВЛЕННОМ PROXMOX-е РАБОТАТЬ НИФИГА НЕ БУДЕТ.


Перед началом установки редактируем /etc/hosts Указываем рабочий ip сервера вместо 127.0.0.1, например

172.16.10.1 pm01.test.ru pm01

и удаляем записи IPv6.


Добавляем репозитории с софтом Proxmox

echo "deb http://download.proxmox.com/debian jessie pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -


Синхронизируем репозитории и доводим ОС до актуального состояния. При этом из репозитория proxmox установится несколько системных библиотек

aptitude update
aptitude dist-upgrade -y


Смотрим какое pve ядро есть на данный момент и ставим его вместе с pve-firmware(проприетарные дровишки для разного оборудования).

aptitude search pve-kernel
aptitude -y install pve-kernel-4.4.8-1-pve pve-firmware


Далее избавляемся от стокового ядра, чтобы сразу грузиться в ядро от proxmox.

dpkg -l | grep linux-image | awk {"print $2"}
apt-get -y remove --purge --auto-remove linux-image-3.16.0-4-amd64 linux-image-amd64


Обновляем конфиг загрузчика

update-grub


Перегружаемся и проверяем

uname -a
Linux pm01 4.4.8-1-pve #1 SMP Tue May 31 07:12:32 CEST 2016 x86_64 GNU/Linux


Ставим основной софт для proxmox

apt-get install proxmox-ve ssh postfix ksm-control-daemon systemd-sysv


Прописываем бриджи на интерфейсах, примерно так

auto vmbr0
iface vmbr0 inet static
 address 94.130.18.241
 netmask 255.255.255.192
 gateway 94.130.18.193
 broadcast 94.130.18.255
 bridge_ports eth0
 bridge_stp off
 bridge_fd 0
 # route 94.130.18.192/26 via 94.130.18.193
 up route add -net 94.130.18.192 netmask 255.255.255.192 gw 94.130.18.193 dev vmbr0

auto vmbr1
iface vmbr1 inet static
 address 172.16.10.1
 netmask 255.255.255.0
 bridge_ports eth1
 bridge_stp off
 bridge_fd 0


Для выхода виртуалок во внешнюю сеть включаем форвардинг

sysctl -w net.ipv4.ip_forward=1

В файрволе проксмокса должно быть правило postrouting

$IPT -t nat -A POSTROUTING -s 172.16.10.0/24 ! -d 172.16.10.0/24 -j MASQUERADE


Ребутимся и пробуем заходить https://94.130.18.241:8006 с рутовыми данными


Заводим кластер(имя НЕЛЬЗЯ сменить позже)

pvecm create CLUSTER-NAME


Проверяем статус

pvecm status

Quorum information
------------------
Date:             Thu Jun 29 13:46:19 2017
Quorum provider:  corosync_votequorum
Nodes:            1
Node ID:          0x00000001
Ring ID:          1/4
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   1
Highest expected: 1
Total votes:      1
Quorum:           1  
Flags:            Quorate 

Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 172.16.10.1 (local)


Добавляем ноду в кластер, для этого логинимся на ноду, которую добавляем. На ноде не должно быть виртуалок, чтобы не было конфликтов VM ID

pvecm add IP_ADDRESS_CLUSTER


Проверяем статус кластера

pvecm status

Quorum information
------------------
Date:             Thu Jun 29 13:57:38 2017
Quorum provider:  corosync_votequorum
Nodes:            3
Node ID:          0x00000001
Ring ID:          1/12
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2  
Flags:            Quorate 

Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 172.16.10.1 (local)
0x00000002          1 172.16.10.2
0x00000003          1 172.16.10.3


Посмотреть только список нод

pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 pm01 (local)
         2          1 pm02
         3          1 pm03


Удаляем ноду из кластера. Отключаем ноду перед удалением и больше НИКОГДА не включаем её в таком виде(в существующей сети кластера). Если включим ноду, кластеру хана. Логинимся на любую ноду отличную от удаляемой. После выключения удаляемой ноды делаем

pvecm delnode pm03


Если всё пройдёт хорошо, увидим что нода удалилась

pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 pm01 (local)
         2          1 pm02


Подробнее про кластер здесь https://pve.proxmox.com/wiki/Cluster_Manager


Подключение дополнительных ip-подсетей. Куплена подсеть 94.130.2.136/29 (min 94.130.2.137 max 94.130.2.142)

Конфиг на хосте

auto vmbr0
iface vmbr0 inet static
 address 94.130.18.241
 netmask 255.255.255.192
 gateway 94.130.18.193
 pointopoint 94.130.18.193
 bridge_ports eth0
 bridge_stp off
 bridge_fd 0
 # route 94.130.18.192/26 via 94.130.18.193
 up route add -net 94.130.18.192 netmask 255.255.255.192 gw 94.130.18.193 dev vmbr0
 
 # additional subnet networks 
 up ip route add 94.130.2.136/29 dev vmbr0


Конфиг в LXC контейнере

auto eth0
iface eth0 inet static
 address 172.16.10.12
 netmask 255.255.255.0
 gateway 172.16.10.1

auto eth1
iface eth1 inet static
 address 94.130.2.137
 netmask 255.255.255.248
 pointopoint 94.130.18.241
 up route add default gw 94.130.18.241


После этого заходим в web-интерфейс, добавляем ip и шлюз в контейнере (94.130.2.137/29 94.130.2.137)

Проверяем настройки сети

auto eth0
iface eth0 inet static
 address 172.16.10.12
 netmask 255.255.255.0
 gateway 172.16.10.1

auto eth1
iface eth1 inet static
 address 94.130.2.137
 netmask 255.255.255.248
 # --- BEGIN PVE ---
 post-up ip route add 94.130.18.241 dev eth1
 post-up ip route add default via 94.130.18.241 dev eth1
 pre-down ip route del default via 94.130.18.241 dev eth1
 pre-down ip route del 94.130.18.241 dev eth1
 # --- END PVE ---
 pointopoint 94.130.18.241
 up route add default gw 94.130.18.241


Если требуется подключить внешний ip к KVM-виртуалке, делаем следующее:

В web-интерфейсе добавляем два сетевых адаптера для виртуалки


В конфиге прописываем

allow-hotplug eth0
iface eth0 inet static
        address 172.16.10.12
        netmask 255.255.255.0
        network 172.16.10.0
        broadcast 172.16.10.255
        gateway 172.16.10.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 8.8.8.8
        dns-search encry.ru

auto eth1
iface eth1 inet static
        address 94.130.2.139
        netmask 255.255.255.248
        pointopoint 94.130.18.241
        gateway 94.130.18.241