Difference between revisions of "ESXi Stuff"

From Da Nerd Mage Wiki
Jump to navigation Jump to search
Line 6: Line 6:
<span style="color: rgb(186, 55, 42); font-size: 24pt;">WIP...</span>
<span style="color: rgb(186, 55, 42); font-size: 24pt;">WIP...</span>


* Laying out the Datastores
== Laying out the Datastores ==
* An "Admin" Datastore
=== An "Admin" Datastore ===
* Utilities
* ISOs
* CloneMe
* Manager
 
=== A "VMs" Datastore ===
 
=== 1 (or more) "Storage" Datastores ===


= Maintenance =
= Maintenance =

Revision as of 18:33, 20 April 2022

WIP...

Installation

WIP...

Setup

WIP...

Laying out the Datastores

An "Admin" Datastore

  • Utilities
  • ISOs
  • CloneMe
  • Manager

A "VMs" Datastore

1 (or more) "Storage" Datastores

Maintenance

ESXi from the Command Line

Basic Concepts

  • ESXi appears to be based on BusyBox
    • So... If you're bashing your head against a wall trying to figure out how do do something low-level, check out the documentation for BusyBox.
    • Basically tho... Most of the functionality is very close to typical Linux, so the man pages on a Linux machine will get you very close.

Usability Fixes

ESXi has a NON-EDITABLE shell profile at /etc/profile.

Luckily, there's an override file at /etc/profile.local

After any changes you make to this file,

  • source /etc/profile.local

enables your changes.

To make the changes persist over a restart of the server:

  • /sbin/auto-backup.sh

To tell ESXi to save the changes.

The Shell Prompt

The shell prompt (when you're in a directory on a mounted volume) is fugly & useless.

  • vi /etc/profile.local
PS1="[\u@\h \e[1;33m\A \W\e[m]\$ "

(My current preference...)

See here or here for a couple of articles about customising your prompt...

Useful Aliases

  • vi /etc/profile.local
alias ll="ls -l"

PATH

By default, the execution PATH is /bin:/usr/bin . This is fine if you don't want to add executables elsewhere.

I tend to put various utility scripts & such in sub-folders of /vmfs/volumes/Admin/Utilities

This can also be fixed in /etc/profile.local

  • vi /etc/profile.local
PATH=/bin:/usr/bin:/vmfs/volumes/Admin/Utilities/Scripts
export PATH

(Note that /vmfs/volumes/Admin/Utilities/Scripts will be specific to your system...)

Caveat

Remote execution through SSH does not read the /etc/profile.local file.

One solution is to put your custom executables in the /bin folder. BUT, this is not maintainable. It can break on reboot and will DEFINITELY break on upgrades.

A better solution is to put a symbolic link there.

eg.:

  • ln -s /vmfs/volumes/Admin/Utilities/Scripts/MyCustomCode.sh /bin

Or...

Just provide the complete path on the command line when running scripts via SSH:

  • ssh root@esxi1 /vmfs/volumes/Admin/Utilities/Scripts/MyCustomCode.sh

ESXi Command sets

Neat Tricks

Copying a VM from one server to another

Start by shutting down the VM...

Then SSH into the originating server.

  • ssh root@esxi0

Next, copy the VM to the destination server.

  • scp -r /vmfs/volumes/VMs/TinkersVM root@esxi1:/vmfs/volumes/VMs

Wait a while...

Then... let's see if it'll register & run like the restored backups do.

w00t!

That'd be a Yes.

Messing about with the DCUI screen

Oddities

SCP Copy Stalled and/or rekeyed ciphers

See:Copy Files between ESXi Hosts by using SCP (Secure Copy) Command / SCP Copy Stalled Fix

But more usefully... See:SSH Frequently Asked Questions

Basically... It really doesn't mean much.

Older Notes (Mostly still on the TinkerNet Wiki)

Why virtualize your server infrastructure (Morton Hjorth)