Using DD to do Bare Metal Backups

I have been using Proxmox as a server OS for >5 years now and have had a very robust and tested backup procedure for all of my VMs. The problem is that though I have a good setup for the VMs I have a very poor system for backing up my Proxmox host.

The solution to this is DD (Data Description) which is a very powerful and dangerous tools for data manipulation. It can handle wiping drives by writing “0” to the entire disk or pull data between sectors on a damaged disk. In my scenario I use it to create a disk image that is a 100% copy of my host.

sudo dd if=/dev/sdX conv=sync,noerror status=progress bs=64K | gzip -c > /media/XXX

To do this I boot into a virtually mounted Xubuntu iso (Thank you Dell IDrac for virtual media). I locate my Proxmox host disk and run the command. It pipes the host disk right into gzip to compress the file and then saves it on the onboard USB.

The dd command paired with gzip makes it an exceedingly attractive backup solution as it is a full bare metal backup that is compressed so the empty space doesn’t fill up the backup.

There are concerns with using dd as a backup, namely with bit rot where if 1 bit is flipped it can mess everything up but to remedy this I am taking multiple backups and I am hosting this in a RaidZ ZFS pool that can catch bit rot.

Most importantly of all, “You don’t have backups unless you tested them” and I was able to successfully recover using this method making it my go to for low level backups.

CI Power Savings at Home

With new power monitoring plugs (flashed with custom Tasmota firmware) I wanted to have a look at my server rack power usage and see if there were any savings opportunities. I ran a “top" command on the VM that had the highest usage and found that my database (PostgreSQL) was running higher than I think it should. I started to go deeper into the jobs running on the database and found some stuck system jobs. I was able to resolve most of them and implemented a query timeout to prevent anything from going to long and was able to go from a mean 104 W down to 90W presenting a 14 W savings. This may not be much but this server runs 24/7 and so will accumulate over time.

I made a quick I-chart to show the power savings the the optimization period where I was hammering the server to figure out what was going on. There are still some cyclic increases in power that are related to clean up jobs.

Italian Black Winter Truffles

I was able to get my hands on fresh black winter truffles.

The general smelling notes are exactly what you will see written online. Very musky, pungent earthy aroma. Not quite sharp but bound to add a muskiness to any dish. For most dishes I simply shaved some truffle on a microplane but cutting thin slices on a mandoline also make a very appealing garnish.

The main dishes I made with this was:

  • Truffle Tagliatelle (hand made)
  • Truffle Pizza
  • Truffle Butter
  • Truffle Rissotto
  • French Omelette with Truffle

“Quis custodiet ipsos custodes” & Process Control

“Who watches the watchmen” a question posed by Alan Moore has much broader implications into the realm of process control. The core of this political sentiment is accountability and it has broad applications to sensors and how we interpret their data.

Equipment fails and it is not a question of if but rather when. A good example is the 2019 Boeing airplane crash where investigations found that cause was a faulty angle of attack sensor. A very good research paper goes deep into this and I will be borrowing on this idea https://www.sciencedirect.com/science/article/abs/pii/S0952197622000744. The root of the argument is how do you trust sensor data. If you have 1 sensor and it is providing you faulty data you do not know, with 2 sensors (one good & one faulty) you can see the sensor data is different but you won’t know which one is right and with finally 3 sensors (two good & one faulty) you can have the sensors ‘vote’ on the correct sensor value and then tell which is faulty. The obvious error is if you have 2 faulty sensors out of 3 the wrong value will be chosen. This can be extended infinitely but the probability of 2 faulty sensors that are regularly checked is unlikely and so 3 sensors is the agreed norm for critical voting processes. The previously noted research paper goes into how 2 real sensors and a virtual sensor could be used to the same effect and has some really interesting implications to save on sensor cost.

Extending this to process control we can have the exact same failure modes. One example is a control valve used to control fluid flow rates. If said control valve fails (“Gasp, by God how could a control valve ever fail or stick” /s) how would we know. The most trivial solution is to have a “watcher” for all control points. If we have a control valve to control fluid flow rate we need a flow meter to measure the effect of that control valve. This way if the control unit is faulty we can measure that and then investigate. The concern is that if the flow meter is faulty we can have false negatives or fail to catch true negatives. For true critical to safety (CTS) or critical to quality (CTQ) parameters is may be beneficial to design processes with redundant sensors or innovative intertwined solutions.

One real life example is a steam heater used to heat a process stream. We had a control valve fail (after root cause analysis with maintenance we found that it was damaged and was very prone to sticking) and the sensor measuring the flow rate (well not really measuring flow rate but rather pressure differential and then estimating flow rate) was not able to pick up the failure. This would be a catastrophic failure leading to over-temp material but we had temperature sensors in the material being heated by the steam and so were able to catch this condition. The main point here is processes overlap. Surface level views may indicate the faulty valve and sensor are isolated but their effects affect downstream processes so it is possible to detect their failures through downstream sensors.

What this also implies is that failures in a large complex processes can be caught by direct process sensors as well as downstream sensors much further down the line. Another example to show the point is in a boiler where if the heater (gas, electric, etc) fails and the temperature sensors itself fails to catch it, downsteam processes that use the boiler stream would be able to catch this failure due to low pressure or low temperature.

