Microsoft Hyper-V Server 2012 – a kihagyhatatlan(?)

A 2009.-ben írt “Microsoft Hyper-V Server 2008 R2 – a figyelemre méltó Hypervisor” az egyik legolvasottabb cikké vált az évek folyamán. Nos, itt a folytatás. Három év elteltével a Microsoft új verziót készül kiadni (a cikk írásának pillanatában a Hyper-V Server 2012 még Release Candidate állapotú.) Ha a Hyper-V 2008 R2 figyelemre méltó volt – és az volt –, akkor az új változatról nyugodtan kijelenthetem, hogy kihagyhatatlan. Lássuk miért is…

Ami nem változott – név, filozófia és támogatás
Nem változott a termék neve, leszámítva az évszámot, és ami még fontosabb, nem változott a kiadás mögötti filozófia: a Hyper-V Server 2012, akár csak az elődje, korlátozás nélkül tartalmaz minden olyan funkciót és képességet, amelyet a hypervisor használhat. Nincs időkorlát, nincs korlátozott kiszolgálószám, nincs korlátozott memória, processzortámogatás stb. stb. Minden, ami elérhető a Windows Server 2012 Datacenter hypervisorában, megtalálható a Hyper-V Server 2012-ben is. Ebből persze nem kell azt a következtetést levonni, hogy a Microsoft virtualizációja csupán ennyi, a funkciókat jócskán megfejeli a System Center 2012, ami viszont licencdíj köteles. A termék neve nem véletlen: nincs benne a “Windows” szó, amivel azt jelzi a gyártó, hogy nem jár hozzá Windows kiszolgáló futtatási jog. Vagyis: letölthetjük, de ha Windows kiszolgálókat szeretnénk futattni rajta, akkor azok licenceiről külön kell gondoskodnunk (Ebben a cikkben már licencelésről nem írok, csak annyit még, hogy ettől a futtatott példányuk után fizetendő összeg sem nem nő, sem nem csökken.) Kétségünk ne legyen: még ha nem is szerepel a “Windows” a névben, azért technikai értelemben ez mégis csak egy Windows architektúrát hordozó megoldás. Már emiatt is, a Hyper-V Server minden olyan hardver konfiguráción elfut, amelyen Windows szerver működik – a hardver kompatibilitással nincs gond.

És ami változott – a műszaki belbecs
Ami ugyanakkor jelentősen megváltozott, az a szoftver minősége. A fenti idézett cikkben leírt funkciók továbbra is működnek, ezért ebben a cikkben csak és kizárólag azokat emelem ki, amelyek újak, vagy más platformon esetleg csak komoly összegekért érhetők el. Olyan sok az újdonság, hogy már ezek rövid felsorolásával hosszabb cikk kerekedik, mint amekkora a három évvel ezelőtti volt.

Előbb nézzünk néhány technikai paramétert:

  • 320 logikai processzor, értsd: processzor mag, és 4 TB fizikai memória támogatása. Mindkettő azt jelenti, hogy élő ember nem fog látni akkora vasat, amit ki ne tudna hajtani a Hyper-V Server 2012.
  • A Hyper-V-n futó virtuális gépek ezután maximálisan 64 virtuális processzort és 1 TB RAM-ot támogatnak – Megint csak: a gyakorlat szerint ez lényegében a korlátlanságot jelenti. (Vesd össze: van ahol az ingyenes hypervisor csupán 32 GB memóriát használ.) Az üzenet világos: aligha akad olyan környezet, amit ne lehetne virtualizálni.
  • 64 tagú fürtöt lehet alkotni belőle (lássuk be, már a korábbi 16 is bőven elég volt.), egy fürtben pedig 4000 működő virtuális gép lehet – hát, az informatikusok többségének ez is a sci-fi világa. Viszont egy 3-4-5 tagú fürt összehozásának semmi akadálya. Erre pedig igenis van igény.


    A maximumok emlegetése helyett sokkal érdekesebb, hogy milyen minimális konfiguráció elégséges a rendszer futtatáshoz:

  • Processzor: 2008 óta a követelmények változatlanok: 64-bites architektúra (x64 és nem Itanium!), DEP és hardveres virtualizációs támogatás a feltétel – alig találni már olyan processzor, amely ezt nem teljesíti.
  • Memória: A Hyper-V működéséhez 512 MB a minimális elvárás. Természetesen ennél többre van szükségünk, hiszen a virtuális gépek számára is szükség lesz memóriára.
  • Tárolóhely: Az alaprendszer 4 GB-on elfér, 8 GB az ajánlott system disk méret. Továbbra is adott az USB meghajtóról való indítás lehetősége.

A telepítés után a kiszolgálónk működhet munkacsoportban vagy tartományban. Fürtözés továbbra is csak ez utóbbi módban lehetséges. A tartománytagság minden előnyét élvezhetjük: egységes, közös identitáskezelés, csoportházirendek, távoli szerver manager használata stb. Ahogy a 2009-es cikkben is írtam: a csoportházirend jelentőségét nem lehet túlbecsülni, mivel szinte minden létező beállítás házirendből, egy pontból és egységesen állítható minden gazdagépre, beleértve a tűzfal-szabályokat, a tanusítványok terjesztését, a frissítési házirendeket, a biztonsági beállításokat stb. 

Ha már telepítettük a rendszer egy vagy több gépre, nézzük milyen újdonsággal szolgálnak az egyes alrendszerek.

Hálózatikezelési újdonságok

  • Hálózati kártyák aggregálása (NIC teaming) – Bármilyen,  Receive Side Scaling képességgel rendelkező, azonos sávszélességű hálózati kártya összefogható egy csoportba, növelve ezzel a hálózati rendelkezésre állást és elosztva a terhelést. A teaming szoftver képes együttműködni a hálózati switchekkel, de tud független módon is üzemelni. Többféle algoritmust ismer a terhelés elosztására. A funkció jelentősége abban rejlik, hogy két hálózati kártyával is “legjobb gyakorlat szerinti” redundáns fürtkonfigurációt tudunuk létrehozni.
  • Új hálózati switch képességek – A Hyper-V új verziójában a hálózati switchek új képességekkel bővültek. Szabályozható a virtuális gépeknek szánt sávszélesség, tükrözhetőek a portok, védelmet kaphatnak a virtuális gépek az illegális DHCP vagy router advertisment forgalommal szemben.
  • Kiegészíthető hálózati switchek – Ha valakinek kevés lenne a beépített switchek képessége, kicserélheti másikkal, például a CISCO eszközeivel. Persze lehet, hogy elég csak kiegészíteni egy-egy funkcióval. Több gyártó is akad már, akik virtuális tűzfalat, antivírus ellenőrző modult, vagy DoS támadás ellen védő szoftvert gyárt a Hyper-V hálózati kapcsolójához.
  • SMB 3.0. A Windows Server 2012 – és így a Hyper-V Server is, már az új 3.0-ás SMB protokollt használja. Ennek óriási a jelentősége. Megnyílik az új az SMB alapú fürtök létrehozásához,  jobb sávszélesség kiahsználás érhető el az SMB Multichannel segítségével, és a Hyper-V server együttműködhet a Windows Serverekkel kialakított scale-out fájlszerver fürtökkel.

Tárolókezelés

  • Virtuális Fibre Channel adapter. A virtuális gépek hardver eszközkészlete egy új, szintetikus eszközzel egészült ki. A Virtuális FC kártyák éppúgy viselkednek, mint a fizikai társaik. Közvetlenül elérhetnek FC SAN eszközöket, zónázhatók stb. Ráadásul nem veszítik el a mozgathatóságukat, a Live Migration funkció továbbra is alkalmazható rájuk.
  • Figure 3  CSV used by virtual machines on 3 nodesCSV2 – A Microsoft valódi fürtözött fájlrendszere – Cluster Shared Volumes -  erőteljesen megújult. Javult a teljesítménye, gyorsabban lehet létrehozni rajta virtuális gépeket, vagy éppen rámásolni egy virtuális merevlemezt. A mentéseknél megszünt az átirányítási mód, ez szintén jobb teljesítményt eredményez. A CSV immár titkosítható a beépített Bitlockernek köszönhetően, és integrálható a szintén újdonságnak számító tárolóvirtualizációs képességekkel. A legfontosabb újdonsága mégis talán az lesz, hogy a CSV kötetek ellenőrzéséhez és javításához nem kell karbantartási üzemmódba kapcsolni – vagyis ez nem érinti majd a virtuális gépek rendelkezésre állását.
  • VHDX virtuális merevlemez formátum – Az új Hyper-V-ben bemutatkozik egy új merevlemez formátum is. A régi VHD-k természetesen továbbra is használhatók, de az alapértelmezett formátum a VHDX lesz. Az új virtuális merevlemez típus a korábbi 2 TB helyett akár 64 TB nagyságú is lehet – egyelőre egyedülálló módon. Ezen felül a belső adatstruktúráját úgy alakították át, hogy jobban ellenálljon az esetleges adatvesztéseket okozó meghibásodásoknak.
  • Storage virtualizáció – A Hyper-V Server 2012 egy komoly tárolóvirtualizációs megoldást kapott. Formázatlan lemezeket lemez-csoportokba (pool) foglalhatjuk. Ezeken azután virtuális lemezeket hozhatunk létre valódi mérettel vagy thin provisioning módszerrel, ahogy tetszik. Ezeket a virtuális lemezeket látják majd a Hyper-V szülőpartíciók valódi lemezeknek

