Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Proxmox, ceph, zfs, pfsense и все-все-все - часть 1

    Scheduled Pinned Locked Moved Russian
    129 Posts 8 Posters 87.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pigbrother
      last edited by

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

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

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

      1 Reply Last reply Reply Quote 0
      • werterW
        werter
        last edited by

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

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

        1 Reply Last reply Reply Quote 0
        • P
          pigbrother
          last edited by

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

          UPD.

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

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

          1 Reply Last reply Reply Quote 0
          • werterW
            werter
            last edited by

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

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

            1 Reply Last reply Reply Quote 0
            • werterW
              werter
              last edited by werter

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

              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

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


              Миграция Windows 2000 с динамическими дисками dynamic disc

              Дано:
              Старый сервер с Windows 2000 Server на программном raid1 из 2-ух дисков. На сервере живет оч. важное для клиента ПО.

              Задача:
              (Бережно) перенести в Proxmox VE (KVM)

              Проблема:

              1. Linux ничего "не знает" о динамических дисках Windows, что не дает возможность использовать "в лоб" Clonezilla и Partclone для миграции локально или по сети.
              2. Windows 2000 не имеет в своем составе службу Volume Shadow Copy, что не позволяет использовать, напр., Disk2vhd для промежуточной миграции в vhd(x) и дальнейшего переноса на PVE.

              Решение:
              Нам понадобятся Clonezilla Live, Gparted Live, драйверы на сетевой адаптер Intel e1000.

              1. Записать на CD\DVD образ Clonezilla live
              2. Скачать с сайта Intel и сохранить на раб. стол КЛОНИРУЕМОЙ файлы PROWMI.exe, PRO2K.exe для установки драйверов на виртуальный сет. адаптер Intel e1000
              3. Создать вирт. машину (ВМ) типа Windows 2000 с размером hdd НЕ МЕНЬШЕ, чем hdd клонируемой.
              4. Загрузиться с Clonezilla live на ФИЗИЧЕСКОЙ до момента "Start Clonezilla or enter login shell" и выбрать Enter_shell
                3.1. (Опционально) Сменить пол-ля на root: sudo passwd root -> ввести 2 раза пароль -> su - и ввести придуманный ранее пароль
              5. Загрузиться с Clonezilla live на ВИРТУАЛЬНОЙ до момента "Start Clonezilla or enter login shell" и выбрать Enter_shell
                4.1. (Опционально) п.3.1.
              6. Узнать и запомнить IP адрес на ВИРТУАЛЬНОЙ: ip a s
              7. Узнать и запомнить имя клонируемого диска на КЛОНИРУЕМОЙ: fdisk -l
              8. Узнать и запомнить имя диска, на к-ый будет перенесена инф-ция на ВИРТУАЛЬНОЙ: fdisk -l
              9. На ВИРТУАЛЬНОЙ ввести в терминале: sudo nc -w120 -vvnlp 19000 | sudo cat > /dev/sdX, где sdX - имя диска из п.7 и нажать Enter
              10. На КЛОНИРУЕМОЙ ввести в терминале: sudo pv /dev/sdX | sudo nc -vvn X.X.X.X 19000, где sdX - имя диска из п.6, X.X.X.X - IP адрес из п.5 и нажать Enter
              11. По завершние клонирования выкл. КЛОНИРУЕМУЮ.
              12. Перезагрузить ВИРТУАЛЬНУЮ.
              13. Установить на ВИРТУАЛЬНОЙ драйверы сетевой карты Intel E1000: 1. PROWMI.exe, 2. PRO2K.exe
              14. Важно! Откл. в настройках сетевой карты все, что касается Offload.
              15. Для избавления от динамического диска:
                • добавить еще один диск в ВИРТУАЛЬНУЮ
                • загрузиться с Gparted live
                • скопировать партиции со старого на новый диск
                • выключить ВМ
                • отсоединить старый диск
                • загрузиться с нового
                • в случае проблем со стартом ОС загрузиться в Консоль восстановления с диска Windows 2000 и
                  пофиксить командами fixboot, fixmbr
              1 Reply Last reply Reply Quote 1
              • werterW
                werter
                last edited by werter

                Using Terraform and Cloud-Init to deploy and automatically monitor Proxmox instances https://yetiops.net/posts/proxmox-terraform-cloudinit-windows/
                Encrypting Proxmox VE 6: ZFS, LUKS, systemd-boot and Dropbear https://tactical-documentation.github.io/post/proxmoxve6-zfs-luks-systemdboot-dropbear/
                ZFS RAIDZ luks disk encryption script https://www.reddit.com/r/Proxmox/comments/ijpuv8/zfs_raidz_luks_disk_encryption_script/

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

                Прим. Примеры использования 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 и пробуем загрузиться.

                1 Reply Last reply Reply Quote 1
                • werterW
                  werter
                  last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • D
                    derwin
                    last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • P
                      pigbrother
                      last edited by

                      @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/

                      1 Reply Last reply Reply Quote 0
                      • werterW
                        werter
                        last edited by

                        Доброе.
                        @derwin:

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

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

                        1 Reply Last reply Reply Quote 0
                        • D
                          derwin
                          last edited by

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

                          1 Reply Last reply Reply Quote 0
                          • werterW
                            werter
                            last edited by

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

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

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

                            1 Reply Last reply Reply Quote 0
                            • D
                              derwin
                              last edited by

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

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

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

                              1 Reply Last reply Reply Quote 0
                              • P
                                pigbrother
                                last edited by

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

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

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

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

                                1 Reply Last reply Reply Quote 0
                                • D
                                  derwin
                                  last edited by

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

                                  1 Reply Last reply Reply Quote 0
                                  • werterW
                                    werter
                                    last edited by

                                    @derwin:

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

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

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      derwin
                                      last edited by

                                      @werter:

                                      @derwin:

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

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

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

                                      1 Reply Last reply Reply Quote 0
                                      • werterW
                                        werter
                                        last edited by

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

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pigbrother
                                          last edited by

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

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

                                          1 Reply Last reply Reply Quote 0
                                          • werterW
                                            werter
                                            last edited by

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

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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.