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 91.0k 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.
    • 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
                                      • T
                                        ToXaNSK
                                        last edited by

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

                                        Say what you mean, mean what you say. (Interstate 60)

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

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

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

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

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

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

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

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