Interconnecting a process like this and creating a system to catch failures like this can be very difficult work and poses its own risks but the core tenant of “Who watches the watchmen” is something all process engineers should be aware of as both equipment and sensors fail and may have significant impact to process.

Chanterelle Mushroom

By far my favourite mushroom is the Chanterelle or “Kurki” as it is known in Polish. A perfect balance of sweetness and “funginess” it is the perfect ingredient in a cream sauce.

Though I have made my opinions widely known Canada is completely devoid of choice when it comes to mushrooms and arguably many Canadians only know of the button or Cremini mushroom. Contrast this with Europe where I could purchase 200g boxes of Chanterelle at popular chain supermarkets (Biedronka in Poland).

This is not to say that we do not have good mushroom selection in Canada. I have been able to find good selections at my local farmers where they regularly have morel and infrequently chanterelle but the issue is that these mushrooms are older as it appears they have travelled across the country. I have had conversations with them as their products were visibly wilted compared to fresher product pictured below but nevertheless it is not easy to source mushrooms in this country/province.

All that aside my family was able to find some fresh Chanterelle mushrooms and so I was able to take on this opportunity and make a beloved cream of Chanterelle mushroom sauce with fresh pasta. I added a bit of hunter sausage to this to make it a more “wild” pasta with foraged mushrooms but all in all it played a perfect balance and the end product was divine for as long as the supply lasted.

Herbert Von Karajan & Cancel Culture

I would like to preface with the note that I heavily try to avoid social media due to a multitude of reasons.
I wanted to note my opinions on Herbert Von Karajan and Cancel Culture in general as an extension.
As I noted previously Herbert Von Karajan is by far my favourite conductor. All it takes is a few minutes of listening to his performance of Dvorak’s 9th symphony to be convinced https://www.youtube.com/watch?v=5IdOodlwzSs.

Herbert Von Karajan born 1929 was a Nazi sympathizer and most sources note that as a contributor to his rise to prominence during the mid 20th century https://en.wikipedia.org/wiki/Herbert_von_Karajan. Though I am against the Nazi philosophy of the 20th century we have a dilemma as the works preformed by Karajan during this time period are arguably the best of the century. In my opinion his mastery of tempo and emotion are unparalleled and his performances of Mozarts Requiem, Dvorak’s 9th symphony and Beethoven’s 9th Symphony are worlds apart from any other conductors during this time period.

The point remains whether true talent and mastery should be allowed with politically unpopular ideologies. In the 21st century it may be easier to neglect his political leanings and appreciate his works for what they are but this trickles through to works done today. There are many contemporary artists today that preform well above their peers but may be unfavourable due to their political leanings.

I won’t delve into the morals of this as it varies from individual to individual (and artistic skill does not absolve moral/criminal concerns) but simply wanted to use this as a note that as cancel culture may pose a large impact today looking back half a century results seem to justify the means as Herbert Von Karajan a known Nazi sympathizer who at the time might have been ostracized for this belief now lives immortal through his immaculate performances.

Parametric vs Non parametric Statistics

Many people assume perfect normal distributions when looking at data, but this is not always the case. An example data set is shown below where the data is clearly non normal and both the normal and non parametric tolerance intervals and means are shown. The mean is obviously the same but the 99% tolerance intervals show some key distinction. The normal tolerance intervals overestimates and unrealistically goes to -1.907 because it assumes a normal distribution and “equal” datapoints on both sides of the mean. This is not the case and the non parametric tolerance interval is obviously more accurate as it takes into account the “Real” aspect of the data.

I know many people just default to always assuming their distributions are normal but this is not always true and wrong assumptions tend to backfire when it comes to statistics.

Decorative Strawberry Roses

A neat and tasty garnish is a strawberry rose. To make one of these it requires 2-3 strawberries depending on size and they have to be cut into 2mm thick petals. These are then shingled over each other and folded into circle. The result is a nice rose that goes perfectly on some fresh whipped vanilla whipped cream.

Good Movies with Great Female Leads

With a lot of controversies around current TV series’ (Rings of Power, She Hulk, etc) female leads I wanted to make a list of good movies/tv shows with good female leads / good writing to show that it is possible.

  • Aliens
  • Arcane
  • Legend of Korra
  • Disenchantment
  • Jessica Jones (ish)
  • Money Heist (?!?)
  • Resident Evil (ish)
  • The Queens Gambit
  • Atomic Blonde
  • Gone Girl
  • Maleficent (?!?)
  • Marie Antoinette
  • Me Before You
  • Melancholia

Got bored going through my list but this is close enough. We need more writing like Arcane. That show was good enough to get me to play toxic game of League of Legends again.

PROXMOX Provisioning

After some software installs one of my PROXMOX virtual machines is running a bit low on space. More of a note for myself this is the process of provisioning more space pulled right form the official page.

Select the VM, Click on Hardware, Select the disk, and under disk action select the incremented increase.

The following are then the commands:

dmesg | grep sda
fdisk -l /dev/sda | grep ^/dev
parted /dev/sda
resizepart X 100%
pvresize /dev/sda3
lvresize --extents +100%FREE --resizefs /dev/XXXXXX

An addendum to this for working with virtual disk arrays using sgdisk:

lsblk
sgdisk -e /dev/vda
sgdisk -d 2 /dev/vda
sgdisk -N 2 /dev/vda
partprobe /dev/vda
resize2fs /dev/vda2
lsblk