Започнах тази тема защото ми се наложи да инсталирам ProxMox от ISO файл който се предлага за чиста инсталация и ударих на камък. Не можех да открия хардуерния RAID1 върху който да инсталирам системата. RAID-a беше изграден от NVME SSD дискове. Тогава реших да направя първо инсталация на Debian 12 върху ZFS RAID1 и след това да надстроя системата с ProxMox. За справка Инсталиране на Debian 11 на UEFI и ZFS. Мисля в подробности инсталацията да не я показвам, а само разделянето на първия диск и прехвърляне на системата върху ZFS файлова система. Всичко ще бъде сбито за да може статията да стане по-къса. Защо ZFS, а не LVM: - ZFS е по-лесен за управление - ZFS не товари толкова системата при трансфер на много данни - няма тормозене в работата даже при снапшотове и копиране на големи масиви от един диск на друг Недостатък: - изисква много оперативна памет.
Ползваме инсталация върху LVM за да може после лесно да се прехвърли системата върху ZFS. LVM поддържа снапшот, а това е голямо предимство. Инсталацията ще се извърши върху втория диск. Трябва да получим долната картинка:
Да започваме. Спираме се направо на разделението на втория диск.
Втория диск го разделихме на 2 части. Едната част (EFI) с размер 128MB е зареждащия дял, а всичко останало е за LVM дяла. Да настроим LVM дяла.
Забележете, vg0 заема всичкото останало място, а lv0 70% от vg0, макар, че на горната картинка не се вижда размера на vg0. Да дефинираме lv0.
lv0 ще съдъжа в себе си целия root дял с всички подпапки без EFI. До края инсталацията протича стандартно. Забележете, че нямаме SWAP дял. На по-късен етап ще го създадем във вид на файл. В крайна сметка получихме следното разпределение на диска:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 33G 0 disk ├─sda1 8:1 0 121M 0 part /boot/efi └─sda2 8:2 0 32.9G 0 part └─vg0-lv0 254:0 0 21.4G 0 lvm / sdb 8:16 0 33G 0 disk sr0 11:0 1 1024M 0 rom
Забележете, че след рестарта показва инсталация върху sda, независимо, че през инсталатора инсталирахме на sdb. Това не е проблем, продължаваме:
Поради лицензионни споразумения в Debian стандартно няма ZFS в репозиторите. Те трябва да се добавят допълнително.
sed -r -i'.BAK' 's/^deb(.*)$/deb\1 contrib/g' /etc/apt/sources.list cat /etc/apt/sources.list deb http://deb.debian.org/debian/ bookworm main non-free-firmware contrib deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware contrib deb http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib apt update apt search zfs-initramfs Sorting... Done Full Text Search... Done zfs-initramfs/stable 2.1.11-1+deb12u1 all OpenZFS root filesystem capabilities for Linux - initramfs
Вече можем да инсталираме ZFS. За начало обаче да инсталираме няколко помощни пакета.
apt install linux-headers-$(uname -r) linux-image-amd64 dkms parted rsync -y
И самия ZFS.
apt install zfs-dkms zfs-initramfs zfs-zed zfsutils-linux -y
Предупреждава ни за прословутото лицензионно споразумение. До края инсталацията протича без допълнителни въпроси. Особено се забавя при Building initial module for 6.1.0-33-amd64. Да проверим дали всичко е наред?
lsmod | grep zfs zfs 4018176 6 zunicode 335872 1 zfs zzstd 589824 1 zfs zlua 192512 1 zfs zavl 20480 1 zfs icp 327680 1 zfs zcommon 110592 2 zfs,icp znvpair 118784 2 zfs,zcommon spl 122880 6 zfs,icp,zzstd,znvpair,zcommon,zavl
Всичко е точно. Да обърнем внимание на grub.cfg.
cat /boot/efi/EFI/debian/grub.cfg
search.fs_uuid a2831c0d-2bd6-4fad-9037-3722ed1cf4bc root
Казваме да търси файловата система в LVM структурата (/dev/vg0/lv0).За ROOT (корена на каталога) да се обръща към логическата група vg0 / логическия том (lv0). Или по-точно корена на системата се намира в /dev/vg0/lv0. Дефинираме и префикс (/dev/vg0/lv0/boot/grub). Тук ще се намира ядрото на системата. Още конфигурираме и къде да търси конфигурационния файл на GRUB, чрез configure $prefix/grub.cfg. На практика казахме търси конфигурационния файл в /dev/vg0/root/boot/grub/grub.cfg. За вярността на твърдението може да проверим:
vgdisplay | grep UUID VG UUID qJhEVO-nJtV-VF9V-d5dl-17Hv-6woA-sxSz15 lvdisplay | grep UUID LV UUID ujBq5p-YF8M-3hRi-xlFN-alp3-t26H-fLmraz blkid /dev/vg0/lv0 | cut -d ' ' -f2 UUID="a2831c0d-2bd6-4fad-9037-3722ed1cf4bc"
Как ще действаме? - оразмеряваме другия диск чрез parted, - създаваме zpool и dataset на дргуия диск, - прехвърляме системата от оригинално инсталирания диск на новосъздадения, - дефинираме начина на зареждане на новия Debian, - обновяваме GRUB в новата система, - изграждаме RAID1 с двата диска, - диска с оригиналната инсталация се оразмерява наново, - създаваме огледален образ на дисковете,
Добро ръководство е: https://www.youtube.com/watch?v=dYzMbm0p7FM . Няколко основни неща преди да почнем самата инсталация.
nano /etc/hosts 127.0.0.1 localhost 127.0.1.1 pve01.tlan.net pve01 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters nano /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface # allow-hotplug eno1 # iface eno1 inet dhcp auto eno1 iface eno1 inet static address 192.168.11.7 netmask 255.255.255.0 gateway 192.168.11.1 service networking restart ip a ### Ако IP адреса не се е променил: ifdown eno1 ifup eno1 ip a
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_12_Bookworm echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
https://www.youtube.com/watch?v=dYzMbm0p7FM iface enp1s0 inet static address 172.27.1.154 netmask 255.255.240.0 gateway 172.27.0.1 Смъкване/качване на мрежови интерфейс ifdown enp1s0 ifup enp1s0 ip a nano /etc/hosts 127.0.0.1 localhost.localdomain localhost 172.27.1.154 pve3040.palnet.net pve3040 Add Proxmox Repository nano /etc/apt/sources.list.d/pve-install-repo.list deb [arch=amd64] http://download.proxmox.com/debian/pve bullseye pve-no-subscription wget http://download.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg apt update apt full-upgrade apt install proxmox-ve postfix open-iscsi Postfix will ask you some questions, choose Local Only unless you know you have a better answer. Proxmox also suggests we remove os-prober: sudo apt remove os-prober Now reboot, and DONE! reboot now