PROXMOX 5 — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
(Новая страница: «Устанавливаем на чистый минимальный Debian Jessie. Разбивка дисков примерно следующая: /dev/sda1…»)
 
 
(не показано 10 промежуточных версий этого же участника)
Строка 1: Строка 1:
Устанавливаем на чистый минимальный Debian Jessie. Разбивка дисков примерно следующая:
+
Устанавливаем на чистый минимальный Debian Stretch. Разбивка дисков примерно следующая:
  
 
  /dev/sda1 /boot ext4 512M
 
  /dev/sda1 /boot ext4 512M
Строка 20: Строка 20:
 
Добавляем репозитории с софтом Proxmox
 
Добавляем репозитории с софтом Proxmox
  
  echo "deb http://download.proxmox.com/debian jessie pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
+
  echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
  wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
+
  wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
  
  
 
Синхронизируем репозитории и доводим ОС до актуального состояния. При этом из репозитория proxmox установится несколько системных библиотек
 
Синхронизируем репозитории и доводим ОС до актуального состояния. При этом из репозитория proxmox установится несколько системных библиотек
  
  aptitude update
+
  apt update
  aptitude dist-upgrade -y
+
  apt dist-upgrade -y
  
  
 
Смотрим какое pve ядро есть на данный момент и ставим его вместе с pve-firmware(проприетарные дровишки для разного оборудования).
 
Смотрим какое pve ядро есть на данный момент и ставим его вместе с pve-firmware(проприетарные дровишки для разного оборудования).
  
  aptitude search pve-kernel
+
  apt search pve-kernel
  aptitude -y install pve-kernel-4.4.8-1-pve pve-firmware
+
  apt -y install pve-kernel-4.13.13-5-pve pve-firmware
  
  
Строка 39: Строка 39:
  
 
  dpkg -l | grep linux-image | awk {"print $2"}
 
  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
+
  apt -y remove --purge --auto-remove linux-image-4.9.0-5-amd64 linux-image-amd64
  
  
Строка 50: Строка 50:
  
 
  uname -a
 
  uname -a
  Linux pm01 4.4.8-1-pve #1 SMP Tue May 31 07:12:32 CEST 2016 x86_64 GNU/Linux
+
  Linux pm09 4.13.13-5-pve #1 SMP PVE 4.13.13-38 (Fri, 26 Jan 2018 10:47:09 +0100) x86_64 GNU/Linux
  
  
 
Ставим основной софт для proxmox
 
Ставим основной софт для proxmox
  
  apt-get install proxmox-ve ssh postfix ksm-control-daemon systemd-sysv
+
  apt install proxmox-ve ssh postfix ksm-control-daemon systemd-sysv
  
  
 
Прописываем бриджи на интерфейсах, примерно так
 
Прописываем бриджи на интерфейсах, примерно так
 +
auto enp0s31f6
 +
iface enp0s31f6 inet static
 +
  address 94.130.18.241
 +
  netmask 255.255.255.255
 +
  gateway 94.130.18.193
 +
  pointopoint 94.130.18.193
 +
 
  auto vmbr0
 
  auto vmbr0
 
  iface vmbr0 inet static
 
  iface vmbr0 inet static
  address 94.130.18.241
+
  address 94.130.18.241
  netmask 255.255.255.192
+
  netmask 255.255.255.255
  gateway 94.130.18.193
+
  bridge_ports none
  broadcast 94.130.18.255
+
  bridge_stp off
  bridge_ports eth0
+
  bridge_fd 0
  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
 
  auto vmbr1
Строка 121: Строка 124:
  
 
Добавляем ноду в кластер, для этого логинимся на ноду, которую добавляем. На ноде не должно быть виртуалок, чтобы не было конфликтов VM ID
 
Добавляем ноду в кластер, для этого логинимся на ноду, которую добавляем. На ноде не должно быть виртуалок, чтобы не было конфликтов VM ID
  pvecm add IP_ADDRESS_CLUSTER
+
  pvecm add IP_ADDRESS_CLUSTER (или pvecm add IP_ADDRESS_CLUSTER --use_ssh)
  
  
Строка 163: Строка 166:
  
  
Удаляем ноду из кластера. Отключаем ноду перед удалением и больше НИКОГДА не включаем её в таком виде(в существующей сети кластера). Если включим ноду, кластеру хана. Логинимся на любую ноду отличную от удаляемой. После выключения удаляемой ноды делаем
+
Удаляем ноду из кластера.<br />
 +
Отключаем ноду перед удалением и больше НИКОГДА не включаем её в таком виде(в существующей сети кластера). Если включим ноду, кластеру хана. После выключения удаляемой ноды делаем
 
  pvecm delnode pm03
 
  pvecm delnode pm03
  
Строка 183: Строка 187:
  
 
Конфиг на хосте
 
Конфиг на хосте
 +
auto enp0s31f6
 +
iface enp0s31f6 inet static
 +
  address 94.130.18.241
 +
  netmask 255.255.255.255
 +
  gateway 94.130.18.193
 +
  pointopoint 94.130.18.193
 +
 
  auto vmbr0
 
  auto vmbr0
 
  iface vmbr0 inet static
 
  iface vmbr0 inet static
  address 94.130.18.241
+
  address 94.130.18.241
  netmask 255.255.255.192
+
  netmask 255.255.255.255
  gateway 94.130.18.193
+
  bridge_ports none
  pointopoint 94.130.18.193
+
  bridge_stp off
  bridge_ports eth0
