You are on page 1of 25

IntelCloudBuildersGuide

IntelXeonProcessorbasedServers
StackIQRocks+

IntelCloudBuildersGuidetoCloudDesign
andDeploymentonIntelPlatforms
CreatingPrivateCloudsfromBareMetalusingRocks+ManagementSoftware

AudienceandPurpose

IntelXeonProcessor5500Series
IntelXeonProcessor5600Series
StackIQRocks+

ThispaperwilldiscussRocks+,adeploymentandmanagementsolutionfromStackIQ
thatmakesbuildinghighlyscalablecloudssimpleandefficient.Wewillwalkusers
throughtheendtoendcloudbuildingprocess,startingfrombaremetalphysical
machines,andendingwithacompletecloudenvironmentwellpurposedforenterprise
ITenvironmentsandserviceproviders.
WellframethediscussionbyusingBigCorpasanexamplecustomer,whichhas
multipledepartmentswithvaryingdatacenterneeds.First,wellsetupagroupof
LAMPnodesforBigCorpsWebServicesDepartment.Second,wellsetupaHadoop
cloudforBigCorpsAnalyticsDepartment.Inthisprocess,wellshowhowtheseVirtual
PrivateCloudscanremaincompletelyisolated,whileretainingacentralrepositoryof
softwarebyleveragingtheRocksCloudDevelopmentKit.
UsingRocks+andthecontentsofthispaper,whichincludesdetailedcommandsand
screenshots,shouldsignificantlyreducethelearningcurveforbuildingandoperating
yourfirstcloudcomputinginfrastructure.

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

TableofContents
ExecutiveSummary...............................................................................................................................................................3
ProductOverview..................................................................................................................................................................3
TestBedBlueprint.................................................................................................................................................................4
TechnicalReviewandUseCases............................................................................................................................................5

UseCase1:InstallandConfigureYourPhysicalInfrastructureasaCloud........................................................................5

UseCase2:CreateanAirbossforAddedSecurityandControl........................................................................................13

UseCase3:SetupYourFirstVirtualPrivateCloudInsideYourPhysicalCloudrunningBitNamiLAMPStacks.................14

UseCase4:ScalePhysicalCloudUp...............................................................................................................................17

UseCase5:SetupYourSecondVirtualPrivateCloudinthesamePhysicalCloudrunningHadoopMapReduce..............18

ThingstoConsider.................................................................................................................................................................20
Conclusion.............................................................................................................................................................................20
AboutStackIQ.......................................................................................................................................................................20
GlossaryandAdditionalInformation.....................................................................................................................................20

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

ExecutiveSummary
Rocks+isadeploymentandmanagement
solutionthatmakesbuildinghighlyscalable
cloudssimpleandefficientbyencapsulating
anddeliveringthecompletecloudstackina
singleLinuxdistribution.ByusingRocks+,you
canquicklydeployaphysicalcloudwitha
centralpointofmanagementandanynumber
ofvirtualcontainernodes.Thephysicalcloud
canthenbeusedtohostanynumberof
VirtualPrivateClouds(VPCs),whichgives
usersanddepartmentssecurityandcontrolof
theirowninfrastructure.TheRocks+Cloud
DevelopmentKitenablesmodular
componentsateachlayerinthestackand
allowsuserstodefinecustomappliance
types.
TheSoftware:Rocks+
Rocks+dramaticallyreducesthetimeand
costofsettingupandmanagingclustersof
cloudenabledserversthroughintelligent
multiserversoftwareautomation(both
physicalandvirtualmachines).Theentire
cloudstackispackagedanddeployedasa
monolithicyetmodularLinuxdistribution
(basedonRedHatEnterpriseLinuxor
CentOS).Thesystemprovidesforasingle
stepinstall,andiscapableofdynamically
provisioningheterogeneousappliancetypes
acrossmassivescaledatacenters(inparallel,
leveragingBitTorrentstylepackagesharing).
AkeydifferentiatorthatseparatesRocks+
fromother"completestack"paradigms,isa
modularframeworkcalledRolls,whichare
optional,automaticallyconfigured,cloud
awaresoftwaresystems.
Rocks+Rolls
Rollsallowcustomerstotakeadvantageofan
endtoendpackagedcloudstackandstill
choosewhichsoftwarecomponentsare
includedtomeetsitespecificrequirements.
HereareafewoftheRollsthatwillbe
demonstratedinthispaper:

