The Importance of Vacation

Burnout Is Real!

As a bit of a self-described workaholic, taking vacation is something that is honestly hard for me. There are always projects and an un-ending backlog of tickets to get done and so many other side projects competing for attention. Don’t fall into the trap of planning vacations around these things. If we’re being honest for a moment, the work will still be there when you get back and unless you’re a one person IT shop you do have a team you can count on. Burnout reveals itself all sorts of ways, it could be that your tolerance for issues and failures on the parts of others has become extremely thin, or that you start dreaming about work, or you get insomnia from worrying about work, or even worse you dread Sunday because you know you have to go back to work the next day.

 

The cost of burnout is high. It can show itself as irritability with customers and colleagues, not being able to get any one thing fully accomplished instead racing around trying to work on too many things at once while things fall through the cracks. Burn out can lead employees to leave their employer due to high stress levels and not maintaining a healthy work/life balance. I’ve heard of people leaving the industry completely citing burnout as one of the top reasons. Sure your co-workers will miss you and will be busier while you are on vacation, but as a matter of mental health and the well-being of your career vacations are certainly important.

 

Fully Unplugging

It’s best to truly unplug, if you are flying out of town or going somewhere, leave the laptop behind. As IT professionals we spend many of our waking hours in front of machines, take some time to enjoy the rest of the world without the laptop. Sure if there is a priority 1 fire and you are the only person who knows how to fix it you should absolutely answer your phone, however there are ways to minimize this, and as long as you continue to be the only one who knows how to fix specific things you will never get to fully unplug.

 

Some tips to prevent calls while on vacation include sitting down with your team before vacation and going over areas where there may be knowledge gaps. This is especially important if you have been silo’d on a project for a while or know some really nitty gritty details that others on your team may not. Also if you have an internal Confluence or wiki be sure to document tasks that colleagues typically turn to you for, as this will help them be more self-sufficient in your absence. Be sure to set an auto-responder on your emails with the dates you are out and contact details of how to reach your team (preferably via a support ticketing system, on-call phone number, or group email alias). Any tasks that have critical timelines that can threaten to delay a project should be sent out in a summary email detailing the deadlines (referencing ticket numbers) and who will be responsible for these tasks while you are out. If you are working with project managers or other stakeholders who communicate with you regarding the status of these tasks, be sure they know who will be covering these for you in your absence.

 

Resist The Urge To Respond

If you have work email on your phone you may want to remove it while you are on vacation, or if you are checking emails to avoid a mountain of emails when you get back there are a few helpful strategies, however the key here is to not respond to emails unless you absolutely have to. If customers and colleagues see you responding they will assume you are available and will begin contacting you, try to avoid this as much as possible. A good way to handle checking email on vacation if you so choose is to do so only once a day or once every couple days. Delete/archive all emails that do not require a reply. Star/flag any emails you need to respond to when you return from vacation. This will help make email more manageable upon your return. If you are one of the lucky ones who can and has decided to avoid email altogether while on vacation, when you return you can try sorting email by sender, which will help you to most easily weed through what is important and what is not. Chances are email alerts from monitoring systems are no longer relevant, along with any vendor spam, while emails from your boss or HR are probably worth prioritizing.

Also for the love of god remove or sign out of and turn off notifications on the mobile app for Slack, Hipchat, Skype, or whatever instant messaging platform used in your office.

Returning To Work

Once your vacation has ended and you’ve successfully had some R&R, confronting work and getting up to speed may seem daunting. If your team does stand-ups see if you can get a brief summary of project statuses and important events while you were away or schedule a short meeting with your team. Also allow yourself a few hours to catch up on email and start responding. In general at least half of your first day back should allow time to catch up on communications, and ensure you’ve removed all auto-responders, and updated your voicemail to remove any out of office greeting you may have recorded.

VS Code!

Ever since graduating from a Systems Admin role to DevOps one of the most frequently used tools in my toolbag is the text/code editor. Like many people I started on Notepad++ which by its own right is still a legitimately good editor. However working back and forth between Mac, Linux, and Windows desktop environments I gravitated towards Sublime Text and stayed there for a long time. I’ve recently begun studying for the MCSA Linux on Azure certification and have begun poking at Visual Studio more and in doing so discovered VS Code. VS code is a beautiful open source editor with a ton of plugins and a nice UI with excellent choices in syntax highlighting. Here’s some of the selling points that caused me to jump over to it:

 

  • Dark Themes
  • Cross Platform Support (Linux, Mac, and Windows)
  • options to add “code” to your path
  • automatic detection of files in a git repo and change tracking
  • useful diff screens
  • ability to launch terminal from within the editor window
  • Chef Support
  • Puppet Support
  • Powershell Support
  • Folder tree management
  • Syntax highlighting that’s helpful without being color vomit
  • Integrations with Azure WebApps PaaS
  • Key bindings for Vim, Sublime and other familiar editors

 

Here’s a Link to download VS Code: https://code.visualstudio.com/

 

 

Convert KVM VMs to Citrix XenServer

Attach External Hard Drive or External Storage

For the purposes of this task you will want to attach some sort of removable storage. An easy way to determine what the device the storage shows as run the following before attaching the storage:

blkid

make note of the last /dev/sd# device you see. Now plugin your external storage and run the same command, you should see a new entry there that should be your path you will want to use in the next step (ex: /dev/sdd1)

 

Next we will mount the external storage to /mnt

mount /dev/sdd1 /mnt

 

List the LV Info

On the KVM host you wish to copy the VM from list the lv information

lvdisplay

You should see a path like /dev/KVM/vmname.

Convert Raw LVM to VHD

Using the qemu-img utility you will need to run the following:

qemu-img convert -O vpc /dev/vg_name/lv_name /mnt/vmname

You can also convert to other formats as listed belelow:

Disk Format
QEMU -O Argument
Disk Format
QEMU -O Argument
qcow2 (Xen/KVM) qcow2
QED (KVM) qed
raw raw
VDI (vbox) vdi
VHD (Hyper-V/Citrix Xen) vpc
VMDK (VMWare/eSXI) vmdk

Once the disk is converted and on your external storage you will want to exit the /mnt directory and unmount

cd /
umount /mnt

 

Import to Citrix XenServer

Attach the external drive and mount it similarly to how you did in step 1, however you will need to check and see what device this shows up as, it will likely be /dev/sdb1. Mount this to the /mnt location.

 

Next we will need to identify the UUID of the storage repository in Xen we are going to use by UUID:

xe sr-list

Using the UUID from above create a global variable using the following:

RESTORE=$(xe vdi-create sr-uuid=<UUID of SR from above> name-label=<vmname> virtual-size=<size of drive +1 gb>GiB)

This will create an object named restore in your storage repository. Next we will want to import the VHD

xe vdi-import filename=/mnt/<vmanme> format=vhd --progress uuid=$RESTORE

Once the import completes you will want to create a new VM in Xen but not start it. After the VM creates you will want to remove the delete the hard drive associated with the VM on the storage tab. Once you do this click “attach disk” and select the disk you imported. Once this is attached you can start the VM and you should be good to go. Note on Windows systems and some linux systems you may need to update the network settings. Once this is done install Guest Tools, reboot and you’re all set.