Description
This page describes a test case for bcache-tools; "/home on bcache without using LVM".
Bcache is a Linux kernel block layer cache. It allows one or more fast disk drives such as flash-based solid state drives (SSDs) to act as a cache for one or more slower hard disk drives. The bcache-tools package contains the utilities for manipulating bcache
Testing covers not only bcache-tools but also the interaction between bcache-tools and other packages: kernel and util-linux.
Assuming you have a fresh Fedora 20 system is running, we will "move" /home to a bcache device. To do this it's convenient to have a minimum amount of data on /home.
Prerequisites
The prerequisites for running the bcache-tools testcases can be found on this page
Setup
- Open terminal
- Switch to root user:
su -
First of all we have to make sure no traces of bcache superblocks are left on /dev/sdb1 from earlier experiments. So before installing bcache-tools do the following:
- update util-linux to the latest version (2.24 is required):
yum update util-linux
- Wipe whatever is on the /dev/sdb1 partition:
wipefs -a /dev/sdb1
- Next install bcache-tools:
yum install bcache-tools
- If needed "backup" all data in /home to another place on your root filesystem, because all data on /dev/sda2 will be destroyed in the next steps.
- comment /home out in your /etc/fstab
- unmount /home (which is on /dev/sda2)
- reboot so bcache-tools is processed well
How to test
- Erase the old /home from /dev/sda2:
wipefs -a /dev/sda2
- Make /dev/sda2 a bcache backing device:
make-bcache -B /dev/sda2
- Erase any existing metadata from /dev/sdb1:
wipefs -a /dev/sdb1
- Make /dev/sdb1 a bcache caching device:
make-bcache -C /dev/sdb1
- Retrieve the cset.uuid from your /dev/sdb1 caching device:
bcache-super-show /dev/sdb1
- Attach /dev/sdb1 to /dev/bcache0:
echo <cset.uuid> > /sys/block/bcache0/bcache/attach
Now you have a bcache device: /dev/bcache0
- use "
bcache-status -s
" to see details about your bcache device. - create a filesystem:
mkfs -t ext4 -L HOME /dev/bcache0
- create a /home entry in your /etc/fstab:
LABEL=HOME /home ext4 defaults 1 2
- mount /home:
mount -a
- If applicable restore the /home backup you made earlier.
Now you have a system with /home on bcache.
- reboot your system to see if it boots OK.
- do some other tests generating I/O on /home if you like.
Expected Results
- All steps complete without errors