TheXenRollinstallsandconfigures
virtualmachines(VMs)onRocks+
clouds.Aphysicalfrontendcan
configureVMsonclientnodes(VM
containerappliances).AVMcontainer
isaphysicalmachinethathousesand
runsVMs.TheXenRollalsosupports
buildingvirtualclusters.Thefrontend
canbeinstalledasaVMserver
applianceandtheclientnodescanbe
installedasVMcontainers.Thena
virtualfrontendcanbeinstalledonthe
VMserverwhilevirtualnodescanbe
installedontheVMcontainers.All
networktrafficisencapsulatedwithina
uniqueVLAN,thatis,eachvirtual
clusterhasitsownVLAN.
TheHadoopRollisasimpletouse,
highlyscalablesolutionfordeploying
Hadoopclustersofallshapesandsizes.
Typically,theinstallationand
managementofaHadoopcluster
requiresalong,handsonprocessin
whichtheenduseroradeployment
teamhastoinstallandconfigureeach
componentoftheirdatacenterby
hand.Thesetuptimeforthesesystems
andcontinuedmanagementcanbe
burdensome,whichhasadirectaffect
onreliabilityandsecurity.Asmore
enterpriseslooktoutilizeHadoop,the
needforasupportedandrobust
platformthatiseasytodeploy,
manage,andoperatehasbecome
essential.Rocks+completely
automatesthisprocess.
TheBitNamiRollenablesusersto
selectprepackagedbinariesfrom
BitNami.organddeploythemacross
Rocks+clouds.TheBitNamiproject
hassupportforanumberofcommonly
usedmachinetypesincludingaLAMP
stack,whichwelldemonstrateinthis
paper.
TheAWSRollenablesRocks+usersto
useStackIQsmanagementsolution

insideofAmazonEC2.Wellbriefly
discusshowthesameRollsusedinthis
papercanweleveragedinAmazon
EC2.

ProductOverview
Rocks+Cloudsetsupaclusterofphysical
machinesasaprivatecloudbyfirst
provisioningafrontendapplianceandthen
provisioningtheremainingserversasvm
containerappliances.Rocks+Cloud
subsequentlyprovisions,manages,and
controlsVMsandvirtualclusters(VCs).
ScalableProvisioning
Rocks+providesaparallel,automated
softwareinstallationprocesstoaccelerate
yourtimetosolution.Youcannetworkboot
(PXEboot)physicalnodesorlaunchvirtual
nodesinparallelfromthecommandline.All
nodesareprovisionedfromthegroundup
andarereadytorunapplicationsonfirstboot.
Rocks+includestheAvalancheInstallerto
addressthebottleneckofdeliveringpackages
fromacentraldistributionservertomultiple
simultaneouslyinstallingcloudnodes.When
aninstallingnodedownloadsapackage,the
nodestoresthepackagelocallythensendsa
messagetoanAvalanchetracker.The
packageisnowinapeertopeerpackage
cache.Whenasubsequentinstallingnode
wantstodownloadthesamepackage,the
nodesendsamessagetotheAvalanche
trackerandthetrackerrespondswithalistof
peers.Theinstallingnodewilldownloadthe
packagefromapeer,notthecentral
distributionserver.Thisdramaticallyreduces
thenetworkpressureonthecentral
distributionserverandenableslargescale
simultaneousnodeinstallations.

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

ManagementandControl

MachineArchitecture

TheAirboss

Rocks+makesongoingmanagementeasy.
Clusterandcloudadministratorsmanagethe
entiresystemfromthefronted.Ifaphysical
orvirtualnodeneedsanupdate,itwillbe
completelyreprovisionedbythefrontendto
ensureitbootsintoaknowngoodstate.New
nodesarealsoconfiguredautomatically
withasinglecommandwithouttheneedfor
complexadministratorassistance.

Thefollowingillustrationisaguidetohelp
keeptrackofthenamesofthephysical
machinesandthevirtualmachinesthatwill
bebuiltduringthetechnicalreview.Itstoo
smalltoreadhere,butwillbeexplainedin
detailthroughoutthepaper.

InRocks+,thereisaserviceknownasthe
"Airboss"thatresidesonthephysical
frontend(inDom0)anditallowsnonroot
userstocontroltheirVMs.Themotivationfor
thisserviceisthatlibvirt(avirtualizationAPI
includedinRedHatEnterpriseLinuxthatcan
controlseveraldifferentvirtualization
implementations)assumes"root"accessto
controlandmonitorVMs.
TheAirbossinRocks+isasmallservicethat
usesdigitallysignedmessagestogivenon
rootusersaccesstotheirvirtualcluster(and
onlytheirvirtualcluster).TheAirbossrelies
uponpublic/privatekeypairstovalidate
messages.Theadministratorofthephysical
hostingclustermustissueasinglecommand
toassociateapublickeywithaparticular
virtualcluster.Atthatpoint,thefullprocess
ofbootingandinstallingavirtualclustercan
becontrolledbythe(authorized)nonroot
user.

SinceRocks+placeseverybit,onevery
physicalandvirtualnode,administratorshave
completecontrolandconsistencyacrossthe
entireinfrastructure.RocksRollsandRocks
Appliancesgiveadministratorsthecontrol
theyneedtodefinesitespecificsolutionsto
meettheirenterpriserequirements.
TheRocksCommandLineallowyouto
controlyourcloudviasimpleverbbased
commands.Welldemonstratethis
throughouttheusecasesection.Fora
completereference,pleaserefertotheRocks
BaseRollusersguide.

TestBedBlueprint
StackIQusedanIntellabtobuildthecloud
describedinthispaper.Theserversinthelab
aredescribedintheTable1below.Weused
Cluster2inthebelowUseCases.
Cluster

Mainboard

CPU

Misc

Cluster1

Supermicro
Superserver
X8DTT
HIBQF

2Intel
Xeon
5680(3.33
GHz)

6GB/
80GB

Cluster2

Intel
S5500HV

2Intel
Xeon5570
(2.93GHz)

6GB/
160
GB

2Intel
Xeon
5680(3.33
GHz)

6GB/
160
GB

Cluster3

Table1

Intel
S5520UR

Figure1
Dependingonyourperspective,thevirtual
machineshavedifferentnames.Dom0isa
physicalmachinethathosts(multiple)virtual
systems.DomUareguestsandgenerallyrefer
tonamesbyusualconvention.
Animportantpointisthattheonlycommon
thingbetweenthephysicalsideandthe
virtualsideistheMACaddress(inyellow).We
willusetheMACaddressofavirtualmachine
tocontrolit(e.g.,toinitiallypoweriton).The
namesinthevirtualclusterlooklikethe
namesinatraditionalcluster;thefrontendis
named"webservices.bigcorp.com"andits
nodesarenamed"compute00"and
"compute01".Ifyouloginto
"webservices.bigcorp.com",youwouldbe
hardpressedtotellthedifferencebetween
thisvirtualclusterandatraditionalphysical
cluster.

Figure2
InFigure2above,auserthatisloggedinto
webservices.bigcorp.comwantstopoweron
compute00(oneoftheVMsassociatedwith
thevirtualcluster).Theuserexecutesthe

4
Figure1

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

"poweron"command.Thecommandcreates
a"poweron"message,signsitwithaprivate
key,andthensendsittotheAirbossthatis
runningonmycloud.bigcorp.com.The
Airbossverifiesthemessagesignature.Ifthe
signatureisvalid,thentheAirbossinstructs
libvirtonvmcontainer00tostart("power
on")compute00.

GettingStarted
Okay,letsgetstarted.VisitStackIQ.comand
clickontheregistrationtabtoregisterfor
Rocks+andrequestademolicenseifyou
wouldliketofollowalongonyourown
hardware.Youwillneedtodownloadthe
Rocks+CloudISOfromStackIQandaRedHat
EnterpriseLinuxorCentOSServerISO.Both
ISOsshouldbeburnedtoDVD.

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

TechnicalReviewandUseCases
Thebelowusecaseswillwalkusersthroughtheendtoendcloudbuildingprocess,startingfrombaremetalphysicalmachines,andendingwitha
completecloudenvironmentwellpurposedforenterpriseITenvironmentsandserviceproviders.WellframethediscussionbyusingBigCorpas
anexamplecustomer,whichhasmultipledepartmentswithvaryingdatacenterneeds.First,wellsetupagroupofLAMPnodesforBigCorps
WebServicesDepartment.Second,wellsetupaHadoopcloudforBigCorpsAnalyticsDepartment.

UseCase1:InstallandConfigureYourPhysicalInfrastructureasaCloud
Inthisusecase,wearegoingtoprovisionthebaremetalphysicalinfrastructureasaprivatecloud.Thebelowdiagramexplainswhatthesystem
willlooklikewhenthisstepiscomplete.

Figure3:Rocks+BootScreen
Intheabovefigure,"mycloud.bigcorp.com"isbuiltonbaremetalservers,butcontainsnovirtualmachines.Also,"vmcontainer00"and"vm
container01"arephysicalmachinesthatwerekickstartedby"mycloud."

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Step1:SetupyourFrontend,whichisthemanagementnodeforyourcloud.
Theminimumrequirementtobringupafrontendistohavethefollowingitems:
Rocks+DVD
RedHatEnterpriseLinux5orCentOS5DVD

InserttheRocks+DVDintoyourfrontendmachineandresetthefrontendmachine.AfterthefrontendbootsofftheDVD,whenyouseethebelow
screen,type:build.(Note:ifyouwaittoolong,themachinewillattempttobootasanodeandyouwillneedtorestart).

Figure4:Rocks+BootScreen

IfyouseeabluescreentitledConfigureTCP/IP,you'llwantto:1)enableIPv4support,2)selectmanualconfigurationfortheIPv4support(no
DHCP)and,3)disableIPv6support.Thenhit"OK.You'llseethe"ManualTCP/IPConfiguration"screen.Inthisscreen,enterthepublicIP
configuration,whichinourtestcasewas:192.168.3.10.

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Soon,you'llseeascreenthatlookslike:

Figure5:Rocks+InstallScreen

Fromthisscreen,you'llselectyourrolls.Inthisprocedure,we'llonlybeusingDVDmedia,sowe'llonlybeclickingonthe'CD/DVDbasedRoll'
buttoneachtimewewouldliketoaddmedia.TheRocks+CloudRollswillbediscoveredanddisplaythefollowingscreen.Selectbase,ganglia,
webserver,servicepack,xen,rocks+core,rocks+kernel,rocks+hadoop,rocks+bitnami,andOS,thenpressthe'Submit'button.RepeatforRolls
onadditionalDVDs(atminimum,youmustuseacompleteRedHatEnterpriseLinuxorCentOSServerDVD,whichcanbeaddedduringthisstep
asaRoll).SeethefollowingtwoscreenshotsforanexampleofselectingRollsandtheresultingRolllist.

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure6:Rocks+RollSelectionScreen

ThisscreenshowsyouhaveproperlyselectedalistofRolls.YoucannowpresstheNextbutton.

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure7:Rocks+InstallScreenwithExampleRollsSelected

Thenyou'llseetheClusterInformationscreenbelow.TheoneimportantfieldinthisscreenistheFullyQualifiedHostName(allotherfieldsare
optional).Forthistest,wecalledthefrontendmycloud.bigcorp.com.

10

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure8:Rocks+ClusterInformationScreen

TheprivateclusternetworkconfigurationscreenallowsyoutosetupthenetworkingparametersfortheEthernetnetworkthatconnectsthe
frontendtothenodes.Itisrecommendedthatyouacceptthedefaults(byclickingthe'Next'button)butforthosewhohaveuniquecircumstances
thatrequiredifferentvaluesfortheinternalEthernetconnection,wehaveexposedthenetworkconfigurationparameters.

11

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure9:Rocks+PrivateNetworkConfiguration

ThepublicclusternetworkconfigurationscreenallowsyoutosetupthenetworkingparametersfortheEthernetnetworkthatconnectsthe
frontendtotheoutsidenetwork(e.g.,theInternet).Thebelowwindowisanexampleofhowweconfiguredtheexternalnetworkononeofour
frontendmachines.FortheIntelCloudBuilderstestcluster,weused192.168.3.10.

12

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure10:Rocks+PublicNetworkConfiguration

ConfiguretheGatewayandDNSentriesforthepublicnetwork.

13

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure11:Rocks+PublicNetworkSettings

Ontheremainingscreens,youwillchooseyourrootpassword,configurethetime,andselectautomaticdiskpartitioning.Ifyouprefermanual
partitioning,pleaseseetheRocks+UsersGuideforinformationandrequirements.Thefrontendwillthenformatitsfilesystems,andaskforeach
oftheRollDVDsyouaddedatthebeginningofthefrontendinstallation.Inthiscase,weonlyusedoneDVDsotheinstallationwillstart
automatically.AfterthelastrollDVDiscopied,thepackageswillbeinstalled:

14

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure12:Rocks+InstallationProgress

Afterapproximately15to30minutes,thebootloaderwillbeinstalledandpostconfigurationscriptswillberuninthebackground.Whenthey
complete,thefrontendwillreboot.

Step2:InstallandConfigureyourVMContainers
ThissectiondescribeshowtoprovisionnodesinyourdatacenterasVMcontainers.Onourtestcluster,webroughtup4VMContainers.Todo
this,executethefollowingcommandonthefrontendasroot:
#insertethers
Selectthe'VMContainer'appliance,thenhit'OK'.NowPXEbootthephysicalmachinethatwillbeyourVMcontainer(thesephysicalmachines
shouldresideonthesameprivatelocalnetworkconnectedtoeth0ontheFrontend).TheVMcontainerwillberecognizedbyinsertethersand
installed.ThedefaultnameofthenodewillbevmcontainerXY(e.g.,vmcontainer00).YoucaninstallasmanyVMcontainersasyoulike,then
pressF8tocloseinsertetherswhenyouaredone(youcanalwaysrunthiscommandagaintoaddadditionalnodes).
AfterallofyourVMcontainersaredoneinstalling(thiswilltakeapproximately10to15minutes),youwillhavecompletedyourprivatecloudsetup
andarereadytoprovisionandmanageVirtualMachinesandVirtualClusters.

UseCase2:CreateanAirbossforAddedSecurityandControl
LetssetuptheAirboss,whichwillallowustogiveBigCorpsvariousdepartmentsystemadministratorsaccesstotheirownVirtualPrivateCluster
withoutrootaccesstoBigCorpsphysicalcloud.First,wemustcreateanRSAkeypair.ThesekeyswillbeusedtoauthenticateAirbosscommands.

15

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure13:Rocks+InstallationProgress

Tocreateakeypair,execute:
#rockscreatekeyskey=private.keypassphrase=no
Theabovecommandwillplaceyourprivatekeyintothefileprivate.keyanditwilloutputthepublickeyforyourprivatekey.Savethepublickeyto
afile,thatis,copythepublickeyoutputfromtheabovecommand:
BEGINPUBLICKEY
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMoCPmR/Kev64znRBxvtsniXIF
dyQMxR/bBFKNDmvmzPuPUim5jmD3TLilnH75/KidtJCwlb+Lhr5Cs6/9sRzX6rX2
ExVUZsgo4A+O+XMk8KeowO/c2rPc+YdXaBir3Aesm/MCfCZaidZae8QLmVKW7Va5
qErl9gyhhR7uDX+hgwIDAQAB
ENDPUBLICKEY

Saveyourpublickeyintoafile(e.g.,$HOME/public.key).Thatsitfornow,thesekeyswillbeusedinlaterUseCasestorouteauthenticated
commandsthroughtheAirboss.

UseCase3:SetupYourFirstVirtualPrivateCloudInsideYourPhysicalCloud
AfteryouinstallyourfrontendandatleastoneVMContainer,youarereadytoprovisionaVirtualPrivateCloud(VPC).Thebelowdiagram
explainswhatthesystemwilllooklikewhenthisstepiscomplete.

16

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure14:Rocks+InstallationProgress

Intheabovepicture,themachine"frontend000"isavirtualmachinethatishostedby"mycloud"runningwebservices.bigcorp.com.The
machines"hostedvm000"and"hostedvm010"areVMsthatareassociatedwith"frontend000"(theyareallinthesameVLAN).
Step1:CreateEmptyVirtualMachinesforyourVPC
LetsstartbyallocatingemptyVMsforBigCorpsWebServicesDepartmenttorunLAMPnodesinaVPCcalledwebservices.bigcorp.com.Login
tothefrontendasrootandexecutethefollowingcommand(inourtestcloud,weused192.168.3.20astheaddressfortheVPC;onyourcloud,you
shouldchooseeitheranavailablepublicaddressorprivateaddressonyourcorporatenetwork).Thelastnumberinthiscommandrepresentsthe
numberofVMsinsidethisVPC.
#rocksaddcluster192.168.3.204

17

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Herestheoutputoftheabovecommand:
createdfrontendVMnamed:frontend000
createdcomputeVMnamed:hostedvm000
createdcomputeVMnamed:hostedvm010
createdcomputeVMnamed:hostedvm020
createdcomputeVMnamed:hostedvm030

GettheMACaddressesforthefrontendVM:
rockslisthostinterfacefrontend000
Output:
SUBNETIFACEMACIPNETMASKMODULENAMEVLANOPTIONSCHANNEL
privateeth00a:03:a8:80:00:0010.1.255.250255.255.0.0xennetfrontend0002
publiceth10a:03:a8:80:00:01192.168.3.20255.255.255.0xennetfrontend000public0

Wenowwanttoassociateyourpublickeywiththevirtualclustersyouprovisioned.Thiswillallowyoutouseyourprivatekeytosend
authenticatedcommandstocontrolyourcluster.Toassociateyourpublickeywithyourvirtualcluster,execute:
#rocksaddhostkeyfrontend000key=public.key

Wecanseetherelationshipbyexecuting:
#rockslisthostkey
HOSTIDPUBLICKEY
frontend000:2BEGINPUBLICKEY
:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMoCPmR/Kev64znRBxvtsniXIF
:dyQMxR/bBFKNDmvmzPuPUim5jmD3TLilnH75/KidtJCwlb+Lhr5Cs6/9sRzX6rX2
:ExVUZsgo4A+O+XMk8KeowO/c2rPc+YdXaBir3Aesm/MCfCZaidZae8QLmVKW7Va5
:qErl9gyhhR7uDX+hgwIDAQAB
:ENDPUBLICKEY
:

Weseethatthepublickeyisassociatedwith"frontend000"(thenameoftheVMinDom0).
Step2:InstallingyourVPCFrontend
Inthissection,wearegoingtoprovisionyourfirstvirtualprivatecloud,inwhichwewilllaunchagroupofLAMPstacksconfiguredautomatically
withtheBitNamiRoll.Weusedthefollowingsettings:
Rolls:OS,base,kernel,webserver,bitnami
Hostname:webservices.bigcorp.com
IPAddress:192.168.3.20
Toinstallthevirtualfrontend,first,logintothephysicalfrontend.TostarttheVMfrontendinstall,we'llneedtopoweronandinstalltheVM
frontend(theactionof"install"ensuresthattheVMwillbeputintoinstallmode,thenitwillbepoweredon):
#rockssethostpowerfrontend000action=installkey=private.key

18

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Then,toconnecttotheVM'sconsole,execute:
#rocksopenhostconsolefrontend000key=private.key
Soonyouwillseethefamiliarfrontendinstallationscreen:

Figure15:Rocks+VMFrontendInstallation

Inthe"HostnameofRollServer"field,inserttheFQDNofyourVMServer(thenameofthephysicalmachinethatishostingtheVMfrontend,
whichismycloud.bigcorp.cominourexample).Thenclick"Download.Fromhere,youwanttofollowthestandardprocedureforbringingupa
frontendwewentoverearlierinUseCase1inthispaper.AftertheVMfrontendinstalls,itwillreboot.Afteritreboots,loginandthenwe'llbegin
installingVMnodes.
Step3:InstallingVMNodes
LogintotheVMfrontend(thevirtualmachinenamed"webservices.bigcorp.com"intheexamplepictureatthetopofthispage),andexecute:
#rockssetapplianceattrcomputebitnami_lamptrue

TheabovecommandinstructstheVMfrontendtoinstalltheBitNamiLAMPstackonallcomputenodes.
Thenexecute:
#insertethers

19

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

SelectComputeastheAppliancetype.
Inanotherterminalsessiononwebservices.bigcorp.com,we'llneedtosetuptheenvironmenttosendcommandstotheAirbossonthephysical
frontend.We'lldothisbyputtingtheRSAprivatekeythatwecreatedearlier(e.g.,private.key)onwebservices.bigcorp.com.
PriortosendingcommandstotheAirboss,weneedtoestablishaSSHtunnelbetweenthevirtualfrontend(e.g.,webservices)andthephysical
frontend(e.g.,mycloud,wheretheAirbossruns).ThistunnelisusedtosecurelypassAirbossmessages.Onthevirtualfrontend(e.g.,
webservices),execute:
#sshL8677:localhost:8677mycloud.bigcorp.com
NowwecansecurelysendmessagestotheAirbossandwe'rereadytoinstallnodes.But,there'ssomethingtoconsiderwhenwefirstloginto
webservices.bigcorp.com,theonlymachineitknowsaboutisitself(i.e.webservices.bigcorp.com).Therearenoothernodesinthevirtual
frontend'sdatabase.ButthephysicalmachineknowsabouttheMACaddressesofthevirtualnodes(e.g.hostedvm000andhostedvm010)
thatareassociatedwiththisvirtualcluster,sowecanasktheAirbossonthephysicalfrontendforalistofMACaddressesthatareassignedtoour
virtualcluster:
#rockslisthostmacswebservices.bigcorp.comkey=private.key
Whichoutputs:
MACSINCLUSTER
36:77:6e:c0:00:02
36:77:6e:c0:00:00
36:77:6e:c0:00:03
36:77:6e:c0:00:04
36:77:6e:c0:00:05

TheMACaddress36:77:6e:c0:00:00istheVMfrontend(webservices.bigcorp.com)andtheotherMACs(36:77:6e:c0:00:02through
36:77:6e:c0:00:05)aretheVMnodesthatareassociatedwithourVMfrontend.WecanusetheMACaddressoftheVMnodestopowerupand
installournodes:
#rockssethostpower36:77:6e:c0:00:02key=private.keyaction=install
Soon,youshouldseeinsertethersdiscovertheVMnode.Afterthevirtualnodeisdiscoveredbyinsertethers,wecanopenaconsoletothenode
byexecuting:
#rocksopenhostconsolecompute00key=private.key
RepeatforadditionalVMnodes.Letsjustaddtwofornow,aswellscaletheVPCupinalaterstep.
Step4:TestingtheLAMPstackonyourVPC
TotestiftheLAMPnodeisproperlyconfigured,pointtocompute00.localorcompute01.localfromyourbrowseronwebservices.bigcorp.com.
YoushouldseetheBitNamitestscreen.

20

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure16:BitNamitestscreen

UseCase4:ScalePhysicalCloudUp
Now,letsassumeBigCorpisgrowingandneedstoaddmorenodestoitsprivatecloud(whichcouldsubsequentlybeusedbyanyofits
departments).Addingvirtualcontainersiseasy.
Step1:ScaleUpthePhysicalCloudbyAddingMoreVirtualContainers

Onthephysicalfrontend(mycloud.bigcorp.com),simplyexecuteinsertethersandPXEbootadditionalnodesconnectedtoyourprivate
network.

#insertethers

SelectVMContainerastheappliancetypeandthenPXEbootanyadditionalphysicalserversyoudliketoaddtoyourcloud.Whenthenodesare
finishedprovisioning(thisshouldtake5to15minutesdependingonnetworkspeed),youcanseehowvmcontainer04,vmcontainer05,etc
havebeenaddedbyrunningacouplecommands:

#rockslisthost
#rocksrunhostuptime

YoucanalsoviewandmonitorthesenodesintheGangliawebinterfacebypointingyourbrowsertohttp://mycloud.bigcorp.com/ganglia/(note:
Youwillneedtoopenhttpiniptablestoaccessthissite).

UseCase5:SetupYourSecondVirtualPrivateCloudinthesamePhysicalCloudtoRunHadoopMapReduce
Now,letscreateasecondVPCcalledmapreduce.bigcorp.combyallocatingemptyVMsforBigCorpsAnalyticsdivisiontorunHadoop.Thiscloud
willbecompletelyisolatedfromthefirstVirtualPrivateCloudwecreatedforBigCorpsWebServicesDepartmentviaautomaticallyconfigured
VLANs.AswiththefirstVPC,wecangiveausercompletecontrolofthisVPCwithoutallowinghimorheradministrativeaccesstoBigCorps
physicalcloud.Thebelowdiagramexplainswhatthesystemwilllooklikewhenthisstepiscomplete.

