Dagens virtualiseringsløsning basert på HP blades i C7000 kassen og diskløsningen VNX5100 fra EMC, kjenner nå veldig tidens tann og vi har sett oss nødt til å investere i ny løsning. Siden CPU og minne i bladene er helt greit, performancemessig, så gikk vi initielt med tanker om å investere i ny lagringsløsning for å komplettere EMCen. Vi så på forskjellige løsninger, bl.a. 3PAR fra HP og Unity fra EMC. Etter mye om og men, vurderinger, mye lesing og konsultasjon hos forskjellige leverandører besluttet vi oss for å gå for en helt ny løsning basert på Microsofts Storage Spaces Direct.

Microsoft har fra tidligere Storage Spaces, men har utviklet denne teknologien og i Windows Server 2016 introduserer de Storage Spaces Direct (S2D) som går ut på å bruke interne disker til lagring fremfor eksterne disker. Løsningen forenkles kraftig iom. trafikken ikke skal gjennom fibrechannel og SAN-switcher, man slipper zoning og kabelrot (+ en masse andre fordeler)

Den nye løsningen er levert av Lenovo. Vi har kjøpt 4 stk. x3650 noder med 2 * Intel Xeon 2680 v4, 512 GB minne, 4*800 GB SSD, 8 * 4 TB HDD, samt 2*600 GB HDD til OS. 10 Gbit Mellanox NIC i hver server, som kobles til 2 Lenovo G8124E switcher (Et NIC til hver). Disse håndterer SMB-trafikk og avhengig av hvilket design vi kommer til å gå for, også VM trafikk.

20170104_104727

 

Dag 1:

Idag har vi satt opp rackswitchene i managementnett. Vi har gjort helt grunnleggende oppsett med SNMP, management IP og admin-brukere. I tillegg har vi oppgradert firmwaren til 8.4.3.

Vi har satt opp IMM (Lenovos remote management tilsvarende iLO fra HP), vi har installert Windows Server 2016 DataCenter og tilpasset OS med Remote Access, hostnavn, deaktivering av NICs vi ikke skal bruke osv.

Vi hadde håpet på å komme i mål med BOMC (Bootable Media Creator) men noe blokkerer (CP FW?) og vi fikk ikke lastet alt ned denne gangen.

På mandag går vi videre med oppsettet og kommer i mål med BOMC da. I tillegg til det satser vi på å få på plass alle disker i alle nodene, samt å få NIC og teaming på plass.

 

Dag 2:

Vi har i dag satt opp ToR switcher med VLANs og LACP trunks. Hver ToR switch har en LACP trunk mot hver coreswitch for redundans. Vi har nå avklart, at vi går for et oppsett, hvor SMB-trafikk bare går på Mellanox NICene mellom nodene på et spesifikt VLAN og VM-trafikk går ut på coreswitch trunkene. via Intel 10gig NICs.

Rollene File-Services, Failover-Clustering og Hyper-V (inkl. management Tools) er installert, firmware er oppdatert, Windows Update er kjørt. Nettverk er satt opp og maskinene meldt inn i domenet.

Vi hadde litt problemer med firmware til Lenovo LTO Tape Driver som hang i 30+ minutter. Vi valgte å omstarte server og begynne oppdatering på nytt. Fjernet check for denne enheten og oppdatering gikk som den skulle.

En host resatte IMM til default etter oppdatering fra 3 til 3.5 , så vi måtte inn med nettverkskonfig på nytt.

Neste blir å få alle drivere installert (Bl.a. Mellanox til v. 5.25) og fjerne alle gule ! i Device management.

Oppdatering: Etter Windows Update ble kjørt og November Cumulative Update for Windows Server 2016 ble installert, ble OS hengende etter reboot. Selv etter flere timer hadde ikke Windows startet opp (Vi hadde nok tenkt at det uansett ikke skulle ta så lang tid). Litt googling førte til artiklen her: https://support.lenovo.com/no/en/products/servers/lenovo-x86-servers/lenovo-system-x3650-m5/5462/solutions/HT502912 som sier presis hva vi opplever: «Lenovo M5 or X6 systems running Microsoft Windows Server 2016, Server 2012R2 or Server 2012 can be rendered inoperable after applying one of the updates specified «..

Merk: «Only Lenovo Systems running Windows Server 2012 or Windows Server 2012R2 and configured with secure boot are exposed. Lenovo Systems running Windows Server 2016 are exposed regardless of the secure boot configuration.»

Lastet ned firmware 2.31 fra linken her: http://support.lenovo.com/no/en/products/Servers/Lenovo-x86-servers/Lenovo-System-x3650-M5/8871?tabName=Downloads&beta=false, oppdaterte..

ok

startet server og voilá; Windows booter på nytt!

 

Dag 3:

Idag var vi ikke så produktive som vi hadde håpet på å være, men vi fikk avklart en del spørsmål i forhold til SMB- og VM-trafikk, RDMA konfigurasjon og diskoppsett, så det var bra.

Vi har, som tidligere nevnt, 2*10 Gb/s Mellanox NICs og 2*10 Gb/s Intel NICs i hver node. Bare Mellanox støtter RDMA, så derfor er det også bare Mellanox NICene som skal brukes til SMB-trafikk. De andre to Intel NICs brukes da til VM-trafikk. Det er sånn sett det vi har tenkt tidligere, men det ble altså bekreftet idag.

Diskene (4*SSD, 8*HDD) ble brakt online via PowerShell:

PS> Get-Disk | ? {($_.Friendlyname -like "*ATA*") -or ($_.Friendlyname -like "IBM-*")} | Set-Disk -IsOffline $false

Number Friendly Name   HealthStatus         OperationalStatus      Total Size PartitionStyle
------ -------------   ------------         -----------------      ---------- ----------
0      ATA SSDSC2...   Healthy              Online                  745.21 GB RAW
1      ATA SSDSC2...   Healthy              Online                  745.21 GB RAW
2      ATA SSDSC2...   Healthy              Online                  745.21 GB RAW
3      ATA SSDSC2...   Healthy              Online                  745.21 GB RAW
4      IBM-ESXS S...   Healthy              Online                    3.64 TB RAW
5      IBM-ESXS S...   Healthy              Online                    3.64 TB RAW
6      IBM-ESXS S...   Healthy              Online                    3.64 TB RAW
7      IBM-ESXS S...   Healthy              Online                    3.64 TB RAW
8      IBM-ESXS S...   Healthy              Online                    3.64 TB RAW
9      IBM-ESXS S...   Healthy              Online                    3.64 TB RAW
10     IBM-ESXS S...   Healthy              Online                    3.64 TB RAW
11     IBM-ESXS S...   Healthy              Online                    3.64 TB RAW

Da er de klar til Storage Spaces oppsettet; noe jeg venter veldig på 🙂

Vi har en «hviledag» i morgen onsdag og fortsetter torsdag. Forhåpentligvis har vi et system som er klar til å kjøre litt testworkload torsdag ettermiddag.
Stay tuned!
Dag 4:

Etter hviledagen i går er vi i dag fulle av energi! Vi fikk avklart diverse nettverksdesignspørsmål og samtidig mottok vi gjenstående SFP+.

Fysisk oppsette er da p.t. som følger: (Vi mangler fortsatt noen SFPer for VM-trafikk)

Grønn: SMB (Mellanox)

Gul: VM/LiveMigration

Blå: Uplink til coreswitcher

Vi startet dagen med å opprette en VM switch:

New-VMSwitch -Name S2DSwitch -NetAdapterName "Mellanox 1", "Mellanox 2"

-EnableEmbeddedTeaming $true -AllowManagementOS $false
Heretter la vi til vNics til VMSwitchen:
Add-VMNetworkAdapter -SwitchName S2DSwitch -Name SMB1 -ManagementOS

Add-VMNetworkAdapter -SwitchName S2DSwitch -Name SMB2 -ManagementOS

..og konfigurerer VLAN på vNicene:

Set-VMNetworkAdapterVlan -VMNetworkAdapterName SMB1 -VlanId 12 -Access –ManagementOS

Set-VMNetworkAdapterVlan -VMNetworkAdapterName SMB2 -VlanId 12 -Access –ManagementOS

En stor takk skal rettes til Lenovo for en super S2D Deployment Guide!

I tillegg til vSwitch for SMB-trafikk opprettet vi en tilsvarende til VM/Cluster/Live-migration trafikk.

Vi har spesifikt for S2D-switchen aktivert RDMA for å avlaste CPUene ved behandling av den massive SMB-trafikk som går i dette setup.

Nå skal vi videre med å opprette Failover Cluster. Først tester vi om alle komponenter som kreves for å opprette et cluster er tilgjengelige og konfigurert korrekt vha. følgende PowerShell cmdlet:

Test-Cluster -node node1, node2, node3, node4 -include Inventory, Network, «System Configuration», «Storage Spaces Direct»