Fürtözési újdonságok

A Hyper-V 2008 R2-es változata is képes volt fürtök létrehozására, magas rendelkezésre állású virtuális gépek kezelésére, virtuális gépek működés közbeni mozgatására. A 2012-es változat nagyot lépett előre a fürtözés területén is.

  • Cluster aware update – Egy fürt egységes frissítése meglehetősen időigényes feladat. Le kell üríteni az első kiszolgálót, meg kell frissíteni, szükség esetén újraindítani, majd folytatni a tevékenységet a második, harmadik stb. node-dal. A fürtre felkészített frissítés ezt a munka folyamatot képes teljesen automatizálni. Így a csoportházirend alkalmazása után már nem csak a konfiguráció beállítása lehet automatikus, de a frissítések elvégzése is – miközben erről a virtuális gépek mit sem érzékelnek.
  • VM indítási priorizálás – Ha egy fürttag kiesik, a többi kiszolgáló újraindítja az érintett virtuális gépeket. A gépekhez prioritási értéket lehet hozzárendelni, így a magasabb prioritású gépek előbb indulnak el, mint az alacsonyabb prioritásúak.
  • Affinitási / Anti-affinitás szabályok.  – A virtuális gépekhez affinitási vag anti-affinitási szabályokat rendelhetünk. Affinitás esetén két virtuális gép igyekezni fog egy fizikai kiszolgálón futni. Anti-affinitási szabály esetén épp fordítva, a virtuális gépek igyekeznek kerülni egymást.
  • Guest clustering – Nem csak a fizikai, de a virtuális gépeket is lehet fürtözni. Ez korábban is lehetséges volt, de csak iSCSI tárolókkal együtt. Az új virtuális HBA révén ezt a korlátot átugrotta a rendszer, FC alaú virtuális fürtöket is létre lehet hozni.
  • Vegyes (fizikai-virtuális fürt) létrehozása – Vannak gyártók, amelyek (még) megkövetelik, hogy egy virtualizált környezetben tapasztalható hibát fizikai környezetben is reprodukálja az ügyfél, mielőtt a hibát tovább vizsgálják. A Hyper-V-s környezetben immár tetszőlegesen fizikai-virtuális fürtöt is létrehozhatunk, biztosítva a gyártó által elvárt feltételt.
  • Alkalmazás monitorozás – Igaz, hogy csak Windows Server 2012 vendég OS esetén, de már támogatott a fizikai fürtből a virtuális gépben található szolgáltatások monitorozásának lehetősége. A VM-ben futó folyamat leállása esetén a hypervisor képest azt újraindítani.

A virtuális gépek mozgatása korábban kizárólag a fürtökre korlátozódott. A fürt maga a mozgatás határát is jelentette. Ez a Hyper-V Server 2012-ben – ismét csak az iparágban egyedülálló módon – megszűnt. A virtuális gép és egyes elemeinek mozgatására egészen sokfajta lehetősége adódik.

  • Live Storage migráció – A virtuális gépek merevelemezeit leállás nélkül egyik tárhelyről egy másikra lehet mozgatni. Az egyidejű migrációk számát csak a hardver kapacitása korlátozza. Jó szolgáltatot tesz ez a funkció a tárolóalrendszerek átrendezésekor. Mindezt a rendberakott pillanatfelvétel készítésnek köszönhetjük. Korábban pillanatfelvételek ugyan online elkészültek, de a visszaolvasztásukra csak a virtuális gép lekapcsolása után kerülhetett sor. Ez az új verzióban megszűnt. Minden tevékenység online történik.
  • Párhuzamos LM – a virtuális gépek együttes mozgatásának csak a hardver szab határt. Akár tucatnyi virtuális gép is mozoghat egyszerre.
  • Live VM migrációs – fürt nélkül. Annak sincs akadálya, hogy két olyan kiszolgáló között is mozgathassunk virtuális gépet, amelyek semmilyen közös alrendszerrel nem rendelkeznek. Elég, ha közös tartományban találhatók és van közöttük ethernet kapcsolat, a virtuális gép mozgatása már megoldható.
  • Hyper-V replika – A Hyper-V Server 2012  beépítve tartalmaz néhány képességet, amellyel jó eséllyel lehet védekezni az adatközpontok teljes megsemmisülése ellen is. A Hyper-V replika egy aszinkron másolási mechanizmus, amellyel működő virtuális gépekről tarthatunk fenn másolatot egy másik adatközpontban. A rendszer nem csak a folyamatos másolásról, de az átállás teszteléséről is gondoskodik. A kis- középvállalatok persze ritkán engedhetik meg maguknak, hogy tartalék adatközpontot tartsanak fenn. Néhány nagyobb IT szolgáltató viszont új – és megfizethető – termékkel jelenhet meg: adatközpont szolgáltatást nyújthatnak meghibásodás esetére.

A fentieken túl van még jópár figyelemre méltó újdonság

  • GenerationID–aware hypervisor – A Windows Server 2012 AD szolgáltatását és a Hyper-V-t egyaránt felkészítették a másik “fogadására”. Az AD és a Hyper-V egyaránt tárol egy GenerationID értéket. Előbbi a maga adatbázisában, az utóbbi a virtuális gép bios-ában. A két érték akkor tér el egymástól, ha a virtuális gépet visszarepítjük az időben, például egy pillanatfelvétel alkalmazásával. Az AD ebben az esetben felkészül a “rendkívüli eseményre” és a replikációs mechanizmusát ehhez igazítja. A funkció eredményeképp éles környezetben is használhatóvá és támogatottá válik a tartománíyvezérlőt tartalmazó virtuális gépen pillanatfelvételt készíteni, mentett állapotba rakni stb.
  • Powershell – A Hyper-V Server 2012 az első olyan változat, amelynek minden funkciója, kapcsolódjon az közvetlenül a virtualizációhoz, vagy kötődjön a szülő partíció kezeléséhez, eléhető powershell parancsok formájában. Ha valaki a parancssor világából érkezett: Isten hozta!
  • Linux disztribúciók kezelése – 2009-ben kezdődött a Hyper-V virtuális gépeiben található eszközkezelők GPLv2 illetve BSD licenc alá helyezése. A Linux kernel 3.4-től kezdve minden driver a mainline kernel része, vagyis különösebb erőfeszítés nélkül, már a telepítés folyamatától teljes az integráció a hypervisor és a virtuális gép operációs rendszere között. Vagyis ha egy 3.4 vagy újabb kernelt tartalmazó disztribúciót futtatunk, semmit sem kell tennünk, a Linux operációs rendszer “tudja” hova került.
  • FreeBSD kezelése – A Linux mellett a Microsoft bejelentette a FreeBSD paravirtualizált eszközkezelőkkel való ellátását is. Egyelőre a 8.x verziókhoz érkezik a kiegészítés, később jönnek a 9.x változatok is.
  • Inkrementális mentés – Lehetőségünk lesz pillanatfelvételekre épülő mentések végrehajtására. A mentés során a pillanatfelvétel alapján az előző mentés óta létrejött különbséget menti a rendszer. A visszatöltéskor csak a megfelelő felvétel számot kell megadni, a többi a hypervisor feladata.
  • Importálás javítása – A virtuális gépeket végre nem kell exportálni a rendszerek közötti másoláshoz. Az importálás elvégzi a konfigurációs fájlok javítását és regisztrálja a virtuális gépet.

