Proxmox, ceph, zfs, pfsense и все-все-все - часть 1
- 
 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 -ahlCоздаем через 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 rescanUpd2. 
 Короткий вариант. Проверил - работает.
 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)Проблема: - Linux ничего "не знает" о динамических дисках Windows, что не дает возможность использовать "в лоб" Clonezilla и Partclone для миграции локально или по сети.
- Windows 2000 не имеет в своем составе службу Volume Shadow Copy, что не позволяет использовать, напр., Disk2vhd для промежуточной миграции в vhd(x) и дальнейшего переноса на PVE.
 Решение: 
 Нам понадобятся Clonezilla Live, Gparted Live, драйверы на сетевой адаптер Intel e1000.- Записать на CD\DVD образ Clonezilla live
- Скачать с сайта Intel и сохранить на раб. стол КЛОНИРУЕМОЙ файлы PROWMI.exe, PRO2K.exe для установки драйверов на виртуальный сет. адаптер Intel e1000
- Создать вирт. машину (ВМ) типа Windows 2000 с размером hdd НЕ МЕНЬШЕ, чем hdd клонируемой.
- Загрузиться с Clonezilla live на ФИЗИЧЕСКОЙ до момента "Start Clonezilla or enter login shell" и выбрать Enter_shell
 3.1. (Опционально) Сменить пол-ля на root: sudo passwd root -> ввести 2 раза пароль -> su - и ввести придуманный ранее пароль
- Загрузиться с Clonezilla live на ВИРТУАЛЬНОЙ до момента "Start Clonezilla or enter login shell" и выбрать Enter_shell
 4.1. (Опционально) п.3.1.
- Узнать и запомнить IP адрес на ВИРТУАЛЬНОЙ: ip a s
- Узнать и запомнить имя клонируемого диска на КЛОНИРУЕМОЙ: fdisk -l
- Узнать и запомнить имя диска, на к-ый будет перенесена инф-ция на ВИРТУАЛЬНОЙ: fdisk -l
- На ВИРТУАЛЬНОЙ ввести в терминале: sudo nc -w120 -vvnlp 19000 | sudo cat > /dev/sdX, где sdX - имя диска из п.7 и нажать Enter
- На КЛОНИРУЕМОЙ ввести в терминале: sudo pv /dev/sdX | sudo nc -vvn X.X.X.X 19000, где sdX - имя диска из п.6, X.X.X.X - IP адрес из п.5 и нажать Enter
- По завершние клонирования выкл. КЛОНИРУЕМУЮ.
- Перезагрузить ВИРТУАЛЬНУЮ.
- Установить на ВИРТУАЛЬНОЙ драйверы сетевой карты Intel E1000: 1. PROWMI.exe, 2. PRO2K.exe
- Важно! Откл. в настройках сетевой карты все, что касается Offload.
- Для избавления от динамического диска:
- добавить еще один диск в ВИРТУАЛЬНУЮ
- загрузиться с Gparted live
- скопировать партиции со старого на новый диск
- выключить ВМ
- отсоединить старый диск
- загрузиться с нового
- в случае проблем со стартом ОС загрузиться в Консоль восстановления с диска Windows 2000 и
 пофиксить командами fixboot, fixmbr
 
 
- 
 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 и пробуем загрузиться. 
- 
 Обновил шапку. 
- 
 а кто расскажет, какое преимущество у zfs перед ufs ? 
 это какое странное достижение. Слижком уж не специфичное для фаервола.
- 
 а кто расскажет, какое преимущество у 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 запретили качать пакеты.... это какой то сплошной фейспалм. 
- 
 что то я не вижу гуя по управлению zfs, Гуй точно будет. Для снэпшотов он и не шибко нужен - сделал снэпшот в CLI\восстановил снэпшот в CLI. 
 У меня как-то регулярно пропадало электричество, UFS при этом ведет себя крайне ненадежно. Не зря в 2.4 сделали для опции выключения - перезагрузить и запустить fsck.
 Учитывая что уже большая часть программных роутеров ,фаерволов итд устанавливаются на VMУ такого решения полно как сторонников, так и противников. Я - не сторонник. 
 Имел случай проверить свою правоту.И никто не заставляет ZFS использовать, более того - по умолчанию 2.4 ставится по прежнему на UFS. 
- 
 я в первый раз поставил zfs где то в 2009 году вместе с проектом FreeNAS. Секс был просто адовый. Падение производительности - ужасное. 
 Когда развалился массив - я не смог сделать равном счётом ни-че-го.
- 
 я в первый раз поставил zfs где то в 2009 году вместе с проектом FreeNAS. Секс был просто адовый. Падение производительности - ужасное. 
 Когда развалился массив - я не смог сделать равном счётом ни-че-го.Не наговаривайте. Для IT-индустрии 8-9 лет - это как для человечества 100. Как паровой котел и АЭС. 
- 
 я в первый раз поставил 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. Чтобы не залюбиться. 
- 
 Правильно ли я понимаю, что аппаратных рейдов надо избегать? Они не нужны? 
 
 
 
 
