Openqrm Cloud Howto Deploying Physical Windows Systems on Centos 5.5

download Openqrm Cloud Howto Deploying Physical Windows Systems on Centos 5.5

of 95

Transcript of Openqrm Cloud Howto Deploying Physical Windows Systems on Centos 5.5

ThisHowToisbroughttoyoubyopenQRMEnterprise [http://www.openqrm-enterprise.com/] DocumentVersion:25.05.2010 openQRMEnterpriseGmbH BerrenratherStrae188c 50937Kln/Germany Telefon:+49(0)221995589-10 Fax:+49(0)221995589-20 Mail:[email protected]

ThisHowToguidesyoustep-by-stepthroughanopenQRMCloudsetuponCentOS5.5fordeployingphysicalWindowsSystems. HardwarerequiredforthisHowToare2physicalsystems.ThetechnicaldetailsofthisopenQRMCloudsetuparedescribedinthe openQRM Enterprise Documentation at http://www.openqrm-enterprise.com/news/details/article/in-depth-documentationof-openqrm-available.html [http://www.openqrm-enterprise.com/news/details/article/in-depth-documentation-of-openqrm-available.html] sectionConfiguringaBasicSetup.

1 of 95

WheninstallingthesystemwithCentOS5.5inthepartitioninglayoutscreenselectAdvancedstorageconfigurationpartitioning. Create3Partitions: 1. primaryext3mountedat/(therootfs) 2. primaryswap 3. primarylvm(fortheserver-imagestore) Importantistouseacustompartitionschemaandcreateadedicatedpartitionforlaterstoringtheserver-images(inthisHowToit willbe/dev/hda3).Inthepackage-selectionscreenchooseGnomeDesktopEnvironment.Noneedtoinstallanyextrasoftware packagesfornow. Pleasenotice:IntheSELinuxscreenpleasedisableSELinux!IntheFirewallscreenpleasedisablethefirewall! Whentheinstallationfinishedrebootandlogin.HereascreenshotoftheCentOSDesktopdirectlyaftertheinstallation:

Belowaconsoleoutputoflsb_releaseshowingtheexactCentOSversion.PleasenoticethatallconsolecommandsinthisHowTo arebeingexecutedasroot.[root@cloud ~]# lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.5 (Final) Release: 5.5 Codename: Final [root@cloud ~]#

2 of 95

Nowedit/etc/sysconfig/network-scripts/ifcfg-eth0andsetupstatic,privateip-address.(Inthisexampleitis192.168.88.6.Please adapttheip-configurationtoyournetwork-environment)[root@cloud network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none HWADDR=00:02:b3:a0:d3:12 ONBOOT=yes DHCP_HOSTNAME=cloud IPADDR=192.168.88.6 NETMASK=255.255.255.0 GATEWAY=192.168.88.1 TYPE=Ethernet [root@cloud network-scripts]#

Thenapplythenewnetworkconfigurationbyrestartingthenetwork.[root@cloud network-scripts]# /etc/init.d/network restart Shutting down interface eth0: Shutting down loopback interface: Bringing up loopback interface: Bringing up interface eth0: [root@cloud network-scripts]#

[ [ [ [

OK OK OK OK

] ] ] ]

Nowsetupthestaticip-address(inthisHowTo192.168.88.6)andhostnamein/etc/hosts.Pleasemakesurethatthehostname (inthisHowtocloud)doesnotappearinthelinestartingwith127.0.0.1.[root@cloud ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.88.6 cloud ::1 localhost6.localdomain6 localhost6 [root@cloud ~]#

Nowpreparethededicatedpartitiontobeusedwithlvm,thencreatealogicalvolumegroupvol.[root@cloud ~]# pvcreate /dev/hda3 Physical volume "/dev/hda3" successfully created [root@cloud ~]# vgcreate vol /dev/hda3 Volume group "vol" successfully created [root@cloud ~]# vgs VG #PV #LV #SN Attr VSize VFree vol 1 0 0 wz--n- 186.22G 186.22G [root@cloud ~]#

3 of 95

SinceCentOSdoesnotprovideastandardrpmpackagefortheietd(EnterpriseiSCSITarget)thisneedstobebuildfromthe sources.[root@cloud ~]# yum -y install kernel-devel openssl-devel gcc rpm-build Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile .... Complete! [root@cloud ~]#

Create ietd dir and download and unpack latest iscsi-target-[version].tar.gz from http://iscsitarget.sourceforge.net/ [http://iscsitarget.sourceforge.net/] :[root@cloud ~]# mkdir ietd [root@cloud ~]# cd ietd/ [root@cloud ietd]# wget http://sourceforge.net/projects/iscsitarget/files/iscsitarget/1.4.20.1/iscsitarget-1.4.20.1.tar.gz/ .... 2002-06-10 20:41:12 (245 KB/s) - `iscsitarget-1.4.20.1.tar.gz' saved [137487/137487] [root@cloud ietd]# tar -xzf iscsitarget-1.4.20.1.tar.gz [root@cloud ietd]# cd iscsitarget-1.4.20.1

Compile:[root@cloud iscsitarget-1.4.20.1]# make Applying Patch compat-2.6.32.patch patching file kernel/conn.c Applying Patch compat-2.6.31.patch .... CC [M] /root/ietd/iscsitarget-1.4.20.1/kernel/seq_list.o LD [M] /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.o Building modules, stage 2. MODPOST CC /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.mod.o LD [M] /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.ko make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.3.1.el5-i686'

Install:[root@cloud iscsitarget-1.4.20.1]# make install `usr/ietd' -> `/usr/sbin/ietd' `usr/ietadm' -> `/usr/sbin/ietadm' `etc/initd/initd.redhat' -> `/etc/init.d/iscsi-target' install: creating directory `/etc/iet' `etc/ietd.conf' -> `/etc/iet/ietd.conf' `etc/initiators.allow' -> `/etc/iet/initiators.allow' `etc/targets.allow' -> `/etc/iet/targets.allow' `doc/manpages/ietadm.8' -> `/usr/share/man/man8/ietadm.8' `doc/manpages/ietd.8' -> `/usr/share/man/man8/ietd.8' `doc/manpages/ietd.conf.5' -> `/usr/share/man/man5/ietd.conf.5' install: creating directory `/usr/share/doc/iscsitarget' `ChangeLog' -> `/usr/share/doc/iscsitarget/ChangeLog' `COPYING' -> `/usr/share/doc/iscsitarget/COPYING' `RELEASE_NOTES' -> `/usr/share/doc/iscsitarget/RELEASE_NOTES' `README' -> `/usr/share/doc/iscsitarget/README' `README.vmware' -> `/usr/share/doc/iscsitarget/README.vmware' `README.initiators' -> `/usr/share/doc/iscsitarget/README.initiators' `kernel/iscsi_trgt.ko' -> `/lib/modules/2.6.18-194.3.1.el5/extra/iscsi/iscsi_trgt.ko' Running depmod [root@cloud iscsitarget-1.4.20.1]#

Adaptcompatibilityfortheietd.confconfigfilelocation:[root@cloud [root@cloud [root@cloud [root@cloud ~]# mv /etc/iet/ietd.conf /etc/iet/ietd.conf.org ~]# > /etc/ietd.conf ~]# ln -s /etc/ietd.conf /etc/iet/ietd.conf ~]#

StarttheiSCSI-Target:[root@cloud ~]# /etc/init.d/iscsi-target start Starting iSCSI Target: [root@cloud ~]#

[

OK

]

4 of 95

FortheopenQRMServerDatabasebackendpleaseinstallthemysql-serverpackage.[root@cloud ~]# yum -y install mysql-server Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile .... Complete! [root@cloud ~]#

Afterinstallstartthemysqldservice:[root@cloud ~]# /etc/init.d/mysqld start Initializing MySQL database: Installing MySQL system tables... 100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 OK Filling help tables... 100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h cloud password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com [ OK ] Starting MySQL: [ OK ] [root@cloud ~]#

adjusted to 4294967295 adjusted to 4294967295

adjusted to 4294967295 adjusted to 4294967295

Nowcheckthatyoucanconnecttoit:[root@cloud ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> quit Bye [root@cloud ~]#

Addmysqldtoinitviachkconfig:[root@cloud [root@cloud [root@cloud mysqld [root@cloud bin]# chkconfig --add mysqld bin]# chkconfig mysqld on bin]# chkconfig --list mysqld 0:off 1:off 2:on bin]#

3:on

4:on

5:on

6:off

5 of 95

WebuildopenQRMfromthesourceswhichareavailableintheopenQRMProjectssubversionrepository.Theonlyrequirementfor thatistohavesubversion(client)andmakeavailablesopleaseinstallbothcomponents.[root@cloud ~]# yum -y install subversion Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile .... Complete! [root@cloud ~]#

NowcheckouttheopenQRMsourcesfromthesvnrepository.[root@cloud ~]# svn co https://openqrm.svn.sourceforge.net/svnroot/openqrm openqrm .... A openqrm/trunk/src/rpm/README A openqrm/trunk/src/rpm/openqrm-entire.spec A openqrm/branches A openqrm/tags Checked out revision 1996. [root@cloud ~]#

Changetothesrc/dir.[root@cloud ~]# cd openqrm/trunk/src/ [root@cloud src]#

Andrunmake.Pleasenoticethatthissteprequiresaworkinginternetconnection.Ifnointernetisavailableonthissystemyou can download http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download [http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download] and unzip it in your home directory.Thisbuild-cachethenwillavoidanydownloads.[root@cloud src]# make .... [root@cloud src]#

AllcompilationresultsarecachedbytheopenQRMbuild-system.Toensureallcomponentsarebuildcorrectlysimplyrunmake again.Thesecond(andeveryfurthermakerun)willjusttakesafewseconds.Herehowtheconsoleoutputlookslikeforthe secondmakerun:[root@cloud src]# make Checking requirements for the compilation phase openqrm-server requires: make, gcc, portmap, rsync, zlib-devel, wget, tar, bzip2, unzip, patch found make installed found gcc installed found portmap installed found rsync installed found zlib-devel installed found wget installed found tar installed found bzip2 installed found unzip installed found patch installed openqrm-plugin-aoe-storage requires: openqrm-plugin-aws requires: openqrm-plugin-citrix requires: openqrm-plugin-cloud requires: openqrm-plugin-collectd requires: openqrm-plugin-dhcpd requires: openqrm-plugin-dns requires: openqrm-plugin-equallogic-storage requires: openqrm-plugin-highavailability requires: openqrm-plugin-image-shelf requires: openqrm-plugin-iscsi-storage requires: openqrm-plugin-kvm requires: openqrm-plugin-kvm-storage requires: openqrm-plugin-linux-vserver requires: openqrm-plugin-linuxcoe requires: openqrm-plugin-local-server requires: openqrm-plugin-local-storage requires: openqrm-plugin-lvm-storage requires: openqrm-plugin-nagios2 requires: openqrm-plugin-nagios3 requires: openqrm-plugin-netapp-storage requires: openqrm-plugin-nfs-storage requires: openqrm-plugin-puppet requires: openqrm-plugin-sanboot-storage requires: openqrm-plugin-solx86 requires:

6 of 95

openqrm-plugin-sshterm requires: openqrm-plugin-tftpd requires: openqrm-plugin-tmpfs-storage requires: openqrm-plugin-vbox requires: openqrm-plugin-vmware-esx requires: openqrm-plugin-vmware-server requires: openqrm-plugin-vmware-server2 requires: openqrm-plugin-windows requires: openqrm-plugin-xen requires: openqrm-plugin-xen-storage requires: openqrm-plugin-zabbix requires: openqrm-plugin-zfs-storage requires: Checking for required components to compile openQRM finished successfully if [ -d ./thirdparty ]; then mkdir -p ../buildtmp; cp -aR ./thirdparty/* ../buildtmp/; fi -> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded -> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded -> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded -> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded Creating the default initrd-template -> found component busybox (busybox-1.14.2.tar.bz2) already downloaded -> Found busybox-1.14.2/_install/bin/busybox already in the build-cache -> Skipping compilation, taking the ready built component from the cache -> found component pciutils (pciutils-3.1.4.tar.gz) already downloaded -> Found pciutils-3.1.4/pcimodules already in the build-cache -> Skipping compilation, taking the ready built component from the cache -> found component dropbear (dropbear-0.52.tar.gz) already downloaded -> Found dropbear-0.52/dropbear already in the build-cache -> Skipping compilation, taking the ready built component from the cache Adding /sbin/portmap to default initrd-template Adding /sbin/rpc.statd to default initrd-template Adding /bin/bash to default initrd-template Adding /usr/bin/rsync to default initrd-template Adding /usr/bin/wget to default initrd-template Adding /sbin/modprobe to default initrd-template Adding /sbin/depmod to default initrd-template Adding /sbin/insmod to default initrd-template Adding /sbin/lsmod to default initrd-template Adding /sbin/mke2fs to default initrd-template Adding /sbin/sfdisk to default initrd-template Adding /sbin/udevd to default initrd-template Adding /lib/udev/vol_id to default initrd-template -> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded -> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded -> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded -> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded -> found component adodb (adodb498.tgz) already downloaded -> found component jquery (jquery-1.3.2.tgz) already downloaded -> found component js-interface (interface_1.2.zip) already downloaded -> found component openqrm-client.centos.i386 (openqrm-client.4.6.1.centos.i386.tgz) already downloaded -> found component openqrm-client.centos.x86_64 (openqrm-client.4.6.1.centos.x86_64.tgz) already downloaded -> found component openqrm-client.debian.i386 (openqrm-client.4.6.1.debian.i386.tgz) already downloaded -> found component openqrm-client.debian.x86_64 (openqrm-client.4.6.1.debian.x86_64.tgz) already downloaded -> found component openqrm-client.ubuntu.i386 (openqrm-client.4.6.1.ubuntu.i386.tgz) already downloaded -> found component openqrm-client.ubuntu.x86_64 (openqrm-client.4.6.1.ubuntu.x86_64.tgz) already downloaded -> found component openqrm-initrd-template.centos.i386 (openqrm-initrd-template.4.6.1.centos.i386.tgz) already downloaded -> found component openqrm-initrd-template.centos.x86_64 (openqrm-initrd-template.4.6.1.centos.x86_64.tgz) already download -> found component openqrm-initrd-template.debian.i386 (openqrm-initrd-template.4.6.1.debian.i386.tgz) already downloaded -> found component openqrm-initrd-template.debian.x86_64 (openqrm-initrd-template.4.6.1.debian.x86_64.tgz) already download -> found component openqrm-initrd-template.ubuntu.i386 (openqrm-initrd-template.4.6.1.ubuntu.i386.tgz) already downloaded -> found component openqrm-initrd-template.ubuntu.x86_64 (openqrm-initrd-template.4.6.1.ubuntu.x86_64.tgz) already download [root@cloud src]#

Thenrunmakeinstall.[root@cloud src]# make install include/ include/openqrm-plugin-local-storage-functions bin/ .... Creating the openqrm-client boot-service package [root@cloud src]#

7 of 95

AndfinallyinitializeandstartopenQRMbysudomakestart.[root@cloud src]# make start Checking the requirements for RedHat based systems ... openqrm-server requires: httpd, php, php-mysql, php-soap, mysql, syslinux, screen, procmail, openssl -> found httpd installed NOTICE: Trying to automatically install php ... Loaded plugins: fastestmirror .... Checking for required components finished successfully Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.88.6 for Server [ OK ] First startup detected. Running initialization. Looking for syslinux/pxelinux.0...found: /usr/lib/syslinux/pxelinux.0 Creating custom apache config.../etc/httpd/conf.d/openqrm-httpd.conf Checking /usr/share/openqrm/etc/openqrm-server.conf for OP[ OK ]B_PROTOCOL=https..Reloading httpd: Adding password for user openqrm Initializing dropbear... Will output 1024 bit rsa secret key to '/usr/share/openqrm/etc/dropbear/dropbear_rsa_host_key' Generating key, this may take a while... Public key portion is: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgmOa49UMeOPqid06cR96yfRD/SQ98J1REpLKyyJ518iFFQyGKb9j2quZD+8FfKYt6rgFgS6 kGw95qJf6lqYc/rIH5ezcl4bVCn0Zo9pQkTyF496+iAp6AbPOX9KfBivu+5KWc7sfxOiDWGErPhzTGSkvjxwDAu2PkXAvTjUHMhhXxLk= root@cloud Fingerprint: md5 de:cc:34:cb:2b:e5:b1:3d:50:dd:cc:f0:b5:ca:e9:e5 Adding public key to /root/.ssh/authorized_keys... Starting the openQRM-server ver. 4.6. Initialization complete. Please configure your openQRM Server at: http://192.168.88.6/openqrm/ -> User: openqrm -> Password: openqrm [root@cloud src]#

make start triggers a check for the openQRM runtime-dependencies which will install all additional required packages automatically.AtfirststarttheopenQRMServerisinitialized. WearenowreadytoconfiguretheopenQRMServerviatheWeb-UI.

8 of 95

LogintoyouropenQRMServerathttp://-ip-address-/openqrm[http://-ip-address-/openqrm] .Userandpasswordisopenqrm.Please makesuretochangethisdefaultcredentialsaftertheconfigurationphase.

9 of 95

The step-by-step Web-based configuration guides you through the setup phase. First select the first interface (eth0) as the openQRMmanagementnetwork-device.

10 of 95

ThenselectmyslqastheDatabasetouseastheopenQRMbackend.

11 of 95

AndthenconfiguretheDatabaseconnectioncredentials.

12 of 95

openQRMisnowfullyconfiguredandwillforwardtotheDatacenterDashboard.

13 of 95

TheopenQRMDatacenterDashboard

14 of 95

ViathePlugin-managerpleaseenableandstartthefollowingplug-insinthesamesequenceaslistedbelow: dhcpd tftpd sanboot-storage windows cloud

15 of 95

Afterthatplease go to Base ComponentsCreate Storage and create a newStorage fromthe type Sanboot-Storage (iSCSI).SelecttheopenQRMServerresource

16 of 95

HerejustgivetheStorageServeranameandsave.

17 of 95

HerehowtheStorageListlooksnow.

18 of 95

ClickontheMgmtbuttonofthenewcreatedsanbootStorageServer.

19 of 95

Pleaseselectthevolvolumegroup.

20 of 95

Nowcreateanewvolumewiththenamewindowsxpandthesizeslightlybiggerthanthelocalharddiskofthesystemwhichis usedtocreatethewindowsimage.InthisHowToa40GBlocaldiskisusedtoinstallandtransferaWindowsinstallationtoaLun onaniSCSI-Target.Thevolumewecreateis41000MBsoalittlebitbiggerthantheactualphysicaldisk. HerehowtheVolumeListlooksnow.

Ontheconsoleitnowlookslike:[root@cloud ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% windowsxp vol -wi-ao 40.04G [root@cloud ~]# cat /etc/ietd.conf Target windowsxp:windowsxp Lun 0 Path=/dev/mapper/vol-windowsxp,Type=fileio [root@cloud ~]#

Convert

21 of 95

InstallWindowsonthelocaldiskofthesecondsystem ForthisHowToweusedWindowsXPProfessionalandexactlyfollowedtheGPXE-Instructionsathttp://etherboot.org/wiki/sanboot /winxp [http://etherboot.org/wiki/sanboot/winxp] Werecommendtodoafreshinstallandfullformatofthelocalharddiskduringtheinstallprocedure! Pleasenotice: Themethodinstalllocal+transfertoiSCSILunisusedbecauseWindowsXPdoesnotsupporttobeinstalleddirectlyonthe iSCSI-Target.NewerversionsofWindows(e.g.Windows7)canbedirectlyinstalledontotheiSCSI-Target.http://etherboot.org /wiki/sanboot/iscsi_install[http://etherboot.org/wiki/sanboot/iscsi_install]

22 of 95

After Windows is installed please add the iSCSI Boot support. Open a web browser and point it to http://etherboot.org /wiki/sanboot/winnt_iscsi[http://etherboot.org/wiki/sanboot/winnt_iscsi] OnthewebpagedownloadtheInitiator2.xboot-buildxxx-arch/lang.exeaccordingtoyourWindowsinstallation.Herewepickthe i386/X86ENone.

23 of 95

DownloadthisfiletoyourDesktop.

24 of 95

Pleaseexecuteitandfollowtheinstallationinstructions.

25 of 95

26 of 95

27 of 95

28 of 95

29 of 95

Now please download the Windows SAN Boot Configuration Driver from http://etherboot.org/wiki/sanboot/winnt_sanbootconf[http://etherboot.org/wiki/sanboot/winnt_sanbootconf]

30 of 95

ThisfileisaZIP-FilecontainingtheSANBootdriver.Pleasedouble-clickandextractittoyourDesktop.

31 of 95

Double-clickontheextracteddirectory.

32 of 95

Double-clickthesanbootconfdirectory.

33 of 95

NowrunthesanbootconfInstallerandfollowtheinstructions.

34 of 95

AccepttheGNUGeneralPublicLicense.

35 of 95

36 of 95

Installationcompleted.

37 of 95

Transferdiskcontentusingnc TotransferthediskcontentofthelocalinstallWindowsSystemtotheiSCSILunontheSanbootStorageServerweareusinga simply client-server raw data transfer via the combination of nc and dd. Please find more details at http://solutions.unixsherpa.com/2009/08/10/remote-mirroring-using-nc-and-dd/ [http://solutions.unixsherpa.com/2009/08/10/remotemirroring-using-nc-and-dd/]

Afterthe Windowsinstallation rebootthe systemand configure the boot-sequence in itsBIOSto startfromnetwork(pxe-boot). Save the changed bios settings and the system will now boot into openQRM as new idle resource from the type Physical System. Whenthesystemisintheidlestatepleasefollowthestepsbelowtotransferthedisk-contentfromthephysicalwindowssystem totheiSCSILun: 1.startanclistenerontheWindowslogicalvolume[root@cloud ~]# ls /dev/mapper/vol-windowsxp /dev/mapper/vol-windowsxp [root@cloud ~]# nc -l 12345 | dd of=/dev/mapper/vol-windowsxp # this command won't return but listen on port 12345 to submit data # which it reads bitwise from the network port to /dev/mapper/vol-windowsxp

2.loginviatheopenqrmlogincommand Herethesyntaxoftheopenqrmlogincomand:/usr/share/openqrm/bin/openqrm login -i [ip-address-of-the-idle-resource-withe-the-windows-installed-on-local-disk] [root@cloud ~]# cd /usr/share/openqrm/bin/ [root@cloud bin]# ./openqrm login -i 192.168.88.251 Login to resource 192.168.88.251 ... Host '192.168.88.251' key accepted unconditionally. (fingerprint md5 ff:5f:e7:60:ae:14:74:4a:39:15:8c:a6:62:98:73:0b) bash-3.2#

Please notice that this shell does not have a PATH environment var set. Commands can be run using the full path in the commandline. Herehowtoidentifythelocaldiskwiththewindowsinstallationbash-3.2# cat /proc/partitions major minor #blocks name 8 0 39082680 sda 8 1 39070048 sda1 bash-3.2# /sbin/fdisk -l /dev/sda Disk /dev/sda: 40.0 GB, 40020664320 bytes 255 heads, 63 sectors/track, 4865 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 4864 39070048+ 7 HPFS/NTFS bash-3.2#

3.ddtoremotenclistener Usethecombinationofdd+nctotransferthediskcontenttotheremotelogicalvolume.bash-3.2# bash-3.2# dd if=/dev/sda | nc 192.168.88.6 12345

Please notice thatthiscan take a while depending on the disksize and networkspeed.Waituntilthiscommand returns.This meansthefulldiskcontentwastransferredtotheremotelogicalvolume OntheopenQRMServeryoucanusekill-USR1[pid-of-dd-process]totriggerddtoreporthowmanybytesaretransferred.When itfinisheditwilllooklike:.. 78165360+0 records in 78165360+0 records out 40020664320 bytes (40 GB) copied, 6322.11 seconds, 6.3 MB/s [root@cloud ~]#

Runsynctoensureallbitsareflushedtothelogicalvolume:[root@cloud ~]# sync [root@cloud ~]#

38 of 95

Poweroff the idle resource (the one with the windows installation on the local disk), remove the disk and reboot it through network. Pleasenotice:MakesuretohavetheBIOSboot-sequencesettonetwork-bootonly. WhenthesystemfullyrebootedtoidlestateagaincreatelogicalimageinopenQRM.

39 of 95

GotoBaseComponentsCreateImageandselecttheSanbootStorageServer.

40 of 95

Giveanamefortheimageandselectthewindowsxpvolumeastheroot-device.

41 of 95

Savetheimage.Herehowtheimagelistwilllooklikenow.

42 of 95

Nowcreateanappliance. PleasegotoBaseApplianceCreateandselecttheidleresource.

43 of 95

Nametheappliancewindowsxp,selectthedefaultkernelandthewindowsxpimage.Savetheappliance.

44 of 95

Startappliance

45 of 95

Please find a video of the full boot-up sequence of the Windows system booting from the remote iSCSI Storage Server at Youtube-http://www.youtube.com/watch?v=IwnyUgS--w4 [http://www.youtube.com/watch?v=IwnyUgS--w4] TheWindowsimageisdeployedandworkingfinenow.Stillweneedtofurtherpre-configureittoenablemanagementthrough openQRM.FirststepittocreateaWindowsUserrootonthedeployedWindowsimage.

46 of 95

47 of 95

NextstepistoInstallopenQRM-ClientontheWindowsimage PleaseopenaWeb-BrowserandlogintotheopenQRMServer.

48 of 95

GotoPluginsDeploymentWindowsAbout

49 of 95

anddownloadtheWindowsopenQRM-ClientInstaller.

50 of 95

RuntheopenQRM-ClientInstallerandfollowtheinstructions.

51 of 95

52 of 95

53 of 95

54 of 95

55 of 95

56 of 95

57 of 95

58 of 95

59 of 95

60 of 95

61 of 95

62 of 95

63 of 95

64 of 95

65 of 95

66 of 95

67 of 95

68 of 95

69 of 95

70 of 95

71 of 95

72 of 95

Nowpleaserungpedit.mscandaddthepermissiontoremoteshutdowntouserroot.

73 of 95

74 of 95

Pleasenotice:IftheWindowsFirewallisactiveyouneedtoalsoopenTCPport22!

75 of 95

AfterinstallationoftheopenQRM-ClientonthedeployedWindowsimagetheresourcegetactiveinopenQRM.openQRMcan nowmanagethisWindowsimage.

76 of 95

AfterthatpleasegotoPluginsCloudConfigurationMainConfigandconfigurethefollowingitems: cloud_admin_emailyourvalidemailaddress(maybealocaladdressdependingonyourpostfixsetup) auto_provisiontrue external_portal_url(optional)externalCloudPortalURL request_physical_systemsyes auto_give_ccus100 show_disk_resize(optional)true show_private_imagetrue cloud_selectortrue cloud_currency(optional)settoUSorEuro cloud_1000_ccusHowmuch1000CCUsareworhinUS/Euro Forallotherconfigurationitemsyoucancontinuewiththedefaults.Saveyourconfiguration. HereascreenshotoftheMainCloudConfigurationpage:

77 of 95

NextstepistoconfiguretheCloudProductsviatheCloud-Selector.

78 of 95

GotoPluginsCloudConfigurationProductsKernelandcreateanewWindowskernelproduct.

79 of 95

Itwilllooklikethis.

80 of 95

NowcreateaMemoryproductwiththeexactsizeofthememoryavailableonthe2.physicalsystem(thesystemthewindows imageiggoingtobedeployedto).InthisHowToweusedasystemwith3008MBphysicalmemory.Pleaseadjustthememory sizeaccordingtoyourphysicalsystem.

81 of 95

Itwilllooklikethis.

82 of 95

NowcreateaPhysicalSystemvirtualizationproduct.

83 of 95

Itwilllooklikethis.

84 of 95

ThenextstepistotelltheCloudwhichimagestoshowtotheCloudUsers.GotoPluginsCloudConfigurationPrivate ImagesandselectAllinthecheckboxesforthewindowsxpimage.

85 of 95

FollowingstepistocreateoneormoreCloudUser.GotoPluginsCloudUserandaddanewClouduserwithavalidemail address.

86 of 95

TheCloudUserListnowlookslikethescreenshotbelow.AstheCloud-AdministratoryoucansimplyloginasaspecificCloudUser byclickingontheCloudUsername.

87 of 95

ThisistheopenQRMCloud-Portalafterlogin:

88 of 95

Clickonthe2.TabVisualCloudDesigner

89 of 95

TheVisualCloudDesignershowsallcomponentsavailableintheCloud.YoucannowstartconstructingyourCloud-Applianceby drag-and-drop.

90 of 95

91 of 95

ThencheckthecostsforthisAppliance(hourly,dailyandmonthly).

92 of 95

AndwithasingleclickrequestthiscustomsystemfromtheopenQRMCloud.

93 of 95

For Cloud deployment openQRM automatically creates a LVM snapshot of the origin Windows image. That means that the (remote)hard-diskoftheWindowsimageisactuallyaLVMsnapshot.IntheStorageManagertheCloud-Volumeismarkedwith thes(snapshot)attribute.

Ontheconsolethislookslike:[root@cloud ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% 2.cloud_1_1_ vol swi-ao 19.53G windowsxp 0.06 windowsxp vol owi-ao 40.04G [root@cloud ~]#

Convert

Licensethoughts: PleasenoticethatyouareresponsibletotakecareofWindowsLicensemanagementwhenyouaredeployingmultiplysnapshots oftheWindowsOS!

94 of 95

UsingSanboot-storagewithAOEdeployment SeparatingStorageandopenQRMondedicatedSystems openQRMServerHASetup AddingVirtualizationHostfromdifferenttypes AddingmorePhysicalSystems AddingmoreStorageSystems EnablingautomaticMonitoring IP-andNetwork-Management Cloud-Billing CloudIntegration/SOAPWebService andmore ThebestsourceofinformationshowtoscaleyourbasicopenQRMSetuptoadistributed,flexibleandrobustopenQRMmanaged Datacenter Environment is the detailed technical documentation available at http://www.openqrm-enterprise.com/news/details /article/in-depth-documentation-of-openqrm-available.html [http://www.openqrm-enterprise.com/news/details/article/in-depthdocumentation-of-openqrm-available.html] . Thereisalsoanactivecommunitymaintainingtheforumsandmailing-listsoftheopenQRMProject. For professional services and support please contact openQRM Enterprise - http://www.openqrm-enterprise.com[http://www.openqrm-enterprise.com]

Copyright2010,[email protected][mailto:[email protected]] ThisHowToisbroughttoyoubyopenQRMEnterprise [http://www.openqrm-enterprise.com/]

openQRMEnterpriseGmbH BerrenratherStrae188c 50937Kln/Germany Telefon:+49(0)221995589-10 Fax:+49(0)221995589-20 Mail:[email protected]

95 of 95