VMware vCloud Director demo-ympäristön pystytys

VMwaren suurin tuotejulkistus VMworld 2010 -tapahtumassa oli VMware vCloud Director jonka pääasiallinen tarkoitus on luoda uusi kerros vSphere-ympäristön päälle ja tarjota rajapinta jossa vCenterin hallinnoimat resurssit on yhdistetty isoihin siiloihin joita voidaan jakaa asiakkaille palveluna. Tämä mahdollistaa mm. Pay as you go-mallisen ympäristön rakentamisen ulkoistustalojen näkökulmasta sekä tarjoaa hallintaan erinomaisen palvelu portaalin josta asiakkaat voivat käyttää heille allokoituja resursseja luoden haluamansa virtuaalikoneet. Alla on karkea kuvaus siitä mitä vCD käytännössä on.

Tämän artikkelin tarkoituksena ei kuitenkaan ole kertoa syvällisesti mitä vCD on vaan tuotteesta kannattaa lukea suoraan VMwaren www-sivuilta. Tuote on mielenkiintoinen ja halusin tutustua tarkemmin siihen miten sitä voidaan hallita ja mitä se pystyy tarjoamaan ja halusin rakentaa demo-ympäristön mutta koska käytössäni ei aina ole riittävästi rautaa päätin toteuttaa koko ympäristön virtualisoinnilla. Alustana tässä minulla toimii Apple Macbook Pro jossa on 8 gigaa muistia sekä riittävästi nopeaa SSD-levyä. Virtualisointialustana minulla tässä toimi VMware Fusion, mutta tietyillä sovellutuksilla homma onnistuu myös VirtualBox-tuotteella.

Tarvittavat komponentit

Jotta ympäristö pystytään rakentamaan tarvitaan seuraavat komponentit:

  1. RedHat Linux / CentOS 5 (64 bittinen)
  2. Oracle 10g Express -tietokanta (www)
  3. Windows 2008 R2 (Trial saatavilla Microsoftin www-sivuilta)
  4. VMware ESXi 4.1 (www)
  5. VMware vCenter 4.1 (www)
  6. VMware vCloud Director 1.0 (www)
  7. VMware vShield 4.1 (www)

Kaikista komponenteista on saatavilla rajoitetun ajan käytössä olevat demo-versiot, VMware ja Oracle vaativat tunnuksen luomisen jotta tuotteet pystyy lataamaan, Microsoftin tuotteesta on saatavilla julkisesti ladattavissa oleva versio sekä varsinainen trial-versio jonka saat Microsoftilta).

Ympäristö vaatii usean erillisen virtuaalikoneen asentamisen, mutta olen pyrkinyt yhdistämään tuotteita virtuaalikoneisiin niin paljon kuin vain mahdollista. Tarvitset alkuun vähintään kaksi ESXi-konetta sekä vCenter-koneen. Luo kaksi konetta ja asenna kumpaankin ESXi mahdollisimman pienellä levyllä, ESXi-koneet eivät tule jakamaan mitään levyä vaan levy otetaan käyttöön NFS:llä Linux-koneelta (vaihtoehtoisesti voidaan myös asentaa joku virtuaalinen storage-appliance, mutta nopein ja helpoin tapa on jakaa levy NFS:llä).

Palvelin 1 – Linux, vCD, Oracle & NFS

Loin tätä varten virtuaalikoneen 1 vCPU:lla sekä 2 GB keskusmuistia sekä lisäsin levyyn 200 GB thinallokoitua levyä.

Asensin koneeseen CentOS 5:n oletusasetuksilla ja annoin koneelle kiinteän IP-osoitteen (172.16.0.4). Asennuksen jälkeen kone käynnistyy uudelleen jonka jälkeen suljin koneen palomuurin, määrittelin SELinux-palvelun pois päältä, sallin NTP-palvelun sekä varmistin että NFS-palvelu oli päällä ja jaoin NFS:llä luomani /data-hakemiston eteenpäin koko 172.16.0.0 -verkolle.

Seuraavana tehtävänä asensin koneeseen VMware Toolsit (Linux-koneissa asennus ei käynnisty automaattisesti vaan ainoastaan mounttaa cd-asemaan levyn josta toolsit tulee asentaa käsin) kopioimalla cd:ltä paketin /tmp:n alle ja sieltä purettuani käynnistin asennuksen ./vmware-install.sh -komennolla. Kun toolsit olivat asentuneet päivitin koko koneen (yum update && yum upgrade).

