Sebagai pengguna Fedora Silverblue, kita tahu bahwa sistem immutable ini punya cara kerja unik. Tantangan muncul saat kita punya multi-disk (seperti setup Mini PC saya: 2x NVMe + 1x SATA). Bagaimana membaginya agar performa koding tetap kencang, tapi koleksi game dan kontainer tidak memenuhi sistem?

Berikut adalah strategi partisi yang saya gunakan untuk membagi beban kerja antara OS, Project, dan Storage berat.

The Strategy: Triple Disk Setup

Agar efisien, saya membagi beban kerja berdasarkan kecepatan I/O masing-masing drive:

  1. NVMe 128GB: Didedikasikan penuh untuk Root (/). Sistem OS jadi super stabil dan cepat.
  2. NVMe 256GB: Didedikasikan untuk /var/home. Ini tempat project Laravel/CodeIgniter dan konfigurasi IDE (VS Code/JetBrains).
  3. SSD SATA 225GB: Didedikasikan untuk Heavy Storage. Fokus untuk koleksi Game (Steam) dan graphroot Podman/Docker.

Langkah 1: Persiapan & Format BTRFS

Gunakan BTRFS untuk semua disk storage agar kita bisa memanfaatkan fitur kompresi zstd. Misal, drive SATA kita terdeteksi di /dev/sda:

# Format dengan label agar mudah dikenali
sudo mkfs.btrfs -f -L DATA_SATA /dev/sda

Langkah 2: Mounting Permanen di Silverblue

Di Silverblue, kita tidak bisa sembarang mount ke /mnt. Gunakan /var/mnt karena area ini writable.

  1. Dapatkan UUID disk:
lsblk -no UUID /dev/sda
  1. Tambahkan ke /etc/fstab dengan optimasi kompresi:
UUID=KODE-UUID-KAMU  /var/mnt/sata-storage  btrfs  defaults,compress=zstd:1,autodefrag  0  0
  1. Eksekusi mount:
sudo mkdir -p /var/mnt/sata-storage
sudo mount -a

Langkah 3: Menjinakkan SELinux (Crucial!)

Ini bagian yang sering dilewatkan. Tanpa label SELinux yang benar, Podman atau Steam tidak akan bisa menulis ke disk baru meskipun izin folder sudah 777.

# Berikan izin ke user
sudo chown -R $USER:$USER /var/mnt/sata-storage

# Set label SELinux untuk kontainer
sudo semanage fcontext -a -t container_var_lib_t "/var/mnt/sata-storage/containers(/.*)?"
sudo restorecon -R -v /var/mnt/sata-storage/containers

Langkah 4: Implementasi Use Case

1. Podman Graphroot (Hemat NVMe)

Pindahkan semua image kontainer yang berat ke SSD SATA. Edit ~/.config/containers/storage.conf:

[storage]
driver = "btrfs"
graphroot = "/var/mnt/sata-storage/containers"

2. Steam Library (Flatpak)

Jika menggunakan Steam versi Flatpak, beri izin akses ke folder SATA:

flatpak override com.valvesoftware.Steam --filesystem=/var/mnt/sata-storage/games

Kesimpulan

Dengan memisahkan OS, data user, dan storage berat, Fedora Silverblue kita jadi lebih resilient. Jika OS perlu di-rebase atau di-rollback, data project di NVMe 256GB dan game di SATA 225GB tetap aman dan tidak tersentuh.