The other day I was installing a VSAN 6 Proof of Concept in the lab and needed a disk to appear as an SSD. There are two ways to do this, each with their own merits, although only one can be used if you plan on using nested ESXi on vCloud Air. Continue reading
esxcli
Handy tips for using FreeNAS/iSCSI in the lab
Recently I revamped my lab storage with the addition of a HP Microserver Gen8 and a dual-port Emulex OCe10102 10GbE card. After some initial struggles with Windows Server 2012 R2 and Windows Server 2016 Technical Preview 3, I decided to go back to FreeNAS 9.3. Continue reading
Fixing Emulex 10GbE on ESXi 5.5
Last year at VMworld in San Francisco I bought two Emulex OCe10102 10GbE cards for my home lab, and used two Dell/Force10 cables to connect them together. One card went into my Dell PowerEdge T710, and one in my HP Microserver Gen7. Continue reading
Building an advanced lab using VMware vRealize Automation – Part 4: Physical infrastructure – compute
In part 3 of this series on building a lab using VMware vRealize Automation we configured the physical networking to support our lab. In this part we install and configure VMware vSphere 5.5 on our servers.
Before we can install vSphere, we have to analyse our requirements and source hardware to satisfy them. Obviously we would like hardware that comes with as much compute, storage and network capacity as possible, but budgetary constraints must be taken into consideration. Continue reading
Recovering damaged VMFS partitions
Last year a client suffered a power outage at one of their major sites. Unfortunately the Powerchute installation I had configured on a vSphere vMA didn’t work as expected, and all hosts, storage and networking equipment died when the UPS ran out of juice. This however, was only the beginning of what was to become a very long day.
When power was restored, a member of the Operations team brought all the kit back on-line, but unfortunately the SAN controllers came up before the expansion arrays… therefore marking them as dead. When the ESXi hosts came back up, they were missing quite a few LUNs, and got visibly upset.
Despite all the storage controllers and arrays being online, ESXi refused to recognise any of the partitions and only offered the ever-helpful option of adding new storage (and therefore destroying what was already there). That’s when Ops decided to escalate the issue.
After calling VMware support, the prognosis was not good… the data was lost and we had to restore from backup. Knowing the client would not be happy with this, I decided to step-in and take over.
I didn’t believe the data was lost, but merely needed a little nurturing to bring it back to life. First, the storage had to be brought back in the right order:
- Shutting down all ESXi servers
- Disconnecting controller B fibre
- Disconnecting controller A fibre
- Shutting down enclosure 2
- Shutting down enclosure 1
- Shutting down controller B
- Shutting down controller A
If the SAN controllers can’t see all the arrays, then the hosts have no chance of seeing the LUNs.
Then at two minute intervals:
- Reconnecting controller A and B fibre
- Powering up enclosure 2
- Powering up enclosure 1
- Starting controller A
- Starting controller B
- Powering on ESXi host 1
Rescanning the LUNs still gave me nothing, so I SSH’d onto the host and listed the disks it could see using:
esxcli storage core path list | grep naa
This gave me two devices:
naa.60080e50002ea8b600000318524cd170 naa.60080e50002eba84000002de524cd0b2
Then I listed the partition table (on each disk) using:
partedUtil getptbl /vmfs/devices/disks/naa.60080e50002ea8b600000318524cd170
This showed as empty (ie. no entry starting with “1” or the word “vmfs” anywhere) – not good. I then checked for the beginning and end blocks on each disk (thank you VMware for the following command):
offset="128 2048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" | awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for i in `echo $offset`; do echo "Checking offset found at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; hexdump -n4 -s $((0x1300000+(512*$i))) $disk; hexdump -C -n 128 -s $((0x130001d + (512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done
I then listed the usable sectors:
partedUtil getUsableSectors /vmfs/devices/disks/naa.60080e50002ea8b600000318524cd170
That came back with two numbers. I needed the large one (4684282559). I then rebuilt the partition table using:
partedUtil setptbl /vmfs/devices/disks/naa.60080e50002ea8b600000318524cd170 gpt "1 2048 4684282559 AA31E02A400F11DB9590000C2911D1B8 0”
So to recap,
naa.60080e50002ea8b600000318524cd170 = disk device
2048 = starting sector
4684282559 = end sector
AA31E02A400F11DB9590000C2911D1B8 = GUID code for VMFS
I then mounted the partition:
vmkfstools –V
After repeating the above command for the second disk, ESXi host 1 then saw both partitions. I could then bring up all the VMs and the remaining ESXi hosts.
Bullet…. dodged.