Guide: Egen server – virtualisera och få mer ur din hemma-server!
Då och då på Sweclockers kommer det frågor om hur man sätter upp en server och vad som behövs för hårdvara etc.
Jag tänkte visa hur man med VMWare ESXi får så mycket ur sin server som möjligt, genom virtualisering d.v.s ”köra flera servrar i samma server.”
Då kan vi köra t. ex. Windows- och Linux-servrar och experimentera utan att fördärva en fungerande ”produktionsserver”.
Möjligheterna och fördelarna är många.
I guiden går vi igenom hur man:
• Skaffar licens och installations-media
• Installerar och grund-konfigurerar ESXi
• Skapar och installerar en Virtuell Maskin
• Patchar och uppdaterar ESXi
Att tänka på:
VMWare ESXi är en kraffull s.k. Hypervisor, ett ”virtualiserings OS” som är gratis att använda. Gratis-licensen har dock vissa begränsningar men det är inget som kommer att utgöra ett problem i vår hobby-miljö.
Vidare så är ESXi ganska smalt i sitt hårdvarustöd, så om du planerar att köpa delar för att bygga en ”whitebox server”, konsultera kompatiblitetsguiden innan inköp:
http://www.vmware.com/resources/compatibility/
Någorlunda moderna servrar från de stora tillverkarna som HP, IBM och Dell bör kunna köra ESXi utan problem.
Jag vill påstå att mycket RAM är viktigare än många kärnor och hög klockfrekvens, men det hänger ju såklart på vad för slags servrar vi ska köra i vår ESXi och hur många. Filservrar, webservrar och mailservrar i hobby-miljön är inte så CPU-intensiva, men dedikerade spelservrar drar mer CPU.
I min egen ESXi har jag 2st AMD Opteron 2347HE Quad-core cpu’er, totalt 8 kärnor á 1,9GHz per kärna och 24GB RAM. I den snurrar just nu 7 VM’s blandat Windows och Linux.
Din CPU bör ha stöd för Virtualisering i hårdvaran annars kommer du få prestandaproblem!
Andra punkter jag tycker är viktiga i en server är:
• Drift-ekonomi! Bygg strömsnålt! Elektricitet är inte gratis.
• Fysisk placering! En server som ska gå 24/7 måste ha bra kylning året runt.
Fläktar låter ju bekant en del så måste du vistas nära den se till att kylningen är bra och tyst. Ska du ha den i en garderob se till att ventilera utrymmet. Sommarvärme + dåligt ventilerad garderob = ökad risk för hårddisk ras!
• En lite mer seriös server som planeras att gå 24/7 bör enligt min åsikt byggas på riktiga server-komponenter. Det måste inte bli dyrt, du behöver inte ha senaste generationen Intel Xeon cpu’er. Du hittar prisvärda prylar på eBay. Jag ska försöka återkomma till exempel på prisvärda servrar-komponenter senare. Hårddiskarna bör vara av ”Enterprise” modell anser jag, då sessa är gjorda för att klara 24/7 drift. Dyrare ja, men snåla nu och gråt senare….
Självklart kan du bygga en server på ”desktop-delar”, det kan mycket väl fungera 24/7 mycket länge. Men vi vill minimera riskerna för hårdvaruproblem.
Själva operativet ESXi är litet och kan med fördel köras på en USB-sticka medan vi kör våra Virtuella Maskiner (VM) från en traditionell hårddisk.
Jag rekommenderar att skilja själva systemet och den datastore där VM’s kommer att ligga, dvs, kör ESXi på en USB-sticka, en liten SSD eller en egen hårddisk.
EDIT 2014-02-15: ESXi är nu uppe i v5.5, och jag vill lyfta ett varningens finger för att uppdatera någon VM till senaste "Virtual Hardware" versionen som är vmx-10. Gör du det och INTE har Virtual Center som ger tillgång till Web-klienten, så kommer du inte att kunna editera VM'ns hårdvara. Dvs, uppgraderar du från v5.1 eller tidigare, låt bli att uppgradera dina VM's "Virtual Hardware"!
Ett tips är att installera Virtual Center Appliance, men det är dock en licensierad produkt, och utan licens kommer den att bli nedlåst efter 60 dagar.
Nu börjar vi!
LICENS OCH INSTALLATIONSMEDIA
Registrera dig hos VMware och hämta en gratis ESXi-licens samt installations-CD:
https://my.vmware.com/web/vmware/registration
Fyll i formuläret, under företagsuppgifter får du använda din fantasi.
Godkänn avtalet och fortsätt!
Du kommer nu att få ett mail från VMware. Aktivera ditt konto genom att klicka på länken ”activate”, logga sedan in med ditt lösenord.
I menyn, klicka på Products & Downloads > All downloads.
Under Datacenter & Cloud Infrastructure välj VMware vShere Hypervisor (ESXi).
Vi vill ha senaste utgåvan, i skrivande stund VMware vSphere Hypervisor 5.0.0 U1 från 2012-03-15. Klicka på knappen Download, i nästa fönster måste du registrera dig för en licens, klicka på knappen Register. Formuläret bör vara för-ifyllt bortsett från frågan om hur många fysiska servrar vi kommer att använda, fyll i ”1” under Additional questions, godkänn EULA och fortsätt.
TADA! Nu har vi en licensnyckel! Spara den i textfil, vi behöver den senare.
Ladda nu ner CD-imagen, ca 300Mb. Bränn sedan iso’n till en CD (eller gör en bootbar USB-sticka). Jag förutsätter att du kan det här själv.
Medan vi väntar intar vi en kopp kaffe eller annan dryck med högt koffeininnehåll.
Med vår nya installations-CD kan vi äntligen börjar installera!
INSTALLATION
Boota på CD’n!
Två alternativ här, vi väljer att installera ESXi.
Enter!
Godkänn och fortsätt, F11!
Välj var du vill installera ESXi. Min gamla test-maskin bootar inte på USB-sticka så jag väljer att installera på hårddisk. Vill du installera på USB-sticka så plugga in USB-stickan nu och tryck F5, nu bör den finnas att välja i listan.
Nu ska vi välja en tangentbods-layout, vi kör på US Default, Enter!
Sätt ett root-lösenord. Det här måste du komma ihåg, dokumentera det, lämpligen i samma fil som du sparade licensen i tidigare.
Min gamla test-maskin har inte stöd för Virtualisering i CPUn, men det går ändå. Prestandan blir dock sämre men för guidens skull spelar det ingen roll. Har du bättre grejer än min gamla test-maskin så ska du slippa att se den här bilden!
Har du valt rätt disk så bekräftar vi med F11!
Nu kan vi ta en paus för att klappa katten/hunden, hämta mer kaffe, äta, gå på toa eller vara social med andra människor en liten stund….
Woohoo, klart! Ta ur CD’n och tryck Enter!
Kom ihåg att ändra boot-settings i BIOS om du ska boota på USB-stickan
Nu ska vi sätta en fast IP-adress på servern! Tryck F2, och ange root-lösenordet som vi satte under installationen.
Välj Configure Management Network > IP Configuration
Välj “Set static IP address and network configuration” med mellanslagstangenten.
Sätt sedan en lämplig IP-adress. Du kan så klart köra DHCP om du vill men jag anser att en server skall ha fast IP så man vet var i nätet den ligger.
När vi har gjort våra ändringar trycker vi Enter, sedan Esc!
Vi måste starta om Management nätverket, tryck Y!
Yay! Installationen är klar! Logga ut genom att trycka Esc.
Nu bör det se ut som i bilden ovan, d.v.s. du ska se det IP-nr du valde tidigare.
Nu kan vi stänga av skärmen, resten kommer vi att sköta ”remote”.
Är klockan mycket och det är läggdags för länge sen så är det ett bra tillfälle att bryta här.
KONFIGURATION
ESXi manageras med en klient. Den ska vi ladda ner! Med din favoritbrowser, knappar du in adressen till servern som vi satte under installationen.
Klicka på Download vSphere Client och ladda ner klienten. När nerladdningen är klar så kör setupen och installera. Jag väljer att inte ta med denna del i guiden då jag förutsätter att om vi tagit oss så här långt så man kan installera ett vanligt Windows-program utan guide.
När klienten är installerad bör vi ha en grön ikon på skrivbordet som heter VMware vSphere Client. Starta klienten!
Ange serverns IP, root, och root-lösenord, klicka sedan på Login!
Säkerhetsvarning! Klicka i rutan ”Install this certificate…” och sedan Ignore, så slipper vi se det här fler gånger.
Nu är vi inne! Snart kan vi börja virtualisera! Klicka på OK i rutan om Evaluering. Vår server kommer fungera i 60 dagar utan licens men eftersom vi redan har en så anger vi den nu!
Klicka på fliken Configuration. I menyn Software väljer vi Licensed Features och sedan Edit…
Välj Assign a new license key to this host, sedan Enter key…
Ange din licens-nyckel. (Cut’n paste FTW!) Avsluta med OK!
Med licensen avklarad så tar vi hand om lagringen.
Fortfarande under fliken Configuration, klicka på Storage i Hardware menyn. Håddiskar och volymer kallas för Datastores, och vi ser vår HDD/SSD/USB-sticka som en Datastore i det översta fältet. Klicka på Add Storage.
Här kan vi antingen välja att lägga till en lokal disk eller ett NFS-share från t.ex. en NAS.
Vi väljer en lokal disk, så välj Disk/LUN och klicka på Next.
Här dyker de diskar vi har i systemet men som ännu inte är tilldelade upp. I det här fallet en 500 Giggare. Den vill vi göra till ett eget datastore som vi kan lagra våra VM’s på!
Erfarenheten har lärt mig att ESXi inte gillar diskar med partitioner och andra filsystem på, så om du har en "begagnad" disk och för att slippa eventuella problem här, se till att rensa dem innan, t.ex med Diskpart i Windows eller annat lämpligt verktyg, så att den är helt tom.
Välj disken och klicka på Next!
Här ska vi välja ett filsystem! Vi väljer VMFS-5 som är nytt från version 5 av ESXi. Har du en disk eller RAID-array större än 2TB så är VMFS-5 din bästa vän! Klicka Next!
Nästa vy är en summering av disken, bara att klicka Next!
Nu ska vi ge vårt Datastore ett begåvat namn. Vi kallar det för DataStore! Next!
Här ska vi välja om vi vill använda hela disken till ett Datastore eller om vi ska partitionera upp den. Vi väljer Maximum! Next!
En ny summering över våra val, Next!
Som genom ett trollslag har vi nu ett nytt Datastore redo att användas.
Innan vi är helt klara vill jag bara döpa om det datastore där själva systemet ligger till, just det , System. Högerklicka på ”datastore1” välj Rename och skriv System, sedan Enter!
Nästa steg är att se till så att systemet klocka alltid går rätt!
Fortfarande under fliken Configuration, under menyn Software, klicka på Time Configuration, sedan på ”Properties…” uppe till höger.
Bocka i rutan NTP Client Enabled, sedan klicka på knappen ”Options…”
Under General väjer vi ”Start and stop with Host”, sedan väljer vi NTP settings ute till vänster…
Klicka på knappen” Add…”. I rutan som kommer upp, ange följande NTP-servrar, en i taget:
0.se.pool.ntp.org
1.se.pool.ntp.org
2.se.pool.ntp.org
3.se.pool.ntp.org
Med det gjort ska det se ut som i bilden ovan. Klicka i rutan ”Restart NTP service…” sedan klicka OK! Och Ok igen…
Klicka på fliken Summary!
Under Storage Ser vi nu våra två Datastores. Högerklicka på den vi skapade för en stund sedan, och välj Browse Datastore…
Det här är systemets ”filhanterare”. Nu ska vi skapa två kataloger!
Klicka på Mappen med ”+” på… I rutan skriver vi ”iso”. Och en gång till, fast nu skriver vi ”patch”.
Voila! Två kataloger skapade. I iso katalogen kommer vi logiskt nog att spara de iso-filer som vi vill installera, och i patch lägger vi våra patch-filer.
LADDA UPP ISO FILER
Okej!
I träd-strukturen till vänster, markera iso, klicka sedan på Uppladnings-knappen, välj ”Upload file…” Här förutsätter jag att du redan har iso-filer till dina favorit OS, eller OS som du vill testa. Har du inte det är det läge att skaffa. Eftersom jag har förberett så börjar jag ladda upp. Jag laddar upp en Ubuntu 12.04 Server iso samt en Windows 2008 R2 iso. Du får ladda upp vad du vill, bara det går att boota på ison. Now do it!
Nu är iso-filerna på plats! Nu ska vi skapa vår första VM! Stäng Datastore browsern.
SKAPA OCH INSTALLERA VM
Under fliken Summary, en bit ner hittar vi menyn Commands, klicka på ”New Virtual Machine.
1. I första rutan väljer vi helt enkelt bara Typical, klicka Next!
2. Vår VM behöver ett namn, vi kallar vår ”Test”! Next!
3. Var ska vi spara vår VM? Jo i datastoret DataStore! Next!
4. Vad är det för OS? Här väljer vi det som matchar det vi tänker installera.
5. Hur många nätverkskort behöver vi, vilken typ och vilket nät ska det ligga på?
Vi behöver bara ett NIC här, och vilket nät vi ska använda är enkelt för vi hara bara ett i nuläget. Under ”Adapter” väljer vi VMXNET 3 då det fungerar bra i alla OS. Fritt att experimentera med adapter typen här… Next!
6. Hur stor disk behöver vi? Vi anger storlek på disken där operativet kommer att installeras. Sedan ska vi göra ett val avseende ”provisioning policy”, vilka egenskaper vår virtuella disk får. Som standard i vår hemma-server tycker jag att man kan använda ”Thin Provisioning”, det innebär att vi om vi anger att vår disk skall vara 30GB så kommer vi att boka 30GB i systemet, men disken kommer bara att vara så stor den behöver vara för stunden.
I vårt gäst-OS kommer dock disken att ha den storleken vi har angett… förvirrande?
Misstänkte det. Välj Thin Provisioning och sen Next!
Vill du veta mer om Virtual Disk Provisioning Policies så läs här:
http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmwa...
Nåväl, snart i mål, bara ett par val till:
Innan vi slutför vår VM, klicka i ”Edit the virtual machine settings before completion”, sedan Continue!
Här har vi den virtuella hårdvaran. Här kan vi sätta hur många CPU kärnor vår server skall ha, hur mycket RAM och om vi ska ha fler diskar och nätverkskort. Det här han du modifiera även i efterhand, när VM’en är installerad. Vissa parametrar som CPU och RAM kan bara ändras när VM’en är avstängd, disk kan du lägga till ”on the fly”.
För en vanlig Linux-server räcker 2 kärnor och 2GB RAM utmärkt, så det väljer vi nu!
När vi är nöjda kommer den virtuella maskinen att skapas! Finish!
Strålande! Ute till vänster dök vår nya VM upp. Just nu gör den dock ingen glad, så vi högerklickar på den och väljer Edit Settings…
Där har vi den virtuella hårdvaran igen. Nu ska vi mounta en iso så vi kan börja installera vårt OS. Markera CD/DVD drive 1, sedan väljer du Datastore ISO file och browsar upp den iso-fil vi laddade upp tidigare. Vi går till DataStore/iso, och väljer en iso, i vårt fall här, Ubuntu 12.04 server.
Innan vi går vidare klickar vi i Connect at power on… annars kommer det inte hända så mycket.
Nu så!
Klicka på vår nya VM i trädet till vänster, klicka sedan på ”Launch Virtual Machine Console”, sedan på den gröna Play-knappen i konsoll fönstret!
Nu kommer den virtuella servern att starta och du kan installera operativsystemet du valt.
Vi går inte igenom det här.
När installationen är klar går du till ”Edit settings” på din VM, välher CD/DVD drive 1 och klickar i Client Device. Då har vi avmonterat ison från frå VM'en.
Har du ingen erfarenhet av Linux, börja med en Windows-maskin.
Om vi installerar en Windows-maskin så bör man installera "VMWare Tools" på den. Det är ett paket med drivrutiner och optimeringar som förbättrar prestandan. Det gör vi enklast genom att högerklicka på vår VM, välj Guest sedan Install/upgrade VMware tools.
Då kommer systemet att automatiskt montera en virtuell CD, som dyker upp i Windows på din VM. Kör installationen och boota om så är den optimerad.
I en Linux-server utan grafiskt gränssnitt är VMware tools inte nödvändigt. Det går inte att installera lika enkelt som i Windows men det går om man vill.
Nu har du en infrastruktur som tillåter dig att experimentera med alla möjliga OS. Om du senare vill ta bort en VM, stänger du bara av den, högerklickar på den och väljer ”Delete from disk”. Alla resurser som VM’n upptog har nu frigjorts och lämnats tillbaka till systemet, fria att använda igen.
PATCHA ESXi
Innan jag släpper iväg dig vill jag gå igenom hur vi underhåller vår ESXi host!
Oftast i mitten av varje månad släpper VMware ett paket med patchar.
Det kan vara säkerhetsfixar, bugfixar och uppdateringar, och de anger tydligt vilken inverkan patchprocessen har på systemet. Vissa patchar kan läggas på med alla VM igång, medan vissa kräver att samtliga VM’s är avstängda och hosten måste startas om. Senaste patchen som finns tillgänglig är av den senare typen. Vi laddar ner och lägger på den!
Gå till http://www.vmware.com/patchmgr/download.portal
Välj “ESXi (Embedded and installable)”, sedan search.
I nästa vy ser vi tillgängliga patch-paket. I skrivande stund är ”ESXi500-201207001” den senaste, och under ”System Impact” står det vilken inverkan patchen har. Samtliga VM’s måste stängas ner och ESXI hosten bootas om. Ladda ner patchen på Download.
I vSphere klienten, under fliken Summary, högerklicka på DataStore, välj Browse datastore…
Välj katalogen ”patch” i trädstrukturen, sedan uppladningsknappen, välj ”Upload file…” och bläddra sedan fram till katalogen där du sparade patchen.
Jag brukar patcha min ESXi via SSH, och för att göra det måste vi slå på SSH.
Gå till fliken Configuration, under menyn Software klicka Security Profile.
Vi behöver starta tre tjänster. Man kan antingen göra den här processen varje gång man patchar, eller så kan vi låta tjänterna vara igång hela tiden. Det är en säkerhetsrisk att ha SSH igång men sålänge vi sitter bakom en brandvägg är det ingen katastrof, men du väljer själv.
Tjänsterna som måste vara startade är ESXi Shell, SSH och Direct Console UI. Klicka på ”Properties…”
Markera respektive tjänst ESXi Shell, SSH och Direct Console UI, klicka på ”Options…”
Välj antingen “Start and stop with host” = alltid igång eller ”Start and stop manually” = du får starta dem vid varje patchtillfälle.
Stäng av alla VM’s om det behövs. När alla är nere, gå till fliken Summary, och under Commands klicka ”Enter Maintenande mode”.
I underhållsläge kan inga VM’s startas.
Nu behöver vi en SSH-klient! Jag rekomenderar PuTTY! Har du inte PuTTY är det bara att Googla och ladda ner, det är PuTTY-litet… moahaha… hrm…
Starta Putty, skriv serverns IP-adress, porten skall vara 22, sedan Open.
Första gången du ansluter måste du godkänna SSH-nyckel, bara acceptera och gå vidare.
Nu står du vid en login-prompt: skriv root sedan root-lösen.
Klistra in (en enda rad):
esxcli software vib install --maintenance-mode --depot /vmfs/volumes/DataStore/patch/ESXi500-201207001.zip
(Nästa patch heter ju givetvis inte likadant, ange istället det nya filnamnet nästa gång… )
Sedan trycker du Enter, och patchningen startar, även om det inte ser ut att hända något först så ser du när den är klar.
När prompten är redo återstår bara att boota om. Skriv reboot följt av Enter!
Nu startar servern om. När den är uppstartad igen bör du se det nya buildnummer som servern fick i och med patchen. Logga in med vSphere-klienten, ta hosten ur Maintenance mode och sedan är det klart!
Starta dina VM’s och experimentera och lära känna vSphere klienten och din nya Virtual Server Host!
Det finns massor med andra parametrar och inställningar att leka med. Lämpligt är också att skapa en användare till som vi använder till daglig drift.
Welcome to the wonderful world of virtualization!
Synpunkter, kritik o frågor imottages gärna.
Better to have and not need, than to need and not have.