дарагия чытацели, наше радиа снова рада привецтваваць на нашам канале “нет покоя ебанутым”
сиводня мы рассмотрим такую пездатую весчь, как устанофка линугза на зфс. Да, в корень, да, и бут тоже. И похуй на лицензию. И похуй на сложнасци. Мы жы льюбим ихъ. А ани льубят нас.
И установга будзет у нас ни прастая, а залатайа - мы пиринисьом ужэ сущиствующий центзозь на зыфысы.
Приригвизиды:
-centos 7 softraid x86_64. mbr
-валшэбныйэ пакеты, заботлива собранные вот этими ручкаме:
zfs/kernel-uek-4.1.12-112.14.15.el7uek.x86_64.rpm zfs/kernel-uek-firmware-4.1.12-112.14.15.el7uek.x86_64.rpm zfs/kmod-spl-0.7.6-1.el7.x86_64.rpm zfs/kmod-zfs-0.7.6-1.el7.x86_64.rpm zfs/libnvpair1-0.7.6-1.el7.x86_64.rpm zfs/libuutil1-0.7.6-1.el7.x86_64.rpm zfs/libzfs2-0.7.6-1.el7.x86_64.rpm zfs/libzpool2-0.7.6-1.el7.x86_64.rpm zfs/linux-firmware-20171128-57.git17e62881.0.2.el7.noarch.rpm zfs/spl-0.7.6-1.el7.x86_64.rpm zfs/zfs-0.7.6-1.el7.x86_64.rpm zfs/zfs-dracut-0.7.6-1.el7.x86_64.rpm
дракут - такайа сволатч, любит преврациць обрас в тыкву, вот и в даннам слутчайэ - узбагаиваем иво:
dracut --no-early-microcode --force /boot/initramfs-4.1.12-112.14.15.el7uek.x86_64.img 4.1.12-112.14.15.el7uek.x86_64
тездируем новайэ йадро
kexec -l /boot/vmlinuz-4.1.12-112.14.15.el7uek.x86_64 --initrd /boot/initramfs-4.1.12-112.14.15.el7uek.x86_64.img --reuse-cmdline kexec -e
деноминируем рейд пополам:
mdadm --fail /dev/md0 /dev/sdb1 mdadm --remove /dev/md0 /dev/sdb1 mdadm --zero-superblock /dev/sdb1 mdadm --fail /dev/md1 /dev/sdb2 mdadm --remove /dev/md1 /dev/sdb2 mdadm --zero-superblock /dev/sdb2 mdadm --fail /dev/md2 /dev/sdb3 mdadm --remove /dev/md2 /dev/sdb3 mdadm --zero-superblock /dev/sdb3
обнуляем таблицу разделов и создаем гэпэтэ (йа пробавал эмбээр - нивзлитела):
sgdisk --zap-all /dev/sdb sgdisk -a1 -n3:34:2047 -t3:EF02 /dev/sdb sgdisk -n1:0:+512M -t1:BF01 /dev/sdb sgdisk -n2:0:0 -t2:BF01 /dev/sdb rm -rf /mnt mkdir /mnt
саздайом зыпуул и рутэфэс збутам:
zpool create -o ashift=12 -O mountpoint=/ -R /mnt -f zroot /dev/sdb2 zfs create -o mountpoint=/ zroot/ROOT zpool create -o ashift=12 -o version=28 -O mountpoint=/boot -R /mnt -f zboot /dev/sdb1
синкаем в новайе места:
rsync -avx --exclude='mnt' / /mnt/ rsync -avx --exclude='mnt' /boot/ /mnt/boot/ mount --rbind /sys /mnt/sys mount --rbind /proc /mnt/proc mount --rbind /dev /mnt/dev
гатовим груб и фстаб фчруце:
chroot /mnt/ sed -i -re 's@^GRUB_CMDLINE_LINUX(.+)@GRUB_CMDLINE_LINUX="biosdevname=0 crashkernel=auto nomodeset rd.auto=1 consoleblank=0 boot=zfs root=ZFS=zroot/ROOT zfsforce=1 elevator=deadline"@' /etc/default/grub chroot /mnt dracut --no-early-microcode --force /boot/initramfs-4.1.12-112.14.15.el7uek.x86_64.img chroot /mnt yum -y remove kernel-3\* chroot /mnt grub2-install /dev/sdb chroot /mnt grub2-mkconfig -o /boot/grub2/grub.cfg cat > /mnt/etc/fstab << _EOF proc /proc proc defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 _EOF
атманцируем фтарой вениг
umount -l /mnt/proc/ umount -l /mnt/sys/ umount -l /mnt/dev umount -l /mnt/boot umount -l /mnt zpool export zroot zpool export zboot
и вроди фсьо харашо, но мы ниуверины, скакова венига биоз будет грузицца послирибута. Паэтаму нада исчо и на первам венике сдзелаць тожысамайе:
sed -i -re 's@^GRUB_CMDLINE_LINUX(.+)@GRUB_CMDLINE_LINUX="biosdevname=0 crashkernel=auto nomodeset rd.auto=1 consoleblank=0 boot=zfs root=ZFS=zroot/ROOT zfsforce=1 elevator=deadline"@' /etc/default/grub dracut --no-early-microcode --force /boot/initramfs-4.1.12-112.14.15.el7uek.x86_64.img yum -y remove kernel-3\* grub2-mkconfig -o /boot/grub2/grub.cfg
паскольку квма у наз нед, то ниплоха бы была правериць циарицичэския шансы на то, што фсе палучицца посли рибута:
qemu-system-x86_64 -m 8192 -boot c -hda /dev/sdb --enable-kvm -vnc :0 qemu-system-x86_64 -m 8192 -boot c -hda /dev/sda -hdb /dev/sdb --enable-kvm -vnc :0 reboot
Йэсли фсё палутчилась, то умнажаем наноль астафшыйся мдрейд и добавляем веник в миррар к zroot
mdadm --stop /dev/md2 mdadm --stop /dev/md1 mdadm --stop /dev/md0 mdadm --zero-superblock /dev/sda3 mdadm --zero-superblock /dev/sda2 mdadm --zero-superblock /dev/sda1 sgdisk --zap-all /dev/sda sgdisk -a1 -n3:34:2047 -t3:EF02 /dev/sda sgdisk -n1:0:+512M -t1:BF01 /dev/sda sgdisk -n2:0:0 -t2:BF01 /dev/sda zpool attach zboot /dev/sdb1 /dev/sda1 zpool attach zroot /dev/sdb2 /dev/sda2 grub2-install /dev/sda
кантрольный рибут
reboot
если фсё пездата, дзелайем снапшот, штобы паказаць патомкам и каллегам
zfs snapshot -r zroot@migrated
свами была радиа “БЗДыщ”. ждзице нас и мы вирньомса