All Stories

Goodbye XenSever - Hello XCP-ng

Goodbye XenSever - Hello XCP-ng

In 2018 I set out to replace our XenSever 7.2 based virtualisation after Citrix essentially screwed over free / open source users. This project was to directly replace XenServer 7.2...

Run youtube-dl (or similar) in the background

Run youtube-dl (or similar) in the background

I wanted an alias or function to use youtube-dl in the background. Looking around the web lots of people seemed to want this and most of them were banging their...

Disabling scroll-wheel zoom in Firefox

Disabling scroll-wheel zoom in Firefox

This feature annoys me endlessly, I end up zoomed in and out of websites all over the internet. … But the fix is easy and there’s no addons required. Navigate...

Highlands Festival of Speed 2018

Highlands Festival of Speed 2018

Last weekend I headed to New Zealand and marshalled at the Highlands Festival of Speed. The Highlands Festival of Speed is a weekend packed with some of the best modern...

Flash Storage and SSD Failure Rate Update (March 2018)

Flash Storage and SSD Failure Rate Update (March 2018)

It was almost 3 years ago that my open source storage project went into production. In that time it’s been running 24/7 serving as highly available solid state storage for...

Theory of constraints

Theory of constraints

“A chain is no stronger than its weakest link” Any improvement made anywhere besides the bottleneck is an illusion. Any improvement made after the bottleneck is useless because it will...

Top album picks for 2017

Top album picks for 2017

Here are my top album pics for 2017 (in no particular order) Note: This is by no means an exhaustive list, it’s just the top albums that really stood out...

HP 4951C Protocol Analyser

HP 4951C Protocol Analyser

My good friend Joel Shea received a most unlikely gift this Christmas - A vintage HP 4951 Protocol Analyser. According to the HP Computer Museum: Original Price: $3595 The 4951B...

Disable Firefox's zoom on mouse scroll

Disable Firefox's zoom on mouse scroll

This annoys me endlessly as I seem to often have my hand on control / cmd from working in the terminal. Turns out it’s an easy fix in Firefox’s about:config:...

Talk - Clustered, Distributed File and Volume Storage with GlusterFS

Talk - Clustered, Distributed File and Volume Storage with GlusterFS

Using GlusterFS to provide volume storage to Kubernetes as a replacement for our existing file and static content hosting. This talk was given at Infracoders on Tuesday 14th Novemember 2017....

Applying syntax in Sublime based on the first file line

Applying syntax in Sublime based on the first file line

In vim, you can add a comment at the top of files to set the syntax, e.g.: # vim: syntax=ruby In SublimeText there are many ways to detect syntax, one...

Broadcom, Or How I Learned To Start Worrying And Drop The Packet

Broadcom, Or How I Learned To Start Worrying And Drop The Packet

Earlier this week we started the process to upgrade one of our hypervisor compute clusters when we encountered a rather painful bug with HP’s Broadcom NIC chipsets. We were part...

GlusterFS

GlusterFS

We’re in the process of shifting from using our custom ‘glue’ for orchestrating Docker deployments to Kubernetes, When we first deployed Docker to replace LXC and our legacy Puppet-heavy application...

Return Of The RSS

Return Of The RSS

Of all the tools for reading news and subscribing to software releases, I still find RSS the most useful. I use Feedly to manage my rss subscriptions and keep all...

The Aeroplane Flies High, Turns Left, Looks Right and Might Reach Its Destination

The Aeroplane Flies High, Turns Left, Looks Right and Might Reach Its Destination

A hypothetical scenario in the form of a metaphor The Airline There is a Airline with good morals and prides itself on it’s ability to provide services to it’s customers....

Castle Hill Winter Trip 2016 Photos

Castle Hill Winter Trip 2016 Photos

note: open images in a new tab to display in full resolution

The State of Android in 2016 & The OnePlus 3 Phone

The State of Android in 2016 & The OnePlus 3 Phone

I wanted to try Android for a couple of weeks, I like staying on top of technology, gadgets and making sure I never become a blind ‘zealot’ for any platform...

Update Delayed Serial STONITH Design

Update Delayed Serial STONITH Design

note: This is a follow up post from 2015-07-21-rcd-stonith A Linux Cluster Base STONITH provider for use with modern Pacemaker clusters. This has since been accepted and merged into Fedora’s...

Monitoring SystemD Units With Nagios

Monitoring SystemD Units With Nagios

Ever forgotten to add a critical service to monitoring? Want to know if a service or process fails without explicitly monitoring every service on a host? …Then why not use...

Online Conversion from SQL_ASCII to UTF8 in PostgreSQL

Online Conversion from SQL_ASCII to UTF8 in PostgreSQL

Credits: George Hansper, Ricardo Vassellini, Evgeny Shebanin, Sam McLeod Scripts and source available here: sql_ascii_to_utf8 The Goal To be able to take a Postgres Database which is in SQL_ASCII encoding,...

Speeding Up rsync

Speeding Up rsync

The most common way to use rsync is probably as such: rsync -avr [email protected]<source>:<source_dir> <dest_dir> Resulting in 30-35MB/s depending on file sizes This can be improved by using a more...

Benchmarking IO with FIO

Benchmarking IO with FIO

This is a quick tldr there are many other situations and options you could consider. FIO man page IOP/s = Input or Output operations per second Throughput = How many...

Mirroring a Gitlab project to Github

Mirroring a Gitlab project to Github

Let’s pretend you have a project on Gitlab called ask-izzy and you want to mirror it up to Gitlab which is located at https://github.com/ask-izzy/ask-izzy Assuming you’re running Gitlab as the...

AskIzzy

AskIzzy

Today we launched a mobile website for homeless people … and it was launched by Australia’s Prime Minister Today we served up over 87,000 requests to the site and it’s...

Fix XenServer SR with corrupt or invalid metadata

Fix XenServer SR with corrupt or invalid metadata

If a disk / VDI is orphaned or only partially deleted you’ll notice that under the SR it’s not assigned to any VM. This can cause issues that look like...

iSCSI SCSI-ID / Serial Persistence

iSCSI SCSI-ID / Serial Persistence

“Having a SCSI ID is a f*cking idiotic thing to do.” - Linus Torvalds …and after the amount of time I’ve wasted getting XenServer to play nicely with LIO iSCSI...

Join us on our mission of 'Technology for Social Justice'

Join us on our mission of 'Technology for Social Justice'

Seeking a Linux Systems Engineer to join our Ops team in a fast moving DevOps environment. Infoxchange is a not-for-profit organisation that delivers technology for social justice, we work to...

SAN Intro (Talk)

SAN Intro (Talk)

Replacing Junos Pulse with OpenConnect

Replacing Junos Pulse with OpenConnect

In an attempt to avoid using the Juniper Pulse (Now Pulse Secure) VPN client we tried OpenConnect but found that DNS did not work correctly when connected to the VPN....

SSD Storage - Two Months In Production

SSD Storage - Two Months In Production

Over the last two months I’ve been runing selected IO intensive servers off the the SSD storage cluster, these hosts include (among others) our: Primary Puppetmaster Gitlab server Redmine app...

OS X Software Update Channels For Betas

OS X Software Update Channels For Betas

Set update channel to receive developer beta update sudo softwareupdate --set-catalog https://swscan.apple.com/content/catalogs/others/index-10.11seed-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz Set update channel to receive public beta update sudo softwareupdate --set-catalog https://swscan.apple.com/content/catalogs/others/index-10.11beta-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz List available updates sudo softwareupdate –list...

iSCSI Benchmarking

iSCSI Benchmarking

67,300 read IOP/s on a VM on iSCSI (Disk -> LVM -> MDADM -> DRBD -> iSCSI target -> Network -> XenServer iSCSI Client -> VM) Per VM and scales...

Delayed Serial STONITH

Delayed Serial STONITH

A modified version of John Sutton’s rcd_serial cable coupled with our Supermicro reset switch hijacker: This works with the rcd_serial fence agent plugin. Reasons rcd_serial makes for a very good...

Excuse me sir...

Excuse me sir...

CentOS 7 and HA

CentOS 7 and HA

First some background… One of the many lessons I’ve learnt from my Linux HA / Storage clustering project is that the Debian HA ecosystem is essentially broken, We reached the...

SSD Storage Cluster - Update and Diagram

SSD Storage Cluster - Update and Diagram

Due to several recent events beyond my control I’m a bit behind on the project - hence the lack of updates which I appologise for. The goods news is that...

Xen Orchestra Docker Image

Xen Orchestra Docker Image

Docker config to setup XO which is a web interface to visualize and administrate your XenServer (or XAPI enabled) hosts Github: sammcj/docker-xen-orchestra Running the app Updates are pushed to the...

Video - Storage Cluster Failover Demo

Video - Storage Cluster Failover Demo

Just whipped up a brief demonstration of the failover and recovery process on the storage clusters I’ve built:

Talk - High Performance Software Defined Storage

Talk - High Performance Software Defined Storage

A high level talk from Infracoders Melbourne on 12/04/2015.

Continuous integration for the Linux Kernel - Built within Docker

Continuous integration for the Linux Kernel - Built within Docker

Linux Kernel CI for Debian Github: sammcj/kernel-ci Those of us using technologies such as Docker and BTRFS or simply trying to gain a performance edge on the competition have a...

Delete Government-Linked Certificate Authorities in OSX

Delete Government-Linked Certificate Authorities in OSX

Inspired by http://zitseng.com/archives/7489 Source (Github) WARNINGS Do not run unless you understand what this is doing The CA system is broken by design - This is not a fix for...

Building a high performance SSD SAN - Part 1

Building a high performance SSD SAN - Part 1

Over the coming month I will be architecting, building and testing a modular, high performance SSD-only storage solution. I’ll be documenting my progress / findings along the way and open...

XenServer, SSDs & VM Storage Performance

XenServer, SSDs & VM Storage Performance

Intro At Infoxchange we use XenServer as our Virtualisation of choice. There are many reasons for this including: Open Source. Offers greater performance than VMware. Affordability (it’s free unless you...

The Best Of - 2014 Edition

The Best Of - 2014 Edition

At the end of every year I note down a summary of the best applications, hardware & websites I’ve enjoyed & depended on throughout the year (and often for some...

Search – A Journey of Delivery on a Budget

Search – A Journey of Delivery on a Budget

Presented a Melbourne Search – July 2014 – ‘Search – A Journey of Delivery on a Budget’. Video here

Talk - 24 Months

Talk - 24 Months

The way we work at Infoxchange has changed greatly. A retrospective journey into transforming Infoxchange’s technology and culture over the past 24 months - presented a Melbourne DevOps – December...

Direct-Attach SSD Storage – Performance & Comparisons

Direct-Attach SSD Storage – Performance & Comparisons

Further to my earlier post on XenServer storage performance with regards to directly attaching storage from the host, I have been analysing the performance of various SSD storage options. I...