Add a New Hard Disk to VMware vSphere Virtual Machine - Ansible module vmware_guest_disk
How to automate the addition of a 1GB size Hard Disk to VMware Virtual Machine guest named “myvm” using Ansible Playbook and vmware_guest_disk module.
How to Add a new hard disk to VMware vSphere Virtual Machine with Ansible?
I’m going to show you a live demo and some simple Ansible code. I’m Luca Berton and welcome to today’s episode of Ansible Pilot.
Ansible Add disk to VMware vSphere Virtual Machine
community.vmware.vmware_guest_disk
- Manage disks related to virtual machines in given vCenter infrastructure
Let’s talk about the Ansible module
vmware_guest_disk
. The full name iscommunity.vmware.vmware_guest_disk
, which means that is part of the collection of modules to interact with VMware, community-supported. It manages disks related to the virtual machines in a given vCenter infrastructure.
Parameters
- hostname string / username string / password string / datacenter string / validate_certs boolean — connection details
- datacenter string — The datacenter name to which the virtual machine belongs to
- scsi_controller / unit_number / scsi_type string — SCSI controller details
- size / size_kb / size_mb / size_gb / size_tb string — Disk storage size
- disk_mode string — persistent / independent_persistent / independent_nonpersistent
The following parameters are useful in order to Add disk to VMware vSphere Virtual Machine using the module vmware_guest_disk
.
First of all, we need to establish the connection with VMware vSphere or VMware vCenter using a plethora of self-explicative parameters: hostname
, username
, password
, datacenter
, and validate_certs
.
Once the connection is successfully established you could specify the desired disk configuration, in this add a new disk to the virtual machine.
The mandatory parameters are only datacenter
and unit_number
.
The datacenter
parameter specifies which datacenter name the virtual machine belongs to, for resources allocations.
The disk must be connected to a SCSI controller inside the virtual machine, so you should specify all the small details like scsi_controller
, unit_number
, and scsi_type
.
You might be interested in deep-dive some performance analysis to property adjust these parameters.
You could specify the disk size via various parameters according to the needed size unit: kb, MB, GB, TB, etc.
One most important parameter is the disk_mode
, default to persistent
mode, other options are independent_persistent
and independent_nonpersistent
.
The Best Resources For Ansible
Certifications
- Coursera Pro - Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs—all included in your subscription
Video Course
Printed Book
-
Ansible For VMware by Examples
-
Ansible for Kubernetes by Example
-
Hands-on Ansible Automation
-
Red Hat Ansible Automation Platform
eBooks
- Ansible by Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
- Ansible Cookbook: A Comprehensive Guide to Unleashing the Power of Ansible via Best Practices, Troubleshooting, and Linting Rules with Luca Berton
- Terraform By Example: A Practical Approach for Beginners to Learn Cloud Infrastructure with Terraform
- Ansible For Windows By Examples: 50+ Automation Examples For Windows System Administrator And DevOps
- Ansible For Linux by Examples: 100+ Automation Examples For Linux System Administrator and DevOps
- Ansible Linux Filesystem By Examples: 40+ Automation Examples on Linux File and Directory Operation for Modern IT Infrastructure
- Ansible For Security by Examples: 100+ Automation Examples to Automate Security and Verify Compliance for IT Modern Infrastructure
- Ansible Tips and Tricks: 10+ Ansible Examples to Save Time and Automate More Tasks
- Ansible Linux Users & Groups By Examples: 20+ Automation Examples on Linux Users and Groups Operation for Modern IT Infrastructure
- Ansible For PostgreSQL by Examples: 10+ Examples To Automate Your PostgreSQL database
- Ansible For Amazon Web Services AWS By Examples: 10+ Examples To Automate Your AWS Modern Infrastructure
- Ansible Automation Platform By Example: A step-by-step guide for the most common user scenarios
Links
The Best Resources For Ansible
Certifications
- Coursera Pro - Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs—all included in your subscription
Video Course
Printed Book
-
Ansible For VMware by Examples
-
Ansible for Kubernetes by Example
-
Hands-on Ansible Automation
-
Red Hat Ansible Automation Platform
eBooks
- Ansible by Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
- Ansible Cookbook: A Comprehensive Guide to Unleashing the Power of Ansible via Best Practices, Troubleshooting, and Linting Rules with Luca Berton
- Terraform By Example: A Practical Approach for Beginners to Learn Cloud Infrastructure with Terraform
- Ansible For Windows By Examples: 50+ Automation Examples For Windows System Administrator And DevOps
- Ansible For Linux by Examples: 100+ Automation Examples For Linux System Administrator and DevOps
- Ansible Linux Filesystem By Examples: 40+ Automation Examples on Linux File and Directory Operation for Modern IT Infrastructure
- Ansible For Security by Examples: 100+ Automation Examples to Automate Security and Verify Compliance for IT Modern Infrastructure
- Ansible Tips and Tricks: 10+ Ansible Examples to Save Time and Automate More Tasks
- Ansible Linux Users & Groups By Examples: 20+ Automation Examples on Linux Users and Groups Operation for Modern IT Infrastructure
- Ansible For PostgreSQL by Examples: 10+ Examples To Automate Your PostgreSQL database
- Ansible For Amazon Web Services AWS By Examples: 10+ Examples To Automate Your AWS Modern Infrastructure
- Ansible Automation Platform By Example: A step-by-step guide for the most common user scenarios
demo
How to Add a disk to VMware vSphere Virtual Machine with Ansible. I’m going to show you how to add a 1GB additional disk to a Virtual Machine named “myvm” using Ansible Playbook in a SCSI controller number 1 and unit number 1.
code
- vm_add_disk.yml
---
- name: vm disk demo
hosts: localhost
become: false
gather_facts: false
collections:
- community.vmware
pre_tasks:
- include_vars: vars.yml
tasks:
- name: add disk to vm
vmware_guest_disk:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: "{{ vcenter_validate_certs }}"
datacenter: "{{ vcenter_datacenter }}"
name: "{{ vm_name }}"
disk:
- size_gb: "{{ vm_disk_gb }}"
type: "{{ vm_disk_type }}"
datastore: "{{ vm_disk_datastore }}"
state: present
scsi_controller: "{{ vm_disk_scsi_controller }}"
unit_number: "{{ vm_disk_scsi_unit }}"
scsi_type: "{{ vm_disk_scsi_type }}"
disk_mode: "{{ vm_disk_mode }}"
- vars.yml
---
vcenter_hostname: "vmware.example.com"
vcenter_datacenter: "vmwaredatacenter"
vcenter_validate_certs: false
vcenter_username: "[email protected]"
vcenter_password: "MySecretPassword123"
vm_name: "myvm"
vm_disk_gb: 1
vm_disk_type: "thin"
vm_disk_datastore: "datastore"
vm_disk_scsi_controller: 1
vm_disk_scsi_unit: 1
vm_disk_scsi_type: 'paravirtual'
vm_disk_mode: 'persistent'
- inventory
localhost
execution
$ ansible-playbook vm_add_disk.yml
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit
localhost does not match 'all'
PLAY [vm disk demo] *******************************************************************************
TASK [include_vars] *******************************************************************************
ok: [localhost]
TASK [add disk to vm] *****************************************************************************
changed: [localhost]
PLAY RECAP ****************************************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
before execution
after execution
Recap
Now you know how to Add disk to VMware vSphere Virtual Machine with Ansible.
Subscribe to the YouTube channel, Medium, and Website, X (formerly Twitter) to not miss the next episode of the Ansible Pilot.Academy
Learn the Ansible automation technology with some real-life examples in my
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate