Proxmox
Система віртуалізації з відкритим вихідним кодом заснована на Debian GNU/Linux. Розробляється австрійською фірмою Proxmox Server Solutions GmbH, яка спонсорується Internet Foundation Austria. Як гіпервізори використовує KVM та OpenVZ. Відповідно, здатна виконувати будь-які підтримувані KVM ОС (Linux, *BSD, Windows та інші) з мінімальними втратами продуктивності та Linux без втрат. Управління віртуальними машинами та адміністрування самого сервера проводяться через веб-інтерфейс або через стандартний інтерфейс командного рядка Linux. Для створюваних віртуальних машин є безліч опцій: використовуваний гіпервізор, тип сховища (файл образу або LVM), тип емульованої дискової підсистеми (IDE, SCSI або VirtIO), тип емульованої мережевої карти, кількість доступних процесорів та інші .
Додамо користувача
sudo adduser username New password: <type your password> Retype new password: <retype your password> ... Is the information correct? [Y/n] Y usermod -aG sudo username
Безкоштовний репозиторій
На жаль, розробники нав'язливо рекомендують оформити платну передплату на їхнє комерційне оновлення. Та й ціна покусується. Тому відвучаємо від жадібності.
Для початку необхідно відключити підписку на платний репозиторій, доступу до якого зазвичай немає. Для цього редагуємо файл
/etc/apt/sources.list.d/pve-enterprise.list
і наводимо його до такого вигляду:
#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise deb http://download.proxmox.com/debian/pve buster pve-no-subscription
Оновлення та встановлення
apt -y update && apt -y full-upgrade
apt-get install libperl-dev gcc make gnupg net-tools sudo wget curl mc ifupdown2 openvswitch-switch
Network
nano /etc/network/interfaces /etc/init.d/networking restart systemctl restart networking #reboot
PCI passthrough
Для прокидання переферії всередину віртуалок на Інтелівських хостах проробимо наступне
root@pve0:~# nano /etc/default/grub #GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt" root@pve0:~# update-grub root@pve0:~# reboot
після чого прокинути фізичну сіркову карту в вм стане можливим Source
Let`s Encrypt
root@pve1:~# pvenode config set --acme domains=pve0.example.com root@pve1:~# pvenode acme account register default a.system@example.com Directory endpoints: 0) Let's Encrypt V2 (https://acme-v02.api.letsencrypt.org/directory) 1) Let's Encrypt V2 Staging (https://acme-staging-v02.api.letsencrypt.org/directory) 2) Custom Enter selection: 0 Attempting to fetch Terms of Service from 'https://acme-v02.api.letsencrypt.org/directory'. Terms of Service: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf Do you agree to the above terms? [y|N]: y Примітка, що register account with 'https://acme-v02.api.letsencrypt.org/directory'.. Generating ACME account key. Registering ACME account. Registration successful, account URL: 'https://acme-v02.api.letsencrypt.org/acme/acct/122167440' Task OK root@pve1:~# pvenode acme cert order ... Status is 'valid', domain 'pve0.example.com' OK! ... Order is ready, finalizing order valid! ... Restarting pveproxy Task OK
ADD pam user
adduser test pveum user list pveum user add test@pam pveum user list pveum acl modify < acl path like / > --roles PVEAdmin --users test@pam pveum user list
HDD
Removing the 'Local LVM'
root@pve0:~# lvremove /dev/pve/data Do you really want to remove and DISCARD активного логічного volume pve/data? [y/n]: y Logical volume "data" успішно вилучений root@pve0:~# lvresize -l +100%FREE /dev/pve/root Size of logical volume pve/root changed from 18.25 GiB (4672 extents) to <65.99 GiB (16894 extents). Logical volume pve/root successfully resized. root@pve0:~# resize2fs /dev/mapper/pve-root resize2fs 1.44.5 (15-Dec-2018) Filesystem at /dev/mapper/pve-root is mounted on /; on-line resizing required old_desc_blocks = 3, new_desc_blocks = 9 Filesystem на /dev/mapper/pve-root is now 17299456 (4k) блоки long.
Add local Storage
ADD SAN Storage
Для підключення дискових масивів по мережі SAN необхідно спочатку дозволитиданому хосту підключатися до сервера СГД.
У нашому випадку ми будемо підключатися до HP MSA p2000 g3 FC. Всі інструкції тут.
Наступним кроком необхідно навчити наш сервер працювати з масивами через multipath. Приступимо.
У прикладі до віртуального сервера на базі ОС Debian GNU/Linux 10 з мережі FC SAN підключений дисковий том (RAID-масив) з системи зберігання даних HP StorageWorks Modular Smart Array p2000 g3 FC. Підключення тома виконано двома шляхами, тобто через дві окремі фабрики FC SAN. Для того, щоб задіяти механізм multipath (Device Mapper Multipath/DM-multipath), який дозволить звертатися до цих двох дискових пристроїв, доступних по різних шляхах, як до одного пристрою Debian Linux нам потрібно встановити пакет multipath-tools.
apt-get install multipath-tools scsitools
Після інсталяції пакета не створюється опорний конфігураційний файл /etc/multipath.conf, а механізм multipath використовує конфігурацію за замовчуванням. Подивитися те, яку базову конфігурацію використовує служба multipath-tools можна командою:
# echo 'show config' | multipathd -k
Подивимося, що знайшла служба multipath-tools у нашій системі
# multipath -ll
Якщо ми раптом бачимо, що крім дисків, що дійсно мають кілька шляхів підключення, в конфігурацію multipath потрапляють якісь локальні пристрої, наприклад, на серверах HP це можуть бути логічні диски з RAID-контролера HP Smart Array cciss/c0d1, то потрібно створити файл додаткової конфігурації
mkdir -p /etc/multipath/conf.d/ nano /etc/multipath/conf.d/multipath.conf
і додати в нього власне правило.
blacklist { devnode "^cciss\/c[0-9]d[0-9]*" }
також додамо конфігурацію нашого пристрою СГД
devices { device { vendor "HP" product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI" path_grouping_policy "group_by_prio" path_selector "round-robin 0" path_checker "tur" features "0" hardware_handler "0" prio "alua" failback "immediate" rr_weight "uniform" no_path_retry 9 rr_min_io 100 } }
Правила, описані нами в даному випадку у власному конфігураційному файлі /etc/multipath/conf.d/multipath.conf сумуватимуться з правилами базової конфігурації служби multipath-tools
489 rescan-scsi-bus.sh 490 lsblk 493 multipath -a /dev/sdd wwid '3600c0f.....26001000000' added 494 nano /etc/multipath/conf.d/multipath.conf blacklist_exceptions { ... wwid "3600c0f.....26001000000" } ... multipaths { ... multipath { wwid 3600c0f.....26001000000 alias MSA0_A3 } }
495 systemctl restart multipath-tools.service 496 systemctl restart multipathd 497 multipath-ll 498 ls /dev/mapper/
Після внесення змін до конфігурації multipath виконаємо перезапуск служби
# systemctl restart multipath-tools.service # systemctl restart multipathd
Перевіримо
# multipath -ll
Якщо нічого не змінилося, залишається перезавантажити хост. Надалі після перезавантаження, томи додаються одразу.
результат:
MSA1S1200 (3600c0ffxxxxxxxxxxxxxxxxxx6001000000) dm-34 HP,P2000 G3 FC size=1.1T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=50 status=active | `- 2:0:0:3 sdb 8:16 active ready running `-+- policy='round-robin 0' prio=10 status=enabled `- 5:0:0:4 sdc 8:32 active ready running
Те що потрібно! Том визначився multipath під псевдонімом MSA1S1200.
Перевіримо вміст, якщо не новий
# ls /dev/mapper/MSA1S1200
Якщо це новий масив, то на ньому потрібно створити файлову систему.
pvcreate /dev/mapper/MSA1S1200 vgcreate MSA1S1200 /dev/mapper/MSA1S1200
Далі переходимо в Веб панель → Датацентр → Сховище → Додати → LVM
У діалоговому вікні:
ід: MSA1S1200 Група томів: MSA1S1200
Решта за замовчуванням
OTHER
Нагадування про підписку
При кожному вході в систему нам виводитиметься чудове повідомлення, що непогано було б купити техпідтримку. Щоб уникнути цієї радості, необхідно зробити таке:
https://github.com/Jamesits/pve-fake-subscription/tree/v0.0.8
wget https://github.com/Jamesits/pve-fake-subscription/releases/download/v0.0.9/pve-fake-subscription_0.0.9+git-1_all.deb dpkg -i pve-fake-subscription_*.deb pve-fake-subscription
Старий варіант
Викликаємо на редагування файл /usr/share/pve-manager/ext4/pvemanagerlib.js
І наводимо його до такого вигляду:
root@proxmox:/# diff -Naur /usr/share/pve-manager/ext4/pvemanagerlib.js.original /usr/share/pve-manager/ext4/pvemanagerlib.js --- /usr/share/pve-manager/ext4/pvemanagerlib.js.original 2013-08-20 08:07:54.000000000 +0100 +++ /usr/share/pve-manager/ext4/pvemanagerlib.js 2013-08-21 18:16:22.417007719 +0100 @@ -447,22 +447,7 @@ success: function(response, opts) { var data = response.result.data; - if (data.status !== 'Active') { - Ext.Msg.show({ - title: 'No valid subscription', - icon: Ext.Msg.WARNING, - msg: PVE.Utils.noSubKeyHtml, - buttons: Ext.Msg.OK, - callback: function(btn) { - if (btn !== 'ok') { - return; - } - orig_cmd(); - } - }); - } else { - orig_cmd(); - } + orig_cmd(); } }); },
Від версії до версії рядки зміщуються, але як слід зробити за наведеним прикладом цілком зрозуміло.
remove cluster
systemctl stop pve-cluster corosync pmxcfs -l rm -r /etc/corosync/* rm /etc/pve/corosync.conf killall pmxcfs systemctl start pve-cluster
Alter Themes
Dark Theme
Backup Script
https://github.com/Mr-Method/proxmox-stuff
cd /etc/cron.daily/ wget https://raw.githubusercontent.com/DerDanilo/proxmox-stuff/master/prox_config_backup.sh chmod +x ./prox_config_backup.sh mv -v prox_config_backup.sh prox_config_backup
modify script: comment line with “description” at the end of file; change DEFAULT_BACK_DIR destenation;
nano prox_config_backup
Hyper-V to PVE
- створюємо ВМ з максимально схожими параметрами з диском в форматі qcow2
- заливаємо на хост PVE образ диску ВМ з Hyper-V в форматі vhdx
- з консолі PVE перевіряємо образ на помилки qemu-img check -r all Hyper-V_vm122_Disk0.vhdx
- з консолі PVE конвертуємо диск qemu-img convert -O qcow2 Hyper-V_vm122_Disk0.vhdx ./vm-122-disk-0.qcow2
- підміняємо диск ВМ з першого пункту щойно згенерованим, замінивши назву файлу як в оригіналі
- запускаємо ВМ
Посилання
Proxmox. Полное руководство. 2е изд.
https://forum.proxmox.com/threads/proxmox-ve-6-removing-cluster-configuration.56259/
http://pyatilistnik.org/spisok-komand-hpssacli-dlya-rabotyi-s-raid-smart-array-p410i-na-esxi-5-5/
http://downloads.linux.hpe.com/SDR/project/mcp/
https://wiki.webko.net.ua/index.php?title=HP_ProLiant_G8#SNMP_OID_List_for_iLO4
http://sysadm.pp.ua/linux/monitoring-systems/hpraid-monitoring.html
https://pve.proxmox.com/wiki/Disk_Health_Email_Alerts
fail2ban
https://pve.proxmox.com/wiki/Fail2ban
for freebsd
https://www.freebsd.org/cgi/man.cgi?query=virtio&sektion=4
open vSwitch
http://vladimir-stupin.blogspot.com/2016/06/open-vswitch-debian.html
fix ssh batch
https://soar.name/ru/pro/linux-memory-hotplug/
for f in `grep -Fl offline /sys/devices/system/memory/*/state`; do echo online > $f; done;
other