Category Archives: Linux

Update an ESXi Host from SSH

Notes how to update a VMware ESXi host:

1. Download Patch from VMware

2. Load it on a Datastore (e.g. with scp) on the ESXi host and connect with SSH. SSH Server must be activated if it’s not already done (Host -> Manage -> Services).

3. Show version:

vmware -vl
VMware ESXi 6.5.0 (Build 4887370)
VMware ESXi 6.5.0 Update 1

3a. Optional: List all installed VIB’s:

esxcli software vib list

4. Move all VM’s to another Host or shut down, then activate Maintenance Mode:

vim-cmd hostsvc/maintenance_mode_enter

5. Start Update:

esxcli software vib update -d /vmfs/volumes/datastore1_local/patch/ESXi650-xxxxxxxxxx.zip

6. The updater will show if it’s necessary to reboot the machine.

7. Show new version:

vmware -vl
VMware ESXi 6.5.0 build-7388607
VMware ESXi 6.5.0 Update 1

8. End Maintenance mode:

vim-cmd hostsvc/maintenance_mode_exit

9. Start VM’s again.

 

vCenter Server behind NAT

Be warned: This configuration is not officially supported by VMware.

If you have your vCenter Server behind NAT, you can not connect your ESXi Host to this Server. It will loose connection after a few seconds to vCenter because vCenter publishes his private IP to the configuration of ESXi.

1. We need an port forwarding of port TCP/UDP 902 from your public IP to the internal IP of the vCenter Server. If you have a Firewall, allow connections only from the IP of your ESXi host.

2. Connect over SSH to the ESXi Host and edit vpxa.cfg with vi:

vi /etc/vmware/vpxa/vpxa.cfg

Configure the following settings:

Insert this tag, if you don’t add this tag and restart the services, it will overwrite the IP again with the private one of vCenter:

<preserveServerIp>true</preserveServerIp>

Replace the private IP of the vCenter Server with the public one:

<serverIp>PublicIPvCenterServer</serverIp>

Restart services:

/etc/init.d/hostd restart

Now the connection should stay stable.

HomeAssistant on Raspberry Pi

home-assistant-logo

This are my notes to install home-assistant on a raspberry-pi 3. At the end, this is a multipart how-to for installing home-assistant and mosquitto (MQTT) with a NodeMCU and some magnetic contacts.

Copy Raspbian Lite to an SD Card on Mac OSX (use rdisk is faster):

sudo dd if=Downloads/2017-11-29-raspbian-stretch-lite.img of=/dev/rdisk4 bs=4m conv=sync

Enable SSH (create a file named ssh on the SD-Card):
touch /Volumes/boot/ssh

Put the SD-Card into your raspberry and boot it up.

Login and change password of user pi and root:
passwd
sudo passwd root

Configure WLAN:
wpa_passphrase “YourWLANSSID” “yourWLANPassword”
Configure WLAN in /etc/wpa_supplicant/wpa_supplicant.conf:
country=CH
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid=”YourWLANSSID”
#psk=”yourWLANPassword” <<<<<—– REMOVE THIS COMMENTED LINE!
psk=131e1e221f6e06e3911a2d11ff2fac9182665c004de85300f9cac208a6a80531
}

You have a fixed IP? (preferred!)
Edit /etc/dhcpcd.conf and set the hostname inside this file.
Add config for your interface:
interface wlan0
static ip_address=192.168.0.XXX/24
static routers=192.168.0.XXX
static domain_name_servers=XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX
static domain_search=some.domain.com
static domain_name=some.domain.com

Use raspi-config to configure your raspberry hostname and partition then reboot.

Continue reading HomeAssistant on Raspberry Pi

DIY Airplane tracker (ADS-B tracking)

Do you want to build your Airplane tracker by yourself? It’s easy and it’s realtime, not delayed like flightradar24.

What do you need?

Here are the steps for Linux/Unix Systems:
Download and unzip the Software:

wget https://github.com/antirez/dump1090/archive/master.zip
unzip master.zip

Change into the unzipped directory and execute make:

cd dump1090-master/
make

Plug in your DVB-T stick and launch dump1090:

./dump1090 --interactive --net

The option “interactive” tells the program to output planes with automatically refreshed screen every second
The option “net” enables networking support.

After a few seconds you should see the first planes:

You can even connect with your webbrowser to http://127.0.0.1:8080 to see the planes on a map.

Now you should see planes near you. It’s best to go outside with your antenna to track airplanes. You can even build better antennas 😉 See the links below.

Happy plane tracking!

DIY Antenna: ADS-B wine cork antenna
Or if you use Windows see this post here: dump1090 on Windows

VMware VSAN delete/purge inaccessible objects

Sometimes it could happen, that you get inaccessible files on your ESXi Cluster with VSAN.
Here are the Steps to clean up inaccessible files with vCenter Server on Windows 2012R2:

Connect to vcenter server with rvc.bat in C:\Program Files\VMware\vCenter Server\rvc

login with administrator@vsphere.local@localhost:

C:\Program Files\VMware\vCenter Server\rvc>rvc.bat administrator@vsphere.local@localhost
 password:
 0 /
 1 localhost/
 >

Check command: vsan.check_state “pathToYourCluster”

> vsan.check_state /localhost/myDatacenter/computers/Cluster01/
 2016-07-14 07:34:49 +0200: Step 1: Check for inaccessible VSAN objects
 Detected 1 objects to be inaccessible
 Detected bf9c6a57-9cc3-d20c-ccb3-a0369f89ecac on 192.168.1.4 to be inaccessible

2016-07-14 07:34:50 +0200: Step 2: Check for invalid/inaccessible VMs

2016-07-14 07:34:50 +0200: Step 3: Check for VMs for which VC/hostd/vmx are out
 of sync
 Did not find VMs for which VC/hostd/vmx are out of sync

Delete inaccessible VSWP Objects command:
vsan.purge_inaccessible_vswp_objects /localhost/myDatacenter/computers/Cluster01/

vsan.purge_inaccessible_vswp_objects /localhost/myDatacenter/computers/Cluster01/
 2016-07-14 07:35:00 +0200: Collecting all inaccessible Virtual SAN objects...
 2016-07-14 07:35:00 +0200: Found 1 inaccessbile objects.
 2016-07-14 07:35:00 +0200: Selecting vswp objects from inaccessible objects by c
 hecking their extended attributes...
 2016-07-14 07:35:00 +0200: Found 0 inaccessible vswp objects.

Delete other inaccessible objects:
Connect to ESXi Server and issue the following command, which should show you the related objects:

/usr/lib/vmware/osfs/bin/objtool getAttr --bypassDom -u bf
9c6a57-9cc3-d20c-ccb3-a0369f89ecac -c

Check the output of the related object and make sure you can delete this file.

Delete the file with:

/usr/lib/vmware/osfs/bin/objtool delete -u bf9c6a57-9cc3-d
20c-ccb3-a0369f89ecac -f -v 10

Run check in vSphere Web Client on “Cluster” -> “Monitor” -> “Virtual SAN” -> “Health” -> Click on “Retest”.
Everything should be ok now.