TCP BBR looks promising and somehow managed to escape my radar so far.. need to take a look at how to improve my IT infrastructure with it:
Increase your Linux server Internet speed with TCP BBR congestion control
Make a diff!
TCP BBR looks promising and somehow managed to escape my radar so far.. need to take a look at how to improve my IT infrastructure with it:
Increase your Linux server Internet speed with TCP BBR congestion control
Starting with version 11.2-RELEASE-U1, FreeNAS uses the FreeBSD BTX 1.0 boot loader instead of Grub (reason: The FreeBSD boot loader finally started supporting ZFS – years after Grub supported it, BTW).
Unlike Grub, the FreeBSD boot loader seems to have rather “suboptimal” support for storage devices (like USB sticks, USB drives) that are accessed using the legacy USB 3.0 mode at boot time. So, when I upgraded FreeNAS from 11.1-U7 to 11.2-RELEASE-U2 on my home-built ASRock FreeNAS E3C226D2I NAS appliance, booting FreeNAS from an internal 16 GB USB 3 stick took all of a sudden almost 30 minutes(!) instead of the usual 1-2 minutes.
As I found out by “trial & error” (or educated guessing, as some would say), the only reason for this huge slowdown was that “Legacy USB 3.0 Support” was enabled in the AMI BIOS (the effect is reproducible). So, just disable “Legacy USB 3.0 Support”[1] in the BIOS and FreeNAS >= 11.2 will boot quickly again.
[1] Note: There’s no need to disable “Legacy USB Support”, so you’ll still be able to use your USB 2 keyboard or mouse at boot time.
A nice summary by Werner Fischer (Thomas-Krenn) about how to enable and use Serial over LAN, particularly for Linux boxes:
(In German, but you can easily translate it using your favourite online translation tool, e.g. deepl.com or Google Translate)
It might be worth taking a closer look at Clip OS, a relatively new, security focused Linux distribution by the ANSSI, based on Hardened Gentoo and with some similarities to Qubes OS.
Recently I ran out of space on a Boot Camp partition with Windows 10 Pro. So I looked around for ways to make more space for Windows by shrinking the macOS partition and enlarging the Windows partition. Apple doesn’t officially support this in Boot Camp without reinstalling Windows, and doing these operations by hand, e.g. with the help of GNU Parted, is time consuming and tedious.
Luckily, I stumbled over Paragon CampTune, a commercial macOS utility (ready for 10.14 Mojave) that automates these tedious tasks and allows to resize the macOS and Boot Camp partitions on the fly, without having to reinstall Windows or macOS.
It finally worked wonderfully, the only irritating thing was that the tool showed a bland error at the first start of the repartitioning process: “Object not found”. After restarting the process with slightly different partition sizes, it could be successfully completed.
I can thus recommend this handy utility as it can save hours of work for a few bucks (ca. 22 USD).
Apple’s hardware and software ecosystem generally provides a fantastic UX by tight integration, relatively good usability (compared to most competitors) and good services and support.
Sometimes, users may be bitten by terrible hw and sw bugs nonetheless. The worst Apple software bug I’ve personally experienced so far is that I recently noticed that all my many voice memos on my iPhone were gone! The exact reason why and how this happened hasn’t been fully investigated yet, but the observed issue is evidently linked to the recent iOS 12 update release (and potentially also to later iOS 12.x releases, as neither the problem nor any fix have been mentioned in any of the iOS 12.x update changelogs to date). The data loss seems to have to do with the introduction of the revamped voice memo app (that is now also available on the iPad), perhaps due to a bug in the iCloud synchronisation.
So, lots of invaluable voice memos I recorded for beloved ones, recordings of important conversations and thoughts, all gone! Nothing to be delighted about, to say the least!
I thus contacted Apple support and they were very kind and keen to determine the problem and find a mitigation or solution (I was on the phone with them for roughly 45 minutes, involving 2nd level support too). They didn’t find any such issue mentioned in their support database though and apparently, none of the supporters I talked to ever heard of anything like that before, despite it being mentioned all over twitter). For understandable legal reasons, as they never recommend “random” 3rd party tools as a matter of principle, they couldn’t recommend the solution detailed in this blog post, but suggested a more general solution, involving only Apple tools and services (see at the very bottom of this post; if you don’t mind the risk and backing up your iPhone to iCloud, you could try this alternatively).
After a quick assessment, I decided to go with another solution as all in all, it seemed more transparent and promising, less time consuming and with an acceptable risk for me.
Idea and big picture: Extract the lost voice memos from an old iPhone backup in iTunes, ideally the latest backup before the release/installation of iOS 12, i.e. before Sept 17, 2018.
Disclaimer 1: Although the following tips worked fine for me, I can’t guarantee they’ll work for you too – you follow these steps at your own risk. If in doubt, I recommend backing up all your data redundantly on various media before.
Disclaimer 2: Let me tell you this first: If you don’t have any backups of your iPhone, don’t use iTunes for iPhone backups and don’t have Time Machine backups of those backups in iTunes, you’re likely out of luck. At least I didn’t find any method to restore the disappeared voice memos on the iPhone itself – once iOS 12.x is installed, those memos apparently weren’t anywhere on the device itself anymore. Considering iOS 12’s and iPhone’s more and more restrictive data protection measures, it would likely also be difficult for professional data recovery services to recover any lost voice memos from the device (they would need to be technically on par with secret services and forensic experts -> seldom and accordingly expensive).
So here are the detailed steps to follow:
Interesting observations:
Finally, here’s what Apple support suggested doing, instead of the above method:
According to the Apple support, this should intelligently merge old and new data, so that you end up with iOS 12 and all the new and old data on it, without losing any, including the old, previously vanished voice memos.
If you don’t mind the potential risk of a failed data merge and don’t object backing up your iPhone to iCloud, you could alternatively try this.
Either way, I hope these tips are helpful. Good luck!
GitLab 10.5 introduced built-in support for Let’s Encrypt.
Unfortunately, if you follow the official GitLab instructions how to enable Let’s Encrypt support, you may encounter the following error when rebuilding GitLab:
Running handlers:
There was an error running gitlab-ctl reconfigure:letsencrypt_certificate[yourhost.yourdomain.com] (letsencrypt::http_authorization line 3) had an error: RuntimeError: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 20) had an error: RuntimeError: [yourhost.yourdomain.com] Validation failed for domain yourhost.yourdomain.com
Running handlers complete
Chef Client failed. 11 resources updated in 11 secondsWarnings:
Let’s Encrypt is enabled, but external_url is using http
The last line is rather misleading, as the domain validation can apparently also fail if one sets external_url = “https://yourhost.yourdomain.com”
As a workaround, add the following two additional lines to /etc/gitlab/gitlab.rb (hat tip to Kai Mindermann and Thomas Jost for the hints):
nginx['redirect_http_to_https_port'] = 80 nginx['redirect_http_to_https'] = true
So, all in all, you need to set in /etc/gitlab/gitlab.rb:
external_url 'https://yourhost.yourdomain.com'
and add the following lines (adjust the notification e-mail address):
letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['gitlab-notifications@yourdomain.com'] # optional nginx['redirect_http_to_https_port'] = 80 nginx['redirect_http_to_https'] = true
Make sure that your firewall doesn’t block access to ports 22 (SSH), 80 (HTTP), 443 (HTTPS).
After that, reconfigure GitLab (in a shell):
# gitlab-ctl reconfigure
That’s it! You can now register/login at https://yourhost.yourdomain.com.
This blog has just been migrated to a newer and (much) faster host node running Proxmox 5 with ZFS.
Therefore, I was looking for the best method to migrate a WordPress blog to another server (and/or database and/or directory and/or URL).
Do you remember the times when migrating a WordPress blog was rather tedious, involving many manual steps, despite (other) handy tools like WP-CLI? Apparently, this is no longer needed, as all you need is the following plugin:
This plugin’s export and import functionality takes care of all the required configuration and path adjustments, allowing you to easily migrate a blog with up to 512 MB data. The steps are thus:
It’s hard to believe, but that’s really it!
If you see the following error when trying to backup a KVM VM image on Proxmox:
ERROR: Backup of VM 100 failed – disk ‘scsi0’ ‘zfsvols:vm-100-disk-1’ (iothread=on) can’t use backup feature currently. Please set backup=no for this drive at /usr/share/perl5/PVE/VZDump/QemuServer.pm line 77. INFO: Backup job finished with errors TASK ERROR: job errors
edit /etc/pve/qemu-server/100.conf, look for a line similar to
scsi0: zfsvols:vm-100-disk-1,iothread=1,size=70G
and change it to
scsi0: zfsvols:vm-100-disk-1,iothread=0,size=70G
Afterwards, it’s possible to backup the VM.
A useful post how to fsck (check and fix) a filesystem in a qcow2 image (as typically used for KVM VMs, e.g. in Proxmox):
How to recover a qcow2 file using fsck
On Proxmox or Debian, one does the following:
Attention:
# modprobe nbd max_part=8 # qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2 # fdisk -l /dev/ndb0 /dev/nbd0p1 2048 7813119 3905536 82 Linux swap / Solaris /dev/nbd0p2 * 7813120 119537663 55862272 83 Linux # fsck.ext4 /dev/nbd0p2 # fsck.ext4 -p /dev/nbd0p2 # qemu-nbd --disconnect /dev/nbd0
Like this, one doesn’t need to boot the VM using a boot ISO/CDROM and can fix the filesystem right from the host node.