Safe Harbor Statement: The information on IBM products is intended to outline IBM's general product direction and it should not be relied on in making a purchasing decision. The information on the new products is for informational purposes only and may not be incorporated into any contract. The information on IBM products is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for IBM products remains at IBM's sole discretion.
Tony Pearson is a an active participant in local, regional, and industry-specific interests, and does not receive any special payments to mention them on this blog.
Tony Pearson receives part of the revenue proceeds from sales of books he has authored listed in the side panel.
Tony Pearson is not a medical doctor, and this blog does not reference any IBM product or service that is intended for use in the diagnosis, treatment, cure, prevention or monitoring of a disease or medical condition, unless otherwise specified on individual posts.
The developerWorks Connections Platform is now in read-only mode and content is only available for viewing. No new wiki pages, posts, or messages may be added. Please see our FAQ for more information. The developerWorks Connections platform will officially shut down on March 31, 2020 and content will no longer be available. More details available on our FAQ. (Read in Japanese.)
Upgrading from RHEL Linux 6.9 to RHEL 7.4
This month, many IBMers are going through the process of upgrading their laptops from Red Hat Enterprise Linux (RHEL) 6 to version 7. The internal deadline is March 31, 2018.
Back then, IBM allowed its employees the option to run Windows, Linux or Mac OS. Since then, dual-boot Windows/Linux configurations, like the one I had back then on my Thinkpad T410, proved too difficult for our help desk, so these are no longer allowed.
In 2015, I received my new Thinkpad T440p to replace the old T410 model. For those 20 to 25 percent of the IBM employee population that manage, support and connect directly to client networks, IBM required Linux encrypted with LUKS, using Windows as KVM guests when needed for specific applications. This is more secure than running Windows natively, preventing viruses and other malware to spread between IBM and its clients.
As I am occasionally asked to help out our colleagues in lab services or with critical situations, I decided to implement my laptop to match, just in case. RHEL is rock solid, and running Windows as KVM guests could not be easier. Not having to worry about Windows viruses while travelling on business is a huge benefit as well.
Upgrading from RHEL 6.1 all the way up to RHEL 6.9 was simply a push of a button, all the new applications and kernel get installed, followed by a quick reboot. The migration from RHEL 6.9 to RHEL 7.4, however, was a major undertaking.
In past migrations, I was moving from a working laptop to a second laptop, affording me to be fully productive on the old machine until I was ready to cut over. In this case, I am performing a fresh install on my existing machine. To avoid any problems or delays, I wrote myself an 8-page, 17 step migration plan to capture all the tasks I needed to do to minimize the impact to my productivity.
(Of cousre, IBM has a help desk. You hand over your laptop, they backup the home directory, wipe your system clean, fresh install, restore your home directory, and return the laptop to you 3-5 days later, leaving the rest of the tasks up to you. Basically, this would merely replace the first three of my 17 steps below. I did not feel like burdening our help desk, nor wait 3-5 days without a laptop!)
Here were my steps:
Backup my existing system
In addition to backing up all my individual files to the Cloud, I also used [Clonezilla] to create a full image backup of my 500GB drive to an external USB drive.
Not all data is in file form. I also exported my browser bookmarks, so that I could import them back later. I also ran an "rpm -qa" to get a list of my existing applications installed.
Initially, I thought to format the 4TB external drive in UDF format, which is readable by Windows, Linux and Mac OS and supports files that are larger than 4GB in size.
Not knowing whether I should use [ExFAT] or Universal Disk Format [UDF] format, I split the 4TB into two 1.9TB partitions, and formatted one as ExFAT, and the other as UDF. Both formats support files greater than 4GB in size, which I have, but I discovered that on the older RHEL 6.9 release, based on a 2.6 Linux kernel, you can only write 68GB of data to a UDF partition. This is fixed in later kernels, but doesn't help me with my existing RHEL 6.9 release.
Fortunately, the latest Clonezilla LiveCD chops up the cloned images into files small enough that you can write to a variety of formats, and has a newer kernel that allows writing the full capacity of UDF partition.
In a crisis, I can restore back to RHEL 6.9 within 2 hours. This was my "relief valve" if I encountered any major delays and had to go travel for business on short notice.
Fresh install of RHEL 7.4 Linux
This completely wipes clean my drive, and installs two partitions. A tiny "/boot" partition needed to boot the system, and the remaining drive capacity as a large LUKS-encrypted LVM, to be internally partitioned between "/" and "swap" logical volumes.
Copy all of my files back
The challenge is that some files might clobber some of the configurations of the new applications. For this reason, I created /home/tpearson/RHEL69 and put everything there, so that I can move them to the correct locations as appropriate.
Copying all the files back in this manner eliminated having to be tethered to the external USB drive.
Setup LAN connectivity
I have to connect to IBM and guest systems, so this configuration is important. This includes EAP, TLS and VPN configurations. I thought I could just re-use the certificates I have for RHEL 6.9, but no, I had to create and register fresh new certificates for RHEL 7.4 release.
Configure Cinnamon Desktop
RHEL 7.4 uses Gnome 3 by default, which is quite different than Gnome2 used in RHEL 6.9 release. I don't care for it, so I configured [Cinnamon desktop] instead. Many people who use Linux Mint or Ubuntu might be familiar with this, and for those switching from Windows or RHEL 6.9 Linux, Cinnamon has familiar "Start" button in lower left corner.
By default, our RHEL 7.4 image comes with Firefox and Chrome browsers, so all I needed to do was import the bookmarks that I had exported in step 1 above.
Configure KVM guests
I was able to bring over my Windows7 Kernel-Virtual Machine [KVM] from RHEL 6.9 and run without problems, but this was bloated and now consuming nearly 60GB of space. Therefore, I decided to get a fresh Windows7 and Windows10 guest images instead.
Like with Linux, I wrote down what applications I had installed on Windows, and used that to configure the Windows guests. Nearly everything I do runs natively on Linux, but I do use Microsoft Office (Powerpoint, Excel, Word) and a nice tool called [CutePDF] that allows me to print to PDF instead of an actual printer.
Windows10 comes with the "Print-to-PDF" feature built-in, so no need for CutePDF on that one.
Configure IBM Notes, Sametime and Gnote
IBM is a heavy user of [IBM Notes] (formerly called Lotus Notes), not just for email but also for its document management and database capabilities. Sametime is our "Instant Messenger" app. [Gnote] is a linux-based tool to store short notes, I use it for all of my email templates for quick copy-and-paste responses.
IBM recently made using printers super easy. Print to the common "Cloud printer", and then pick up your print-outs from any printer in the building, any IBM building, worldwide. I could print in Tucson, for example, and pick up my print-outs when I am in the IBM buildings in Austin, Texas!
I also had to configure my printer at home, for those days where I need to print a boarding pass or quick document.
Configure File Sharing
IBM has deployed IBM [Spectrum Scale] internally for employees to share files across the company called "Global Storage Architecture" (GSA). Configuration for me just meant having to find my local cell (tucgsa) for Tucson, and entering my credentials.
Install Docker and DSX Desktop
[DSX Desktop] is the local laptop version of IBM's cloud-based [Data Science Experience], allowing me to perform Hadoop and Spark analytics for the various projects I work on. It runs as a Docker container, so I had to configure Docker as well.
Install Multimedia Codecs
One of the big detractors for Linux, compared to Windows or Mac OS, is the lack of multimedia support. Linux distros, like Red Hat, don't ship with these pre-installed, leaving this as an exercise for the end user.
IBM does a lot of audio and video files, including replays of conference calls and webinars for internal training. I keep a collection of different audio and video files to ensure that I have everything configured correctly for proper playback.
Install GIMP and other software
The GNU Image Manipulation Program [GIMP] is a great tool for quick editing of graphics. Another tool, Inkscape is designed for vector graphics.
Configure file-level backup
In addition to doing full-volume image backups with Clonezilla, I back up individual files, which are sent over the IBM internal network to a central server. All I need is configure to my previous backup set, and create the appropriate include/exclude list.
Many employees might just back up their home directory, but I customize a lot of the Linux configuration, so I like to backup a few more directories. Here is what I choose to back up:
Congigure Grub2 boot configuration
RHEL 7.4 supports [Grub2], which allows you to boot iso files directly. I like to add Clonezilla and [SystemRescueCD] as boot options. These were simple enough to add, just follow instructions, copy files to the /boot directory, and create a menuentry for each.
Validate final configuration
After eight days, I have finally completed all these steps, and am able to validate that everything is working correctly. I did some sample workflows, such as:
Verify that I can launch Windows KVM guest, edit Powerpoint presentation, and print to PDF file.
Verify that I can open email, launching embedded URL links, and copy-and-paste templates from Gnote
Launch GIMP, verify that I can edit graphics, and import the results in a Powerpoint presentation.
Download and play a Webinar replay MP4 file
Fresh Clone of full volume image
Using the Clonezilla that I added to the Grub2 boot menu, I am able to backup my full 500GB drive. At this point, I will keep the RHEL 6.9 for a few weeks as emergency backup, but so far, everything seems to be working just fine.
This took longer than I expected, but am happy with the final result. Red Hat is rock-solid, and the new RHEL 7.4 allows me to run DSX Desktop, Windows 10, and some other applications that were not available on our previous RHEL 6.9 build.