Friday, 4 July 2014


Technology Career Path Musings
Well, I thought I’d have a quiet year and take a break from exams. Got my VCAP5-DCA and VCAP5-DCD last year but with major moves on OpenStack I thought I’d find out more about what it all means. In doing so I figured some Linux skills would come in handy. I’ve dabbled a bit to get under the covers in ESXi and some virtual appliances but never taken any formal training. It appeared very complex but with Microsoft pushing Azure / Cloud and starting to pull away from technologists who’ve supported them for over a decade (e.g. Technet cancellation, Master Program cancellation) and generally getting all rowdy (What's up with their VDI licensing and get SA for passive DR copies of Servers/SQL?), I thought Linux would be a good complementary skill to have. If Openstack takes off, KVM might become even more important and RedHat I felt was a good distribution to certify on to open other doors. Microsoft are a great company and they’ve a very loyal following but with everything being sucked into the cloud my 3 x MCSE’s don’t feel like a good investment of my time anymore to renew.

So, RedHat just released Red Hat Enterprise Linux 7 just in the middle of my studies (!) and the exam has been upgraded also. It’s a 2.5 Hour exam, hands on and I’m book to sit it in a few weeks. The RHEL 7 exam objectives are mostly the same with a few additions so I thought as I’ve to redo my notes anyway for this version I’d try and blog some or all of the commands I felt I needed to know to meet each sections requirements. So for the next while it’s RHEL7 all the way and my attempts to find the easiest and quickest way to meet exam objectives and pass my first Linux exam.

The exam blueprint is available here:


There are a number of objective headings as follows:

·         Understand and use essential tools

·         Operate running systems

·         Configure local storage

·         Create and configure file systems

·         Deploy, configure, and maintain systems

·         Manage users and groups

·         Manage security

I’ve listed the full objectives below and highlighted those that have been added for the RHEL7 Exam over the RHEL6 exam:

Understand and use essential tools
 
  • Access a shell prompt and issue commands with correct syntax.
  • Use input-output redirection (>,>> , |, 2>, etc.).
  • Use grep and regular expressions to analyze text.
  • Access remote systems using ssh and VNC.
  • Log in and switch users in multiuser targets.
  • Archive, compress, unpack, and uncompress files using tar, star, gzip, and bzip2.
  • Create and edit text files.
  • Create, delete, copy, and move files and directories.
  • Create hard and soft links.
  • List, set, and change standard ugo/rwx permissions.
  • Locate, read, and use system documentation including man, info, and files in /usr/share/doc.
 
Operate running systems
  • Boot, reboot, and shut down a system normally.
  • Boot systems into different targets manually.
  • Interrupt the boot process in order to gain access to a system.
  • Identify CPU/memory intensive processes, adjust process priority with renice, and kill processes.
  • Locate and interpret system log files and journals.
  • Access a virtual machine's console.
  • Start and stop virtual machines.
  • Start, stop, and check the status of network services.
  • Securely transfer files between systems.
 
Configure local storage
  • List, create, delete partitions on MBR and GPT disks.
  • Create and remove physical volumes, assign physical volumes to volume groups, and create and delete logical Volumes.
  • Create and configure LUKS-encrypted partitions and logical volumes to prompt for password and mount a decrypted file system at boot.
  • Configure systems to mount file systems at boot by Universally Unique ID (UUID) or label.
  • Add new partitions and logical volumes, and swap to a system non-destructively.
 
Create and configure file systems
 
  • Create, mount, unmount, and use vfat, ext4 and xfs file systems.
  • Mount, unmount, and use LUKS-encrypted file systems.
  • Mount and unmount CIFS and NFS network file systems.
  • Configure systems to mount LUKS-encrypted, and network file systems automatically.
  • Extend existing unencrypted logical volumes.
  • Create and configure set-GID directories for collaboration.
  • Create and manage Access Control Lists (ACLs).
  • Diagnose and correct file permission problems.
  
Deploy, configure, and maintain systems
 
  • Configure networking and hostname resolution statically or dynamically.
  • Schedule tasks using at and cron.
  • Start and stop services and configure services to start automatically at boot.
  • Configure systems to boot into a specific target automatically.
  • Install Red Hat Enterprise Linux automatically using Kickstart.
  • Configure a physical machine to host virtual guests.
  • Install Red Hat Enterprise Linux systems as virtual guests.
  • Configure systems to launch virtual machines at boot.
  • Configure network services to start automatically at boot.
  • Configure a system to use time services.
  • Install and update software packages from Red Hat Network, a remote repository, or from the local file system.
  • Update the kernel package appropriately to ensure a bootable system.
  • Modify the system bootloader.
     
 Manage users and groups
 
  • Create, delete, and modify local user accounts.
  • Change passwords and adjust password aging for local user accounts.
  • Create, delete, and modify local groups and group memberships.
  • Configure a system to use an existing LDAP directory service for user and group information.
  • Configure a system to use an existing authentication service for user and group information.
  
Manage security
 
  • Configure firewall settings using system-config-firewall or iptables.
  • Configure key-based authentication for SSH.
  • Set enforcing and permissive modes for SELinux.
  • List and identify SELinux file and process context.
  • Restore default file contexts.
  • Use boolean settings to modify system SELinux settings.
  • Diagnose and address routine SELinux policy violations

 So what follows are responses to each section and an attempt to create a self study guide. MY advice, do the course! I'm not going to but if I fail I might beg my manager to be sent on one! Sometimes being shown something is worth a thousand blog posts! If you're thinking of heading down this path I wish you the best of luck. If you're just a Microsoft Admin currently how many job posting ask for Linux skills, it could help you out one day. Of course, not using those skills will mean they degrade but I've already found them useful. The Quorum Witness used with 3PAR Peer Persistence is a RedHat Appliance. Going to ESXi command line I feel more comfortable and confident putting in different expressions and searching for what I want rather than opening whole files up. I'm still a novice sitting beside anyone who has a lot more exposure but at least I can now recognise the commands even if I would need to look up how to use them. Scott Lowe has started down the OpenStack path in a big way for the last 18 months and recently blogged how he now looks around him and realises he gets scripting and terms that others are looking blankly at, and how his knowledge has expanded but he only just realised how much progress he's made.

IT is changing, where do you want to be in 5 years? A colleague feels overwhelmed at the changes they are encountering, where do you even start studying and it always a catch up. Graduates coming in behind you are paid less and have a better chance of getting in with skills you can only dream of but after nearly 20 years in IT I've got the experience they don't. Technology changes but the underlying hardware really doesn't. It still needs someone to rack and stack and configure. It's really the higher level of automation that's changing focus and with the recent scares around Microsoft Lync/Office 365 downtime, Codespaces being taken down and hacked to death (company no longer exists), NSA spying, I would imagine a lot of IT execs will be nervous about public cloud for some time. I think Private/Hybrid will be worth learning about so grab a distribution and learn one, the concepts are key and you can always cross train in another a bit more easily if required. Take an Openstack primer. Mirantis even do training. I'm not a coder so I feel OpenStack has a way to go before I think customers or even me can use it effectively. The latest HP Openstack Cloud System 8 is a good beginning. The next 18 months things are only going to get better!