Proxmox, Ceph, ZFS



  • Доброго времени суток всем.

    Тем, кого заинтересовал и заинтересует Proxmox, zfs, ceph.

    Proxmox VE

    Proxmox. Полное руководство. 2е изд. http://support.mdl.ru/MasteringProxmox.2ed/content/index.html
    Proxmox. Полное руководство. 3е изд. (ожидается перевод) http://onreader.mdl.ru/MasteringProxmox.3ed/content/index.html
    Книга рецептов Proxmox http://onreader.mdl.ru/ProxmoxCookbook/content/index.html
    Полная виртуализация. Базовая коммерческая редакция: Proxmox-freeNAS-Zentyal-pfSense http://onreader.mdl.ru/VirtualizationComplete/content/index.html
    https://nguvu.org/proxmox/proxmox-install/
    https://pve.proxmox.com/pve-docs/
    Proxmox - Indie IT Wiki http://wiki.indie-it.com/wiki/Proxmox

    Configure the Proxmox firewall https://www.kiloroot.com/secure-proxmox-install-sudo-firewall-with-ipv6-and-more-how-to-configure-from-start-to-finish/
    Rename a node(франц.) https://memo-linux.com/proxmox-renommer-un-noeud/
    How To Create A NAS Using ZFS and Proxmox (with pictures) https://forum.level1techs.com/t/how-to-create-a-nas-using-zfs-and-proxmox-with-pictures/117375
    Step by Step Install with UEFI, ZFS, SSD ZIL L2ARC cache, File Server samba raidz template https://forum.proxmox.com/threads/step-by-step-install-w-efi-zfs-ssd-cache-file-server.41619/
    Proxmox and let's encrypt with acme https://blog.chasefox.net/proxmox-lets-encrypt/
    Virtualisierung (нем.) https://deepdoc.at/dokuwiki/doku.php?id=virtualisierung

    Экономим место на дисках вирт. машин https://pve.proxmox.com/wiki/Shrink_Qcow2_Disk_Files , https://www.belug.de/howtos-using_trim_inside_virtual_machines.html

    Turnkeylinux templates lxc http://mirror.turnkeylinux.org/turnkeylinux/images/proxmox/
    Запускаем kubernetes внутри LXC https://habr.com/post/420913/

    Install Docker with Rancher and DockerUI webgui on a Proxmox or Debian https://www.solaris-cookbook.eu/linux/debian-proxmox-install-docker-with-rancher-and-dockerui-webgui/

    Список литературы про NAS zfs zlog l2arc https://habr.com/post/418091/

    --> Коллекция скриптов :
    Post Install Script, Convert from LVM to ZFS, Create ZFS from devices, Creates default routes to allow for extra ip ranges to be used, Create Private mesh vpn/network using Tinc
    https://github.com/extremeshok/xshok-proxmox

    Remove old kernel packages script on Linux distros or Proxmox
    https://github.com/algodelinux/purge-old-kernels
    https://enavas.blogspot.com/2017/01/modificado-purge-old-kernels-para.html

    Терминальный сервер XRDP Debian 9.3 в LXC контейнере Proxmox VE 5.1 https://a-katyrev.blogspot.com/2018/08/debian-93-lxc-proxmox-ve-51-1.html

    --> Clustering\кластеризация :

    Setting up an HA Cluster with Ceph Bluestore  https://memo-linux.com/proxmox-5-mise-en-place-dun-cluster-ha-avec-ceph/
    Proxmox 5: 2-node cluster with replicated storage https://memo-linux.com/proxmox-5-cluster-2-noeuds-avec-un-stockage-replique/
    Надежное хранилище с DRBD9 и Proxmox nfs iscsi lvm https://habr.com/post/417597/
    Proxmox cluster over OpenVPN tap (франц.) https://blog.zwindler.fr/2018/06/05/creation-dun-cluster-de-virtualisation-proxmox-ve-5-2-x/

    Differential backups patch - https://github.com/ayufan/pve-patches

    Настройка NUT для управления ИБП с нескольких серверов several ups apc usb windows debian
    https://blog.programs74.ru/how-to-installing-and-configuring-nut/

    Установка Proxmox по сети (PXE\iPXE) с помощью FOG Project (https://fogproject.org/) - a free open-source network computer cloning and management solution (некий аналог WDS (Windows Deployment Services))

    Прим. Небольшой ликбез по FOG Project:
    FOG-а можно:

    • использовать как систему резервного копировани, создавая по расписанию снимки разделов , установив клиента и разворачивать эти снимки по сети на др. компьютеры в сети (у меня с помощью sysprep созданы эталонные образы Windows 7\10\Server и создав в FOG-e снимок, я разворачиваю их на компьютеры в сети);
    • использовать как систему миграции серверов из физ. среды в виртуальные;
    • загружать по сети все, что может загружаться с помощью PXE - windows, linux, антивирусные live-cd (https://www.comss.ru/list.php?c=bootcd) , ПО для брендового серверного оборудования HP, Dell , загружать тонкие клиенты etc.

    Install FOG Server on Ubuntu https://www.ceos3c.com/sysadmin/install-fog-server-ubuntu-server-16-04-lts-ultimate-guide-virtualbox/
    Create a Generalized Windows 10 Image (sysprep) and Deploy it with FOG Server https://www.ceos3c.com/sysadmin/create-generalized-windows-10-image-deploy-fog-server/

    Загрузка c .iso в FOG Project:
    Add an ISO entry in the iPXE Boot menu https://memo-linux.com/fog-ajouter-une-entree-dans-le-menu-ipxe-boot/
    Booting MDT 2013 LiteTouch with FOG https://forums.fogproject.org/topic/6284/booting-mdt-2013-litetouch-with-fog/25
    ISO's in FOG PXE https://community.spiceworks.com/topic/997567-iso-s-in-fog-pxe \ https://youtu.be/KYp-XVPxg3I
    Advanced Boot Menu Configuration options https://wiki.fogproject.org/wiki/index.php/Advanced_Boot_Menu_Configuration_options
    Include any ISO in the FOG Bootmenu https://wiki.fogproject.org/wiki/index.php?title=Include_any_ISO_in_the_FOG_Bootmenu

    Скрипт, к-ый "уговаривает" установочный .iso Proxmox VE загружаться по сети https://github.com/morph027/pve-iso-2-pxe
    Меню FOG-а для Proxmox (скриншот прилагается) :

    kernel http://${fog-ip}/fog/isos/proxmox/linux26 vga=791 video=vesafb:ywrap,mtrr ramdisk_size=16777216 rw quiet splash=silent
    initrd http://${fog-ip}/fog/isos/proxmox/initrd.iso.img
    boot
    

    -->Proxmox VM watchdogs
    https://tompaw.net/proxmox-vm-watchdogs/
    https://forum.proxmox.com/threads/i6300esb-watchdog-in-windows-help-needed.37990/
    https://github.com/dmitriypavlov/pve-watchdog

    Glossary of Virtualization Terms iommu acs vfio ovmf https://heiko-sieger.info/glossary-of-virtualization-terms/

    What is IOMMU and why do I need it? https://heiko-sieger.info/iommu-groups-what-you-need-to-consider/

    GPU passthrough tutorial https://forum.proxmox.com/threads/gpu-passthrough-tutorial-reference.34303/
    Single GPU passthrough with QEMU and VFIO https://gitlab.com/YuriAlek/vfio
    Running Windows 10 on Linux using KVM with VGA Passthrough https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/
    Installing a Linux Mint 19 (Ubuntu 18.04) VM with VGA Passthrough https://heiko-sieger.info/installing-a-linux-mint-19-ubuntu-18-04-vm-with-vga-passthrough/

    Turn off Spectre and Meltdown vulnerability patch in Windows and Linux https://heiko-sieger.info/low-2d-graphics-benchmark-with-windows-10-1803-kvm-vm/

    Guide to crossflashing LSI\Avago 9211 HBA Dell H200 PERC Fujitsu D2607 IBM M1015 and variants IT or IR mode https://forums.freenas.org/index.php?resources/detailed-newcomers-guide-to-crossflashing-lsi-9211-hba-and-variants.54/

    LSI RAID Controller and HBA Complete Listing Plus OEM Models https://forums.servethehome.com/index.php?threads/lsi-raid-controller-and-hba-complete-listing-plus-oem-models.599/

    Flashing firmware and BIOS on LSI SAS HBAs https://www.broadcom.com/support/knowledgebase/1211161501344/flashing-firmware-and-bios-on-lsi-sas-hbas
    Flashing LSI HBA\IBM ServeRAID M1015 to IT mode or IR Mode https://geeksunlimitedinc.wordpress.com/2017/02/16/flashing-lsi-hba-to-it-mode-or-ir-mode/

    Running macOS on QEMU KVM https://github.com/kholia/OSX-KVM
    **Installing macOS on Proxmox ** https://www.nicksherlock.com/category/proxmox/

    1C на Proxmox lxc https://habr.com/post/429172/

    ZSWAP

    https://www.hippolab.ru/linux-zswap-dayte-mashine-shans, https://wiki.archlinux.org/index.php/Zswap , http://ru.knowledgr.com/19459262/Zswap , http://linuxoidblog.blogspot.com/2015/12/zram-zswap.html

    Script for creating hybrid swap space from zram swaps, swap files and swap partitions https://github.com/Nefelim4ag/systemd-swap

    Вкратце, это технология, позволяющая оптимизировать работу ядра со swap - хранилищем избыточных страниц памяти.

    -->Включение и использование ZSWAP в Proxmox VE и любом современном дистр-ве Linux с ядром >= 3.11
    0. Обновляемся:

    rm -Rf /var/lib/apt/lists; rm -f /var/lib/dpkg/lock; apt clean; apt update; apt full-upgrade -y; apt autoremove --purge -y; apt autoclean
    

    Перезагружаемся.

    1. Проверяем включено ли в ядре

    cat /boot/config-`uname -r`| grep -i zswap
    

    Если все ок, должно выдать

    CONFIG_ZSWAP=y
    

    2. Правим GRUB :

    mkdir -p /etc/default/grub.d
    
    echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \
    zswap.enabled=1 zswap.compressor=lz4 zswap.zpool=z3fold zswap.max_pool_percent=25"' > /etc/default/grub.d/zswap.cfg
    
    update-grub
    

    3. Вкл. модули компрессии

    cp -f /etc/initramfs-tools/modules{,.orig}
    
    for module in lz4 lz4_compress z3fold
     do grep -iqw "^$module$" /etc/initramfs-tools/modules || printf '%s\n' "$module" >> /etc/initramfs-tools/modules
    done
    
    update-initramfs -u && reboot
    

    4. Проверяем

    cat /sys/module/zswap/parameters/enabled
    

    Должно быть Y, если все ок.

    dmesg | grep -i zswap
    

    Должно быть

    zswap: loaded using pool lz4/z3fold
    

    Прим. Касаемо строки zswap.zpool=z3fold. По умолчанию в совр. linux исп-ся zbud в кач-ве распределителя памяти. Он обкатан и надежен, но появился более эффективный z3fold:

    The zpool parameter controls the management of the compressed memory pool, it is by default set to zbud. With the zbud data allocator, 2 compressed objects are stored into 1 page which limits the compression ratio to 2 or less. The superior z3fold allocator allows up to 3 compressed objects by page. The compression ratio with z3fold typically averages 2.7 while it is 1.7 for zbud.

    И это действительно так. Z3fold намного эффективнее zbud (скрины внизу, условия работы на тестируемой системе совершенно одинаковы). Однако, компрессия требует наличие относительно современного CPU в системе. Вообщем, проверяйте и тестируйте. Благо, что вернутся к настройкам ядра по умолчанию можно оч. быстро.

    Прим.2. Кстати в MS Windows 10 также используется похожая технология  ;)

    SR-IOV

    Прим. При условии, если ваши мат. платы + cpu + сетевые адаптеры поддерживают.
    http://www.osp.ru/lan/2012/05/13015724/
    http://blog.pichuang.com.tw/Enable-SR-IOV-on-Proxmox/
    http://enricorossi.org/blog/2016/intel_sr-iov_on_Debian_Stretch/
    https://forum.proxmox.com/threads/cannot-use-sr-iov-on-proxmox.27045/

    Сетевые адаптеры с поддержкой SR-IOV:
    http://dpdk.org/doc/nics
    https://www.intel.com/content/www/us/en/support/articles/000005722/network-and-i-o/ethernet-products.html
    https://www.vmware.com/resources/compatibility/search.php?deviceCategory=ioFeatures выбрать SR-IOV и нажать Update and view results )

    P.s. Напр.,  Asrock AB350 Pro4 при своей достачно скромной цене (в кач-ве мат. платы для сервера) умеет и amd_iommu и sr-iov - осталось только сетевую прикупить. Более того - совсем бюджетные Biostar A320MD PRO\A320MH PRO также умееют и amd_iommu и sr-iov!

    Zettabyte File System (ZFS)

    ZFS: Read Me 1st https://blog.cadena-it.com/linux-tips-how-to/zfs-read-me-1st/
    Что такое ZFS? И почему люди от неё без ума? https://habr.com/post/424651/
    Преимущества и недостатки ZFS http://www.stargrave.org/ZFS-proscons.html

    Features provided by ZFS преимущества http://doc.freenas.org/11/zfsprimer.html
    Мастерство FreeBSD: ZFS для профессионалов http://onreader.mdl.ru/AdvancedZFS/content/index.html
    Цикл статей о ZFS http://nas-faq.github.io/zfs/
    Hardware recommendation ssd sata sas raid ashift 4k ecc memory http://open-zfs.org/wiki/Hardware
    Performance tuning postgresql mysql logbias ashift ssd l2arc zil compression http://open-zfs.org/wiki/Performance_tuning
    How to improve ZFS performance https://icesquare.com/wordpress/how-to-improve-zfs-performance/
    "Write hole" phenomenon http://www.raid-recovery-guide.com/raid5-write-hole.aspx
    ZFS: Тестируем надежность на плохих дисках https://habrahabr.ru/post/347640/
    Use snapshots, clones and replication in ZFS https://www.howtoforge.com/tutorial/how-to-use-snapshots-clones-and-replication-in-zfs-on-linux/

    ZFSin: работаем с ZFS нативно под Windows https://habr.com/post/374317/

    VDev, zpool, ZIL and L2ARC for noobs https://forums.freenas.org/index.php?threads/slideshow-explaining-vdev-zpool-zil-and-l2arc-for-noobs.7775/

    ZnapZend - open source ZFS backup with mbuffer and ssh support perl script http://www.znapzend.org/ , https://forum.proxmox.com/threads/znapzend-backup-generator-script.33309/

    eve4pve-autosnap - automatic snapshot tool https://github.com/EnterpriseVE/eve4pve-autosnap

    SCT Error Recovery Control

    Что такое на самом деле 'raid edition' для жёстких дисков https://geektimes.ru/post/92701/
    Enabling CCTL/TLER https://b3n.org/best-hard-drives-for-zfs-server/
    SCT Error Recovery Control in RAID drives https://rolandschnabel.de/blog/?p=75
    Checking for TLER, ERC, etc. support on a drive https://forums.freenas.org/index.php?threads/checking-for-tler-erc-etc-support-on-a-drive.27126/
    Linux Software RAID and drive timeouts http://strugglers.net/~andy/blog/2015/11/09/linux-software-raid-and-drive-timeouts/
    Т.е. если вы собираете zfs raid-z1*2**3* массив, то вкл. вышеописанного поможет сократить время для восстановления,
    если же собираетесь использовать zfs raid-0*1**10*, то вкл. не нужно.

    Ceph

    Полное руководство Ceph http://onreader.mdl.ru/MasteringCeph/content/index.html
    Книга рецептов Ceph http://onreader.mdl.ru/CephCookbook/content/index.html
    P.s. Переводчикам - огромнейшее СПАСИБО за столь титанический труд.

    Разворачиваем хранилище LINSTOR для Proxmox DRBD https://habr.com/post/423101/

    Open vSwitch (OVS)

    Open vSwitch — программный многоуровневый коммутатор с открытым исходным текстом, предназначенный для работы в гипервизорах и на компьютерах с виртуальными машинами.

    Основные возможности коммутатора:
    Учёт трафика, в том числе проходящего между виртуальными машинами с использованием SPAN/RSPAN, sFlow[en] и Netflow.
    Поддержка VLAN (IEEE 802.1q).
    Привязка к конкретным физическим интерфейсам и балансировка нагрузки по исходящим MAC-адресам.
    Работа на уровне ядра, поддержка существующих возможностей Linux по работе в качестве моста.
    Поддерживает Openflow для управления логикой коммутации.
    Помимо режима на уровне ядра, с меньшей производительностью open vSwitch может работать и с правами пользователя (вне ядра).

    Основные области применения:
    Замена обычных bridgetools.
    Использование в составе Xen Server, Xen Cloud Platform, KVM, VirtualBox, QEMU, ProxMox (начиная с 2.3)
    QoS, GRE-туннелирование, индивидуальные политики для виртуальных машин, а также возможность агрегации портов с распределением нагрузки.

    https://pve.proxmox.com/wiki/Open_vSwitch
    https://habrahabr.ru/post/242741/

    Open vSwitch Command Reference https://docs.pica8.com/display/PICOS2111cg/PicOS+Open+vSwitch+Command+Reference

    https://www.altlinux.org/Etcnet/openvswitch
    http://vladimir-stupin.blogspot.com/2016/06/open-vswitch-debian.html
    Проброс VLAN-ов через интернет openvpn OVSIntPort https://habrahabr.ru/post/239729/
    Примеры создания vlan, bond, bridge, OVSIntPort https://forum.pfsense.org/index.php?topic=139045.0, https://forum.proxmox.com/threads/vlan-tag.38051/
    OpenVswitch vlan trunk gre vxlan span rspan mirror lacp bonding https://gns3.com/news/article/containers-in-gns3-series-advanc

    --> Использование OVS (Open vSwitch) в Proxmox (настоятельно рекомендуется)

    Установка:

    apt update && apt install openvswitch-switch ethtool -y
    

    Переключение на ovs в gui :
    1.  Delete the vmbr0 (Linux bridge) # линк с Proxmox не потеряется, не бойтесь
    2.  Create vmbr0 as ovs-bridge with your IP/MASK/Gateway and Bridge ports [ethX] # вместо ethX - имя вашего физ. интерфейса
    3.  Reboot.

    По https://blog.scottlowe.org/2012/10/04/some-insight-into-open-vswitch-configuration/ поясню немного :

    Если хотите добавить сетевой интерфейс ВМ в определенный vlan , то в Gui в настройках сети ВМ просто укажите VLAN Tag. Это аналог untag\access порта на железном свитче. Задействовать назначенный выше vlan можно без перезагрузки ВМ, просто выкл\вкл сетевой интерфейс непосредственно в вирт. ОС.

    Если хотите, чтобы ВМ находилась в опред. vlan и при этом могла "слушать" трафик из др. vlan-ов, то можно сделать так - https://forum.proxmox.com/threads/ovs-bridge-with-vlans.27280/
    Аналог - создать еще один OVS IntPort в Gui. В настройках указать необходимые вам параметры для VLAN (и не только для VLAN). И прицепить созданный интерфейс к ВМ.
    Но после создания OVS IntPort понадобится перезагрузить сеть\перезагрузить Proxmox!

    Также можно объединять интерфейсы (bonding), настраивать балансировку\отказоустойчивость (LACP)  - https://blog.scottlowe.org/2012/10/19/link-aggregation-and-lacp-with-open-vswitch/

    По ссылке Proxmox. Полное руководство. 2е изд есть глава, посвященная Ovs - http://onreader.mdl.ru/MasteringProxmox.2ed/content/Ch07.html

    https://forum.proxmox.com/threads/proxmox-ve-on-debian-jessie-with-zfs-hetzner.33429/
    2-ая страница крайне интересна.
    Вкратце. Удаленная установка из iso, используя qemu и vnc. Причем таким образом можно устанавливать любой дистрибутив linux.

    Pfsense

    Virtualizing pfSense on Proxmox https://doc.pfsense.org/index.php/Virtualizing_pfSense_on_Proxmox
    Virtualizing pfSense under Hyper-V https://doc.pfsense.org/index.php/Virtualizing_pfSense_under_Hyper-V
    PfSense on VMware ESXi https://doc.pfsense.org/index.php/PfSense_on_VMware_vSphere_/_ESXi
    HOW TO: 2.4.0 ZFS Install, RAM Disk, Hot Spare, Snapshot, Resilver Root Drive https://forum.pfsense.org/index.php?topic=126597.0

    Нюансы работы pfsense в Proxmox:

    I've got a fresh install of  2.3.3-RELEASE-p1 (amd64), running on ovirt (kvm). My guests (only have linux guests) could ping out, but no udp or tcp.

    Just selecting the "Disable hardware checksum offload" and rebooting (though I didn't check without rebooting) the pfsense instance did the trick.

    I didn't need to change anything on the ovirt/kvm hypervisor - the default offload settings are in place. All guests (pfsense and the linux ones) are using virtio network drivers.

    MS Windows

    Рекомендации для гостевых ОС семейства Microsoft Windows:
    https://pve.proxmox.com/wiki/Windows_2008_guest_best_practices
    https://pve.proxmox.com/wiki/Windows_2012_guest_best_practices
    https://www.proxmox.com/en/training/video-tutorials/item/install-windows-2016-server-on-proxmox-ve

    VMware OS Optimization Tool - оптимизация Windows в виртуальной среде (подойдет и для proxmox) https://codebeer.ru/optimizaciya-windows-v-virtualnoj-srede/

    3_1527667444052_ZFS.png 2_1527667444052_zbud_vs_z3fold.png 1_1527667444052_OVS IntPort.png 0_1527667444051_Data integrity on ZFS.png



  • Спасибо за популяризацию Proxmox.

    Из мануала по вашим ссылкам:

    Proxmox VE сам по себе свободен для применения. Не существует абсолютно никаких платежей включенных в загрузку простого образа ISO и установки полнофункционального кластера Proxmox без оплаты лицензий или подписок.

    С официального сайта:

    COMMUNITY

    Starting out
    € 5,83/month (per CPU)

    Отказ от подписки с точки зрения разработчиков допустим?



  • Отказ от подписки с точки зрения разработчиков допустим?

    Все строго добровольно. Хотите платную поддержку и сверх быструю реакцию на баги - платите. Нет? Пользуйте просто так.

    P.s. Вот "увидивили". Был на 146% уверен, что уж вы-то, ув. pigbrother, точно KVM "тискали"  :'(



  • Первый тестовый виртуальный домен поднимал в далеком 2001 году на PIII (Vmware Workstation).  ;),
    Winows NT DC, рабочие станции Windows NT и 98, выход в интернет через RRAS с диалапом…

    Сейчас в продакшн используется ESXi - выбор руководства. Мы посовещались и оно решило  ;).
    С KVM за довольно долгую карьеру столкнуться, как ни странно, так и не пришлось. Сейчас же хочу покрутить для собственного интереса.

    Что порекомендуете - сразу  5.0 или  начать с 4.4?



  • 5-ку, ес-но. После установки - сразу обновить.

    Если в будущем в продакшн соберетесь, то использовать ZFS raid от 2-ух (raid1), а лучше - 4 диска (raid10). Zfs raid идет из коробки и в самом начале установки конфигурируется.



  • Proxmox поддерживает nested virtualization?  Хочу попробовать в ESXi.  Нет под рукой свободного полноценного железа.

    UPD.

    Можно, так же как и для остальных гипервизоров, запускаемых в ESXi.
    https://imanudin.net/2015/03/04/how-to-install-proxmox-nested-on-vmware-esxi-full-support-openvz-kvm/

    Все это исключительно для тестов, нормальной работы от такого мутанта никто не ждет.



  • Nested virtualization (вложенная виртуализация, т.е. возможность запускать гипервизор в гипервизоре) на Proxmox:

    https://pve.proxmox.com/wiki/Nested_Virtualization
    https://medium.com/@alexander.bazhenov/установка-vmware-esxi-внутри-proxmox-d5778b5a97a1



  • Миграция с других гипервизоров (локально).

    Migrate VMWare ESXi Virtual Machines to Proxmox KVM with LVM-Thin Logical Volumes https://www.sysorchestra.com/2017/03/16/migrate-vmware-esxi-virtual-machines-to-proxmox-kvm-with-lvm-thin-logical-volumes/

    Migrate from Xenserver to Proxmox https://techblog.jeppson.org/2018/01/migrate-xenserver-proxmox/

    https://www.reddit.com/r/homelab/comments/625i4p/tutorial_convert_vulnhub_vms_for_proxmox/

    Небольшой how-to.

    Внимание! Формат raw - это т.н. "сырой" формат образов дисков. Перед дальнейшими операциями убедиться в наличие
    свободного места.

    Подключаемся по SFTP к Proxmox. В Win это можно сделать с пом. WinSCP или FAR.

    Забрасываем образ(ы) диска(ов), к-ые мы хотим подкинуть к ВМ в предварительно созданную временную папку.

    Прим. Если у вас ova-образ - сперва распаковываем
    tar -xvf disk.ova

    Конвертируем (на примере vmware .vmdk)
    qemu-img convert -p -O raw disk.vmdk disk.raw

    Смотрим размер получившегося
    ls -ahl

    Cоздаем через gui ВМ с диском(-ми) не меньшего размера. ВМ не запускать!

    Смотрим что у нас получилось (у вас путь к образам дисков может быть другой)
    ls -al /dev/zvol/rpool/data/

    Разворачиваем образ диска в диск ВМ
    dd if=/path/to/file/disk.raw of=/dev/zvol/ZFS-Pool-Name/vm-XYZ-disk-X
    ZFS-Pool-Name и vm-XYZ-disk-X изменить на свои

    После
    qm rescan

    Upd2.
    Короткий вариант. Проверил - работает.
    qemu-img convert -p -O raw disk.vmdk /dev/zvol/ZFS-Pool-Name/vm-XYZ-disk-X
    ZFS-Pool-Name и vm-XYZ-disk-X изменить на свои
    qm rescan

    Запускаем ВМ. Проверяем.

    Upd3.
    Специально для тех, кто переходит с MS Hyper-V на Proxmox (KVM):

    Подкидываем **vhdx-**образ по SFTP во временную папку на Proxmox.

    Далее повторяем ранее описанное (т.е., создаем через gui ВМ с диском необх. размера, но не вкл. её! )

    Команда для конвертации:
    qemu-img convert -p -O raw disk.vhdx /dev/zvol/ZFS-Pool-Name/vm-XYZ-disk-X
    ZFS-Pool-Name и vm-XYZ-disk-X изменить на свои
    qm rescan

    Запускаем ВМ. Проверяем.

    Upd4.
    И для догадливых (типа меня, ага  8))
    Аналогично описанному выше (только наоборот  ;)) можно конвертировать zfs-диски Proxmox-а во все самые распространненные форматы:

    Сперва выкл. ВМ, конечно.

    VHD\VHDX (Hyper-V)
    qemu-img convert -p -O vhdx /dev/zvol/ZFS-Pool-Name/vm-XYZ-disk-X /path/to/file/disk.vhdx
    ZFS-Pool-Name , vm-XYZ-disk-X и /path/to/file/ изменить на свои

    Остальные форматы https://docs.openstack.org/image-guide/convert-images.html

    P.s. Также имеется возможность миграции\конвертирования по сети используя netcat, dd, pv, gzip\pigz\bzip2, ssh и
    SystemRescueCD https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE

    Так что, добро пожаловать в мир открытого ПО. Для тех кто еще не решился )



  • Мигрируем удаленно.

    Прим. Примеры использования pv - http://linux-notes.org/utilita-pv-progress-bar-dlya-konsol-ny-h-utilit-v-unix-linux/

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

    И так. Как сказал один оч. известный и достойный Человек: "Поехали!"

    Качаем на принимающей и отдающей сторонах SystemRescueCD (http://www.system-rescue-cd.org/).

    Принимающая сторона:
    На Proxmox создаем ВМ с размером диска как у отдающей стороны.
    Загружаемся с SystemRescueCD в эту ВМ.
    Настраиваем сет. параметры (net-setup имя-интерфейса) или получаем их по dhcp. Проверить полученные\настроенные сет. параметры - ip a s

    На отдающей стороне:
    Загружаемся с SystemRescueCD.
    Настраиваем сет. параметры (net-setup имя-интерфейса) или получаем их по dhcp. Проверить полученные\настроенные сет. параметры - ip a s

    Запускаем на принимающей стороне:
    nc -w10 -vvnlp 19000 | pigz -5 -dfc | cat > /dev/disk-name, где :

    -w10 - время ожидания данных в сек. на приним. стороне (меняется на ваше усмотрение).
    19000 - номер порта, к-ый слушает netcat и принимает на него данные от отдающей стороны (меняется на ваше усмотрение)
    pigz -5 - степень сжатия (меняется на ваше усмотрение)
    disk-name - имя диска внутри ВМ (меняете на свое)

    Считаем до трех и запускаем на отдающей стороне:
    pv /dev/disk-name | pigz -5 -fc | nc -vvn remote-server-ip 19000, где:

    disk-name - имя диска, к-ый вы хотите передать (узнается по fdisk -l)
    pigz -5 - степень сжатия (меняется на ваше усмотрение)
    remote-server-ip - ip-адрес\имя удаленного сервера-приемника
    19000 - номер порта удаленного сервера-приемника

    Всё. Скрещиваем пальцы, чтобы линк между отдающей и принимающей сторонами не упал и ждем окончания процесса.
    После удачного окончания выкл. ВМ на принимающей стороне. Извлекаем в gui из вирт. привода SystemRescueCD и пробуем загрузиться.

    Пример с SSH (кому необходима секьюрность):

    Принимающая сторона:
    Создаем ВМ с размером диска как у отдающей стороны.
    Загружаемся с SystemRescueCD в эту ВМ.
    Настраиваем сет. параметры (net-setup имя-интерфейса) или получаем их по dhcp. Проверить полученные\настроенные сет. параметры - ip a s
    Смотрим какие диски у нас есть - fdisk -l. Запоминаем\записываем имя нужного нам диска.
    Более ничего на принимающей стороне делать\запускать не надо.

    На отдающей стороне:
    Загружаемся с SystemRescueCD.
    Настраиваем сет. параметры (net-setup имя-интерфейса) или получаем их по dhcp. Проверить полученные\настроенные сет. параметры - ip a s
    Запускаем команду:
    pv /dev/disk-name | pigz -5 -fc | ssh remote-server-ip "cat > /dev/disk-name", где :

    disk-name - имя диска на принимающей стороне, к-ое мы внимательно выбрали и запомнили ранее
    remote-server-ip - ip\имя примающей стороны

    Ожидаем удачного окончания процесса передачи. После выкл. ВМ на принимающей стороне. Извлекаем в gui из вирт. привода SystemRescueCD и пробуем загрузиться.



  • Обновил шапку.



  • а кто расскажет, какое преимущество у zfs перед ufs ?
    это какое странное достижение. Слижком уж не специфичное для фаервола.



  • @derwin:

    а кто расскажет, какое преимущество у zfs перед ufs ?
    это какое странное достижение. Слижком уж не специфичное для фаервола.

    https://www.reddit.com/r/PFSENSE/comments/76cmjv/advantages_andor_disadvantages_zfs/

    Применительно к pfSense на одном диске -
    устойчивость к пропаданию питания, например. UFS крайне этого не любит
    возможность работать со  снапшотами, как в VM.

    Статья, которая, может быть, заинтересует ув. werter:
    http://jrs-s.net/2016/05/09/testing-copies-equals-n-resiliency/



  • Доброе.
    @derwin:

    а кто расскажет, какое преимущество у zfs перед ufs ?
    это какое странное достижение. Слижком уж не специфичное для фаервола.

    В шапке есть картинки. Нагляднее некуда.



  • вы не поняли суть вопроса. Можно сравнивать жареную куропатку с боингом.
    А зачем оно (ZFS) для фаервола?
    чтобы логи хранить в отказоустойчивом пуле ?? смешно….
    вот вам в топку http://2gusia.livejournal.com/7545.html



  • Причем тут логи? Речь идет обо всей ОС в данном случае.

    Пример? Легко.
    Перед обновлением пф делаете снепшот (вот так http://linux.cpms.ru/?p=8931). Криво встало обновление ? Не работают пакеты, к-ые работали до обновления ? Что же делать? Звонить в Спортлото!
    Да просто откатиться с пом. сделанного ранее снепшота  ::)

    Вот от вас, ув. derwin, таких откровенно глупых вопросов я не ожидал.



  • что то я не вижу гуя по управлению zfs,а значит всё равно звонить сергею брину.
    у меня до 2,4 итак всё было на снапшотах на уровне vmware. Мне мозги пропарило обновление - сейчас откатился до 2,3,4 и нет проблем.

    werter
    фишка zfs это блочное управление и отказоусточивость за счёт проца + памяти. У меня в филиальных бордерах до недавнего времени вообще флешки стояли и я горя не знал! сдохла - вставь резервную…  спасибо 2,4 - теперь заказал SSD на 60гб.....
    я себе в будущем году мож прикуплю сервак с полкой под 300-дисковый zfs пул. Но это NAS сервер, а не пакетный фаервол!!!!

    PS: 2.4 меня вообще в тоску вгоняет.... мало того, что удалили radius2 из репо, дык ещё и с 2.3.4 запретили качать пакеты.... это какой то сплошной фейспалм.



  • @werter:

    Пример? Легко.
    Перед обновлением пф делаете снепшот (вот так http://linux.cpms.ru/?p=8931). Криво встало обновление ? Не работают пакеты, к-ые работали до обновления ? Что же делать? Звонить в Спортлото!
    Да просто откатиться с пом. сделанного ранее снепшота  ::)

    Учитывая что уже большая часть программных роутеров ,фаерволов итд устанавливаются на VM которые сами умеют делать снапшот и для них ZFS это лишнее

    Даже на чистом железе при падении PF не важно отчего (накрылся hdd ,или кривого обновления) при наличии Бэкапа полная установка с заменой винта занимает не более 15 минут



  • что то я не вижу гуя по управлению zfs,

    Гуй точно будет. Для снэпшотов он и не шибко нужен - сделал снэпшот в CLI\восстановил  снэпшот в CLI.
    У меня как-то регулярно пропадало электричество, UFS при этом ведет себя крайне ненадежно. Не зря в 2.4 сделали для опции выключения - перезагрузить и запустить fsck.
    Учитывая что уже большая часть программных роутеров ,фаерволов итд устанавливаются на VM

    У такого решения полно как сторонников, так и противников. Я - не сторонник.
    Имел случай проверить свою правоту.

    И никто не заставляет ZFS использовать, более того - по умолчанию 2.4 ставится по прежнему на UFS.



  • я в первый раз поставил zfs где то в 2009 году вместе с проектом FreeNAS. Секс был просто адовый. Падение производительности - ужасное.
    Когда развалился массив - я не смог сделать равном счётом ни-че-го.



  • @derwin:

    я в первый раз поставил zfs где то в 2009 году вместе с проектом FreeNAS. Секс был просто адовый. Падение производительности - ужасное.
    Когда развалился массив - я не смог сделать равном счётом ни-че-го.

    Не наговаривайте. Для IT-индустрии 8-9 лет - это как для человечества 100. Как паровой котел и АЭС.



  • @werter:

    @derwin:

    я в первый раз поставил zfs где то в 2009 году вместе с проектом FreeNAS. Секс был просто адовый. Падение производительности - ужасное.
    Когда развалился массив - я не смог сделать равном счётом ни-че-го.

    Не наговаривайте. Для IT-индустрии 8-9 лет - это как для человечества 100. Как паровой котел и АЭС.

    я по первому высшему инженер-котельщик-атомщик  ;)
    Работал по специальности, всё видел и делал



  • Доброе всем.
    С утра запустил обновление Proxmox. Прилетело масштабное (!) - ядро теперь 4.13 (наираспоследнее LTS) , zfs - 0.7.2.



  • Обновил тестовый PVE.
    apt-get update and apt-get upgrade версии не изменили, хотя пакеты и скачались и установились.

    apt-get dist-upgrade - сработало.



  • Доброе.
    Используйте apt <параметры>. Современные дебиан-подобные с ним корректнее пакетные зависимости разрешают.

    P.s. Также следует обновить zfs - https://docs.oracle.com/cd/E19253-01/819-5461/gcikw/index.html



  • На что лучше устанавливать? SSD или HDD?
    На что хватит ресурсов 8 Xeon/32 Гб?



  • У меня - на 4-ех HDD 7200 rpm . При установке в самом начале (внизу) выбрал zfs raid 10 и свои 4 диска + lz4 сжатие явно указал.
    Плюс, отдельно докинут SSD, к-ый разбит на 2 партиции - меньшая для l2arc cache, большая - как zfs для дисков вирт. машин.

    На что хватит ресурсов 8 Xeon/32 Гб?

    А кто ж его знает.

    P.s. Разворачивание proxmox я бы рекомендовал начать с тестов в Virtualbox. Чтобы не залюбиться.



  • Правильно ли я понимаю, что аппаратных рейдов надо избегать? Они не нужны?



  • Верно. Избегать как огня.

    "ZFS can not fully protect the user's data when using a hardware RAID controller, as it is not able to perform the automatic self-healing unless it controls the redundancy of the disks and data. ZFS prefers direct, exclusive access to the disks, with nothing in between that interferes. If the user insists on using hardware-level RAID, the controller should be configured as JBOD mode (i.e. turn off RAID-functionality) for ZFS to be able to guarantee data integrity"

    Аппаратный контроллер нужно перепрошить, если он не поддерживает работу без рейда.



  • Аппаратный контроллер нужно перепрошить, если он не поддерживает работу без рейда.

    Т.е. в режим обычного SATA\SAS контроллера?



  • Доброе.

    Т.е. в режим обычного SATA\SAS контроллера?

    Что-то типа того.

    Для LSI, напр., это наз-ся IT mode - https://b3n.org/freenas-9-3-on-vmware-esxi-6-0-guide/

    Также можно попробовать собрать в настройках bios raid-контроллера _raid0-_массив из 1\каждого диска.



  • Интересный мануал, спасибо.



  • Добавил инф-цию по SCT Error Recovery Control.



  • Добавил Проброс VLAN-ов через интернет openvpn OVSIntPort



  • @werter:

    Добавил Проброс VLAN-ов через интернет openvpn OVSIntPort

    вот если бы ко мне пришёл сотрудник и сказал "я прокинул VLAN через OpenVPN" - я бы его уволил. Чесслово. Это как копать огород клавиатурой. Чисто сисадминский подход. Хотя бытовая задача для нетворк инженера.



  • Доброго.
    Попробуйте объяснить большинству работодателей, что есть Системный адм-р, есть Системный инженер, есть Сетевой инженер . Это как минимум, потому как еще и Программистов не берем во внимание.
    И все это - разные люди, а не один. И ЗП им надо платить по отдельности.

    Хотя бытовая задача для нетворк инженера.

    Современные "одмины" хорошо, чтобы вообще объяснить могли, что такое VLAN и для чего оно надо. Тут не до жиру, коллега.
    В современных реалиях зачастую вот https://ru.wikipedia.org/wiki/Эффект_Даннинга_—_Крюгера



  • Добавил ссылки по разворачиванию пф в различн. вирт. средах.



  • Доброго времени суток!

    Попробовал поставить proxmox ve 5.1 и сразу уперся в проблему - не работает kvm.

    
    root@pve:~# kvm
    Could not access KVM kernel module: No such file or directory
    failed to initialize KVM: No such file or directory
    
    

    Система ibm x3550 7978K1Y
    2x CPU intel xeon 5140
    Чипсет intel 5000x
    16gb ram
    bios последний 1.17

    root@pve:~# uname -a
    Linux pve 4.13.4-1-pve #1 SMP PVE 4.13.4-25 (Fri, 13 Oct 2017 08:59:53 +0200) x86_64 GNU/Linux
    
    
    
    CPU Options
    
    Active Energy Manager 'Capping Enabled'
    Processor Perfofmance States 'Enabled'
    System Cache Type 'Write Back'
    Snoop Filter 'Enabled'
    Execute Disable Bit 'Enabled'
    Enhanced C1 Power State 'Enabled'
    Intel Virtualization Technology 'Enabled'
    Processor Hardware Prefetcher 'Enabled'
    Processor Adjacent Sector Prefetch 'Auto-configure'
    
    

    Уже при установке proxmox вижу ошибки:

    
    modprobe: ERROR: could not insert 'kvm_intel': Input/output error
    modprobe: ERROR: could not insert 'intel_powerclamp': No such device
    
    

    и при старте ВМ (windows xp, kvm32):

    
    Could not access KVM kernel module: No such file or directory
    failed to initialize KVM: No such file or directory
    TASK ERROR: start failed: command '/usr/bin/kvm -id 100.....
    
    

    На FreeBSD kvm работал с этой системой. Что я делаю не так?



  • Доброго.

    https://bobcares.com/blog/how-to-fix-error-could-not-access-kvm-kernel-module/

    1. Покажите вывод lscpu
    2. Вывод lsmod | grep kvm
    3. Поправьте репозитории https://pve.proxmox.com/wiki/Package_Repositories:

    • откл. Proxmox VE Enterprise Repository - mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak

    • в /etc/apt/sources.list у вас должно быть только :

    deb http://ftp.ru.debian.org/debian stretch main contrib
    
    # PVE pve-no-subscription repository provided by proxmox.com,
    # NOT recommended for production use
    deb http://download.proxmox.com/debian/pve stretch pve-no-subscription
    
    # security updates
    deb http://security.debian.org stretch/updates main contrib
    
    

    4. Делаете sudo apt update && sudo apt upgrade

    5. После обновления выкл. сервер (не перезагружаете, а именно выкл.). Выдергиваете кабель питания из его БП. И пускай он постоит минут 10.

    6. Вкл. сервер. Проверяете снова.

    P.s. Есть сомнения работоспособности "полноценной" вирт-ции на вашем cpu (https://ark.intel.com/ru/products/27217/Intel-Xeon-Processor-5140-4M-Cache-2_33-GHz-1333-MHz-FSB), т.к. он не умеет Intel® VT-x с таблицами Extended Page Tables (EPT) . Но вот тут (https://social.technet.microsoft.com/Forums/ru-RU/e743ef99-1034-42b6-b5d2-3268413ec109/-hyperv-bios-?) говорят, что "Серверный гипервизор не требует поддержки SLAT (EPT в терминологии Intel), так что поддержка виртуализации у этого процессора есть. Попробуйте обесточить сервер полностью."



  • Поправил репы, обновил, выключил, обесточил, подождал, включил - результат отрицательный.

    root@pve:~# lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                4
    On-line CPU(s) list:   0-3
    Thread(s) per core:    1
    Core(s) per socket:    2
    Socket(s):             2
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 15
    Model name:            Intel(R) Xeon(R) CPU            5140  @ 2.33GHz
    Stepping:              6
    CPU MHz:               2327.410
    CPU max MHz:           2324.0000
    CPU min MHz:           1992.0000
    BogoMIPS:              4654.82
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              4096K
    NUMA node0 CPU(s):     0-3
    Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca lahf_lm tpr_shadow dtherm
    
    
    root@pve:~# lsmod | grep kvm
    kvm                   581632  0
    irqbypass              16384  1 kvm
    
    

    Повторюсь - под freebsd и ubuntu server kvm работает на этой системе и пишет следующее:

    INFO: /dev/kvm exists
    KVM acceleration can be used
    


  • @T-Virus:

    root@pve:~# lsmod | grep kvm
    kvm                   581632  0
    irqbypass              16384  1 kvm
    
    

    У меня lsmod | grep kvm :

    root@pve:~# lsmod | grep kvm
    kvm_amd              2179072  34
    kvm                  581632  1 kvm_amd
    irqbypass              16384  24 kvm

    Разницу увидели ? У вас там где kvm должно быть kvm xxxxxx 1 kvm_intel
    Покажите dmesg | grep kvm и modinfo kvm_intel
    И попробуйте руками sudo modprobe kvm-intel