meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux:fs:zfs:move_to_zfs [2021/02/14 17:33] niziak |
linux:fs:zfs:move_to_zfs [2021/05/14 16:06] (current) niziak |
||
---|---|---|---|
Line 6: | Line 6: | ||
* [[https://www.tomica.net/blog/2019/02/moving-ubuntu-to-root-on-zfs/]] | * [[https://www.tomica.net/blog/2019/02/moving-ubuntu-to-root-on-zfs/]] | ||
* [[https://blog.heckel.io/2016/12/31/move-existing-linux-install-zfs-root/]] | * [[https://blog.heckel.io/2016/12/31/move-existing-linux-install-zfs-root/]] | ||
+ | * [[https://wiki.debian.org/ZFS|ZFS - Debian Wiki]] | ||
===== Prepare system ===== | ===== Prepare system ===== | ||
Line 27: | Line 28: | ||
<code bash> | <code bash> | ||
zpool create \ | zpool create \ | ||
- | -o ashift=12 -d \ | + | -o ashift=13 -d \ |
-o feature@async_destroy=enabled \ | -o feature@async_destroy=enabled \ | ||
-o feature@bookmarks=enabled \ | -o feature@bookmarks=enabled \ | ||
-o feature@embedded_data=enabled \ | -o feature@embedded_data=enabled \ | ||
- | -o feature@empty_bpobj=enabled \ | + | -o feature@empty_bpobj=enabled \rapidly and thoroughly than you'd think. |
-o feature@enabled_txg=enabled \ | -o feature@enabled_txg=enabled \ | ||
-o feature@extensible_dataset=enabled \ | -o feature@extensible_dataset=enabled \ | ||
Line 46: | Line 47: | ||
</code> | </code> | ||
- | ==== create root pool ==== | + | ==== Create root pool ==== |
<code bash> | <code bash> | ||
zpool create \ | zpool create \ | ||
- | -o ashift=12 \ | + | -o ashift=13 \ |
-O acltype=posixacl -O canmount=off -O compression=lz4 \ | -O acltype=posixacl -O canmount=off -O compression=lz4 \ | ||
-O dnodesize=auto -O normalization=formD -O relatime=on \ | -O dnodesize=auto -O normalization=formD -O relatime=on \ | ||
Line 57: | Line 58: | ||
</code> | </code> | ||
- | === prepare filesystem === | + | ===== prepare filesystem ===== |
<code bash> | <code bash> | ||
Line 102: | Line 103: | ||
</code> | </code> | ||
- | === Move filesystem === | + | ==== Move filesystem ==== |
<code bash> | <code bash> | ||
Line 114: | Line 115: | ||
</code> | </code> | ||
- | === update filesystem === | + | ==== update filesystem ==== |
<code bash> | <code bash> | ||
Line 138: | Line 139: | ||
</code> | </code> | ||
- | === Enable importing bpool === | + | ==== Enable importing bpool ==== |
<file /etc/systemd/system/zfs-import-bpool.service> | <file /etc/systemd/system/zfs-import-bpool.service> | ||
Line 173: | Line 174: | ||
<code bash>update-initramfs -c -k </code> | <code bash>update-initramfs -c -k </code> | ||
+ | |||
+ | ==== Update GRUB ==== | ||
=== EFI boot === | === EFI boot === | ||
Line 219: | Line 222: | ||
<code bash> | <code bash> | ||
sed -Ei "s|/rpool/?|/|" /etc/zfs/zfs-list.cache/* | sed -Ei "s|/rpool/?|/|" /etc/zfs/zfs-list.cache/* | ||
- | |||
- | |||
</code> | </code> | ||
- | + | Exit chroot: <code>exit</code> | |
- | Exit chroot | + | |
- | <code> | + | |
- | exit | + | |
- | </code> | + | |
Unmount zfs | Unmount zfs | ||
Line 236: | Line 233: | ||
</code> | </code> | ||
+ | **DON'T FORGET TO EXPORT BEFORE REBOOT!** | ||
<code> | <code> | ||
zpool export -a | zpool export -a | ||
+ | |||
reboot | reboot | ||
</code> | </code> | ||
Line 244: | Line 243: | ||
Reboot. Choose recovery boot to verify. | Reboot. Choose recovery boot to verify. | ||
- | ==== issue: No pool imported ==== | + | ===== Add 2nd disk for mirror ===== |
+ | |||
+ | <code bash> | ||
+ | DISK=/dev/disk/by-id/scsi-SATA_disk2 | ||
+ | sgdisk --zap-all $DISK | ||
+ | sgdisk -a8 -n1:24K:+1000K -t1:EF02 $DISK # grub bios | ||
+ | sgdisk -n2:1M:+256M -t2:EF00 $DISK # EFI | ||
+ | sgdisk -n3:0:+512M -t3:BF01 $DISK # /boot | ||
+ | sgdisk -n4:0:0 -t4:BF00 $DISK # rpool | ||
+ | </code> | ||
+ | |||
+ | Attach boot partitiona to ''bpool'': | ||
+ | <code bash> | ||
+ | zpool list -v | ||
+ | zpool attach bpool ata-WDC_WD1003FZEX-00MK2A0_WD-WCC3F5HSP1N1-part3 $DISK-part3 | ||
+ | zpool list -v | ||
+ | </code> | ||
+ | |||
+ | Attach pool partition to ''rpool'': | ||
+ | <code bash> | ||
+ | zpool list -v | ||
+ | zpool attach rpool ata-WDC_WD1003FZEX-00MK2A0_WD-WCC3F5HSP1N1-part4 $DISK-part4 | ||
+ | zpool list -v | ||
+ | </code> | ||
+ | |||
+ | Check mirror build progresS: | ||
+ | <code> | ||
+ | zpool status | ||
+ | |||
+ | pool: bpool | ||
+ | state: ONLINE | ||
+ | scan: resilvered 263M in 0 days 00:00:06 with 0 errors on Sun Feb 14 18:26:12 2021 | ||
+ | |||
+ | pool: rpool | ||
+ | state: ONLINE | ||
+ | status: One or more devices is currently being resilvered. The pool will | ||
+ | continue to function, possibly in a degraded state. | ||
+ | action: Wait for the resilver to complete. | ||
+ | scan: resilver in progress since Sun Feb 14 18:27:09 2021 | ||
+ | 68,9G scanned at 860M/s, 504K issued at 6,15K/s, 326G total | ||
+ | 0B resilvered, 0,00% done, no estimated completion time | ||
+ | </code> | ||
+ | |||
+ | ==== Install grub on 2nd disk ==== | ||
+ | |||
+ | |||
+ | === legacy === | ||
+ | |||
+ | <code bash>dpkg-reconfigure grub-pc</code> | ||
+ | Hit enter until you get to the device selection screen. Select (using the space bar) all of the disks (not partitions) in your pool. | ||
+ | |||
+ | or | ||
+ | |||
+ | <code bash>grub-install $DISK</code> | ||
+ | |||
+ | === For UEFI booting === | ||
+ | |||
+ | <code bash>umount /boot/efi</code> | ||
+ | |||
+ | <code bash> | ||
+ | dd if=/dev/disk/by-id/scsi-SATA_disk1-part2 \ | ||
+ | of=/dev/disk/by-id/scsi-SATA_disk2-part2 | ||
+ | |||
+ | efibootmgr -c -g -d /dev/disk/by-id/scsi-SATA_disk2 \ | ||
+ | -p 2 -L "debian-2" -l '\EFI\debian\grubx64.efi' | ||
+ | |||
+ | mount /boot/efi | ||
+ | </code> | ||
+ | |||
+ | ==== add ZIL and L2ARC ==== | ||
+ | |||
+ | <code bash> | ||
+ | zpool add rpool log c2980761-ed99-4af3-8519-f03ed43fbefe | ||
+ | </code> | ||
+ | |||
+ | <code bash> | ||
+ | zpool add rpool cache 3b42df2e-2923-464c-92d6-8d629252727d | ||
+ | </code> | ||
+ | |||
+ | ===== issue: No pool imported ===== | ||
<code> | <code> | ||
Line 270: | Line 348: | ||
</code> | </code> | ||
- | ==== issue ? ==== | + | ===== issue ? ===== |