I gave a talk on Gluster this evening at our local UNIX users group. I had a good time talking, and enjoyed interacting with everyone that came out. The introduction to Gluster presentation slides are available in the presentation section of my website, and I’ll make sure to get them linked to the users group website. I would like to thank everyone for coming out. I’m truly blessed to have so many awesome friends, and to be able to share information with other admins in the area. Now go forth and Gluster!!
I was having lunch with a friend last week and we caught up on tons of stuff. Both of us are doing a lot of work with VMWare, storage, Linux and interestingly enough we are both trying to learn about Windows Server 2008. As we were chatting my buddy asked me what I thought the best ten technology books of all time were. I immediately said the entire Richard Stevens collection, but then started to think which other books have had the biggest impact on my career. After a few days of thought I think I came up with my top ten:
This was a hard list to come up with, but each of these books has had a profound impact on my love of UNIX and technology in general. Given the recent passing of the creator of UNIX Dennis Ritchie, I thought it only fitting that K&R would be placed on the top of my list. Pointers drove me nuts until I finally understood them, but the beauty and elegance of C still amazes me to this day. Which books have touched you the most?
New Operating Systems don’t pop into existence every day, but there are a slew of them out there. This includes various versions of Windows, BSD OSs, a number of Linux distributions, Solaris, AIX, Plan 9 as well as several others. As a technology geek I’m always looking to learning something new, and I recently got the opportunity to expand my Operating System knowledge. I’m now spending a good bit of my time learning everything there is to know about IBM’s AIX.
When I’ve had to learn a new OS in the past I’ve typically started off by finding a decent book (see my previous post for tips on finding cheap used books) on the OS and a machine that is capable of running the Operating System. The book allows me to pick up the basics in a short period of time, and the server allows me to run through various scenarios to see how you would install, configure, secure, troubleshoot and fix issues with the Operating System.
In addition to reading and “tinkering” around, I also like to make a list of things I need to get hands on experience with. This typically breaks down into something like this:
– How do you correctly install the operating system?
– How do I add new storage or expand existing storage?
– How do I apply and remove patches to the system?
– What steps do I need to go through to secure the system?
– What tools are available to monitor performance?
– How does the OS provide highly available services?
– What tools are available to view hardware and software problems?
– How does the logical volume manager work?
– How do I recover from a disk failure?
– How do I recover from a corrupted root file system?
– How do I recover the system from single user mode?
– How do I repair a broken package?
– How do I backup and restore a system (I focus on bare metal restores)?
– What bonding modes are supported and how do I configure them?
– Which virtualization technologies are available?
– How do I keep up to date with security and reliability updates?
And the list goes on, and on … When my list is relatively complete I always find a way to simulate each scenario with my test machine. Breaking machines, fixing them and then documenting what you did is one of the best ways to nail down the basics. Real world experience is obviously better, but I like to have a firm grasp of the basics before I start making changes to systems that could have potentially negative effects (broken patches that hose systems, updates that cause unintended issues, etc.).
In addition to getting some hands on skills the documents I produce while I’m learning are quite handy to have on standby in case you need to perform these tasks down the road. I have learned first hand the importance of familiarizing oneself with the basics of recovering a system from various disaster scenarios, because at 2am when your companies site is down you don’t have time to read through manuals or deal with 8 lines of support engineers. You need to get things back up, and if you learn how to deal with disaster situations ahead of time you will be calm, cool and collected at 2am (this assumes the disaster is something you are able to recover from though).
Once I have the basics mastered the next thing I focus on is getting certified. While I don’t place a ton of credibility in IT certifications, I definitely feel they are a great way to expand your knowledge and learn things you might not have otherwise known. If I’m fortunate enough to have the luxury of vendor OS support, I love to open a few support cases to learn how the support organization for the OS works. I’ve yet to find two companies who operate the same way, and it’s nice to learn the system before you truly need it.
I just started reading my AIX book this past weekend, and plan to start playing around with a couple of IBM p550s I have access to. I’m also going to take my AIX certification test in a couple of weeks, so I’ll definitely be crazy busy for the next month learning as much as I can. Luckily for me I love learning new things and experimenting with technology. If you’ve had to learn a new OS in the past few years feel free to chime in. I would love to get others thoughts / feedback on how they learn new stuff!!
I gave a talk tonight at the local UNIX uers group on integrating Linux servers with LDAP. The slide desk is now available, and I want to thank everyone for coming out! The talk was a bunch of fun, and I appreciate all of the questions I received. Hopefully I can come back out later this year to talk about FreeIPA.
I took the RHCE exam this past week, and was fortunate to pass both the RHCT and RHCE sections with a score of 100%. While I can’t discuss what was on the test, I figured I would share the process I used to prepare for the test. When I decided to take the exam, I picked up a copy of the Red Hat Certified Engineer Linux Study Guide and read it from cover-to-cover. Michael Jang did a great job with the book, and it shed some light on things I never use (e.g., Linux printing).
Once I finished reading Michael’s book I printed the RHCE objectives. For each objective I did the following:
1. Researched which packages are needed to support each objective.
2. Installed the software from a local yum repository I created.
3. Read through the configuration files for each service and looked up each directive to see what it did.
4. Configured the service and integrated it with my home network.
5. Broke the service various ways and tried to figure out what I needed to do to fix it.
6. Figured out how SELinux integrated with each service. Also did a lot of SELinux debugging!
I used two virtual machines to study with, one acting as a server and the other a client. The items listed above took quite a bit of time to master, but I can definitely say I’m a better admin because of it. I learned a bunch of new things about RHEL/CentOS, and can definitely troubleshoot things faster now. Best of luck if you decide to take the exam!