Skip to main content

Posts

How-to: Dump all disks on a z/OS system

I've been learning about z/OS and MVS over the last couple of weeks using the Master the Mainframe course and also the highly affordable courses from Interskill. I wanted to build something proper so I built a thing that can backup a full z/OS system to CCKD files (same as what Hercules/Hyperion uses). With the fixes for 64-bit CCKD to Hyperion now merged, and the 64-bit cckddump tooling appears to be in progress, this might come in handy for some folks. This is the CCKDALL JCL: //CCKDALL JOB 1,NOTIFY=&SYSUID //DUMPJCL SET DUMPJCL=&&SYSUID..JCL(CCKDDUMP) //DASDS EXEC PGM=SDSF //ISFOUT DD SYSOUT=* //CMDOUT DD DSN=&&SDSF,DISP=(NEW,PASS,DELETE),SPACE=(CYL,1), // RECFM=FB,LRECL=100 //ISFIN DD * SET CONSOLE BATCH SET DELAY 2 /D U,DASD,,,9999 PRINT FILE CMDOUT ULOG PRINT PRINT CLOSE //* //FMT EXEC PGM=ICETOOL //TOOLMSG DD //DFSMSG DD SYSOUT=* //IN DD DSN=&&SDSF,DISP=(OLD,DELETE,DELETE) //OUT D...

Open Datacenter Hardware - Leopard Server

Introduction The Leopard is an OpenRack v1 compliant 12V server commissioned by Facebook to offer compute power. It consists of 2x Intel Xeon E5-2678 v3 and is available with either DDR3 or DDR4 memory. The model is manufactured by two vendors primarily: Quanta and Wiwynn. Leopard features a 24x PCIe slot which can fit either a PCIe card with low profile, or a riser card with 1x 16x and 1x 8x slots. The server also supports a 3.5" SATA drive as well as either an mSATA or an M.2 drive mounted on the motherboard. Connectivity wise Leopard has a mezzanine card slot allowing for example 10Gb/s or 25Gb/s Ethernet. Figure 1: Wiwynn Leopard DDR4 from the front Source: Wiwynn OCP design package Figure 2: Wiwynn Leopard DDR4 from above Source: Wiwynn OCP design package Figure 1 and figure 2 shows the server layout. The server is made to fit inside an OpenRack v1 enclosure, at which point it looks something like figure 3. Due to power constraints an OpenRack v1 can fit ...

Open Datacenter Hardware - What is OCP?

Let's say that you are a system administrator in a decently sized company. You're responsible for selecting new servers for a pretty decently sized upgrade round in your data centers, or maybe you're building a new datacenter. It's not that long ago this happened last time for your company, but since we're living in an ever-changing world things of course are complicated. What do you do? Let's look at your options. Go with the same vendor and same models as you did previously. Safe bet, will not get you fired even if it's the least cost effective solution. Probably will not get you promoted either though, and the pains of today will be the pains of tomorrow. Look around for new vendors. Maybe you're finally looking at Supermicro instead of only doing HPE, or the other way around. Risks are higher, but all those issues with iDRAC/iLO/IPMI are surely fixed on the other vendor - right? This is the world I remember living in when I worked for a small I...

My Kubernetes Lab feat. Calico, Ceph, CoreOS, and Tunnels

Christmas is the time I get some time away from work to tinker on those projects I've put off for so long. One of them has been to build something cool with the hardware I have acquired over the years. Let's have a look on what the current state of my laboratory looks like!

Hardest bug I ever solved

A lot of people probably have that hard bug they spent a lot of hours trying to solve. Almost 1.5 years after solving my hardest bug I got nostalgic and thought "Hey, this was pretty cool! I should write about it to not forget it". Since it's so long ago there might be things I misremember, but the gist of it should still apply. Let's jump to it! Presenting: "The curious case of the crashing compiler".

Protocol agnostic socket programming

This is more of a mental note for myself. Now and then I need boilerplate code for socket setup which always ends with me having to hunt down all the gems that are hiding. This isn't your normal boilerplate code, this will assume very little regarding protocol and address family. Instead the only real argument is the service which to bind to. Feel free to use/steal it freely - if I can prevent more hard coded AF_INET applications the world will be a prettier place.