Alt OK, bortsett fra Software Update Levels (Windows Defender er ikke like på alle hoster, det kan vi leve med 🙂

New-Cluster -name S2DCluster -node node1, node2, node3, node4 -NoStorage -StaticAddress 10.10.10.1

All good! Hooray!

 

Dag 5:

I går ble cluster opprettet og nettverk satt opp manuelt. Vi tenkte ikke så langt at nettverket må bygges på nytt når et HyperV-cluster dras inn i VMM, så det var noen timer spilt. Synd.

I dag startet vi med å installere siste oppdateringer på hostene, bl.a. januar CU. Vi installerte også VMM 2016 UR1 + hotfix 1 som skal løse noen issues med nettopp S2D. Viktig å ha på plass før vi går i live.

Vi har i VMM opprettet to virtuelle switcher, 1 for SMB-trafikk (S2DSwitch) og en for all annen trafikk (VMSwitch). For S2DSwitch har vi opprettet et non-routet VLAN, som altså bare finnes på hostene (Mellanox) og ToR switchportene. For VMSwitch har vi opprettet 3 vNics: 1 for management-trafikk i native vlan (untagged), 1 for cluster-trafikk i non-routet vlan (tagged) og 1 for Live Migration (Også non-routed og tagged). Disse vSwitcher og vNics er så lagt på alle fire hoster, en etter en. Før alle hoster i clusteret er med samme nettverksoppsett, får man melding i VMM om manglende high availability, pga. inkonsistens mellom clusternoder:

Denne meldingen forsvinner når siste host er konfigurert.

Ping mellom alle hoster og Interfaces fungerer så da antar vi at nettverket er satt opp riktig.

Neste er da å sette opp S2D. Vi har opprettet en Storage Pool (S2DPool) som vi drar inn i VMM via Storage Provider (Windows File Server). Vi kan da fra VMM opprette, slette og endre CSVer.

Vi oppretter, til å begynne med, 2 CSVer på 6 TB pr. stk. Cache- og capacityinnstillinger ordner VMM selv, men vi får mulighet til å overstyre dette. Vi stoler på VMM og lar det stå til default.

Nå er alt sånn sett klar for test! Vi forsøker å migrere en VM fra eksistrende cluster, men får feilmelding om at kompatibel Storage classification ikke finnes på destination cluster. Vi dobbel- og trippelsjekker, men bronze finnes begge steder. Vi prøver å fjerne classification, men det nytter ingenting.

Opprette en VM i nytt cluster fungerer aldeles glimrende. Linken fra VMM Library server på 1 Gb/s er klart begrensende faktor, men SW2016 installeres på et blunk og responderer (selvfølgelig) som den skal.

Vi prøver med live migration fra nytt til gammel cluster og det fungerer, men vi kan ikke migrere i retur..

Googling løser lite. Prøving litt mer. Selv om migreringswizarden melder om inkompatibel Storage classification får vi uansett lov å klikke next og finish og live migrering til nytt datasenter er i gang!

Det gamle clusteret er koblet til core med 10 gb/s interface og det nye har tilsvarende oppsett. Hvorfor jeg kun får ~1 gb/sek er jeg ikke helt sikker på. Det skal undersøkes i dagene som kommer. Jeg tipper at det enten er gammel SAN som er flaskehalsen her, eller at trafikken evt. tar en tur innom et 1 gbit interface et eller annet sted.

Uansett er vi oppe å gå nå og nå gjenstår Q/A, finpussing og testing: fjerne nettverkskabler, strømkabler, flytte mellom hoster og CSVer osv.

Spennende tider!

 

Dag 6:

Performance-testing! Opprinnelig grunn til å oppgradere fra tradisjonell datasenterløsning til S2D-basert datasenterløsning var performanceproblemer på diskløsningen, så nettopp derfor er det mest interessante ved ny løsning å se hvordan den performer.

VMFleet er et verktøy som består av en mengde powershellscripts som bl.a. brukes til å opprette mange virtuelle maskiner som brukes til å stressteste underliggende diskløsning. Jeg installerte Windows Server Core 2016 i en VM (Det tok 1:58:80 fra installasjonsfiler begynte å bli kopiert til maskinen var klar til å ta imot lokal admin passord, det i seg selv vitner om helt syk performance! :)) og brukte .vhdx-filen som base til å opprette mange nye VMer; 10 pr. host, dvs. 40 nye VMer.

VMFleet baserer seg på diskspd. Når VMene startes (med start-vmfleet.ps1) så startes diskspd automatisk.

Før VMene startes er hostene tilnærmet idle:

CSV FS          IOPS        Reads       Writes      | BW (MB/s)    Read    Write   | Read Lat (ms)  Write Lat
Total           105         3           101         | 1                    1       |
IS-HVHOST-1     34          2           31          | 1                    1       | 1,244          1,107
IS-HVHOST-2     42                      42          |                              | 0,000          0,956
IS-HVHOST-3     12                      12          |                              | 0,000          0,908
IS-HVHOST-4     16          1           15          |                              | 0,361          1,663

Etter start med standardinnstillingene:

CSV FS          IOPS        Reads       Writes      | BW (MB/s)    Read    Write   | Read Lat (ms)  Write Lat
Total           270 208     270 066     141         | 1 248        1 174   74      |
IS-HVHOST-1     99 465      99 418      47          | 409          409     1       | 0,826          4,098
IS-HVHOST-2     130 821     130 758     63          | 536          536             | 0,784          3,568
IS-HVHOST-3     99          73          26          | 139          66      73      | 1,017          45,418
IS-HVHOST-4     39 823      39 818      6           | 163          163             | 0,804          1,661

270 000 IOPS fordelt på 4 hoster!

Pauser. Tenker litt.

Tester igjen med 100% random read og 4k blokker:

CSV FS          IOPS        Reads       Writes      | BW (MB/s)    Read    Write   | Read Lat (ms)  Write Lat
Total           489 871     489 793     77          | 2 004        2 001   2       |
IS-HVHOST-1     153 526     153 507     20          | 625          624     1       | 9,505          3,921
IS-HVHOST-2     141 579     141 573     6           | 580          580             | 10,242         5,324
IS-HVHOST-3     85 417      85 378      39          | 351          350     1       | 2,374          6,584
IS-HVHOST-4     109 349     109 335     13          | 448          448             | 3,921          7,914

489 000 IOPS! Helt greit, eller hva? 🙂

Prøver med enda en test, som kanskje nok ligger tettere opp av virkeligheten med 70/30 read/Write:

CSV FS          IOPS        Reads       Writes      | BW (MB/s)    Read    Write   | Read Lat (ms)  Write Lat
Total           342 097     239 130     102 966     | 1 401        979     422     |
IS-HVHOST-1     104 965     73 371      31 595      | 430          301     129     | 6,038          6,391
IS-HVHOST-2     107 320     74 972      32 348      | 440          307     132     | 6,381          6,797
IS-HVHOST-3     31 129      21 752      9 377       | 128          89      38      | 1,144          2,842
IS-HVHOST-4     98 683      69 036      29 646      | 404          283     121     | 1,626          2,653

Så langt leverer Lenovo. Absolutt!

Jeg skal teste mer i løpet av morgendagen, det er nok fortsatt noen parametere som kan skrus litt på, men alt i alt var dette en god avslutning på en spennende dag!

PS:

Vi ser i øvrig at trafikken går over SMB (Mellanox) -portene(Som forventet):

Utilization statistics for rate. Press CTRL+C to stop:
                        In             Out
Port        1:     2243810Kbps     2583293Kbps    /
Port        2:     2032712Kbps     2751780Kbps    /
Port        3:      546202Kbps     2268853Kbps    /
Port        4:     1330464Kbps     1669741Kbps    |

Portene for live migration og annen ikke-SMB-relatert trafikk brukes stort sett ikke:

Utilization statistics for rate. Press CTRL+C to stop:
                        In             Out
Port       17:        1491Kbps         506Kbps    -
Port       18:        2787Kbps         677Kbps    -
Port       19:        1862Kbps        5277Kbps    -
Port       20:        3576Kbps         829Kbps    -

 

 

Dagene videre:

Årsaken til at vi begynte å vurdere ny datasenterløsning var, som tidligere nevnt, dårlig performance på SANet i nåværende løsning.
Etter å ha fått satt opp hoster, disker og nettverk, testet både performance (VMFleet) og resilience (strøm av!), så ser vi, at vi umiddelbart har valgt helt rett løsning.
Performancemessig har jeg intet å sette fingeren på:

Testene med VMFleet maxet ut ved 913000 IOPS.

En testinstallasjon av Windows Server Core 2016 tok 1:59 (m:ss)

En two tier VMM Service Deployement med 2 Windows Server 2016 i to ulike soner (4 VMer totalt), domain joined og klar til bruk tok 5:17 (m:ss)

 

Jeg lar den stå litt.

Resilience-messig er det heller ingen problemer:

Vi tok den virtuelle strømpluggen fra en host og alle CSVer var tilgjengelig på de resterende 3.

Vi restartet en ToR-switch og alle hoster + VMer fortsatte å kjøre. Da første var oppe, tok vi en restart på ToR2 og nesten samme resultat her, dog 1 mistet ping mot en VM. Akseptabelt.

Vi har nå 34 VMer kjørende på ny løsning.

De fleste er IT-tekniske VMer som VMM, SCOM, Orchestrator, men også SQL-servere, BI-løsningen vår (Qlik) og kartdata-servere kjører her.

Tilbakemelding fra brukerne er at her går det som en kule. Umiddelbar respons på klikk og tastetrykk. Kartdata spretter opp og Qlik spytter ut grafer og diagrammer som har den aldri gjort annet. Overrides i SCOM tok tidligere lang tid for hver endring, men nå er ventetiden minimal.

Frustrasjon det samme.

Fornøyd.

Fortsatt.