Dieser Artikel ist eine Transkription des Artikels "Systemmanagement in der Cloud-Ära".
Gepostet im vorherigen Artikel " VMware vSphere 6 VMDirectPath-E / A-Gerät kann nicht mit PowerCLI zu VM hinzugefügt werden " Um das Problem zu lösen, dass das PCI-Gerät mit PowerCLI nicht ordnungsgemäß mit der virtuellen Maschine verbunden werden kann, wird die Verwendung der Python-Bibliothek (pyvmomi) erläutert, mit der die vSphere-API ausgeführt wird.
Hier beschreiben wir den auf Ubuntu 14.04 basierenden Befehl zum Erstellen der Umgebung zur Überprüfung mit Bash unter Ubuntu unter Windows 10. Das Verfahren basiert auf README auf der Github-Website von pyvmomi.
Installieren Sie zuerst das Python-Pip-Paket und dann Pyvmomi mit Pip. Überprüfen Sie nach der Installation die Version von pyvmomi, die mit pip für alle Fälle installiert wurde.
# apt-get install pip
(Kürzung)
# pip install pyvmomi
Downloading/unpacking pyvmomi
Downloading pyvmomi-6.0.0.2016.6.tar.gz (218kB): 218kB downloaded
Running setup.py (path:/tmp/pip_build_root/pyvmomi/setup.py) egg_info for package pyvmomi
Downloading/unpacking requests>=2.3.0 (from pyvmomi)
Downloading requests-2.11.1-py2.py3-none-any.whl (514kB): 514kB downloaded
Downloading/unpacking six>=1.7.3 (from pyvmomi)
Downloading six-1.10.0-py2.py3-none-any.whl
Installing collected packages: pyvmomi, requests, six
Running setup.py install for pyvmomi
Found existing installation: requests 2.2.1
Not uninstalling requests at /usr/lib/python2.7/dist-packages, owned by OS
Found existing installation: six 1.5.2
Not uninstalling six at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pyvmomi requests six
Cleaning up...
# pip list | grep pyvmomi
pyvmomi (6.0.0.2016.6)
pyvmomi ist eine Bibliothek zum Ausführen der vSphere-API mit Python Script. Daher ist Python Script erforderlich, um es auszuführen. Hier werden wir bis zu dem Punkt ausgeführt, an dem wir das Beispielskript auf Github verwenden.
Das von VMware bereitgestellte Github-Repository enthält " pyvmomi-community-samples ". Laden Sie dies herunter und versuchen Sie es auszuführen.
# git clone https://github.com/vmware/pyvmomi-community-samples.git
Cloning into 'pyvmomi-community-samples'...
remote: Counting objects: 864, done.
remote: Total 864 (delta 0), reused 0 (delta 0), pack-reused 863
Receiving objects: 100% (864/864), 474.49 KiB | 395.00 KiB/s, done.
Resolving deltas: 100% (492/492), done.
Checking connectivity... done.
# cd pyvmomi-community-samples/samples
# ls
add_disk_to_vm.py generate_html5_console.py sessions_list.py
add_vm_extra_config_tags.py getallvms.py set_note.py
cdrom_vm.py getorphanedvms.py set_vcenter_motd.py
change_disk_mode.py getvnicinfo.py soft_reboot.py
change_vm_cd_backend.py hello_world_vcenter.py suds-to-pyvmomi.py
change_vm_nic_state.py hello_world_vcenter_with_yaml_recorder.py tests
change_vm_vif.py __init__.py tools
clone_vm.py list_datastore_cluster.py upload_file_to_datastore.py
create_folder_in_datacenter.py list_datastore_info.py upload_file_to_vm.py
create_random_marvel_vms.py list_dc_datastore_info.py vcenter_details.py
create_snapshot.py list_host_alarms.py virtual_machine_device_info.py
delete_disk_from_vm.py list_vmwaretools_status.py virtual_machine_power_cycle_and_question.py
deploy_ovf.py make_dc_and_cluster.py vminfo_quick.py
destroy_vm.py pyvmomi-to-suds.py vm_perf_example.py
esxi_perf_sample.py README.md vSphereAutoRestartManager.py
execute_program_in_vm.py reboot_vm.py waitforupdates.py
export_vm.py reconfigure_host_for_ha.py
find_by_uuid.py renamer.py
Versuchen Sie nach dem Herunterladen, getallvms.py </ code> auszuführen. Um die Argumente zu überprüfen, führen Sie sie zuerst mit
-h </ code> aus und übergeben Sie dann die erforderlichen Argumente. Hier wird es für den Host ausgeführt, auf dem nur 1VM vorhanden ist.
# python getallvms.py -h
usage: getallvms.py [-h] -s HOST [-o PORT] -u USER [-p PASSWORD]
Standard Arguments for talking to vCenter
optional arguments:
-h, --help show this help message and exit
-s HOST, --host HOST vSphere service to connect to
-o PORT, --port PORT Port to connect on
-u USER, --user USER User name to use when connecting to host
-p PASSWORD, --password PASSWORD
Password to use when connecting to host
# python getallvms.py -s (ESXi-Hostname) -u (Login Benutzername) -p (Passwort)
('Name : ', 'PerftestVM_20160108')
('Template : ', False)
('Path : ', '[esxi01_localDS] PerftestVM_20160108/PerftestVM_20160108.vmx')
('Guest : ', 'CentOS 4/5/6/7 (64-bit)')
('Instance UUID : ', '521a4619-ad48-447d-b692-4e0b1af8d9ca')
('Bios UUID : ', '564d26c0-4645-b99c-9a3f-eab82be1f824')
('State : ', 'poweredOff')
('VMware-tools: ', 'toolsNotRunning')
IP : None
Ich konnte die Informationen der virtuellen Maschine auf dem ESXi-Host sicher abrufen.
Damit ist die Installation von pyvmomi und die Funktionsprüfung mithilfe des Beispielskripts abgeschlossen. Das nächste Mal werde ich dieses Pyvmomi und das PCI-Geräteverbindungsskript verwenden, das in dieser GIST veröffentlicht ist. , Herausforderung zum Festlegen der VM DirectPath-E / A über das Skript.
Recommended Posts