Today, I want to examine the btrfs filesystem on Manjaro Linux. Interestingly, it appears as the default option in the installer for Manjaro 26.1 (Bian-May). I will explore how btrfs is setup in this version.
For those unfamiliar with Btrfs, it is a modern Linux filesystem that supports features such as subvolumes, snapshots, checksums, compression, RAID, and multi-device configurations. In this article, I’ll cover three main topics:
A high-level overview of Btrfs
Btrfs specifically on Manjaro
How to add disks to expand an existing Btrfs filesystem
Although Btrfs supports RAID and snapshots, neither feature is a replacement for regular backups. If you already make backups, keep doing so. If you don’t, now is a good time to start.
Following the file-server setup described in the previous article, I’m now moving on to setting up a media server. The initial clone preparation is almost identical to the previous file-server setup, so I’ll be going through that portion quickly. As a recap, the file server provides SMB (Server Message Block) shares that can be mounted and used much like local storage.
Since I have a lifetime Plex Pass subscription, Plex is a convenient choice for streaming my media remotely. For playback at home, however, I prefer Kodi. This is because my media library is stored locally on the file server, and Kodi can access SMB shares directly. Kodi also provides a more customizable interface with fewer distractions (no ads).
Kodi, however, does not provide built-in remote streaming functionality. Although alternative methods like Tailscale or a Cloudflare Tunnel can be used to allow remote access. Plex already supports remote access, making it the simpler choice for streaming outside the home.
It is time to get the file server up and running. Since every other server in this Mini PC rebuild depends on shared storage, it is priority one. Its time to hit that keyboard!
In earlier videos, I explained the reasoning behind this Proxmox server rebuild and prepared the Debian base system I’ll be using for most of the VMs (virtual machines) in this setup. I’ll link those videos at the end for anyone who wants the background.
In this article, I’ll build a virtual file server that can be accessed over SMB (Server Message Block), a standard Windows protocol that is supported on most devices. Because I deal with a mix of Windows, macOS, Linux, and Android/I-phones I’m avoiding NFS, which can be hit-or-miss outside the Linux/Unix world.
Eventually, I also want to add a simple web interface for mobile-friendly access. But for now SMB is the focus. In this video, I’ll cover:
Converting the Debian base VM to a template
Cloning the Template
Expanding the Clones virtual disk
Assign the VM new machine-ID, static IP Address, Host-name, and SSH keys
Adding/mounting a new partitioning
Installing and configuring Samba
Testing the connection from another computer
A quick note before we begin: this server lives on my private LAN, not directly exposed to any public networks. The inital security model in this presentation is very lax, and will be upgraded later. I’ve learned, the hard way, that to avoid headaches it’s better to start with a simpler working baseline and then tightening security in small controlled steps. If something breaks, you know what caused it and a fix is easier to figure out and manage.
Building a consistent base Virtual Machines (VM) is one part of my Proxmox mini PC refurbishment project. In this article I’m creating a reusable base Debian server, so every VM starts from the same stable foundation.
I use Debian for most servers because stability matters more than bleeding edge software. One of the few exception is my gaming server, which runs Arch for newer libraries.
This article walks through my base Debian build in detail. And yes, I’ve done this before. But most of the servers I’m building in this project rely on this template, so I’m refreshing it here.
Since some of these servers will require storage expansion later, I will call out the specific decisions I made to account for this in the build. You should read all the way through, because I’ll point out the key decision points to be aware of before you start your own build.
Over the past six months, I’ve been building, and destroying, a large number of Containers and Virtual Machines (VM). I’ve now arrived at several I actually want to keep.
The problem is that when I was setting them up, I completely mishandled storage planning, at least in the long run.
All the VMs and Containers I was building and deleting on my Proxmox VE server were basically tests. Each one was set up with its own storage assumptions, without an overall plan.
In the end, several of these were worth keeping, but my storage planning (or lack there of) wasn’t. I allocated a lot of storage unevenly; Plex got 1 TB, Kiwix got 1 TB, File Browser got 512 GB, and Calibre server got 256 GB.
None of those services have ever got close to their allocated space. On average they were running with less than 50% space utilization. So I effectively limited myself from using approximately 1.5 TB of storage tied up in my various Servers.
The fix is to consolidate storage by moving most data to a single file server, and have the other VMs access it for their content.
This site is governed by the terms and conditions set forth in the below links. To use this site, you must read and agree to abide by them. By clinging the "Accept" button below, you are stating that you have read the content form the links, understand the content, and agree to abide by them while using this site.
Leave a Reply