The default journaling file system on non-boot partitions on Ubuntu 11.04 is ext4. Other journaling file systems supported are ext3, xfs, jfs, reiserfs, and btrfs. The journaling file system of interest in this article is btrfs, the B-Tree File System. Btrfs is an ongoing attempt to create a ZFS-like file system for Linux. It is still a long way from matching ZFS feature for feature, and it not yet recommended for use in production, but is good enough for those who just want to see what it has to offer.

ZFS, the Zettabyte File System, is the file system in use on Oracle Solaris. A port of it is also in use on FreeBSD, PC-BSD, and FreeNAS.

This article presents a step by step on how to install Ubuntu 11.04, the latest stable release of Ubuntu, on a btrfs file system.

Before we get started, what are the reasons for using btrfs? Let me list some of them:

  • Space efficient packing of small files
  • Writable snapshots
  • Subvolumes (separate internal filesystem roots)
  • Object level mirroring and striping
  • Integrated multiple device support, with several raid algorithms
  • Very fast offline filesystem check
  • Efficient incremental backup and FS mirroring
  • Online filesystem defragmentation

Setting up a btrfs-based system requires just three partitions:

  • /boot, the boot partition, where boot-related programs reside.
  • Swap, an unformatted disk space for use as virtual memory
  • The main partition, which will be formated with btrfs

To start, boot the computer from any of the ISO images and click until you get to the disk allocation step. Setting up btrfs require manual disk partitioning, so select the Something else option. Forward.
Btrfs

This is the advanced disk partitioning window. This is a standalone installation, so there will be no other operating system or distribution on the disk. It is very easy to set up a dual-boot installation with another OS, if that is what you want to do. To start creating partitions, select the free space you wish to use, and click on Add.
Uinstall3

The first partition will be mounted at /boot, with the ext2 file system (it could also be btrfs). The partition number of this boot partition, if it is the first partition on the disk, will be /dev/sda1. While many Linux distributions assign about 500 MB of disk space to /boot, only about 22 MB of the disk space allocated to it on a new installation of Ubuntu 11.04 is used. If you are tight on disk space, you can go as low as 50 MB, but keep in mind that disk usage on /boot will grow with each upgrade. Click OK to create it.
Btrfs1

With the /boot partition created, select the free space, then click on Add to create the second partition.
Btrfs2

Which will be used as Swap space. About 2000 MB should be enough. Select “swap area” from the “Use as” dropdown menu. OK
Btrfs3

Again, select the free space and click on Add to create the third partition.
Btrfs4

Which will be the last one. The file system must be btrfs, and the mount point, /. You may assign all available disk space to this partition. Notice that like the others, it is a primary partition. Add.
Btrfs5

With all partitions created. Click Install Now to complete the installation. After installation, reboot and have fun with your btrfs-based Natty Narwhal. Keep in mind that if you use the Alternate Installer ISO image, you should be able to create an encrypted btrfs file system.
Btrfs6

You can have quality articles like this delivered automatically to your Feed Reader or Inbox by subscribing via RSS or email.
This website now has a Question and Answer section. Use the commenting system for simple comments, but for more involved assistance, please use the Q & A section.