Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon

Configuring Btrfs in SUSE Linux Enterprise

In this hands-on lab, we will be working with the Btrfs filesystem. This will cover subvolumes as well as snapshots, including restoring from a snapshot.

Google Cloud Platform icon

Path Info

Clock icon Beginner
Clock icon 30m
Clock icon Jan 10, 2020

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Create a Btrfs Filesystem on One of the Empty Disks, Mount it at `/btrfs`, Create a Data Directory, and Copy `/etc/ssh` into This Directory

    1. Locate the empty disk (it will be the one with no partitions listed):

    2. Create the btrfs filesystem on the empty disk from Step 1:

      sudo mkfs.btrfs /dev/nvme0n1
    3. Create the btrfs directory:

      sudo mkdir /btrfs
    4. Mount the disk:

      sudo mount /dev/nvme0n1 /btrfs
    5. Change to the new /btrfs directory:

      cd /btrfs
    6. Create the "normal" directory:

      sudo mkdir data
    7. Copy the ssh directory to the data directory:

      sudo cp -r /etc/ssh ./data
  2. Challenge

    Convert the `data` Directory from Normal to Btrfs Subvol, Get Rid of the Original, and Verify with `subvolume list`

    1. From the /btrfs directory, create the subvolume:

      sudo btrfs subvolume create ./data1
    2. Copy over the files from /data to /data1 (notice the . after data/):

      sudo cp -r data/. ./data1
    3. Remove the original directory:

      sudo rm -rf data
    4. Rename the subvolume:

      sudo mv ./data1/ ./data
    5. Verify the subvolume:

      sudo btrfs subvolume list .
  3. Challenge

    Create a Btrfs Snapshot of the `data` Directory Named `data-snap`, touch a regular `file` in `data`, Compare the Snapshot and the Original, Delete `data/ssh/ssh_config`, Verify It Still Exists in the Snapshot, and Restore the Snapshot as Original Director

    1. From the /btrfs directory, create a snapshot of data:

      sudo btrfs subvolume snapshot ./data ./data-snap
    2. Touch a file named file in data, and compare ./data to ./data-snap:

      sudo touch data/file 
      ls data
      ls data-snap
    3. Remove data/ssh/ssh_config, and compare to see it still exists in data-snap:

      sudo rm data/ssh/ssh_config
      ls data/ssh/ssh_config

      The file should not be found.

    4. Now verify it's in the snapshot:

      ls data-snap/ssh/ssh_config
    5. Delete data and then restore it from data-snap:

      sudo btrfs subvolume delete data
      sudo btrfs subvolume snapshot ./data-snap ./data
    6. Verify with subvolume list:

      sudo btrfs subvolume list .
    7. Finally, verify the file you had deleted is back:

      ls data/ssh/ssh_config

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans