Friday, February 14, 2020

Samsung 1TB QVO SSD had performance issues running Windows VMs in VMware ESXi 5.5

I wanted to add some pep to an old ESXi 5.5 system by installing an SSD.  I picked up a Samsung 1TB QVO SSD on a deal and was excited to get it installed.  After it was installed, I went through the process of moving VMs from the old drive to the SSD.  Booted up some Linux VMs and they seemed to run perfectly.  When I got to a Windows VM, the Windows system become unresponsive.  Looking at the performance of the VM in VSphere, the latency was extremely high.  I did not keep any screenshots of the highest peaks, but it was hitting in the hundreds of thousands.  Abysmal.

I tried researching the behavior but came up short.  I tried installing a fresh Windows VM thinking this one was corrupt, no improvement.  In the end, I purchased a Samsung 1TB EVO, cloned the QVO to the EVO, installed and ran the same Windows VM that was performing poorly on the QVO, and it ran perfectly.  Booted up a bunch of VMs to try and impact performance but it was 100x times better than the QVO.  I ended up throwing the QVO into a laptop (running Windows) and it runs perfectly.  I don't know if this was due to the QVO having issues with handling larger files or something else.

tl/dr; The Samsung QVO drive performed poorly (for Windows VMs) on ESXi 5.5 - Replaced with an EVO and no more issues.

Thursday, January 2, 2020

How to make a budget - from Dave Ramsey

The biggest challenge I see with people struggling to make ends meet is a lack of budget, or at least an understanding of incoming and outgoing money on a weekly, monthly, and yearly basis.  Understanding the basics of your finances and establishing an appropriate budget is a great start to getting your head above water.  Here is a quick write up from Dave Ramsey on how to make a budget:

1. Write down your total income for the month.
This is your total take-home (after tax) pay for both you and, if you're married, your spouse. Don't forget to include everything—full-time jobs, second jobs, freelance pay, Social Security checks, and any other ongoing sources of income.
2. List all your expenses.
Think about your regular bills (mortgage, electricity, etc.) and your irregular bills (quarterly payments like insurance or HOA) that are due for the upcoming month. After that, total your other costs, like food, gas, and entertainment. Each dollar you spend should be accounted for.
3. Subtract expenses from income to equal zero.
This is called a zero-based budget, meaning your income minus your expenses should equal zero. If you're over or under, check your math or simply return to the previous step and try again.
4. Track your expenses throughout the month.
Once you start the budget, you'll still need to stay on top of your expenses.
Here's to 2020: The year you stick to a budget and make more progress than EVER before!!


Saturday, December 2, 2017

Verizon Fios TV Remote with Vizio - Input not working FIXED

I recently started using Verizon Fios TV service.  It is a big difference from the Comcast Xfinity X1 platform.  That aside, I was having trouble getting the 'A/V TV Input' button on the P265 remote to work with my Vizio TV.  The simple instructions on the back of the remote would get most of the buttons working: power, volume, mute, etc.  The 'A/V TV Input' button did not respond.  If I wanted to switch to another device, I would have to use the button on the side of the TV.  I will note I did not have this issue with the Comcast remote even using the simple setup instructions.

I searched Google and did not find any answers that worked.  So I took a step back and followed a simple user perspective: I went to the Verizon Support page.  I searched for 'program remote' and found instructions for programming the remote.  Simple enough.  First step was to locate the remote control code for the TV.  The code for a Vizio TV using the P265 remote is 424.  I followed the instructions and it worked!  I could now switch input on my Vizio TV.

TL;DR - Follow instructions here and use code 424 for P265 remote for a Vizio TV.

Friday, January 6, 2017

Inside a KONG Retractable Dog Leash

This is totally not related to what I have posted in the past, however I could not find this information in my Internet searching so I decided to post this for anyone else who may need it.

Here is the inside of the "KONG® On The Go Reflective Palm Retractable Dog Leash" and some key components.

1.  Remove the short wrist band from the rear of the unit.

2.  Remove the screw holding the unit together.

3.  Remove the cover to expose the insides.  Be careful not to drop the spring or ball.

4.  The spring sits in a 'seat' on the track of the thumb button.

5.  The ball sits on top of the spring and is responsible for 'locking' the thumb button into place against the leash reel.

6.  The thumb button sits in its track.

The reason I posted this is because my daughter walked my dog and somehow the leash came apart.  I took it apart and put it back together and the thumb button would not lock into place.  I took it apart again and determined something was missing.  Something needed to sit on/with the spring and engage the thumb button when it slides.  I tried a few things I had lying around and it did not work.

I later asked my daughter about it and she said "Oh yeah!  There was some piece that I put in your office."  And it was the ball that sits on the spring.  Problem solved.

Monday, March 23, 2015

Unix Commands in Windows Command Prompt

