sumarsono.com
Take it with a grain of salt


Backup Subvolume Snapshot Btrfs Ke Disk Lain

Posted on

Aku punya instalasi distro linux yang memakai BTRFS untuk file system-nya. Salah satu nilai jual BTRFS adalah snapshot, yap berkat CoW aku bisa bikin snapshot subvolume btrfs sebelum ngulik sesuatu dan jika shit happen maka aku bisa restore ke subvolume hasil snapshot. Dan kasus sekarang aku ingin backup snapshot ke disk lain untuk jaga-jaga. Susunan Disk yang sekarang:

SSD Samsung:
|__EFI
|__SWAP
|__BTRFS /
   |__subvol @ mount sebagai /
   |__subvol @home mount sebagai /home
   |__subvol @cache mount sebagai /cache

Rencananya aku akan snapshot subvolume @ dan subvolume @home kemudian hasil snapshotnya akan aku backup ke SSD MidasForce. SSD MidasForce sudah aku format sebagai BTRFS. SSD tempat backup akan aku mount ke /run/media/sumar/MidasForce/

Aku akan memakai fitur-fitur btrfs:

# btrfs subvolume snapshot
# btrfs send
# btrfs receive

Berikut ini adalah langkah-langkah backup snapshot subvolume btrfs ke disk lain:

  1. Bikin read only snapshot

    # bikin direktori utk menampung snapshot
    sudo mkdir /.snapshots
    
    # snapshot subvolume @home
    sudo btrfs subvolume snapshot -r /home /.snapshots/home.$(date +%Y-%m-%d)
    
    # snapshot subvolume @
    sudo btrfs subvolume snapshot -r / /.snapshots/root.$(date +%Y-%m-%d)
    
    # write ram cache to disk
    sudo sync
    
  2. Kirim snapshot tersebut ke disk lain pakai btrfs send dan btrfs receive

    # backup snapshot @home ke Disk lain
    sudo btrfs send /.snapshots/home.2021-01-02 | sudo btrfs receive /run/media/sumar/MidasForce/
    
    # backup snapshot @ ke Disk lain
    sudo btrfs send /.snapshots/root.2021-01-02 | sudo btrfs receive /run/media/sumar/MidasForce/
    

    Akan memakan waktu cukup lama karena backup pertama kali adalah full backup.

  3. Incremental backup

    Hari berikutnya buatlah snapshot, kemudian backup lagi pakai send receive

    # incremental backup snapshot @home
    sudo btrfs send -p /.snapshots/home.2021-01-02 /.snapshots/home.2021-01-03 | sudo btrfs receive /run/media/sumar/MidasForce/
    
    # incremental backup snapshot @
    sudo btrfs send -p /.snapshots/root.2021-01-02 /.snapshots/root.2021-01-03 | sudo btrfs receive /run/media/sumar/MidasForce/
    

    Akan memakan waktu cukup singkat, karena incremental.

Referensi:

  1. BTRFS Wiki
  2. Fedora Magazine