4 ms·
No, I don't think so. I'm a small-time admin, and I think that btrfs is working pretty good these days. We have recently switched all our servers to LXC conta
by ansible 10y ago
No, I don't think so. I'm a small-time admin, and I think that btrfs is working pretty good these days.
We have recently switched all our servers to LXC containers so that we can take full advantage of btrfs features.
I doubt I need to explain the advantages of containers to anyone here... but in short we've broken out all the network services (file service, LDAP, DNS, etc.) to separate containers.
Each container is in a separate btrfs subvolume. This allows us to take snapshots of the running systems every 10 minutes, and using btrfs send/receive, cheaply back up those snapshots to alternate container hosts. The send/receive stuff works better with the btrfs v4.4 tools that ship with Ubuntu 16.04.
Since the network interfaces for all the containers are bridged with the container host, we can configure each container with its own static IP address. So if a container host fails, those containers can be booted up on the alternate host, and keep their IP and MAC addresses. So that's convenient, and causes minimal disruption.
The main improvement I'd like to see with btrfs is a configurable RAID redundancy level. Currently, RAID-1 means that there are two copies of each piece of data / metadata. So in a 3-drive RAID-1 system that gives you extra capacity, but two drives failing at the same time will cause data loss.
- cmurf 10y agoBeing lazy, I'm going to ask if you know of some LXC + Btrfs pros in contrast to Docker + Btrfs? Right now a gotcha with Docker + Btrfs is that SELinux contexts for each container can be different, but the context= mount option currently is once per superblock (thus per fs volume, rather than per fs tree or subvolume). So Docker's work around in 1.10.x is they do a snapshot and then relabel it with the new selinux context then start the container. For my containers (very basic) this adds an almost imperceptible one time delay for that container. I doubt it's even 1 second, which in container start times might seem massive to some.
- ansible 10y agoIf you have already adapted to Docker, then I'm sure you don't want to use LXC. Containers are long-lived and mutable. I treat them like old school servers, just not tied to physical hardware.
- deleted 10y ago[deleted]