User Tools

Site Tools


huy:zfsonlinux

дарагия чытацели, наше радиа снова рада привецтваваць на нашам канале “нет покоя ебанутым”

сиводня мы рассмотрим такую пездатую весчь, как устанофка линугза на зфс. Да, в корень, да, и бут тоже. И похуй на лицензию. И похуй на сложнасци. Мы жы льюбим ихъ. А ани льубят нас.

И установга будзет у нас ни прастая, а залатайа - мы пиринисьом ужэ сущиствующий центзозь на зыфысы.

Приригвизиды:

-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

свами была радиа “БЗДыщ”. ждзице нас и мы вирньомса

huy/zfsonlinux.txt · Last modified: 2018/03/12 10:23 by slayer