iso2class. The boot volume of the singleton is an iso image. A second volume on the singleton is the target for the OS install. The end result is a singleton with a single volume which contains the installed OS. This singleton can be moved into a catalog and be used as the basis for creating new appliance classes.
iso2class has only been tested with very few OSes and originally was not made for general OS usage. 3tera is working to make iso2class more generic to work with a wide variety of OSes.
iso2class requires that the servers in the grid contain either Intel VT or AMD-V for hardware virtualization support (HVM). If HVM is not available on the grid, iso2class cannot be used.
util iso2class. Help is displayed using help util iso2class. The following option=value arguments are required:
| Option | Description |
|---|---|
app_name | Name of the application to be created. |
iso_volume1 | The volume which is copied to become the boot volume of the singleton in the application. This value may be in any of the following three forms: * _GLOBAL:vol_name: an existing global volume on the grid * http://path_to_iso_image: the URL of a volume image to be downloaded via HTTP. The URL must begin with http:// (https is currently not supported). * vol_name: the name of an existing iso image on the impex volume of the grid. |
install_size | Size of the target volume for the operating system install. Units default to MB unless explicitly set with M[B] or G[B]. |
console_type | The type of console to display during OS installation. Valid values are text and graphic. |
option=value pairs are optional:
| Option | Description |
|---|---|
iso_volume2 | An optional volume, specified in the same manner as iso_volume1. Typically this contains the second cd iso image of a two cd install; however, a volume of any file system type may be supplied. |
iso_volume3 | An optional volume, specified in the same manner as iso_volume1. |
iso_volume4 | An optional volume, specified in the same manner as iso_volume1. |
virt_options | Virtualization options in the form of a comma separated list of option=value pairs. For example, acpi=1 (which must be specified when installing Windows). The default value is empty. |
url_volume1_size | Size of the volume to create when importing iso_volume1 from a URL. Units default to MB unless explicitly set with M[B] or G[B]. It is recommended that url_volume1_size be specified when importing a compressed volume; otherwise, the volume has to be uncompressed twice (once to determine the size of the actual image and once for the actual import operation). |
url_volume2_size | Size of the volume to create when importing iso_volume2 from a URL. |
url_volume3_size | Size of the volume to create when importing iso_volume3 from a URL. |
url_volume4_size | Size of the volume to create when importing iso_volume4 from a URL. |
url_user | User name to use for authentication when importing the volume from a URL. If not specified, it is assumed there is no authentication. |
url_pwd | Password to use for authentication when importing the volume from a URL |
cpu | Default CPU allocation for the singleton in the format value[%]. For example, cpu=0.5 or cpu=50%. The minimum value is 0.05. The default value is 0.5. |
mem | Default memory allocation for the singleton in the format value[M or G]. For example, mem=512M. The minimum value is 128M. The default value is 512M. |
bw | Default bandwidth allocation for the singleton in the format value[M or G]. The minimum value is 1M. The default value is 1M. |
util iso2class app_name=ubuntu_install install_size=3G console_type=graphic iso_volume1=http://mirrors.cat.pdx.edu/ubuntu-releases/hardy/ubuntu-8.04.1-desktop-i386.iso virt_options=acpi=1
The following command is used to install Windows Server 2003 from two existing global volumes named win2003-disk-1-iso and win2003-disk-2-iso
util iso2class app_name=win03_install install_size=3G console_type=graphic iso_volume1=_GLOBAL:win2003-disk-1-iso iso_volume2=_GLOBAL:win2003-disk-2-iso virt_options=acpi=1
The following command is used to install Open Solaris 2008.11:
util iso2class app_name=osol200811_install install_size=4G iso_volume1=_GLOBAL:os200811.iso console_type=graphic
The following command is used to install Solaris 10:
util iso2class app_name=sol10_install install_size=6G iso_volume1=_GLOBAL:sol10.iso console_type=graphic
iso2class AppLogic utility. The ISO may be stored on the grid's impex volume, or a global volume or it may come from a remote website (via HTTP).
3tera has tested various ISOs downloaded from the web: Microsoft's website (trial versions of Windows 2003 Server), Ubuntu/Debian/CentOS 5. In addition, 3tera has tested Microsoft's SPLA Windows CD-ROMs (32-bit R2 Standard/Enterprise/Datacenter/Web editions). In order to use the SPLA Windows CD-ROMs to create Windows appliances, the ISO images must be created from the CD-ROMs so that they can be used with iso2class. Follow the instructions below to create an ISO from a CD-ROM for any OS distribution that you may want to use for your AppLogic appliances: mount command), unmount the CD-ROM: umount /mnt/cdrom /dev/cdrom on your Linux server
dd if=/dev/cdrom of=my-image.iso my-image.iso is now the ISO image you can use with iso2class to create your own Windows appliances. Typically this image is copied onto the grid's impex volume and imported as a global volume (vol import _GLOBAL:win03iso my-image.iso).
iso2class utility, _GLOBAL:win03iso would be the ISO image to use for the OS installation.
iso2class within the application. To access the console, either: Login (text) or Login (graphic).
iso2class. Use the pull-down Appliance menu to select Login (text) or Login (graphic).
iso_volume1 is available during the install. If iso_volume2 or iso_volume3 or iso_volume4 was specified on the command line, the singleton is restarted, using the target volume of the OS install as the boot volume, and including the additional iso_volumes.
fully managed - the appliance has the appropriate APK installed. For Windows, the APK is included in the Windows Server msi.
unmanaged - the appliance has no APK installed (it uses field engineering code 4, does not send events to the AppLogic controller, does not auto-configure its interfaces, and does not obtain properties from its boundary configuration).
os_install is made the boot volume of the singleton.
in, out, net and mon terminals are added.
Control Panel => Network Connections => Local Area Connection => Properties => Internet Protocol (TCP/IP) => Properties. Click on Use the following IP address and enter usable values for your grid (IP Address, netmask, gateway, DNS server).
netsh interface ip set address name="Local Area Connection" static [ip-address] [netmask] [gateway] 1
netsh interface ip set dns name="Local Area Connection" static [dns-ip]
Obtain an IP address automatically).
Windows msi files are included with AppLogic which transform a clean install of Windows 2003 SP2 into a managed appliance. To copy an msi file to the iso2class singleton: ipconfig /all and note the IP address of the DHCP server for the last enumerated connection (this always corresponds to the default interface). Note: the list may be displayed out of order.
http://IP-address:8080/download/ to obtain a directory listing which includes the msi files.
Save Target As to download the file to the desktop.
iso2class to install Windows, you must specify the virt_options=acpi=1 command line option.
route del default
route add default gw IP eth0 where IP is the IP address of the gateway on the external interface
hvm2pv utility to convert the HVM appliance to a fully managed PV appliance which includes a Linux APK. See the hvm2pv documentation for details.
src and dst
boot volume of the iso2class singleton to the src volume of the new application.
dst volume of the same size or larger.
src volume from dev = /dev/hda3 to dev = /dev/hdc and click OK to save the change.
src volume, e.g.: mkdir /src ; mount /dev/hdc1 /src
dst volume, e.g.: mkdir /dst ; mount /dev/hda4 /dst
cd /src ; /usr/bin/find . -depth -mount -print | /bin/cpio -pdmu /dst
ifconfig -a and note the broadcast subnet of the last enumerated network interface, e.g. 10.47.255.255. The IP address for the DHCP server is identical except for the last number which is 254, e.g. 10.47.255.254.
wget http://IP-address:8080/download/ to obtain a file index.html which lists all of the files downloadable from the controller, including the various APK's.
dst volume as the boot volume of a singleton.
console=graphic. After the install is complete, logging in to either of the graphical desktops may fail; however, the text-based login from the graphic console succeeds. This is a problem with Solaris (not a bug in AppLogic).