Koska kone tulee Oraclen käyttöön vaatii se muutaman lisäpaketin asentamisen:

# yum install alsa-lib bash chkconfig compat-libcom_err coreutils findutils
glibc grep initscripts krb5-libs libgcc libICE libSM libstdc   libX11 libXau
libXdmcp libXext libXi libXt libXtst module-init-tools   net-tools pciutils
procps sed tar which

Näiden jälkeen koneeseen asennetaan Oracle 10g tietokanta kopioimalla virtuaalikoneeseen ja käynnistämällä itse asennus

# rpm -i oracle-xe-10.2.0.1-1.0.i386.rpm
# /etc/init.d/oracle-xe configure

Käytin määrityksissä oletusasetuksia porttien osalta (8080web-rajapinnalle  ja 1521 listenerille) sekä määrittelin tietokannalle salasanan.Lopuksi valitse y varmistaaksesi että tietokanta käynnistyy kun virtuaalikone käynnistyy. Asennuksen päätyttyä varmista että palvelu on käynnissä ottamalla WWW-selaimella yhteys http://ip-osoite:8080/apex -osoitteeseen.

Oraclen WWW-käyttöliittymästä luodaan vCD-ympäristölle: Valitse Administration -> Database Users -> Create User. Luodaan käyttäjätunnus vcduser salasanalla vcduser sekä valitaan DBA-valinta käyttäjälle ja lopuksi klikataan Create-kohtaa.

vCloud Directorin asennusta varten tulee vcd:n binary-tiedosto kopioida virtuaalikoneelle väliaikaiseen hakemistoon. vCloud Director tarvitsee toisen IP:n toimintaan, vaihtoehtoina on lisätä toinen adapteri tai luoda virtuaalinen IP, joista jälkimmäinen on parempi valinta jotta paketti pysyy mahdollisimman simppelinä.

# sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:1

Lisätään tiedostoon seuraavat rivit:

BOOTPROTO=static
DEVICE=eth0:1
IPADDR=172.16.0.5
NETMASK=255.255.255.0
ONBOOT=yes

Tallennetaan tiedosto ja käynnistetään networking uudelleen jonka jälkeen sinulla pitäisi olla käytössä kaksi IP:tä

# service networking restart

Seuraavana vaiheena on käynnistää itse vCloud Directorin asennus. Siirry hakemistoon jonne kopioit binary-tiedoston ja anna tiedostolle ajo-oikeudet ja käynnistä asennus.

# chmod +x vmware-cloud-director-1.0.0-285979.bin
# ./vmware-cloud-director-1.0.0-285979.bin

Asennus huomauttaa ensimmäisenä että olet asentamassa tuotetta Linuxiin joka ei ole tuettu (Koska kyseessä on CentOS eikä RedHat), mutta tämä ei aiheuta haittaa, vastaamalla myönteisesti pääset jatkamaan asennusta. Kun asennus kysyy halutaanko ajaa konfigurointi-skripti vastaa ei. Asennuksen jälkeen pitää luoda itse allekirjoitetut sertifikaatit jotta vCloud toimii.

# cd /etc
# /opt/vmware/cloud-director/jre/bin/keytool -keystore certificates.ks  -storetype JCEKS -storepass
   password -genkey -keyalg RSA -alias http  -dname “cn=vcloud,  ou=vmware, o=vmware, c=US”
   -keypass password
# /opt/vmware/cloud-director/jre/bin/keytool -keystore certificates.ks  -storetype JCEKS -storepass
    password -genkey -keyalg RSA -alias  consoleproxy -dname “cn=vcloud,  ou=vmware, o=vmware,
    c=US” -keypass  password

Tämän jälkeen sinulla pitäisi olla tiedosto “certificates.ks” /etc-hakemistossa. Seuraavana konfiguroimme itse vCloud Directorin.

# /opt/vmware/cloud-director/bin/configure
  • Valitse ensimmäinen IP-osoite (tämä on IP-osoite jota käytetään jatkossa vCD:n Portaalipalveluun).
  • Valitse toinen IP-osoite jota käytetään virtuaalikoneiden etäkonsoliin.
  • Kirjoita “/etc/certificates.ks” kun konfigurointi kysyy polkua sertifikaatteihin. Koska sertifikaatit on suojattu salasanalla kysyy konfigurointi sitä, salasanaksi määriteltiin ylempänä “password”.
  • Paina enteriä, koska emme halua määritellä syslog-palvelinta.
  • Määrittele tietokannan IP-osoitteeksi 127.0.0.1
  • Valitse oletusportti tietokannalle (1521)
  • Tietokannan nimeksi määrittele xe
  • Tietokannan käyttäjänimeksi määrittelimme vcduser
  • Salasanaksi määrittelimme vcduser
  • Seuraavaksi tietokantaan määritellään oletusmäärittelyt ja tämän jälkeen vCloud Directorin asennus on valmis
  • Valitse lopuksi “y” jotta itse palvelu käynnistetään (Palvelun käynnistyminen vie kohtalaisen pitkään, voit seurata käynnistymisen edistymistä /opt/vmware/cloud-director/log/cell.log -tiedostosta, kun palvelu on kokonaisuudessaan käynnissä pitäisi tiedostossa lukea rivi “Application Initialization: Complete. Server is ready in”)

Palvelin 2 – vCenter & DNS-palvelu

Loin koneen 1 vCPU:lla ja 1 GB keskusmuistia. Annoin koneelle 30 GB thinallokoitua levyä joka riittää mainiosti koska demo-ympäristössä ei tulla käyttämään VMwaren Update Manageria. Asensin koneeseen Windows Server 2008 R2:n jonka asennus on varsin suoraviivainen, itse asennus ei montaa kysymystä kysy ja hetken odottelun jälkeen minulla olikin käytössä tyhjä windows-kone.

Määritin koneelle kiinteän IP-osoitteen (172.16.0.3, ESX-noodit olivat .1 ja .2) , vaihdoin koneelle hostinimeksi srv-vc sekä asensin koneeseen DNS-palvelun (tämä vei minulla aika pitkään).

Palvelin 3 – vShield Manager

vShield Managerin asennus on hyvin nopeaa ja yksinkertaista koska VMware jakaa vShieldiä OVF-tiedostoina suoraan. Koska vShield Manager on tarkoitettu ESX/ESXi-ympäristöihin vietäväksi on sen OVF-tiedosto muodossa jota Fusion ei suoraan pysty ottamaan vastaan, joten ennen importointia tulee tiedosto muuttaa sopivaan muotoon (Tähän tarvitaan erillinen työkalu nimeltä OVF Tool joka löytyy internetistä, vaihtoehtoisesti voit myös importoida koneen virtualisoituun ESXi-palvelimeen).

  • Mene kansioon jonne tallensit vShieldin ja kopioi kaikki tiedostot toiseen kansioon OVA-hakemiston sisältä.
  • Avaa OSX:n Terminaali ja mene hakemistoon jossa hakemasi OVF-tool on (VMware-ovftool-2.0.1-260188-mac.i386.sh) ja anna skriptille ajo-oikeudet (chmod +x VMware-ovftool-2.0.1-260188-mac.i386.sh)
  • Käynnistä asennus ajamalla ./VMware-ovftool-2.0.1-260188-mac.i386.sh
  • Hyväksy asennus valitsemalla “yes”
  • Hyväksy EULA-lisenssi valitsemalla “yes”
  • Hyväksy oletuspolku painamalla enter
  • Asennuksen päätyttyä mene hakemistoon jossa OVF-tiedostosi vShieldistä on ja käynnistää konvertointi:
# /opt/vmware/ovftool/ovftool.bin “VSM.ovf”
  • Hyväksy EULA-lisenssi kirjoittamalla “yes”
  • Konvertointi alkaa ja kun se valmistuu (tässä menee taas hetki) pitäisi sinulla olla hakemistossa VMX-tiedosto sekä VMDK-tiedostot. Nämä tiedostot voidaan nyt importoida Fusioniin.
  • Kun saat importoinnin valmiiksi, käynnistä vShield Manager ja tee seuraavat määrittelyt:
    • Kirjaudu sisään tunnuksella admin ja salasanalla default
    • Kirjoita “enable” ja kirjoita salasana (default) uudelleen jonka jälkeen voit käynnistää konfiguroinnin kirjoittamalla setup
    • Anna vShield Managerille varattu IP-osoite (minulla 172.16.0.6), aliverkon peite (255.255.255.0) sekä DNS-palvelimen osoite (172.16.0.3) ja poistu asennuksesta jotta määrittelyt voidaan ottaa käyttöön.

