Aaron Lauterer

Blog

Ceph RBD — Where does it store (meta)data?

Introduction Ceph offers different functionality on top of the RADOS object store. One of them is the rados block device (RBD) layer. It offers virtual block devices (disks) that are utilized by different hypervisors to store the disks of virtual machines. How the RBD layer is using the underlying object storage to store act…

Migrate Proxmox VE to smaller root disks

Due to some changes in the hardware of my small Proxmox VE server at home, I have to move the OS to smaller disks. Depending on how the OS is set up, this can be quite tricky or quite simple. If Proxmox VE is set up to boot from a ZFS root pool in UEFI mode, you are in luck, as it is actually not too hard. Despite what is shown in this guide, in real life, consider using the /dev/disk/by-id/ paths because the disks will be exposed by vendor, model and s…

Move GRUB and boot partition to another disk

This guide describes how to move GRUB and /boot to another disk in order to boot the existing system from it. It is for legacy BIOS (non UEFI) systems and Debian based Linux distributions, though the overall steps should be fairly similar. Backstory I have an old HP Microserver Gen 8 used as backup server. Additionally, to the 4 disks in the main drive bay I have added an SSD as boot and system drive in the ODD slot. The problem …

Biblatex - Customizing citations

Recently I had a friend who needs to write essays on a frequent basis for their studies. After hearing how they were struggling with Microsoft Word in combination with the citation style mandated by their university department, I suggested the use of LaTEX. So one evening we sat together and created a template for her to use which would fit these requirements. After a lot of searching in LaTEX forums and the Tex part of s…

Static Site Generator - Deployment strategies

Even though there are countless guides for this, I still need a place to document my way of deploying my websites. If it is useful for other people, even better. Most of my current websites are created with static site generators. In particular with Hugo and Zola. But having to build them locally and then transfer the files to the web server is a tedious and manual task that can be improved upon with …

Install Proxmox on HP DL380 Gen8

UPDATE I had to learn it the hard way... Just don't do what I did and get yourself an HBA controller right away! Otherwise you will run into (performance) problems sooner or later. I was in the situation to install Proxmox on a second hand HP DL380 Gen8 Server with a P420i RAID controller. Since Proxmox supports installation to ZFS out of the box I wanted to make use of that. Unfortunately…

Use Exiftool to shift time for a specific camera

This is a quick reminder for myself because even though I was able to find quite some information online, nothing really fit. The situation was that a session was shot with two cameras. Unfortunately the clocks were off by about 25 minutes between the cameras. To make matters more complicated the files of both cameras were in the same directory sharing the same naming scheme. Because of this it was not as easy as applying exiftool to a certain directory…

NGINX GeoIP testing

At work I had the task to implement a redirection based on the visitors country for the company website. I came to use this serverfault.com answer as a base for my implementation. But how do I test this? In order to test the behavior I need to fake IP adresses from all over the world. iptables to the rescue! Faking the source IP address To test this I had the NGIN…

I3 Scratchpad to access often used applications

I do have a few applications that I need many times throughout the day but usually only for a very short time. One of the prime examples for this is my password manager. Others are a go to terminal or some note taking application. You might have some other needs like a messenger or who knows what.

Sync Linux File Permissions

I ran into the situation where I had a directory tree restored from backup but the permissions were all messed up. The directory with the corrupted files still existed and the permissions there were intact. So the idea was to sync the permissions of the one directory tree to the other. I found the solution to my problem in this Serverfault thread.…