You can manipulate VMFS datastores with the MAAS CLI. Note that VMFS datastores cannot be managed via the MAAS UI.
Create VMFS datastore
A VMware VMFS datastore is created on one or more block devices or partitions.
To create a VMFS Datastores on a machine use the ‘vmfs-datastores create’ API call:
maas $PROFILE vmfs-datastores create $SYSTEM_ID name=$VMFS_NAME block_devices=$BLOCK_ID_1,$BLOCK_ID_2 partitions=$PARTITION_ID_1,$PARTITION_ID_2
{
"system_id": "b66fn6",
"devices": [
{
"uuid": "b91df576-ba02-4acb-914f-03ba9a2865b7",
"size": 2814377984,
"bootable": false,
"tags": [],
"device_id": 1,
"system_id": "b66fn6",
"type": "partition",
"used_for": "VMFS extent for datastore42",
"filesystem": {
"fstype": "vmfs6",
"label": null,
"uuid": "fc374367-a2fb-4e50-9377-768bfe9705b6",
"mount_point": null,
"mount_options": null
},
"path": "/dev/disk/by-dname/vda-part3",
"id": 80,
"resource_uri": "/MAAS/api/2.0/nodes/b66fn6/blockdevices/1/partition/80"
}
],
"name": "datastore42",
"filesystem": {
"fstype": "vmfs6",
"mount_point": "/vmfs/volumes/datastore42"
},
"id": 19,
"size": 2814377984,
"uuid": "2711566c-2df4-4cc4-8c06-7392bb1f9532",
"human_size": "2.8 GB",
"resource_uri": "/MAAS/api/2.0/nodes/b66fn6/vmfs-datastore/19/"
}
Edit VMFS datastore
To edit an existing VMFS Datastores on a machine use the ‘vmfs-datastore update’ API call:
maas $PROFILE vmfs-datastore update $SYSTEM_ID $VMFS_ID name=$NEW_VMFS_NAME add_block_devices=$NEW_BLOCK_ID_1,$NEW_BLOCK_ID_2 add_partitions=$NEW_PARTITION_ID_1,$NEW_PARTITION_ID_2 remove_partitions=$EXISTING_PARTITION_ID1,$EXISTING_PARTITION_ID2
{
"uuid": "2711566c-2df4-4cc4-8c06-7392bb1f9532",
"name": "datastore42",
"system_id": "b66fn6",
"id": 19,
"filesystem": {
"fstype": "vmfs6",
"mount_point": "/vmfs/volumes/datastore42"
},
"human_size": "13.5 GB",
"devices": [
{
"uuid": "b91df576-ba02-4acb-914f-03ba9a2865b7",
"size": 2814377984,
"bootable": false,
"tags": [],
"system_id": "b66fn6",
"used_for": "VMFS extent for datastore42",
"type": "partition",
"id": 80,
"filesystem": {
"fstype": "vmfs6",
"label": null,
"uuid": "fc374367-a2fb-4e50-9377-768bfe9705b6",
"mount_point": null,
"mount_options": null
},
"device_id": 1,
"path": "/dev/disk/by-dname/vda-part3",
"resource_uri": "/MAAS/api/2.0/nodes/b66fn6/blockdevices/1/partition/80"
},
{
"uuid": "f21fe54e-b5b1-4562-ab6b-e699e99f002f",
"size": 10729029632,
"bootable": false,
"tags": [],
"system_id": "b66fn6",
"used_for": "VMFS extent for datastore42",
"type": "partition",
"id": 86,
"filesystem": {
"fstype": "vmfs6",
"label": null,
"uuid": "f3d9b6a3-bab3-4677-becb-bf5a421bfcc2",
"mount_point": null,
"mount_options": null
},
"device_id": 2,
"path": "/dev/disk/by-dname/vdb-part1",
"resource_uri": "/MAAS/api/2.0/nodes/b66fn6/blockdevices/2/partition/86"
}
],
"size": 13543407616,
"resource_uri": "/MAAS/api/2.0/nodes/b66fn6/vmfs-datastore/19/"
}
Delete VMFS datastore
To delete a VMFS Datastores on a machine use the ‘vmfs-datastore delete’ API call:
maas $PROFILE vmfs-datastore delete $SYSTEM_ID $VMFS_ID
List VMFS datastores
To view all VMFS Datastores on a machine, use the ‘vmfs-datastores read’ API call:
maas $PROFILE vmfs-datastores read $SYSTEM_ID
[
{
"human_size": "45.8 GB",
"filesystem": {
"fstype": "vmfs6",
"mount_point": "/vmfs/volumes/datastore1"
},
"uuid": "2779a745-1db3-4fd7-b06e-455b728fffd4",
"name": "datastore1",
"system_id": "4qxaga",
"devices": [
{
"uuid": "c55fe657-689d-4570-8492-683dd5fa1c40",
"size": 35026632704,
"bootable": false,
"tags": [],
"used_for": "VMFS extent for datastore1",
"filesystem": {
"fstype": "vmfs6",
"label": null,
"uuid": "55ac6422-68b5-440e-ba65-153032605b51",
"mount_point": null,
"mount_options": null
},
"type": "partition",
"device_id": 5,
"path": "/dev/disk/by-dname/sda-part3",
"system_id": "4qxaga",
"id": 71,
"resource_uri": "/MAAS/api/2.0/nodes/4qxaga/blockdevices/5/partition/71"
},
{
"uuid": "5182e503-4ad4-446e-9660-fd5052b41cc5",
"size": 10729029632,
"bootable": false,
"tags": [],
"used_for": "VMFS extent for datastore1",
"filesystem": {
"fstype": "vmfs6",
"label": null,
"uuid": "a5949b18-d591-4627-be94-346d0fdaf816",
"mount_point": null,
"mount_options": null
},
"type": "partition",
"device_id": 6,
"path": "/dev/disk/by-dname/sdb-part1",
"system_id": "4qxaga",
"id": 77,
"resource_uri": "/MAAS/api/2.0/nodes/4qxaga/blockdevices/6/partition/77"
}
],
"id": 17,
"size": 45755662336,
"resource_uri": "/MAAS/api/2.0/nodes/4qxaga/vmfs-datastore/17/"
}
]
View VMFS datastore
To view a specific VMFS Datastores on a machine, use the ‘vmfs-datastore read’ API call:
maas $PROFILE vmfs-datastore read $SYSTEM_ID $VMFS_DATASTORE_ID
{
"uuid": "fb6fedc2-f711-40de-ab83-77eddc3e19ac",
"name": "datastore1",
"system_id": "b66fn6",
"id": 18,
"filesystem": {
"fstype": "vmfs6",
"mount_point": "/vmfs/volumes/datastore1"
},
"human_size": "2.8 GB",
"devices": [
{
"uuid": "b91df576-ba02-4acb-914f-03ba9a2865b7",
"size": 2814377984,
"bootable": false,
"tags": [],
"system_id": "b66fn6",
"used_for": "VMFS extent for datastore1",
"type": "partition",
"id": 80,
"filesystem": {
"fstype": "vmfs6",
"label": null,
"uuid": "4a098d71-1e59-4b5f-932d-fc30a1c0dc96",
"mount_point": null,
"mount_options": null
},
"device_id": 1,
"path": "/dev/disk/by-dname/vda-part3",
"resource_uri": "/MAAS/api/2.0/nodes/b66fn6/blockdevices/1/partition/80"
}
],
"size": 2814377984,
"resource_uri": "/MAAS/api/2.0/nodes/b66fn6/vmfs-datastore/18/"
}