Sok volt? Pedig nem is mindenről esett szó. Kimaradt a hálózati virtualizálás.  a Datacenter Bridging támogatás, az RDMA kártyák támogatása, a QoS, az erőforrás mérés, az erőforrás poolok, az Offload Data Transfer (ODX), a numa támogatás, az SR-IOV támogatás, a dinamikus memória használat finomítása, az RDS integráció, az iSCSI Boot, az MPIO, az asszimetrikus fürt és még jópár dolog.

A Hyper-V 2012 azt állítja: létezik jó minőségű, funkciógazdag, megbízható, skálázható virtualizáció bárki számára. Már csak le kell tölteni, és lehet próbálgatni.

11 Responses to Microsoft Hyper-V Server 2012 – a kihagyhatatlan(?)

  1. csikfer says:

    Köszönöm a leírást.
    Jelanleg Hyper-V 2008 -al virtualizálok Linux kiszolgálókat.
    Kielégítően működik, de vannak problémák is. 2 gép van fürtözve, és fontos a rendelkezésre állás is. Mivel Linux-ok esetén nem támogatott a dinamikus memória kiosztás, és memóriából és processzor magból is csak annyit lehet kiosztani a virtuális gépeknek amennyi fizikailag van (javíts ki ha tévedek!) Így, ha a rendelkezásre álló memória és processzormag felénél többet osztok ki a virtuális gépeknek, akkor az egyik vas leállása után nem tudja átvenni a feladatokat a másik.
    Van-e ez ügyben változás a 2012-es verziónál. Az is egy lényeges kérdés, hogy a verzióváltás mennyire van megtámogatva, a parancs soros Hyper-V beállítása nem éppen egy leányálom.

  2. lepenyet says:

    Valóban, Linux gépeknél nincs dinamikus memóra. A Hyper-V 2012 RTM-nél ebben egyelőre nincs változás. A belső levelezésekből látom, hogy a fejlesztők egyértelműen érzik ezt a hiányosságot, és prioritásként kezelik a témát.
    A virtuális processzor kiosztása tekintetében a következő a helyzet: egy gépnek legfeljebb annyi virtuális processzort lehet kiosztani, amennyi processzor mag összesen van a fizikai gépben, de legfeljebb 64-et. Más megkötés nincs. Vagyis, ha van egy gépem és 8 processzormag van benne, akkor simán kioszthatok 10 gépnek is 8 virtuális processzort (összesen: 80 virtuális processzort.) Ugyanakkor egy gépnek nem tudok 12 vagy 16 virtuális processzort kiosztani, legfeljebb 8-at.
    A memória esetén tudni kell, hogy a Hyper-V clusterben nincs beépített túlfoglalás számlálás. Ez képesség az SCVMM része. Itt egy bejegyzés, hogy a 2012-es hogyan számol: http://blogs.technet.com/b/scvmm/archive/2012/03/27/system-center-2012-vmm-cluster-reserve-calculations.aspx
    Két fürt esetén, valóban, ha az egyik node-ot teleteszem virtuális géppel, akkor a másikra már nem tehetek semmit, mert nem fog működni a HA. Pont úgy, mint a lemeztükrözésnél. a RAID1 épp 50% kapacitás veszteség. A RAID5 viszont 1-((n-1)/n) rész vész el. Többek között ezért is érdemes a több, elszeparált Hyper-V hostot egy nagy, soktagú fürtbe szervezni (Már persze ha van egyáltalán annyi host.)
    A verzió váltásnál a Rolling Upgrade és a Live Migration nem, de a mozgatási folyamat leírt és támogatott.
    A hivatalos forrás (fürtözés nélküli Hyper-V esetére): http://technet.microsoft.com/en-us/library/jj574113.aspx
    A fürtözött rendszer migrálása: http://blogs.msdn.com/b/clustering/archive/2012/06/25/10323434.aspx
    A fürtözött rendszer migrálása élményszerűen: http://workinghardinit.wordpress.com/2012/03/26/upgrading-hyper-v-cluster-nodes-to-windows-server-8-beta-part-1/

    Remélem tudtam segíteni.

  3. Richárd says:

    Kedves Tamás!

    Nagy érdeklődéssel töltöttem le a Hyper-v 2012-es változatát, nagyon szeretném megtanulni, hogy profin tudjam kezelni és átlátni az egészet. Nagyon jó alternatívát látok benne a Vmware-rel szemben, nálunk a cégnél Esx-et használunk a virtualizálásra, de úgy gondolom, hogy ez a termék felveheti vele a versenyt. Abban szeretnék segítséget kérni, hogy létezik e valamilyen tananyag amiből lehet tanulni, tesztelni?
    Az első problémám a telepítés után adódott, egy gépre telepítettem magát a Hyper-v-t, egy másik gépről pedig a Hyper-V manager-rel próbálom elérni, illetve tesztelni. Magát a gépet elérem, de a kapcsolódásnál mindíg RPC hibára panaszkodik azon a gépen ahol a Hyper-v van. Ping-elni tudom, távoli asztal működik, ezeket beállítottam a konzolon, mi lehet a probléma, mit rontok el?

    Segítségét előre is köszönöm!

    Egy lelkes amatőr!

    Richárd

  4. lepenyet says:

    Kedves Richárd!

    Tanuláshoz javaslom a Microsoft szakmai közössége által összeállított anyagokat. Első lépésként a TechNet Klub Online Class-t nézném végig (https://technetklub.hu/tkoc/). További videó anyagok találhatók ezen a címen: http://technetklub.hu/tv/
    Angol nyelven a Microsoft Virtual Academy a legjobb forrás az első lépésekhez (http://www.microsoftvirtualacademy.com/Home.aspx)

    Az RPC hiba valószínűleg egy olyan Hyper-V felügyelete során jön elő, amely nincs tartományban, esetleg a gép, amelyről felügyelnénk nincs tartományban. Mindenképp ajánlom a hvremote (http://archive.msdn.microsoft.com/HVRemote/Release/ProjectReleases.aspx?ReleaseId=3084) nevű eszközhöz tartozó dokumentációt a hiba hátterének megértéséhez, illetve a konfig eszközt a beállításhoz.

  5. Csaba says:

    Sziasztok!

    Hyper-V 2012 Serverben azt vettem észre, hogy hiába van még fizikai memória a gépben, valamiért nem enged annyit használni a virtuális gépeknek mint ami elérhető lenne.

    Ez mitől van?

    Hyper-V Server 2008 R2-t csúcsra tudtam járatni, memória szempontjából.

    • lepenyet says:

      A host, vagy a guest memória mérete nem tudja elérni a maximumot?

      • Csaba says:

        A host. Task Managerben látom, hogy még van mit a tejbe aprítani, és a virtuális gép indításakor folyton azt dobja, hogy nincs elég memória, ezért nem indul el.

      • lepenyet says:

        Egyszer találkoztam ilyen helyzettel. A Windows Server 2012-es gépre felraktak egy Start Menü imitáló szoftvert. Itt történt ilyesmi?

  6. Csaba says:

    Nem, semmi ilyesmi nem történt. Tényleg nem tudom mi változott a 2008 R2-höz képest. Azt írja a Task Manager, hogy Available 4,5 GB, de statikus 4000 MB-tal se hajlandó elindulni a guest. A többi virtuális gépet is megnéztem és nincs dinamikus memória beállítva, ha az lenne a gond hogy a dinamikus memóriák miatt nem enged indítani.

    • lepenyet says:

      Ezt találtam: Hyper-V running on Windows Server 2012 and Microsoft Hyper-V Server 2012 automatically calculates an amount of memory to reserve for exclusive use by the management host operating system. This memory is used to run virtualization services. If the computer is part of a failover cluster, Hyper-V also reserves enough memory to run failover cluster services. In previous versions of Hyper-V you might have needed to modify the MemoryReserve registry setting to ensure adequate memory for these functions. This is no longer necessary for Hyper-V running on Windows Server 2012 and Microsoft Hyper-V Server 2012. – Forrás: http://technet.microsoft.com/en-us/library/hh831766.aspx
      Vagyis a Hyper-V automatikusan lefoglal bizonyos mennyiségű memóriát a host számára.

      • Csaba says:

        Aha, értem. De ahogy nézem 2012-ben nem is tudom módosítani a registryt, hogy ne foglalja le feleslegesen a memóriát.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: