Writeable TFTP Server On CentOS
Well this caught me out for an embarassingly long time. There are loads of examples of setting up a TFTP server on the web. The vast majority of them assume that you are using them read-only for PXE booting.
I needed to make it writeable so that it could be used for storing switch/router backups. It is trivially simple once you have read the man page (pro tip: RTFM).
I am doing this on RHEL6, it should be fine on Centos, Scientific Linux or Fedora as is. Any other distro it will require some modification. First install it (install the client as well to test at the end:
What a boss owes their staff
I recently had a conversation on Twitter with my friend Rob Borley who runs a mobile startup. He had asked what interesting perks he should be giving his staff.
My initial response was the standard IT answer. Training, certifications and a lab to play in, which they already have. I like to find the root cause of things, usually that means looking for the underlying reason something is broken. In this case I wanted to put a more positive spin on it. When you have a great work environment what is it that is at the root? The answer is simple: trust.
Thoughts on the shiney new VMAX
I’ve spent a significant amount of time recently swatting up on EMC’s new VMAX Cloud Edition. It has to be said that this looks like one of the most interesting storage announcements I have seen in a long time. In fact I have a project coming up that I think it may well be a perfect fit for.
First a massive thanks to EMC’s Matthew Yeager (@mpyeager) who answered a couple of questions I had. He really went the extra mile to clarify a couple of things and the video he made is well worth a watch. Also Martin Glassborow (@storagebod) has interesting things to say as well.
The Linux to Storage
Martin “Storagebod” Glassborow recently wrote an interesting article where he asked “Who’ll do a Linux to Storage?”. As someone who is equal parts Storage and Linux, the same question runs around my head quite often. Not just that, but how to do it. It is safe to say that all the constituent parts are already in the Open Source Ecosystem. It just needs someone to pull them all together wrap them up in an integrated interface (be that a GUI, CLI, an API or all).
Something from the shadows
An intriguing startup came out of stealth mode a few days ago. Pernix Data was founded by Pookan Kumar and Satyam Vaghani, both of who were pretty near top of the pile in VMware's storage team.
What they are offering is, to me at least, a blinding flash of the obvious. It is a softweare layer that runs on a VMware hypervisor that uses local flash as a cache for whatevery is coming off your main storage array. {% img right https://pernixdata.com/images/home\_graphic3.png 300 217 %}. That could be an SSD (or multiple) or a PCI-e card.
How much should you spend on IT
A recent discussion/argument I had on Reddit got me thinking about the cost of solutions we put in.
In an ideal world everything would have full redundancy, and the customer would never have any downtime. Everything would always be up-to-date and keeping it so would require restarting. The reality is very different unfortunately.
This potentially rambling post was inspired by someone accusing me of having “a horrible idea” because I suggested someone put pfsense on an Atom PC as a VPN router for a small office. He then proceeded to expain to me how you should always buy an expensive black box from a vendor (he didn’t say black box if I am honest, I am interpreting), how you have to always have support on absolutely everything. I called ‘bullshit’ and the whole thing went round in circles a bit until we both realised that were actually singing from the same song sheet, but from different ends of the room.
In praise of old school UNIX
What am I doing today? Documentation that is what. I am writing a document on how to do this. To any Linux user it is a very simple process and I could just give them a link to my own website.
I am not writing this for a technical audience though. The people who are going to perform this work will be the ‘Level 1 operatives’. This translates roughly to “anyone we can find on the street corners of some Far East city”. If I tell them to press the red button labelled “press me” and it turns out to be orange, they will stop. I cannot assume the ability to edit a file in Vi. How can you work around this, well you need to make everything a copy and paste operation. This is easily done in Bash thanks to IO redirection and of course Sed.
SFTP Chroot on CentOS
This came up today where I needed to give secure file transfer to customers. To complicate things I had to use an out-of-the-box RHEL6 system. The obvious answer was to use SSH and limit those users to SFTP only. Locking them into a chroot was not a requirement, but it seemed like a good idea to me. I found plenty of docs that got 80% of the way, or took a shortcut, but this should be complete.
My new job
I have now got new challenges and am designing much bigger systems. Whereas before I would have take one of these: {% img center /images/p2000-g3-sff.png 250 400 %} Plugged it into a pair of these: {% img center /images/silkworm.jpg 250 450 %} And finally plugged in a pair of these: {% img center /images/dl380g7.jpg 200 400 %}
Now I do not actually do the plugging in - that is not part of the documented process. Also, the system I am designing is on the other side of the world. However I now take one of these, a couple of these and add a couple of racks of these. Finally it all plugs into a couple of these.
A Learning Experience
How many times have you installed/updated a bit of software and read the line “Please take a back up” or something to that effect? 99 times out of a hundred, you will just continue and ignore it.
Today I had a reminder of why it is import to do so. I did a routine plug-in upgrade on our Jira installation (Customware Salesforce connector for those who want to know). I have done this several times, I had tested it in our Dev installation I was 100% confident it would work as expected. However, I actually decided to take a backup anyway.