Cet article est une transcription de l 'article "Gestion du système à l'ère du cloud".
Publié dans l'article précédent " Le périphérique d'E / S VMware vSphere 6 VMDirectPath ne peut pas être ajouté à la VM avec PowerCLI " Dans le cadre du traitement du problème selon lequel le périphérique PCI ne peut pas être correctement connecté à la machine virtuelle avec PowerCLI, nous expliquerons comment utiliser la bibliothèque python (pyvmomi) qui exécute l'API vSphere.
Ici, nous allons décrire la commande de construction d'environnement basée sur Ubuntu 14.04 pour vérification avec Bash sur Ubuntu sous Windows 10. La procédure est basée sur README sur le site Github de pyvmomi.
Tout d'abord, installez le package python-pip, puis installez pyvmomi à l'aide de pip. Après l'installation, vérifiez la version de pyvmomi installée avec pip au cas où.
# apt-get install pip
(réduction)
# 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 est une bibliothèque pour exécuter l'API vSphere avec Python Script. Par conséquent, Python Script est requis pour l'exécuter. Ici, nous allons exécuter jusqu'au point où nous utiliserons l'exemple de script sur Github.
Il existe des « pyvmomi-community-samples » dans le référentiel Github fourni par VMware. Téléchargez-le et essayez de l'exécuter.
# 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
Après le téléchargement, essayez d'exécuter getallvms.py </ code>. Pour vérifier les arguments, exécutez d'abord avec
-h </ code>, puis passez les arguments requis. Ici, il est exécuté pour l'hôte où seulement 1VM existe.
# 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 (Nom d'hôte ESXi) -u (Nom d'utilisateur connexion) -p (Mot de passe)
('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
J'ai pu obtenir les informations de la machine virtuelle sur l'hôte ESXi en toute sécurité.
Ceci termine l'installation de pyvmomi et la vérification des opérations à l'aide de l'exemple de script. La prochaine fois, j'utiliserai ce pyvmomi et le script de connexion de périphérique PCI publié dans ce GIST . , Défi pour définir les E / S VM DirectPath à partir du script.
Recommended Posts