Workaround Attach Additional Disk to VM: Difference between revisions
Jump to navigation
Jump to search
(→Part I) |
|||
| (7 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
= Abstract = | = Abstract = | ||
It is currently not possible to attach additional virtual disks directly via the | It is currently not possible to attach additional virtual disks directly via the webinterface. | ||
What you do in principle: | What you do in principle: | ||
* Update the VMs configuration data in the LDAP directory | * Update the VMs configuration data in the LDAP directory | ||
* Manually | * Manually create the virtual disk | ||
* Regenerate the VM configuration on the node | * Regenerate the VM configuration on the node | ||
| Line 13: | Line 13: | ||
== Part I == | == Part I == | ||
* Expand the VM entry for the VM you want to add an additional disk to and note the UUID below VM name ('''VMUUID''') | * In the vm-manager: Expand the VM entry for the VM you want to add an additional disk to and note the UUID below VM name ('''$VMUUID''') | ||
* Use <code>uuidgen</code> and generate a new UUID ('''DISKUUID''') | * In a shell: Use <code>uuidgen</code> and generate a new UUID ('''$DISKUUID''') | ||
* Calculate the size of the new disk in bytes: <code>N * 1073741824</code> for N gigabyte ('''DISKSIZE''') | * Calculate the size of the new disk in bytes: <code>N * 1073741824</code> for N gigabyte ('''$DISKSIZE''') | ||
* Open the URL http://YOURSTONEYCLOUD/phpldapadmin/ and login using <code>dc=Manager,...</code> | * Open the URL http://YOURSTONEYCLOUD/phpldapadmin/ and login using <code>dc=Manager,...</code> | ||
* Navigate to: <code>sstDisk=vda,ou=devices,sstVirtualMachine='''VMUUID''',ou=virtual machines,ou=virtualization,ou=services,dc= | * Navigate to: <code>sstDisk=vda,ou=devices,sstVirtualMachine='''$VMUUID''',ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=org</code> using the tree structure on the left | ||
* Click on <code>Copy or move this entry</code> and choose <code>sstDisk=vdb,ou=devices,sstVirtualMachine='''VMUUID''',ou=virtual machines,ou=virtualization,ou=services,dc=foss-cloud,dc=org</code> as <code>Destination DN</code> | * Click on <code>Copy or move this entry</code> and choose <code>sstDisk=vdb,ou=devices,sstVirtualMachine='''$VMUUID''',ou=virtual machines,ou=virtualization,ou=services,dc=foss-cloud,dc=org</code> as <code>Destination DN</code> | ||
* Replace: | * Replace: | ||
** the UUID in <code>sstVolumeName</code> | ** the UUID in <code>sstVolumeName</code> | ||
** and the same UUID in <code>sstSourceFile</code> with '''DISKUUID''' (warning: in <code>sstSourceFile</code> are at least two UUIDs, replace only the one matching <code>sstVolumeName</code>) | ** and the same UUID in <code>sstSourceFile</code> with '''$DISKUUID''' (warning: in <code>sstSourceFile</code> are at least two UUIDs, replace only the one matching <code>sstVolumeName</code>) | ||
** the value in <code>sstVolumeCapacity</code> by '''DISKSIZE''' | ** the value in <code>sstVolumeCapacity</code> by '''$DISKSIZE''' | ||
* Click on <code>Create</code> and confirm with <code>Commit</code> | * Click on <code>Create</code> and confirm with <code>Commit</code> | ||
* You should get: <code>Creation successful!</code> | * You should get: <code>Creation successful!</code> | ||
* Note the first UUID in the attribute <code>sstSourceFile</code> ('''POOLUUID''') | * Note the first UUID in the attribute <code>sstSourceFile</code> ('''$POOLUUID''') | ||
== Part II == | == Part II == | ||
* Login to the VM node on which the VM is/was running | * Login to the VM node on which the VM is/was running | ||
* Run the following command as root: <code>virsh vol-create-as '''POOLUUID''' '''DISKUUID'''.qcow2 '''DISKSIZE''' --format qcow2 --allocation 0</code> | * Run the following command as root: <code>virsh vol-create-as '''$POOLUUID''' '''$DISKUUID'''.qcow2 '''$DISKSIZE''' --format qcow2 --allocation 0</code> | ||
* You should get <code>Vol '''DISKUUID'''.qcow2 created</code> | * You should get: <code>Vol '''$DISKUUID'''.qcow2 created</code> | ||
* Run: <code>chown root:vm-storage /var/virtualization/'''POOLUUID'''/'''DISKUUID'''.qcow2</code> | * Run: <code>chown root:vm-storage /var/virtualization/vm-*/'''$POOLUUID'''/'''$DISKUUID'''.qcow2</code> | ||
* Run: <code>chmod g+rw /var/virtualization/'''POOLUUID'''/'''DISKUUID'''.qcow2</code> | * Run: <code>chmod g+rw /var/virtualization/vm-*/'''$POOLUUID'''/'''$DISKUUID'''.qcow2</code> | ||
* | |||
== Part III == | |||
* Open the stoney cloud webinterface (vm-manager) | |||
* Shutdown the VM (if not already done) | |||
* Click first on the <code>edit VM</code> icon and then <code>save</code> (without changing anything) | * Click first on the <code>edit VM</code> icon and then <code>save</code> (without changing anything) | ||
* Start the VM again | * Start the VM again | ||
[[Category:Workarounds]] | [[Category:Workarounds]] | ||
Latest revision as of 12:14, 2 May 2014
Abstract
It is currently not possible to attach additional virtual disks directly via the webinterface.
What you do in principle:
- Update the VMs configuration data in the LDAP directory
- Manually create the virtual disk
- Regenerate the VM configuration on the node
Step by step
Part I
- In the vm-manager: Expand the VM entry for the VM you want to add an additional disk to and note the UUID below VM name ($VMUUID)
- In a shell: Use
uuidgenand generate a new UUID ($DISKUUID) - Calculate the size of the new disk in bytes:
N * 1073741824for N gigabyte ($DISKSIZE) - Open the URL http://YOURSTONEYCLOUD/phpldapadmin/ and login using
dc=Manager,... - Navigate to:
sstDisk=vda,ou=devices,sstVirtualMachine=$VMUUID,ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=orgusing the tree structure on the left - Click on
Copy or move this entryand choosesstDisk=vdb,ou=devices,sstVirtualMachine=$VMUUID,ou=virtual machines,ou=virtualization,ou=services,dc=foss-cloud,dc=orgasDestination DN - Replace:
- the UUID in
sstVolumeName - and the same UUID in
sstSourceFilewith $DISKUUID (warning: insstSourceFileare at least two UUIDs, replace only the one matchingsstVolumeName) - the value in
sstVolumeCapacityby $DISKSIZE
- the UUID in
- Click on
Createand confirm withCommit - You should get:
Creation successful! - Note the first UUID in the attribute
sstSourceFile($POOLUUID)
Part II
- Login to the VM node on which the VM is/was running
- Run the following command as root:
virsh vol-create-as $POOLUUID $DISKUUID.qcow2 $DISKSIZE --format qcow2 --allocation 0 - You should get:
Vol $DISKUUID.qcow2 created - Run:
chown root:vm-storage /var/virtualization/vm-*/$POOLUUID/$DISKUUID.qcow2 - Run:
chmod g+rw /var/virtualization/vm-*/$POOLUUID/$DISKUUID.qcow2
Part III
- Open the stoney cloud webinterface (vm-manager)
- Shutdown the VM (if not already done)
- Click first on the
edit VMicon and thensave(without changing anything) - Start the VM again