21

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Figure17
Themachine"frontend001"isavirtualmachinethatishostedby"mycloud"runningmapreduce.bigcorp.com.Themachines"hostedvm00
1"and"hostedvm011"areVMsthatareassociatedwith"frontend001"(theyareallinthesameVLAN).Note:Rocks+alsosupportsbuilding
outHadoop(oranyotherRocksappliancetype)nodesonbaremetal,byskippingthevirtualmachinesteps.
Step1:CreateEmptyVirtualMachinesforyourVPC
FollowthesameinstructionsinStep1ofUseCase3.Whenyougettotheendofstep1,continuebelow.
Step2:InstallingYourVPCFrontend
ContinuetofollowthesamestepsasUseCase3,butchoosetheHadoopRollinsteadoftheBitNamiRollwheninstallingthevirtualfrontend.We
used192.168.3.30astheIPaddressforthistestcloud.Onyourcloud,youshouldchooseeitheranavailablepublicaddressorprivateaddresson
yourcorporatenetwork.
Rolls:OS,base,kernel,webserver,Rocks+Hadoop
22

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Hostname:mapreduce.bigcorp.com
IPAddress:192.168.3.30
Step3:InstallingVMNodes
FollowthesameinstructionsinStep3ofUseCase3andwhenyougettotheendofstep3,continuebelow.
Step4:TestingHadooponyourVPC
Onthevirtualfrontend,afteryourVMnodescomeup,configureHadoop:

#rocksaddhadoopname="hadoop1"namenode="localhost"datanodeservers="compute00compute01"
#rockscreatehadoopname="hadoop1"
#rocksstarthadoopname=hadoop1
#exportHADOOP_CONF_DIR=/var/hadoop/conf/hadoop1
#/opt/hadoop/bin/hadoopdfsmkdirinput
#/opt/hadoop/bin/hadoopdfscopyFromLocal/etc/*.confinput
#/opt/hadoop/bin/hdfsdfslsinput
#/opt/hadoop/bin/hadoopjar/opt/hadoop/hadoopmapredexamples0.21.0.jargrepinputoutput'='

Makesureadatanodeisparticipating:

#sshcompute00
#tailf/opt/hadoop/logs/hadooprootdatanodecompute00.local.log

Whenmap/reducejobcompletes,seeoutput:

#/opt/hadoop/bin/hdfsdfsls

Getresults:

#/opt/hadoop/bin/hadoopdfscopyToLocaloutputoutput
#catoutput/part*

23

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

ThingstoConsider
WehopeyouvelearnedabitaboutRocks+andhowtobuildphysical
andvirtualcloudinfrastructurebyreadingthispaper.Asyouthink
aboutbuildingoutyourinternalorexternalITenvironment,herearea
fewadditionalitemstoconsider.
Rocks+supportsRedHatEnterpriseLinuxorCentOS.Youcan
choosewhichversionofLinuxfitsyourneedsbasedonbudget
andsupportrequirements.
YoucanfindacompletelistofAdditionalRollsandAppliance
Typesathttp://www.StackIQ.com
TheAWSRollenablesRocks+userstouseStackIQs
managementsolutioninsideofAmazonEC2.Rocks+instance
typesarespecificallydesignedforhighlyscalableapplications,
whereanautomated,connectedmanagementsolutionis
important.InadditiontonewEC2users,thethousandsof
peoplecurrentlyleveragingRockstomanageinternalclusters
cannoweasilymovetheirapplicationstothecloudandbenefit
fromtheelasticity,flexibilityandcostadvantagesofAmazon
EC2.TogetstartedusingRocks+InstancesforAmazonEC2,
visithttp://aws.amazon.com

Conclusion
RockshasbeenthedominantLinuxclusterdistributionforover10
years.Basedonoptinregistrationlists,thereareanestimated10,000
Rocksclustersdeployedaroundtheworldmanagingover1,000,000
nodes.AstheRocks+projectgrewinpopularityintheclusterspace,
enterprisesbegantoseethesamehyperscalemanagementneedsfor
cloudcomputing.ThisinspiredthedevelopersfromtheOpenSource
RocksprojecttoformStackIQandbuildoutRocks+andRocks+Cloud,
whichbringtherocketscienceofthesupercomputingworldtomass
marketcloudcomputing.
BybuildingandmanagingcloudswithRocks+,youcanhelptoensure
thatsoftwareapplicationsandhardwarecomponentswillwork
togetherrightoutofthebox.
TheRocks+IntelCloudBuildersolutionenablesyoutoacceleratethe
cloudconfigurationprocessandenhanceproductreliabilityby
providinganautomatedandrepeatableprocessforcloudsoftware
deployment.Workingtogether,IntelandStackIQgiveyouthetools
thatyouneedtocreateastreamlinedprocessforproducingcloud
solutionsatscale.

