The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for 2019

Some links and notes on ESXi and virtualised NAS systems

Posted by jpluimers on 2019/05/27

For my own memory:

[WayBack] Best Hard Drives for ZFS Server (Updated 2017) | b3n.org

My blog post Best Buy Guides (BBGs) – mux’ blog – Tweakblogs – Tweakers.

ZFS, dedupe and RAM:

ZFS, FreeBSD, ZoL (ZFS on Linux) and SSDs:

OpenSuSE related

Samba/CIFS related

–jeroen

Posted in ESXi6.5, Power User, Virtualization, VMware, VMware ESXi | Leave a Comment »

When your btrfs partition is damaged.

Posted by jpluimers on 2019/05/27

A while ago, I somehow had a damaged btrfs partition that I found out after the virtualisation host without reason decided to reboot.

I’m not sure what caused that (by now the machine has been retired as it was already getting a bit old), but btrfs was panicking shortly after boot, so the VM as is was unusable.

In the end I had to:

  1. Boot from a Tumbleweed Rescue DVD (download Rescue CD – x86_64 from [WayBackopenSUSE:Tumbleweed installation – openSUSE)
  2. Add a fresh backup hard disk in read-write mote
  3. Mount the old one in read-only mode
  4. rsync -avloz over as much as I could
  5. Restore the VM from a backup
  6. Attach the backup hard disk
  7. Diff what I missed (only a few bits in the /etc tree and my home directory for which I hadn’t yet pushed the git repositories).

These didn’t work, but might work for others: [WayBackSDB:BTRFS – openSUSE – How to repair a broken/unmountable btrfs filesystem

–jeroen

Posted in *nix, btrfs, File-Systems, Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

404: Handleiding weg | KlikAanKlikUit

Posted by jpluimers on 2019/05/24

Gelukkig is er een WayBack kopie van de PDF die vroeger op 404 Pagina niet gevonden | KlikAanKlikUit stond.

–jeroen

Posted in LifeHacker, Power User | Leave a Comment »

Some wizardry: vmkfstools | virtualhobbit

Posted by jpluimers on 2019/05/24

Some wizardry: [WayBackvmkfstools | virtualhobbit.

This includes:

  • finding which VMFS partitions are there the hard way
  • initialising partitions from known good data
  • vmkfstools -V (yes, capital V is for VMFS rescan, as lowercase v is for verbose)

Found after reading [WayBackDatastore not mounted after reboot of ESXi5.5 |VMware Communities

Then found this: [Wayback] VMware Knowledge Base: Performing a rescan of the storage on an ESXi host (1003988); Using the ESXi Command Line Interface

  1. To search for new VMFS datastores, run this command:
vmkfstools -V

Note: This command does not generate any output.

That solved my problem!

# vmkfstools -V
# esxcfg-volume --list
Scanning for VMFS-3/VMFS-5 host activity (512 bytes/HB, 2048 HBs).
VMFS UUID/label: 532cd010-6e8c01d1-45be-001f29022aed/Raid6SSD
Can mount: Yes
Can resignature: Yes
Extent name: naa.600605b00aa054a0ff000021022683ae:1 range: 0 - 1830143 (MB)
# esxcfg-volume --mount 532cd010-6e8c01d1-45be-001f29022aed
Mounting volume volume 532cd010-6e8c01d1-45be-001f29022aed

And there it was:

# df -h
Filesystem   Size   Used Available Use% Mounted on
...
VMFS-5       1.7T   1.6T    169.6G  91% /vmfs/volumes/Raid6SSD
...

Note you can mount non-persistent (--mount) or persistent (--persistent-mount) by both UUID and label, so there are four choices for mounting:

esxcfg-volume --mount UUID
esxcfg-volume --mount label
esxcfg-volume --persistent-mount UUID
esxcfg-volume --persistent-mount label

–jeroen

Posted in ESXi5, ESXi5.1, ESXi5.5, ESXi6, ESXi6.5, Power User, Virtualization, VMware, VMware ESXi | Leave a Comment »

systemd – How to clear journalctl – Unix & Linux Stack Exchange

Posted by jpluimers on 2019/05/24

Some tips on pruning entries from the systemd journal:

For stock opensuse, this is also relevant, as it seems to allow indefinite growth: [WayBack] systemd – journald Settings likey need your attention

You can view disk usage with this command:

journalctl --disk-usage

–jeroen

Posted in *nix, Linux, Power User, systemd | Leave a Comment »

The red zone, is why you want immutable constructs

Posted by jpluimers on 2019/05/23

Most code I come across is in the red zone, exactly depicting why you want immutable constructs. Immutable constructs will never end-up in the red zone.

Image: [WayBackWayback Machine.

The red zone is just one quadrant on the mutability/shareability diagram and getting outside that red zone quadrant is key.

With processor cores now becoming ubiquitous: you cannot get outside of the “Shard” half, so you have to get outside of the “Mutable” half.

Explaining the why and how, is part of a few presentations that Kevlin Henney gave:

Related YouTube videos are below.

–jeroen

Read the rest of this entry »

Posted in Conference Topics, Conferences, Development, Event, Multi-Threading / Concurrency, Software Development | Leave a Comment »

Scheduled jobs and jitter…

Posted by jpluimers on 2019/05/23

Too bad G+ doesn’t allow the WayBack machine or Archive.is to archive the whole thread at [WayBack] [Archive.isDas es inzwischen fast überall Standard ist die Uhren mit einem guten Zeitsignal zu synchronisiseren (NTP, DCF-77, GPS etc) ist eigentlich eine gute Sache… – Kristian Köhntopp – Google+ so here are a few quotes below.

The generatel conclusions seem to be that:

This was the start:
Nils Ketelsen originally shared:

Guckt man live sieht es schon anders aus: Während die RunQueue meist so bei 4-5 liegt (bei 21vCPUs kein Problem) springt sie jede volle Minute einige Sekunden lang auf 20. Bei durch 2 Teilbaren Minuten auf ca. 40. Bei durch 10 Teilbaren Minuten auf 70, bei durch 15 teilbaren Minuten auf 150…. Ich habe eben durch einen schlecht getimten Toilettenbesuch die volle Stunde verpasst, das muss ich gleich mal anders hinbekommen, aber ich gehe davon aus, daß es da noch schlimmer ist.

And these some of the comments:

Read the rest of this entry »

Posted in *nix, *nix-tools, Algorithms, cron, Development, Power User, Software Development | Leave a Comment »

Useful settings for FastMM4 to tracking bottlenecks in multi-threaded memory allocation

Posted by jpluimers on 2019/05/23

Interesting thread that reminded me of the relatively new FastMM feature to track down lock contention and cope with it using release stacks:

[WayBack] I try use FastMM4 to tracking bottleneck in allocating memory. I was inspired by this Primož movie: https://www.youtube.com/watch?v=p-5mJyXvmrc When I… – Jacek Laskowski – Google+

The changes by Primož have added these two new conditional defines to the FastMM4 codebase:

These options are mutually exclusive.

This was the original post it got introduced in [WayBack] The Delphi Geek: Finding Memory Allocation Bottlenecks with FastMM4 and merged into the main repository.

FastMM introduction: [WayBack] The New Memory Manager In BDS 2006 – by Pierre le Riche.

It also taught me about [WayBack] RAMDisk – Software that Accelerates, Protects, Optimizes – Server Memory Products & Services – Dataram.

Primož stores his DCU files there: much faster than SSD, and far less wear on your SSD; see https://youtu.be/p-5mJyXvmrc?t=2675

–jeroen

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, Event, FastMM, Software Development | Leave a Comment »

sql – How to Select Every Row Where Column Value is NOT Distinct – Stack Overflow

Posted by jpluimers on 2019/05/22

Since I always forget that IN and EXISTS have very different performance characteristics: [WayBack] sql – How to Select Every Row Where Column Value is NOT Distinct – Stack Overflow

Less slow

select emailaddress,customername from customers where emailaddress in
(select emailaddress from customers group by emailaddress having count(*) > 1)

Slow

select emailaddress,customername from Customers a where exists
(select emailaddress from customers c where a.customerName != c.customerName and a.EmailAddress = c.EmailAddress)

–jeroen

Posted in Database Development, Development, Software Development, SQL | Leave a Comment »

Insentricity :: Kermit on the JAIR 8080 ::

Posted by jpluimers on 2019/05/22

Cool: [WayBackInsentricity :: Kermit on the JAIR 8080 ::

Repository: [WayBackFozzTexx/Kermit-CPM: Columbia University’s Kermit for CP/M

–jeroen

Posted in Assembly Language, Development, History, Software Development | Leave a Comment »