Resizing LVM

Many years ago now stumbling across this information was very useful to me. I figure now that unless it’s passed on again, with my own additional notes, how is the next person going to find it?

One of the great things about installing Linux with LVM (Logical Volume Manager) is that it is ridiculously easy to increase space on a virtual machine. On the platform of your choice add an additional HDD to the virtual machine and then follow these steps:

First, you need to be sure the system sees the new HDD that has been added. In this example, it is /dev/sdb.

fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
 255 heads, 63 sectors/track, 5221 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
 /dev/sda1 * 1 666 5345248+ 83 Linux
 Partition 1 does not end on cylinder boundary.
 /dev/sda2 666 5222 36596736 8e Linux LVM

Now that we know /dev/sdb has been found and is the size we expect:

pvcreate /dev/sdb
 Writing physical volume data to disk "/dev/sdb1"
 Physical volume "/dev/sdb1" successfully created

Use the vgs command find out the name of your volume group and then extend it to /dev/sdb:


VG #PV #LV #SN Attr VSize VFree
vg00 3 10 0 wz--n- 113.91g 34.97g

vgextend vg00 /dev/sdb
Volume group "vg00" successfully extended

Going down the line the next one up is to extend the logical volume:


LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVol00 vg00 -wi-ao 29.06G
LogVol01 vg00 -wi-ao 5.81G 

lvextend -l +100%FREE /dev/vg00/LogVol00vg
Extending logical volume LogVol00 to 49.03 GB
Logical volume LogVol00 successfully resized

Make sure that it now sees all the space properly:


LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVol00 vg00 -wi-ao 49.03G
LogVol01 vg00 -wi-ao 5.81G

Next we need to extend the actual filesystem itself and which path you choose depends if your running RHEL/CentOS 6.x or 7.x

For 6.x you would run:

resize2fs /dev/mapper/LogVol-vg00

For 7.x you would run:

xfs_growfx /dev/mapper/LogVol-vg00

This part can take a few seconds, minutes or longer depending upon the size you are undertaking and activity on the server. Again, if this is a highly active server you are going to need a maintenance window, do not try this during the day.

The Tattoo Continues

Had my second session getting my first tattoo and as you can see its a doozy to start with. I need one more visit for the edges to be finished up and then the first one will be finished. I say the first one because I already have an idea for a second one. That wont be until much later this year or next year as I have other pending expenses.

The tattoo was designed and done by David Phelps from Adrenaline Tattoo in Downtown Vancouver, BC, Canada.

Getting started with Kubernetes

Kubernetes is the latest the latest hotness when it comes to technology used on the Internet. It has a distinct advantage of some of the previous trends in that it is very easy to get started learning.

Kubernetes and Docker for Mac

Like many people who love technology, I have Docker for Mac installed on my computer at home as well as at work. Why do I bring this up? Because if you have kept the software up to date you also, already, have Kubernetes installed.

If you do not have Docker for Mac installed: Click here.

Open Preferences for Docker in your toolbar and you’ll notice a familiar icon on the top bar:

Kuberentes preference Pane

Next, all you need to do is click the box next to Enable Kubernetes and then the Apply button. Next you’ll see a small popup that Kubernetes needs to be installed, click Install. That’s all it takes and and Kuberentes version 1.10.11 is stating up. Note, that you may want to click on the General tab as well and provide more memory.


Chances are you already have a connection to another cluster, such as one in Google Compute Cloud. You can easily change back and forth between that and your new Docker installation using contexts.

  • Run kubectl config get-contexts and it will list all of the available options. One of which will be your new installation.
  • Now, to use your Docker installation run kubectl config use-context docker-for-desktop
  • Next to double check that you’re up and running you can run something like kubectl describe nodes and look for a line which will say: OS Image: docker-for-desktop.

Minikube via Brew (Mac)

Installing Minikube on the Mac has a prerequisite in that you need a hypervisor. My recommendation is to go the free route and install Oracle’s VirtualBox.

Next up is to install Brew, if you do not already have it. I find this to be inavaluable installation on any Mac that I’m using.

After that all you need to do is run the following and Minikube will be installed!

brew cask install minikube

The following link will help you get started using Minikube!

The Tattoo Begins

For many years now I’ve been considering getting my first tattoo.

Now, considering my age now I’m calling it my “mid-life crisis tattoo” which is going to be a lot cheaper than getting a red sports car. The Joker was always my first choice for a tattoo and never changed so it was a lock.

This work in progress tattoo was done by David Phelps at Adrenaline Tattoo in Downtown Vancouver. I cannot wait to get it in full color later this month.