Loppumäärittelyt

Nyt sinulla pitäisi olla toimiva vCloud-ympäristö asennettuna, kirjaudu WWW-selaimella sisään vCloud Directoriin ja voit aloittaa ympäristön rakentamisen ja testaamisen.

    Virtuaalikoneiden varmistaminen VMwaren Data Recoveryllä

    Yleistä

    VMware toi Data Recovery-nimisen tuotteensa markkinoille jo vSphere-päivityksen yhteydessä mutta ensimmäisen version suuret ongelmat rajoittivat tuotteen käyttöönottoa useissa yrityksissä. Nyt VMware on päivittänyt Data Recoveryä ja se alkaa olemaan tuotteena sitä jollaiseksi sen olisi alun perinkin pitänyt tehdä.

    Tuotteen idea on yksinkertainen; VMware Data Recovery on ns. appliance-pohjainen varmistuspalvelin jonka asentamisen jälkeen voidaan vSphere-ympäristön virtuaalikoneista ottaa image-tason varmuuskopiot ja näistä varmuuskopioista voidaan tarvittaessa palauttaa koko kone tai vain yksittäisiä tiedostoja (Tämä vaatii tuen, tällä hetkellä Windows sekä Linuxista RedHat ovat tuettuja). Data Recovery sisältää myös datan de-duplikoinnin, joka tarkoittaa että samaa tietoa ei tallenneta varmistuspalvelimen levyille kuin kertaalleen. Varmistukset otetaan incremental-kopioina joten varmistusajossa varmistetaan vain muuttuneet tiedostot ja näin voidaan pienentää varmistukseen käytettävää aikaa merkittävästi.

    VMware Data Recovery ei tue datan varmistusta nauhajärjestelmiin vaan toimii ainoastaan levyvarmistuspohjaisesti. Applikaatio tukee FC, NAS sekä lokaalia levyä joka mahdollistaa luonnollisesti hyvinkin monenlaiset käyttökohteet, suosittelen kuitenkin joko FC:n kautta näytettyä LUNia tai dedikoitua NAS-järjestelmää.

    Käyttönotto

    VMware Data Recoveryn käyttöönotto on todella helppoa. Hommaa varten tarvitaan olemassa oleva vSphere-ympäristö sopivalla lisenssillä, itse tuoteen käyttöoikeus on jo vSphere Essentialissa mukana.

    Ennen käyttöönottoa on varmistettava että seuraavat portit on sallittu tietoliikennelaitteissa:

    • VDR käyttää vCenterin webservices-rajapintaa, tämä tarvitsee auki portit 80 ja 443
    • VDR:n varmistuskoneen plugin ja tiedostotason palautus (FLR, File Level Restore) vaatii yhteyden VDR-applianceen porttiin 22024
    • VDR-appliance ottaa yhteyttä VMware ESX:n tai ESXi:n porttiin 902

    VDR vaatii käyttöoikeuksia sekä vCenteriin että varmistettaviin virtuaalikoneisiin, joten tätä varten tulisi tehdä käyttäjätunnus ja antaa sille tarvittavat oikeudet. Seuraavat käyttöoikeudet vaaditaan jokaiseen varmistettavaan virtuaalikoneeseen:

    • VirtualMachine->Configuration->Disk change tracking
    • VirtualMachine->Provisioning->Allow read-only disk access
    • VirtualMachine->Provisioning->Allow VM download
    • VirtualMachine->State->Create snapshot
    • VirtualMachine->State->Remove snapshot

    Sekä seuraavat käyttöoikeudet itse VDR-applianceen:

    • Datastore->Allocate space
    • VirtualMachine->Configuration->Add new disk
    • VirtualMachine->Configuration->Change resource
    • VirtualMachine->Configuration->Remove disk
    • VirtualMachine->Configuration->Settings

    Ja vielä lisäksi käyttäjällä on oltava seuraava käyttöoikeus koko ympäristöön:

    • Global->License

    Kun käyttäjätunnukset on luotu voidaan siirtyä itse ympäristön asentamiseen. Lataa tarvittava asennus-cd VMwaren sivustolta tunnuksillasi. Käynnistä vCenter-koneella CD-levyltä asennus ja valitse Data Recovery Client Plug-In. Seuraa asennuksen ohjeita, kun asennus on päättynyt voit ottaa vSphere Clientillä yhteyden ja asentaa työasemaasi plug-inin valitsemalla vSphere Clientistä Plugins -> Manage Plugins. Kun tämä on asentunut tulee sinun käynnistää vSphere client uudelleen jotta voit ottaa asennetun lisäosan käyttöön.

    Seuraavaksi asennetaan itse VDR-appliance. Avaa vSphere Clientistä File -> Deploy OVF Template. Valitse Deploy from File ja hae asennus cd:ltä hakemistosta X:VMwareDataRecovery-ovf (Jossa X on siis CD-asemasi tunnus) tiedosto VmwareDataRecovery_OVF10.ovf. Valitse haluamasi kohde, klusteri sekä datastorage, haluamasi levymuoto sekä aseta aikavyöhyke properties-välilehdeltä. Lopuksi tarkista että valinnat ovat haluamasi ja paina Finish jolloin vSphere alkaa asentaa VDR-palvelinta.

    Kun itse VDR-palvelin on asennettu voidaan siihen lisätä varmistuslevy suoraan levyjärjestelmästä käyttäen VMwaren RDM-toiminnallisuutta jossa virtuaalikone kirjoittaa suoraan sille tarjottuun LUNiin ja tarjoaa näin paremman suorituskyvyn kuin virtuaalilevyllä.

    Seuraavassa osassa näytän miten VDR-palvelimelle tehdään tarvittavat perusasetukset sekä miten palvelin määritellään suorittamaan varmistuksia.

    Miten siirtää virtuaalikoneita vSpheren ja vCloud Directorin välillä

    VMwaren julkistettua VMworld 2010 tapahtumassa vCloud Director tuotteen pilvipalveluiden rakentamiseen törmäsin testailuissani ongelmaan virtuaalikoneiden migroinnin suhteen; miten koneita voidaan siirtää olemassa olevasta vSphere-ympäristöstä uuteen vCloudiin tai päinvastoin.

    Artikkeli ei käsittele miten koneita siirretään fyysisesti vaan antaa esimerkin siitä miten koneita siirretään loogisesti näiden kahden tuotteen välillä, vCloud tietysti pyörii vSpheren päällä, eli tässä puhutaan hallinnallisesta näkökulmasta. Yleisesti dokumentteja lukemalla voisi kuvitella että loppujen lopuksihan virtuaalikone pyörii ESX/ESXi:n päällä mutta jos yrität migroida tälläistä konetta ESX/ESXi-palvelimelle joka ei ole vCloudiin kytkettynä huomaat että tämä ei ole mahdollista vaan seurauksena on seuraava virhe:

    Järjestelmän tarkoituksena on luonnollisesti pitää vCloudin sisäiset virtuaalikoneet ympäristössä joka on liitetty vCloudiin jotta niiden hallinta onnistuu vCloud Directorilla.

    Virtuaalikoneen siirto vSphere-ympäristöstä vCloud-ympäristöön

    Jos haluat siirtää virtuaalikoneen vSphere-ympäristöstäsi uuteen vCloud-ympäristöön on tämä helpointa tehdä suoraan vCloud Directorin kautta avaamalla Organization -> My Cloud -> vApps jonka jälkeen valitaan “Import from vSphere”  kuvake työkaluvalikosta.

    Tämän jälkeen saat uuden ikkunan jossa valitset virtuaalikoneen olemassa olevan vSpheren inventaariosta sekä valitset haluatko siirtää vai kopioida koneen. Lopuksi hetken odottelun jälkeen sinulla on kone migroituna vCloud-ympäristöön.

    Virtuaalikoneen siirto vCloud-ympäristöstä vSphere-ympäristöön

    Jos yrität siirtää konetta vSphere-ympäristöön huomaat että tämä ei onnistu koska vCloud-ympäristön koneet on sidottu vCloud-ympäristöön liittämällä niihin tietoa vCenterin tietokantaan. Tämän tarkoituksena on eritellä vSphere-ympäristön koneet niistä jotka on sidottu vCloud-ympäristöön. Tietuekenttä jolla sitominen on tehty alkaa tekstillä “system.service.vmware.vsla” jota seuraa uniikki vCloud Directorin järjestelmätunnus. Voidaksesi siis siirtää koneita vCloud-ympäristöstä takaisin vSphere-ympäristöön tulee tämä tietue poistaa. Poistaminen voidaan tehdä kahdella tavalla joista jälkimmäinen tapa on mielestäni huomattavasti helpompi ja parempi.

    1. Avataan vCenterin mobiili-käyttöliittymä ja poistetaan sitä kautta tietuekentän tiedot käsin.  Tämä voidaan tehdä alla olevan kuvan mukaisesti valitsemalla “RemoveCustomFieldDef”:

    2. Vaihtoehtoisesti voit vain suorittaa virtuaalikoneelle unregister-komennon vSphere-clientillä jonka jälkeen palautat koneen takaisin avaamalla datastore browserin sekä hakemalla tätä kautta koneen vmx-tiedoston ja valitsemalla sen kohdalla “Add to inventory”. Tämän jälkeen sinulla on kone vain vSphere-ympäristössä ilman että koneeseen on liitetty vCloud-määrityksiä.

    Microsoft Hyper-V ja palvelinvirtualisointi

    Palvelinvirtualisointia edullisemmin?

    Microsoft on lähtenyt virtualisointialustojen kamppailuun isolla vaihteella ja tuloksena onkin varsin hyvin toimiva ratkaisu. Pääasiallinen kilpailukeino Microsoftin Hyper-V:llä on kuitenkin sen erittäin aggressiivinen hinnoittelu, normaali Hyper-V Server ei maksa mitään mutta ilmainenkin versio on täynnä ominaisuuksia joita valtapelurien (VMware ja Citrix) ratkaisuilta voisi odottaa.

    Tässä artikkelissa keskitytään ilmaiseen Hyper-V Server 2008 R2-versioon ja sen omaisuuksiin. Tuotteen mielenkiintoisimmat ominaisuudet ovat:

    • Live migration (koneiden migrointi lennossa hypervisor-koneelta toiselle, mahdollistaa alustakoneiden huollot ja raudan lisäykset ilman katkoja virtuaalikoneisiin)
    • Klusterointi (mahdollistaa korkean käytettävyyden tarjoamalla ratkaisun jossa vikaantuneen hypervisor-koneen virtuaalikoneet siirretään käyntiin toiseen alustaan, tästä siirrosta tosin tulee lyhyt katko itse palveluille mutta koneet käynnistyvät kuitenkin itsestään uudelleen)
    • Hinta, tuote on ladattavissa ilmaiseksi Microsoftin sivuilta

    Hyper-V Server 2008 R2:n asennus ja käyttöönotto

    Tuotteen asennus on varsin suoraviivainen toimenpide, aivan kuten Windows 7 tai Windows Server 2008 R2, itse asennus tapahtuu vain muutaman kysymyksen jälkeen ja on kohtuullisen nopea. Tuote vaatii raudalta tiettyjä ominaisuuksia (esim prosessorin pitää tukea Intel-VT tai AMD-v tekniikkaa) mutta nämä ominaisuudet ovat olleet uusimmissa palvelinlaitteistoissa jo kohtalaisen pitkään.

    Varsinaisen palvelimen asennus tapahtuu täysin samaa kaavaa seuraten kuin normaalissa Windows 2008 R2-palvelimessa. Kun Hyper-V palvelin on asennettu ja kirjaudutaan sisään avautuu seuraavanlainen näkymä.

    Hypervisorin hallinta tapahtuu joko keskitetysti Windows Server 2008 R2-koneelta jonne on asennettu sopivat työkalut tai Microsoft Windows 7 työasemalta johon on asennettu lisäosa Hyper-V:n hallintaan. Työkalun käytöstä ja klusteroinnista toisessa kirjoituksessa.

    Linux ja LVM virtuaalikoneissa

    Nykyiset Linux-käyttöjärjestelmät tarjoavat erinomaisen skaalautuvuuden virtuaalikoneissa tukemalla esim. levyjärjestelmissä loogisia levyvolyymejä joka mahdollistaa käyttöjärjestelmän levyjen kasvatuksen ja pienennyksen lennossa. VMware vSphere tukee suurinta osaa markkinoiden Linux-käyttöjärjestelmistä vaikka virallinen tuki onkin vain suosituimmille distribuutioille. Tämän kirjoituksen aiheena on näyttää esimerkeillä miten LVM-järjestelmät toimivat Linuxilla, erityisesti virtuaalisissa ympäristöissä. Alhaalla esimerkkikuva siitä mitä LVM:llä tarkoitetaan:

    Jos tarkoituksenasi on käyttää koko lisätty levy kasvattamaan loogista volyymiä suosituksena on että levyä ei osioida ollenkaan vaan levy lisätään LVM:n fyysisenä volyyminä. Levyä voidaan toki lisätä koneisiin myös sellaisenaan ja jättää käyttämättä LVM:ää mutta tämä ei ole suositeltavaa koska LVM tarjoaa paljon hyviä ominaisuuksia sekä skaalautuvuutta jatkon kannalta sekä lisäksi käytännössä kaikki modernit Linux-järjestelmät tarjoavat oletuksena LVM:ää asennuksen yhteydessäkin.

    Miten liitän uusia levyjä ilman uudelleenkäynnistystä?

    Heti kun olet luonut vSphere-clientillä uuden virtuaalilevyn virtuaalikoneelle voidaan uusi levy ottaa käyttöön helposti Linux-käyttöjärjestelmään. Linux kuitenkin vaatii että SCSI-väylä skannataan uudelleen ja näin uudet lisätyt levyt löytyvät. Valitettavasti tähän ei ainakaan minulla ole suoraan antaa helppoa tapaa ilman komentorivi-työskentelyä. Käynnistääksesi SCSI-väylän skannauksen anna alla oleva komento (vaihda X-kohta host-tekstin perästä oikean SCSI-väyläsi mukaiseksi):

    # echo "- - -" > /sys/class/scsi_host/hostX/scan

    Voit tarkistaa dmesg-komennolla mitä levyjä löydettiin etsimällä “Attached scsi disk”-viestiä

    # dmesg | grep Attached
    sd 0:0:X:0: Attached scsi disk sdb

    Kun uusi levy on lisätty Linuxille luodaan LVM:lle fyysinen volume, volume group sekä looginen volume sekä lopuksi tiedostojärjestelmä.

    # pvcreate /dev/sdb
    Physical volume “/dev/sdb” successfully created

    # vgcreate datavg /dev/sdb
    Volume group “datavg” successfully created

    # lvcreate -n datalv1 -l+100 datavg
    Logical volume “datalv1” created

    # mkfs.ext3 /dev/datavg/datalv1

    Ensimmäisessä vaiheessa luotiin levylle fyysinen volume jonka jälkeen luotiin uusi volume group nimeltä “datavg”. Seuraavaksi luotiin datalv1-niminen looginen volume jonka kooksi annettiin 100% datavg:n koosta. Jotta voit käyttää uutta volumea luotiin sinne ext3-tiedostojärjestelmä jonka jälkeen levy on valmis käyttöönotettavaksi.

    Olemassa olevan levyn kasvatus

    Kun virtuaalilevyä on kasvatettu vSphere-clientilla tulee levyn muutokset skannata myös Linuxin puolella jotta lisätty osuus levystä voidaan ottaa käyttöön. Voidaksesi tehdä tämän tulee sinun tietää käyttämäsi levyn SCSI ID. Alla esimerkki jolla skannaus tehdään Linuxin puolella (korvaa devices-kohdan jälkeinen 0:0:1:0 oikealla id:llä)

    # echo 1 > /sys/bus/scsi/devices/0:0:1:0/rescan

    Voit käyttää dmesg-komentoa tarkistaaksesi että muutos on otettu onnistuneesti käyttöön. Löydät tämän etsimällä tekstiä “capacity change”.

    # dmesg | tail -n 10 | grep change
    sdb: detected capacity change from 8589934592 to 17179869184

    Lopuksi itse tiedostojärjestelmä tulee kasvattaa vastaamaan muuttunutta levykokoa

    # resize2fs /dev/sdb

    Olemassa olevan volumen ja tiedostojärjestelmän kasvatus ilman partitiointia

    Jotta muutokset tulevat voimaan tulee sinun suorittaa LVM:n fyysiselle volumelle rescan jolla muutokset havaitaan (vaihda sdb käyttämääsi oikeaan levyyn)

    # pvresize /dev/sdb

    Seuraavaksi laajennetaan looginen volume vastaamaan kasvanutta kokoa.

    # lvextend -l+100 /dev/VolGroup01/LogVol00

    Lopuksi ajetaan itse tiedostojärjestelmälle resize jotta uusi koko on käytettävissä.

    # resize2fs /dev/VolGroup01/LogVol00