Odyssey X86 Single-Board Computer

Shortly after setting-up single-node Kubernetes cluster, single-node Ceph cluster I wanted an actual cluster. I've also noticed that Ceph doesn't actually work all that well: Besides obvious lack of failure tolerance, it didn't seemed to like working on top of just two storage devices of a very different sizes (internal ~300G HDD and 1T USB-HDD). So I've decided to get some more hardware.

I live in a small apartment and I don't really have a lot of space. All I have is a small shelf in storage area. Normal desktops and especially rack servers won't fit. They are also noisy, eat a lot of power and produce a lot of heat. Another thing is that I already had two old SATA HDDs lying idle, which I wanted to use, so the new hardware needed SATA support.

I found the solution in Odyssey X86 board.

Read more…

Royal Canal Deep Sinking SUP

The weather was great this Monday - it was the hottest day of this year in Ireland (so far). Also, thanks to Memorial Day in USA, it was going to be a quiet day at work. So, I decided to take a day off and go paddle-boarding in Royal Canal in west Dublin. I did not find a lot of information online, so I'll write a report here.

Read more…

This website has remark42 comments now

Now you can tell me how wrong I am!

Comments are self-hosted using remark42, there are no ads or tracking. The privacy policy was updated nonetheless.

Remark42 does not support captcha and its anti-spam is rudimentary, so I wasn't brave enough to enable anonymous posting. You'd have to log in. Currently it is possible to log in via Google or GitHub, and I plan to add more methods later.

Read more…

Things I learned about Kubernetes version upgrades

Back what I was setting up my home Kubernetes cluster the latest Kubernetes version was 1.18.6.

A lot of minor and major versions were released since then and now the latest version is 1.21.0. I didn't go all the way to 1.21.0 but I've recently performed upgrade to latest stable version in 1.20 branch.

Kubernetes has somewhat decent upgrade instructions. But they are far from comprehensive and I've learned a few thing things even upgrading my small home cluster with a very small number of apps. I can understand now why Kubernetes admins fear upgrades.

Read more…

Setting up single-node Ceph cluster for Kubernetes

After setting up my shiny single-node Kubernetes "cluster" I wanted to do something useful with it. Many of the useful things require your useful data not to disappear, so I needed to figure out how to do that.

In Kubernetes storage is organized via Volumes. These Volumes can be attached to Pods via Volume Claims. There are two types of Volumes: regular ones and Persistent Volumes. Regular Volumes are ephemeral and destroyed together with Pods (e.g. when it crashes or rescheduled). These are of course less interesting than Persistent Volumes which as the name suggest survive Pod restarts.

There are many ways to implement Persistent Volumes, the simplest is probably to use Local Persistent Volumes. They simply bind local directory into pod. However they force pods to be always running on the same node.

This was not interesting enough for me so I went with something more complicated.

Read more…

Building new PC

As Ireland went into second lockdown of 2020, I've decided to upgrade my home personal computer.

I use my PC for gaming, hacking around with Linux and general wasting time in the Internet.

Previously I used PC with Intel i5-3550. After an SSD, GPU and memory upgrades it was still a very capable machine. It is actually still in use today to play some less demanding games co-op with my spouse. However I was not 100% happy with how some CPU-heavy games behaved (city/transport simulators), and compile times were getting annoyingly long while hacking. Another thing I was not happy about is fan management - the old PC had proprietary Lenovo motherboard which would spin case and CPU fans too much.


Given above I wanted:

  • Quietness. Ideally I wanted it to be semi-passive so that all fans will stop completely under light load.
  • Good single-core performance for games which don't do multi-threading too well.
  • 8 or more cores for compiling stuff (also, it's fun to have many bars in htop).

Read more…

Backups part 2: using restic to back up files to Backblaze

This post is a follow-up to a post where I talk about backups strategy.

Here I describe my solution for file backups from my Linux computers, and don't yet go into the subject of other devices and online services.

After some experimentation I decided to use restic for this. Restic is a modern, open-source backup program with an active community. It is written in Go. It runs on Linux (but also BSD, Mac and Windows) and can back up to local disks as well as remote/cloud services.

And as I wanted my backups to be cheap, "pay as you go" and off-site I've opted to use Backblaze for storage.

Why restic?

Read more…

Backups part 1: Strategy

There are two kinds of people in this world: people who back up their files and people who will back up their files.

If you don't do backups, check the world backup day website. It lists a number of reasons of why backups are important and provides some advice on how to start backing your files up.

However, their advice is rather simplistic. After following it and setting up /some/ backup, one may end up with no usable backups still and false sense of security. Or, people who are more paranoid (or experienced?), may still have some anxiety. There are still many open questions. Do I backup the right files? Did I forget anything? Will these backups protect me from all data loss situations? Do they cost me too much?

Read more…