Upgrade ESXi 6.7 to ESXi 7.0

Upgrade your current version of ESXi 6.7.

See You could also see the No Space left on the device error, I did.

Reboot the server and follow the steps posted below, except using the ESXi 7 ISO.

Verify any Unsupported Device Warnings are an issue.

To determine what the hardware component do the following after SSHing into the host.

[root@esxi1:~] lspci -p | grep 1000
0000:02:00.0 1000:0064 15d9:083c 11/ / A V

Then take the Vendor Device Id (the second section of numbers) and grep for it.

[root@esxi1:~] lspci | grep 0000:02:00.0
0000:02:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]

In my case its on old onboard SAS controller that I do not utilize. If I had disabled the controller in the BIOS, I would not have had the warning. Installing ESXi 7.0 went without a hitch after ignoring the error.

Fun, XenServer

How to Add Local Storage to a XenServer

Log into XenServer via XenCenter

Click on your Server and Select Storage


Select New SR…


For me I have a 12G RAID Controller backing my storage, so I select Hardware HBA


Name Storage


XenServer will probe for Storage



XenServer found both my Storage Arrays, and I chose the Array(s) I wish to use.


We format the Storage Repository.



Then we will see the new drive show up.




How to Apply Updates to VCenter 6.0

Starting after Update 1 for VCenter 6.0 you are able to update your Vcenter from the Web Interface.  Unfortunately for me, I have pre-version one installed so I need to update via SSH.

First step is login via SSH to your VCenter as the Root User using your SSO Administrator User and password


Next you download the Update for your VCenter from here.

Once the update is downloaded, you will need to mount the ISO to your VCenter VM.

Then we execute

software-packages install –iso –acceptEulas


The update will inform you when completed and instruct you to reboot


How to Install Plex on Centos 7 with NFS Mounts for Media

The first question you may ask is why on Linux?  Simply, the Linux install of Plex uses less memory resources than a standard Windows Installation in my experience.  With Windows I have also run into instances where the Plex Media Server fails to start on reboot.  With Linux I never experienced this, and it just continues to work without issues.

First step is to provision a Centos 7 VM.  I did this via a VM in my ESXi Environment.

Next we should update the system by executing

yum update

Then we go to the Plex website and download the latest RPM for Plex Media Server and download it via wget and install it.  If you used a minimal ISO Installation disk, you will need to install wget.

yum install wget


rpm -Uvh plexmediaserver-

[root@plex ~]# rpm -Uvh plexmediaserver-
warning: plexmediaserver- Header V4 RSA/SHA1 Signature, key ID 3adca79d: NOKEY
Preparing… ################################# [100%]
Updating / installing…
1:plexmediaserver- [100%]
Created symlink from /etc/systemd/system/ to /usr/lib/systemd/system/plexmediaserver.service.

Then we want to enable the Plex Media Server Service and set it to start on reboot

sudo systemctl enable plexmediaserver.service
sudo systemctl start plexmediaserver.service

Next we want to mount our media shares via NFS.  I currently have mine shared out via an UNRaid instance.  First we want to install the utilities used to mount shares for NFS.

yum install nfs-utils

Next we want to make the directories that will will mount the share to.

mkdir -p /mnt/Plex

Now we want to make sure all the related NFS Services are enabled and start on boot

systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap

Then we mount the share that we shared via NFS to the server

mount -t nfs /mnt/nfs/Plex/

Now we disable firewalld or put exceptions in so we can reach the Plex Web Interface.  I have chosen to disable firewalld.

systemctl stop firewalld

Then cd 0we browse to http://<YOURIP>:32400/web/index.html and configure the host.


How to Install kmttg on Windows 2012 R2

KMTTG is a great program to transfer TiVo recordings off of your TiVo to either save space or archive.  Most channels support copying of recordings off, with the notable exception of channels like HBO, Cinemax and the like.

So let’s start the install.

  1.  Download kmttg from here
  2. Create a folder on your drive of choice, create a kmttg folder and extract it. Capture.PNG
  3. Install the latest JRE from here.
  4. Navigate to your kmttg install location and double click kmttg.jar.  If you get a prompt that the OS does not know how to launch the file you’ll need to associate JAR files with the Java JRE.
  5. If it launches correctly you will see the tools screen.  Click OK to install the tools.


  1.  While that download, put in your 10 digit Tivo Media Access Key.  If you don’t know where to find this, kmttg tells you where to look.


  1.  Now this step is optional.  I like to separate all my File Directories for conversion.


  1.  You will get errors from kmttg that it can’t save due to errors.  Ignore those and click OK.  Then go and create the folders that you specified.

  2.  Click on the Roamio Tab and Click Refresh and you will see all your shows.


That’s it, now copy and encode the shows you want for later viewing!


Installing NVIDIA Drivers on CentOS

For those who have every tried to get NVIDIA or AMD Drivers working in Linux, know that its a complete pain to do.  Hopefully this guide will clear things up a bit.

I have a base system with a Gigabyte Xeon D Motherboard along with a Gigabyte NVIDIA 1070 Card for us in ZCash Mining.  My first step was to install CentOS 7.  I chose to use the Net Install ISO “burned” to a thumb drive, which I then booted from and installed the OS.  Be sure to run an update and reboot before starting the below directions.

Next I download from the Nvidia Website and copied it to my Linux Server.

First install the prerequisites for the Drivers

yum install gcc kernel-devel kernel-headers make vim wget

Be sure to now reboot so that the new kernel and headers take hold.  If you don’t you will get errors that the headers and or sources can’t be found.

After the reboot, lets install the EPEL Repository in order to install DKMS

rpm -ivh epel-release-7-9.noarch.rpm

yum install dkms

Then I ran to install the NVIDIA Drivers

./ –dkms -s

With the -s flag, the installer will run silent and we won’t see the screens below.


If you use the -s option this is the output you will see.


Create a blacklist file for the Nouveau Driver

vim /etc/modprobe.d/blacklist-nouveau.conf

Add the following text

blacklist nouveau

options nouveau modeset=0

Run the following command and reboot the computer

dracut –force

Now run nvidia-smi to verify CUDA capable devices are seen



ESXi6, Fun, SSDs

Software Raid in Windows and NVMe U.2 Drive Benchmark

I have recently acquired a couple Intel 750 NVMe U.2 Drives to play around with.  In order to utilize these drives you need to source a SuperMicro AOC-SLG3-2E4 NVMe PCIe card or similar variant.  I good write up on the HBAs available is from our good friends at ServerTheHome.

In my VMware Server, I have passed through the two NVMe drives into a Windows 2016 VM.  From there we launch Disk Management, and below we see the two drives.


For our testing we want the raw speed at first, so we right click on a drive and select “New Striped Volume”.  If we want redundancy we would choose a Mirrored Volume.  If we just wanted the combined storage of the two drives to appear to the OS as one drive, we would chose Spanned Volume.


For there we make sure both our drives are selected.


We assign the drive a letter, tell the OS to format the drive, give it a name if we wish, and click Finish.

We will get a warming, as the OS will convert the Disk from basic to dynamic.  Snip20170427_4.png

A note, if you receive an error message stating that there is not enough space on the drive, be sure you have the same Disk Type before you start and that the same amount of space is available on each drive.  For myself one drive was GPT and the other was Basic, resulting in a slight mismatch of drive space.  Once both drives were set to GPT, the drive space was the same and the mirrored operation could continue.

The drives will format and then appear once completed.


Once formatted we can run some benchmarks against the hardware.


In a RAID0 essentially this is what we expect to see, double the Reads and double the Writes.

The ATTO Results are also as expected.  There is some ludicrous speeds here, but you need an application that needs and can take advantage of these speeds.


Fun, Home Lab

How to Build a Windows 2016 Active Directory and DNS Server

In preparation for a vSphere 6.5 installation, one thing you need is working DNS and Active Directory and for that reason I will show you how to build an Active Directory and DNS Server on Windows 2016.

For the purposes of this post, we will be building the host as a Virtual Machine and it will be a single node Active Directory setup.  As, I only have a single ESXi hosts, it does not make much sense to build two Active Directory Nodes at this time.   We will start with our standard blank Windows Server 2016 Install.


I have purposely over provisioned this Virtual Machine, so that once vRealize Operations Manager installed and running for a time, I can show you how to properly size Virtual Machines using that tool.

Once you have the Base Windows Install configured, we need to set a couple settings.  First of all, make sure you have a static IP address set for your domain controller.  Secondly, you want to have the DNS Server set to resolve itself, as this host will become a domain controller.

We now want to install the following Roles

  1.  DNS Server
  2.  Active Directory Domain Services

I will also be installing Active Directory Certificate Services and Active Directory Federation Services to be able to generate my own certificates and to work with Single Sign One.


We then step through the installer and let all the components install.  The defaults are kept for the installer.  Once it finishes, we will be asked to setup a Domain Name among other items.  You will be warned that you don’t have a static IP setup even if you have already done so.  It is safe to ignore that message.

Once all that is complete, you will need to do the Post Deployment Configuration.


I will only focus on the Domain Controller promotion steps.


Before we start that we need to configure our DNS server.  Launch DNS Manager and right click on Forward Lookup Zones and create a new zone to create our Primary Zone.Snip20170408_8.png

Then we name our zone.


Then we name and save our Zone File.


Then we set dynamic updates.  For now I do not wish to do so.  We change this at a later date if we need to.


We also need to create the reverse lookup as well, and we follow similar steps the forward zones.




No we enter in our Network ID.  This is the first three Octets of our IPs.  You will need to do this for each VLAN you wish to have in DNS.  I currently only have one so this easy for me.


As in the forward zones I am not allowing dynamic updates.  Once Active Directory is up I can edit these zones to allow from Domain Joined Hosts.

Now we start the Domain Setup.

For us since we are creating a new forest, we choose that setting and give it a name.


We then set the Directory Services Restore Mode Password.  Make sure this is something you will remember.


The next step will warn you about DNS Integration and be greyed out to integrate.  That is okay, we will fix this.

Next we select our NETBIOS Name.  This is the short name you enter when you join a server to the domain.  Snip20170408_12.png

Next we decided where to put our AD DS Database, log files, and SYSVOL.  I suggest you move this to a seperate drive and not the OS Drive.  So that case in the event that you lose the OS Drive, you can easily bring the Active Directory back up.  In our case we store the files on the E Drive.


We can review our settings before we install.  What is great is that Windows Provides you the script to build this Active Directory Forest Again.  For example, if you have a DR scenario this script could be used to quickly bring up a new forest.

Ours is very simple as seen below


So what if we stopped here, because say we had to reboot or another reason.  What would the script look like when executed?


Once the password is entered for the Administrator, the Installer will do its thing.


If all goes well you will be asked to restart the computer.  We do see a couple errors regarding kgas.local, but since we already created that resolution we should be fine.

Once everything is rebooted we should see a domain login


Finally lets enable Dynamic Updates.   Launch DNS Manager and right click on your forward zone and click Properties.  Only the Properties Screen, change the dropdown under Dynamic Updates to say Secure only


Repeat this step for all zones, and that’s it.  Your AD and DNS Server is up.  Verify that AD is working by querying the IP and Hostname of the server you’ve builtSnip20170408_25.png

If it returns a result you are all set!


Trinus 3D Printer – Click on First Print

I about a year ago backed the Kickstarter for the Trinus 3D Printer.  I have tried a couple 3D Printers, with the best so far being the M3D Printer (which was also a Kickstarter).  I went with another DIY, printer that needed to be assembled.  That printer did not turn out well, as it was far too complicated to install and the software was more than I was willing to fool around with.


The Trinus was touted as all metal, easy to assemble, and even could do laser engraving.  In the end I backed it, and after a long back and forth I finally received mine.

I want to caution anybody thinking about getting a 3D Printer that it is an investment and you must absolutely have patience.  Things are not going to work perfectly, your going to have to fight with directions, ask for help on forums, and suck up hours of your time getting your printer to work.  This is not a MakerBot, that is why its a third of the cost.  When you doing get it working, all the swearing, cuts and bruised ego will be worth it.

I wanted to post this so that some Trinus users do not get stuck like I did.  If when you trying that first test print, you hear a click when you try to print, and it looks like the print nozzle is embedding itself into the BuildTak, stop!  The Height of your nozzle is not correct.

Follow this guide.  Remember in this case your nozzle is set too low, hence it is hitting the BuildTak, and you need to set it to a minus offset.

Watch the printer in action here.  This is a the test print that is build in with each printer.  Scheduled to take two hours and it looks pretty good in action.





FLIR ONE Camera View of the New Xeon D-1537 Build

One of the problems I’ve been told, and that I have found online is that Xeon-D Chips need good airflow over the heat sink as they put out a fair amount of heat and that the the heat sink is passive.  I decided to pull out my FLIR ONE Camera and take a look.  Although it doesn’t indicate temperatures, it gives you a good idea of how hot they can be.

Here is a view of the SuperMicro X10SDV-7TP4F.  Top red spot is the CPU Heatsink, and the bottom is the LSI 2116 SW Controller.