24

AboutStackIQ
StackIQisaleadingproviderofmultiservermanagementsystemsfor
clustersandclouds.BasedonopensourceRocksclustersoftware,
StackIQsRocks+productsimplifiestheinstallationandmanagement
ofhighlyscalableclusterandcloudcomputing.StackIQislocatedinLa
Jolla,California,adjacenttotheUniversityofCalifornia,SanDiego,
wheretheopensourceRocksGroupwascofounded.Tolearnmore
visithttp://www.StackIQ.com.com.
Rocks+includessoftwaredevelopedbytheRocksClusterGroupatthe
SanDiegoSupercomputerCenterattheUniversityofCalifornia,San
Diegoanditscontributors.Rocksisaregisteredtrademarkofthe
RegentsoftheUniversityofCalifornia.

GlossaryandAdditionalInformation
FormoreinformationonRocks+,visithttp://www.StackIQ.com
ThisproductincludessoftwaredevelopedbytheRocksClusterGroupat
theSanDiegoSupercomputerCenterattheUniversityofCalifornia,San
Diegoanditscontributors.
FormoreinformationontheRocksproject,visit
http://www.rocksclusters.org
FormoreinformationontheBitNamiproject,visit
http://www.bitnami.org
FormoreinformationonHadoop,visithttp://hadoop.apache.org
FormoreinformationontheIntelCloudBuildersProgram,visit
http://www.intel.com/cloudbuilders
FormoreinformationonIntelXeonprocessors,visit
http://www.intel.com/xeon
FormoreinformationonAmazonElasticComputeCloud(EC2),visit
http://aws.amazon.com/ec2
CloudBuildersReferenceArchitectureLibrary
http://www.intel.com/itcenter/topics/cloud/cloudbuilders/referencearc
hitecture.htm

IntelCloudBuildersGuide:CreatingPrivateCloudsusingRocks+ManagementSoftware

Disclaimers
Intelprocessornumbersarenotameasureofperformance.Processornumbersdifferentiatefeatureswithineachprocessorfamily,notacrossdifferentprocessorfamilies.See
www.intel.com/products/processor_numberfordetails.
INFORMATIONINTHISDOCUMENTISPROVIDEDINCONNECTIONWITHINTELPRODUCTS.NOLICENSE,EXPRESSORIMPLIED,BYESTOPPELOROTHERWISE,TOANYINTELLECTUAL
PROPERTYRIGHTSISGRANTEDBYTHISDOCUMENT.EXCEPTASPROVIDEDININTELSTERMSANDCONDITIONSOFSALEFORSUCHPRODUCTS,INTELASSUMESNOLIABILITYWHATSOEVER,
ANDINTELDISCLAIMSANYEXPRESSORIMPLIEDWARRANTY,RELATINGTOSALEAND/ORUSEOFINTELPRODUCTSINCLUDINGLIABILITYORWARRANTIESRELATINGTOFITNESSFORA
PARTICULARPURPOSE,MERCHANTABILITY,ORINFRINGEMENTOFANYPATENT,COPYRIGHTOROTHERINTELLECTUALPROPERTYRIGHT.UNLESSOTHERWISEAGREEDINWRITINGBYINTEL,
THEINTELPRODUCTSARENOTDESIGNEDNORINTENDEDFORANYAPPLICATIONINWHICHTHEFAILUREOFTHEINTELPRODUCTCOULDCREATEASITUATIONWHEREPERSONALINJURYOR
DEATHMAYOCCUR.
Intelmaymakechangestospecificationsandproductdescriptionsatanytime,withoutnotice.Designersmustnotrelyontheabsenceorcharacteristicsofanyfeaturesorinstructionsmarkedreservedor
undefined.Intelreservestheseforfuturedefinitionandshallhavenoresponsibilitywhatsoeverforconflictsorincompatibilitiesarisingfromfuturechangestothem.Theinformationhereissubjectto
changewithoutnotice.Donotfinalizeadesignwiththisinformation.
Theproductsdescribedinthisdocumentmaycontaindesigndefectsorerrorsknownaserratawhichmaycausetheproducttodeviatefrompublishedspecifications.Currentcharacterizederrataare
availableonrequest.ContactyourlocalIntelsalesofficeoryourdistributortoobtainthelatestspecificationsandbeforeplacingyourproductorder.Copiesofdocumentswhich
haveanordernumberandarereferencedinthisdocument,orotherIntelliterature,maybeobtainedbycalling18005484725,orbyvisitingIntelsWebsiteatwww.intel.com.

Copyright2011IntelCorporation.Allrightsreserved.Intel,theIntellogo,Xeon,Xeoninside,andIntelIntelligentPowerNodeManageraretrademarksofIntel
CorporationintheU.S.andothercountries.
*Othernamesandbrandsmaybeclaimedasthepropertyofothers.

You might also like