I have always been a DOS command kind of guy (dubbed DOS Command Warrior) since the early days.  I've used unix/linux and was familiar with the command set but I wasn't as fluent as I was with DOS.

In the past few years I've transitioned into the inverse and have done the whole wrong commands in a Windows Command Prompt window a lot.  Tonight I decided to look up whether there are any binaries or anything I could install to still utilize the Windows Command Prompt and have the luxury of also using Unix commands.

Of course I could install Cygwin and use that terminal window, but I am comfortable with the Windows Command Prompt and I like to keep things somewhat simple.  Why not take advantage of Unix Commands from Cygwin within the Windows Command Prompt?  Thank you sir, may I have another!

I found this article on that explains just that.  Super simple.

1.  Install Cygwin
2.  Open your Windows System Properties (Start > Run > sysdm.cpl)
3.  Click on the Advanced Tab, then click the Environmental Variables button

4.  Select the Path variable and click Edit

5.  At the end of the text, add a semicolon followed by the path to your Cygwin 'bin' directory - Mine is ;C:\Cygwin64\bin

6.  Click OK 3 times.
7.  Open a Command Prompt
8.  Profit

Wednesday, December 10, 2014

Move VM between datastores in ESXi

After installing my new (faster) 1TB drive in my ESXi server, I wanted to move some VMs to it.  In my mind, this logically seemed like a very simple process.  After spending 10 minutes navigating around in vSphere, I realized it wasn't.

I started searching Google for the easiest process for this and I did find a few solutions.  After I performed one, I realized it did not maintain the minimal file size of my 'thin' provisioned disk.  My disk was now inflated to its full size on the new disk.  I did not want this, I wanted to maintain the 'thin' provisioning, so I searched again.

I finally came upon a response on serverfault from 'ohaal' with step by step instructions on how to copy VMs between datastores and maintain thin provisioned disks (I believe these may have been replicated from another blog but it no longer appears to resolve).

Look for 'Step by step guide using vmkfstools in the CLI' or just see the copied walkthrough below.  I do not take credit for this, I simply wanted to replicate it in case it disappears.

I have confirmed this works on ESXi 5.1.  Additionally I do not have any snapshots to worry about.

Step by step guide using vmkfstools in the CLI

  1. Power off VM
  2. (Optional) Consolidate snapshots if needed.
  3. Remove VM from vCenter inventory
    • Right click VM and click "Remove from Inventory" enter image description here
  4. Enable SSH on the ESXi machine
    • In the vSphere client go to: Configuration -> Security profile -> Properties (next to Services) -> SSH (in the list) -> Options -> Start
  5. Log in via SSH as root
  6. Prepare a directory on the destination datastore
    • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  7. Clone the .vmdk files using thin provisioning
    • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  8. Copy any remaining files (avoiding overwriting the .vmdk files)
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f -print0 | grep -v ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  9. If you did not consolidate snapshots in step 2, there may be snapshot .vmdk delta files, we also need to copy these (this may take some time):
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f -print0 | grep [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789] | grep ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  10. Once done cloning and copying all necessary files, add the VM from the new datastore back to inventory
    • In the vSphere client go to: Configuration->Storage->Data Browser, right click the destination datastore which you moved your VM to and click "Browse datastore". enter image description here
  11. Browse to your VM and right click the .vmx file, then click "Add to inventory" enter image description here
  12. Boot up the VM to see if it works, when asked whether you copied or moved it, just answer that you copied it. (I'm not sure what this means, but I think it has to do at least with the MAC address of the vNIC being changed.)   Choose "I _moved it" to maintain the MAC Address.enter image description here
  13. If the VM boots up fine, you can remove the VM from the old datastore.
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

My ESXi Whitebox Server

Just like many IT enthusiasts, I built a whitebox server to play around with various IT related technologies.  I wanted something that was capable of running VMware ESXi so I could run a small IT enterprise in a virtual environment, but would also not break the bank.  I ended up installing ESXi 5.1 on a USB2.0 thumb drive that I had laying around and threw in some drives for datastores.

At this point I am running anywhere from 3-8 VMs at any given time depending on what I am testing out.  It is a mix of Linux and Microsoft Operating Systems, along with a few 'turn key' virtual appliances (Security Onion, Web Security Dojo, and more).

Here is a breakdown of the hardware I am using:

AMD FX-8150 (8-core)
4x 8GB Corsair Vengeance LP (always been a fan)
Hard Drive
3x 250GB Western Digital (random drives I had around)
1x 1TB Seagate Barracuda ST1000DM003
Cheapest Rosewill case for mATX, Corsair CX430
Syba SY-PEX24028 PCI-Express Dual Gigabit NIC

I am using one of the ports on the Syba NIC configured in promiscuous mode to monitor network traffic sent by a 'Mirror' port on a TP-Link TL-SG108E 8-port switch.

My implementation of ESXi is basic, no frills.  I wanted something where I could spin up an OS and roll with it.  And this works perfect for me.