+
  bridge_fd 0
  bridge_stp off
+
  up ip route add 94.130.2.136/32 dev vmbr0
  bridge_fd 0
+
  up ip route add 94.130.2.137/32 dev vmbr0
  # route 94.130.18.192/26 via 94.130.18.193
+
  up ip route add 94.130.2.138/32 dev vmbr0
  up route add -net 94.130.18.192 netmask 255.255.255.192 gw 94.130.18.193 dev vmbr0
+
  up ip route add 94.130.2.139/32 dev vmbr0
 
+
  up ip route add 94.130.2.140/32 dev vmbr0
  # additional subnet networks
+
  up ip route add 94.130.2.141/32 dev vmbr0
  up ip route add 94.130.2.136/29 dev vmbr0
+
  up ip route add 94.130.2.142/32 dev vmbr0
 
+
  up ip route add 94.130.2.143/32 dev vmbr0
 
 
Конфиг в LXC контейнере
 
auto eth0
 
iface eth0 inet static
 
  address 172.16.10.12
 
  netmask 255.255.255.0
 
 
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)<br />
 
  
Проверяем настройки сети
+
В web-интерфейсе, добавляем ip и шлюз для контейнера (94.130.2.143/32 94.130.2.241)<br />
auto eth0
+
Конфиг в LXC контейнере получится такой
iface eth0 inet static
 
  address 172.16.10.12
 
  netmask 255.255.255.0
 
 
 
  auto eth1
 
  auto eth1
 
  iface eth1 inet static
 
  iface eth1 inet static
  address 94.130.2.137
+
  address 94.130.2.143
  netmask 255.255.255.248
+
  netmask 255.255.255.255
  # --- BEGIN PVE ---
+
# --- BEGIN PVE ---
  post-up ip route add 94.130.18.241 dev eth1
+
  post-up ip route add 94.130.18.241 dev eth1
  post-up ip route add default via 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 default via 94.130.18.241 dev eth1
  pre-down ip route del 94.130.18.241 dev eth1
+
  pre-down ip route del 94.130.18.241 dev eth1
  # --- END PVE ---
+
# --- END PVE ---
  pointopoint 94.130.18.241
 
  up route add default gw 94.130.18.241
 
  
  
Строка 242: Строка 232:
  
 
В конфиге KVM прописываем
 
В конфиге KVM прописываем
allow-hotplug eth0
 
iface eth0 inet static
 
        address 172.16.10.12
 
        netmask 255.255.255.0
 
        # dns-* options are implemented by the resolvconf package, if installed
 
        dns-nameservers 8.8.8.8
 
        dns-search encry.ru
 
 
 
  auto eth1
 
  auto eth1
 
  iface eth1 inet static
 
  iface eth1 inet static
        address 94.130.2.139
+
  address 94.130.2.139
        netmask 255.255.255.248
+
  netmask 255.255.255.255
        pointopoint 94.130.18.241
+
  up ip route add 94.130.18.241 dev eth1
        gateway 94.130.18.241
+
  up ip route add default via 94.130.18.241 dev eth1

Текущая версия на 14:59, 15 ноября 2019

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

/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/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg


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

apt update
apt dist-upgrade -y


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

apt search pve-kernel
apt -y install pve-kernel-4.13.13-5-pve pve-firmware


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

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


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

update-grub


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

uname -a
Linux pm09 4.13.13-5-pve #1 SMP PVE 4.13.13-38 (Fri, 26 Jan 2018 10:47:09 +0100) x86_64 GNU/Linux


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

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


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

auto enp0s31f6
iface enp0s31f6 inet static
  address 94.130.18.241
  netmask 255.255.255.255
  gateway 94.130.18.193
  pointopoint 94.130.18.193

auto vmbr0
iface vmbr0 inet static
  address 94.130.18.241
  netmask 255.255.255.255
  bridge_ports none
  bridge_stp off
  bridge_fd 0

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 add IP_ADDRESS_CLUSTER --use_ssh)


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

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 enp0s31f6
iface enp0s31f6 inet static
  address 94.130.18.241
  netmask 255.255.255.255
  gateway 94.130.18.193
  pointopoint 94.130.18.193

auto vmbr0
iface vmbr0 inet static
  address 94.130.18.241
  netmask 255.255.255.255
  bridge_ports none
  bridge_stp off
  bridge_fd 0
  up ip route add 94.130.2.136/32 dev vmbr0
  up ip route add 94.130.2.137/32 dev vmbr0
  up ip route add 94.130.2.138/32 dev vmbr0
  up ip route add 94.130.2.139/32 dev vmbr0
  up ip route add 94.130.2.140/32 dev vmbr0
  up ip route add 94.130.2.141/32 dev vmbr0
  up ip route add 94.130.2.142/32 dev vmbr0
  up ip route add 94.130.2.143/32 dev vmbr0


В web-интерфейсе, добавляем ip и шлюз для контейнера (94.130.2.143/32 94.130.2.241)
Конфиг в LXC контейнере получится такой

auto eth1
iface eth1 inet static
  address 94.130.2.143
  netmask 255.255.255.255
# --- 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 ---


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

В web-интерфейсе добавляем два сетевых адаптера для виртуалки(НЕ ПУТАЕМ ГДЕ КАКОЙ БРИДЖ)
Kvm net1.jpg


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

auto eth1
iface eth1 inet static
  address 94.130.2.139
  netmask 255.255.255.255
  up ip route add 94.130.18.241 dev eth1
  up ip route add default via 94.130.18.241 dev eth1