- General information
- Data readiness
- Grid and Cloud
- Articles and publications
- Data Management
- Documentation
- Getting site information from VORS
- Globus 1.1.x
- Globus Toolkit Error FAQ
- Intro to FermiGrid site for STAR users
- Introduction to voms proxies for grid cert users
- Job Managers
- Modifying Virtual Machine Images and Deploying Them
- Rudiments of grid map files on gatekeepers
- SRM instructions for bulk file transfer to PDSF
- Scalability Issue Troubleshooting at EC
- Specification for a Grid efficiency framework
- Starting up a Globus Virtual Workspace with STAR’s image.
- Troubleshooting gsiftp at STAR-BNL
- Using the GridCat Python client at BNL
- Grid Infrastructure
- Grid Production
- Monitoring
- MySQL project activities
- Infrastructure
- Machine Learning
- Offline Software
- Production
- Test tree
Modifying Virtual Machine Images and Deploying Them
Updated on Fri, 2009-01-16 19:29. Originally created by lbhajdu on 2009-01-16 19:03.
Under:
Modifying Virtual Machine Images and Deploying Them
The steps:
login to stargrid01
Check that your ssh public key is in $home/.ssh/id_rsa.pub, if not put it there.
Select the base image you wish to modify. You will find the name of the image you are currently using for your cluster by looking inside:
/star/u/lbhajdu/ec2/workspace-cloud-client-010/samples/[cluster discretions].xml
Open up this file you will find a structure that looks something like the one below. There are two <workspace> blocks one for the gatekeeper and one for the worker nodes. The name of the image for the worker node is in the second block in-between the <image> tags. So for the example below the name would be osgworker-012.
To make a modification to the image we have to mount/deploy that image. Once we know the name, simply type:
./bin/cloud-client.sh --run --name [image name] --hours 50
Where [image name] is the name we found in step 3. This image will be up for 50 hours. You will have to save the image before you run out of time, else all of your changes will be lost.
The output of this command will look something like:
[stargrid01] ~/ec2/workspace-cloud-client-010/> ./bin/cloud-client.sh --run --name osgworker-012 --hours 50
(Overriding old GLOBUS_LOCATION '/opt/OSG-0.8.0-client/globus')
(New GLOBUS_LOCATION: '/star/u/lbhajdu/ec2/workspace-cloud-client-010/lib/globus')
SSH public keyfile contained tilde:
- '~/.ssh/id_rsa.pub' --> '/star/u/lbhajdu/.ssh/id_rsa.pub'
Launching workspace.
Workspace Factory Service:
https://tp-vm1.ci.uchicago.edu:8445/wsrf/services/WorkspaceFactoryService
Creating workspace "vm-003"... done.
IP address: 128.135.125.29
Hostname: tp-x009.ci.uchicago.edu
Start time: Tue Jan 13 13:59:04 EST 2009
Shutdown time: Thu Jan 15 15:59:04 EST 2009
Termination time: Thu Jan 15 16:09:04 EST 2009
Waiting for updates.
"vm-003" reached target state: Running
Running: 'vm-003'It will take some time for the command to finish, usually a few minutes. Make sure you do not loose the output for this command. Inside the output there are two pieces of information you must note. They are the hostname and the handle. In this example the hostname is tp-x009.ci.uchicago.edu and the handle is vm-003.
Next log on to the host using the host name from step 4. Note that your ssh public key will be copied to the /root/.ssh/id_rsa.pub. To log on type:
ssh root@[hostname]
Example:
ssh root@tp-x009.ci.uchicago.edu
Next make the change(s) to the image, you wish to make (this step is up to you).
To save the changes you will need the handle from step 2. And you will need to pick a name for the new image. Run this command:
./bin/cloud-client.sh --save --handle [handle name] --newname [new image name]
Where [handle name] is replaced with the name of the handle and [new image name] is replaced with the new image’s name. If you do not use the name option you will overwrite your image. Here is an example with the values from above.
./bin/cloud-client.sh --save --handle vm-003 --newname starworker-sl08f
The output will look something like this:
[stargrid01] ~/ec2/workspace-cloud-client-010/> ./bin/cloud-client.sh --save --handle vm-004 --newname starworker-sl08e
(Overriding old GLOBUS_LOCATION '/opt/OSG-0.8.0-client/globus')
(New GLOBUS_LOCATION: '/star/u/lbhajdu/ec2/workspace-cloud-client-010/lib/globus')
Saving workspace.
- Workspace handle (EPR): '/star/u/lbhajdu/ec2/workspace-cloud-client-010/history/vm-004/vw-epr.xml'
- New name: 'starworker-sl08e'
Waiting for updates.
"Workspace #919": TransportReady, calling destroy for you.
"Workspace #919" was terminated.This is an optional step, because the images can be several GB big you may want to delete the old image with this command:
./bin/cloud-client.sh --delete --name [old image name]
This is what it would look like:
(Overriding old GLOBUS_LOCATION '/opt/OSG-0.8.0-client/globus')
(New GLOBUS_LOCATION: '/star/u/lbhajdu/ec2/workspace-cloud-client-010/lib/globus')
Deleting: gsiftp://tp-vm1.ci.uchicago.edu:2811//cloud/56441986/starworker-sl08f
Deleted.To start up a cluster with the new image you will need to modify one of the:
/star/u/lbhajdu/ec2/workspace-cloud-client-010/samples/[cluster discretion].xml
file inside the <workspace> block of the worker node replace <image> with the name of your own image from step 7. You can also set the number of worker node images you wish to bring up by setting the number in the <quantity> tag.
Note: Be careful remember there are usually at least two <workspace> blocks in each xml fie.
Next just bring up the cluster like any other VM cluster. (See my Drupal documentation)
<workspace>
<name>head-node</name>
<image>osgheadnode-012</image>
<quantity>1</quantity>
.
.
.
</workspace>
<workspace>
<name>compute-nodes</name>
<image>osgworker-012</image>
<quantity>3</quantity>
<nic interface=”eth1”>private</nic>
.
.
.
</workspace>
»
- Printer-friendly version
- Login or register to post comments