My Programming Projects and Progress in 2020

Back in 2019, when I did my programming retrospective I made a few predictions. How did those go? Work on my Extra Life Donation Tracker? Yup! See below! Write more C++ thanks to Arduino? Not so much.  C# thanks to Unity? Yes, but not in the way I thought. I only did minor work on …

Reviving and Revamping my btrfs backup program Snap-In-Time

If you’ve been following my blog for a long time, you know that back in 2014 I was working on a Python program to create hourly btrfs snapshots and cull them according to a certain algorithm. (See all the related posts here: 1, 2, 3, 4, 5, 6, 7, 8, 9) The furthest I ever …

btrfs scrub complete

This was the status at the end of the scrub: [root@supermario ~]# /usr/sbin/btrfs scrub start -Bd /media/Photos/ scrub device /dev/sdd1 (id 1) done scrub started at Tue Mar 21 17:18:13 2017 and finished after 05:49:29 total bytes scrubbed: 2.31TiB with 0 errors scrub device /dev/sda1 (id 2) done scrub started at Tue Mar 21 17:18:13 …

Speed of btrfs scrub

Here’s the output of the status command: [root@supermario ~]# btrfs scrub status /media/Photos/ scrub status for 27cc1330-c4e3-404f-98f6-f23becec76b5 scrub started at Tue Mar 21 17:18:13 2017, running for 01:05:38 total bytes scrubbed: 1.00TiB with 0 errors So on Fedora 25 with an AMD-8323 (8 core, no hyperthreading) and 24GB of RAM with this hard drive and …

Finally have btrfs setup in RAID1

A little under 3 years ago, I started exploring btrfs for its ability to help me limit data loss. Since then I’ve implemented a snapshot script to take advantage of the Copy-on-Write features of btrfs. But I hadn’t yet had the funds and the PC case space to do RAID1. I finally was able to …

Exploring Rockstor

I’ve been looking at NAS implementations for a long time. I looked at FreeNAS for a while then OpenMediaVault. But what I really wanted was to be able to take advantage of btrfs and its great RAID abilities – especially its ability to dynamically expand. So I was happy when I discovered Rockstor on Reddit. …

Post Script to yesterday’s btrfs post

Looks like I was right about the non-commit and possibly also about the df -h. Last night at the time I wrote the post: # btrfs fi show /home Label: ‘Home1’ uuid: 89cfd56a-06c7-4805-9526-7be4d24a2872 Total devices 1 FS bytes used 1.91TiB devid 1 size 2.73TiB used 1.99TiB path /dev/sdb1 $ df -h Filesystem Size Used Avail …

A Quick Update on my use of btrfs and snapshots

Because of grad school, my work on Snap in Time has been quite halting – my last commit was 8 months ago. So I haven’t finished the quarterly and yearly culling part of my script. Since I’ve been making semi-hourly snapshots since March 2014, I had accumulated something like 1052 snapshots. While performance did improve …

Exploring btrfs for backups Part 6: Backup Drives and changing RAID levels VM

Hard drives are relatively cheap, especially nowadays. But I still want to stay within my budget as I setup my backups and system redundancies. So, ideally, for my backup RAID I’d take advantage of btrs’ ability to change RAID types on the fly and start off with one drive. Then I’d add another and go …

Exploring btrfs for backups Part 5: RAID1 on the Main Disks in the VM

So, back when I started this project, I laid out that one of the reasons I wanted to use btrfs on my home directory (don’t think it’s ready for / just yet) is that with RAID1, btrfs is self-healing. Obviously, magic can’t be done, but a checksum is stored as part of the data’s metadata …

Exploring btrfs for backups Part 4: Weekly Culls and Unit Testing

Back in August I finally had some time to do some things I’d been wanting to do with my Snap-in-Time btrfs program for a while now. First of all, I finally added the weekly code. So now my snapshots are cleaned up every three days and then every other week. Next on the docket is …

Exploring btrfs for backups Part 3: The Script in Practice

Night of the second day: # btrfs sub list /home ID 275 gen 3201 top level 5 path home ID 1021 gen 3193 top level 275 path .snapshots ID 1023 gen 1653 top level 275 path .snapshots/2014-03-13-2146 ID 1024 gen 1697 top level 275 path .snapshots/2014-03-13-2210 ID 1025 gen 1775 top level 275 path .snapshots/2014-03-13-2300 …

Exploring btrfs for backups Part 2: Installing on My /Home Directory and using my new Python Script

I got my new hard drive that would replace my old, aging /home hard drive. As you read in part 1, I wanted to put btrfs on it. This is my journey to get it up and running. Plugged it into my hard drive toaster and ran gparted. Because of the peculiarities of btrfs and …