Differences between revisions 26 and 27
Revision 26 as of 2022-02-06 09:58:54
Size: 4465
Editor: PieterSmit
Comment:
Revision 27 as of 2022-02-07 05:52:27
Size: 4510
Editor: PieterSmit
Comment:
Deletions are marked like this. Additions are marked like this.
Line 117: Line 117:

#Test
sudo smartctl -t short -a /dev/sdX

BTRFS filesystem

  • Links: Linux/Btrfs/UbuntuExt4ToBtrfs, docker/docker-btrfs , linux/btrfs/crash201706 , https://wiki.debian.org/Btrfs

  • Btrfs space calculator http://carfax.org.uk/btrfs-usage/

    • MODE: single=use all, raid0=smallest disk striped, raid1=2copy(smallest of biggest disk and rest)
  • Create a raid1 mirror disk setup raid1 for both data and metadata
    •  mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc /dev/sdd /dev/sde 

    • Now find uuid with  sudo blkid /dev/sd* 

      • Add more hd's
        •        btrfs device scan
                 btrfs device add /dev/sdc2 /
                 btrfs filesystem balance /
                 btrfs balance start -dconvert=raid1 -mconvert=raid1 /
                 #Monitor progress with
                 btrfs balance status /
  • reflinks
    •  cp --reflink name1 name4 

    • reflinks are supported by BTRFS and OCFS2 and support transparent copy on write which is especially useful for snapshotting.
    • Note that since separate inodes are used, one can have different permissions to access the same data.
    • Reflinks have the same use as hardlinks, but are more space efficient and generally handle all subsequent operations on a file, not just unlink().
  • If you have virtual images on a btrfs, cow(copy on write) will cause a lot of fragmentation, turn it of for the directory of file with
    • this disables cow(fragmentation) and also crc calculations on the files.
      •      chatter +C /path
  • defrag with
    •    btrfs filesystem defragment /path/file
    • or faster for large files
      •      cp --reflink=never vbox.vdi vbox.new.vdi ; rm vbox.vdi ;      
  • Create raid array, raid1 all data mirrored once.
    • # mkfs.btrfs -m raid1 -d raid1 -L root /dev/disk/by-label/root1 /dev/disk/by-label/root2 /dev/disk/by-lab

el/root3 /dev/disk/by-label/root4

  • Mount options, add compress
  • subvolumes
    • mount option subvol=homevol

Install on multi disk

  • Will install on multiple disks
    •    sudo dpkg-reconfigure grub-pc 
  • Use uuid , same for all disks.
    •    sudo blkid /dev/sd* 

BTRFS maintenace

  • SCRUB disks in background, recovering for good copy in raid1 config
    •    sudo btrfs filesystem show
         sudo btrfs filesystem df /
         sudo btrfs scrub start /
         sudo btrfs scrub status -d /
         sudo btrfs device stats /
  • Resize
    1. Increase the partition (lvm or fdisk)
    2. find the <devid> (disk number) # btrfs filesystem show

    3. btrfs filesystem resize <devid>:max /

  • Error trying to convert to raid0
    •    # btrfs balance start -dconvert=raid0 /home
         ERROR: error during balancing '/home' - No space left on device
         In dmesg  btrfs: 262 enospc errors during balance
    • FIX
      •   sudo btrfs fi balance start -dusage=10 /
          btrfs balance start -dconvert=raid0 /home
  • Remove a drive for a array. Can take long, as data is moved off.
    • btrfs fi show
      btrfs device delete /dev/sde1 /
  • if single disk in raid1 fails, best course of action if you can replace the broken disk immediately is to convert to single drive.

    btrfs balance start -dconvert=single -mconvert=dup /whatever

Problem with filesystem full

  • 2016-03 a big struggle with a full btrfs root fs and then corrupt grub2 on top of the problem.
    • grub rescue>

      • used >set prefix=hd(0,1)/@snapxxxxx/boot/grub

      • This loaded old non corrupt grub2 normal module and typing normal, loaded old bootloader yeah for btrfs.
      • then at the grub2 menu, edit the boot parameters to put root at /@ and load newer kernel from corrupt root fs.
    • Space Solved with removing snapshots and deleting some files, then re-balance.
      • To delete snapshot's you need to mount disk to get to subvolumes.
        • No space to create dir, mount over root with mount /dev/sda1 /root
        • Delete subvolumes with #btrfs subvolume delete /root/@snapshot*

HP Server Raid tools

Check disk with smartctl

  • Check with systemctl

    sudo btrfs filesystem show
    
    sudo apt install smartmontools
    sudo systemctl start smartd
    sudo smartctl -H /dev/sda2
    
    #Test
    sudo smartctl -t short -a /dev/sdX

...

linux/btrfs (last edited 2022-02-07 05:52:27 by PieterSmit)