Samenvatting Cloud Computing PDF
Document Details
Uploaded by Deleted User
Tags
Summary
Deze samenvatting behandelt Cloud Computing, met een focus op virtualisatie, virtuele machines (VMs), en verschillende cloud-modellen (private, public, en hybride). Het beschrijft de voordelen en eigenschappen van virtualisatie en de rol van VMs binnen cloud-omgevingen.
Full Transcript
1. Virtualisatie – Virtual Datacenter 1.1 Topologie fysieke datacenter Welke acties moet de systeembeheerder ondernemen als een applicatieserver crasht en hij wil de applicaties op de gecrashte server opnieuw beschikbaar maken ? Bij een crash moet de systeembeheerder hardware of software repare...
1. Virtualisatie – Virtual Datacenter 1.1 Topologie fysieke datacenter Welke acties moet de systeembeheerder ondernemen als een applicatieserver crasht en hij wil de applicaties op de gecrashte server opnieuw beschikbaar maken ? Bij een crash moet de systeembeheerder hardware of software repareren, een back-up terugzetten, en de applicaties handmatig herstellen. Dit proces is tijdsintensief en vereist vaak fysieke interventie. 1.2 Topologie virtueel datacenter Welke acties moet de systeembeheerder ondernemen als een applicatieserver crasht en hij wil de applicaties op de gecrashte server opnieuw beschikbaar maken ? Bij een crash kan de virtuele machine (VM) snel opnieuw worden opgestart of gemigreerd naar een andere host via de hypervisor. Automatische herstelmechanismen zoals High Availability (HA) minimaliseren downtime. Virtualisatie= creëert virtuele laag tussen OS en onderliggende hardware. Deze virtualisatielaag kan toegang tot hardware aanbieden en het gebruik van deze hardware (CPU, werkgeheugen, netwerkkaart, toegang tot opslagmedium) opslitsen in tijd en ruimte en zo beschikbaar maken voor meerdere OS’en die dan geïnstalleerd zijn in VM’s. Op deze manier kan hardware optimal benut worden en gaat er geen performance verloren. Virtual datacenter = een software-gebaseerde IT-omgeving waarin fysieke servers, opslag en netwerken worden gevirtualiseerd. 1 1.3 VMs > VOORDELEN Fysieke hardware Virtuele machine Migratie van OS en geïnstalleerde applicaties Eenvoudig te migreren naar andere server - VM bestaan uit bestanden - impliceert downtime; - Als hardware ondersteunt is door - OS is dmv specifieke stuurprogramma’s hypervisor, wordt deze steeds op zelfde (drivers) gebonden aan hardware wijze gepresenteerd aan VM, ondanks dat hardware fysisch kan verschillen Defecte hardware leidt tot downtime Bij defecte hardware kunnen VMs verplaats Beperkingen opgelegd door hardware worden naar andere server Slechts één OS kan actief zijn op de fysieke Geen beperkingen opgelegd door hardware server - Virtualisatie bidet mogelijkheid om OS te clonen naar een VM. Als de hypervisor de nieuw hardwarecomponent ondersteunt, kan via virtuele hardware de nieuw hardware toch beschikbaar gemaakt worden aan het OS in de VM. Combineert meerdere guest OS op één fysieke server (=consolidatie) > EIGENSCHAPPEN - Lager stroomverbruik en koeling (minder hardware nodig voor eenzelfde workload, dus minder energie, koeling en ruimte nodig) - Disaster Recovery: VMs kunnen snel herstarten op een andere fysieke server - Hogere uptime: VMs migreren zonder downtime, zolang bestanden toegankelijk zijn - Merkonafhankelijk: VMs werken onafhankelijk van hardware, enkel de hypervisor moet compatible zijn - Cloud: makkelijk overstap naar private/public cloud door hardware-onafhankelijkheid - Kostenbesparing - Oude software gebruiken: verouderde applicaties blijven bruikbaar via VM-cloning, zonder hardware- upgrades 2 1.4 Cloud Computing = een benadering die gebruik maakt van de efficiënte pooling van een on-demand zelfbeheerde en virtuele infrastructuur - Virtuele applicatieservers kunnen automatisch opstarten als meerdere applicatieservers nodig zijn; (bv. extra webservers met dezelfde website zodat alle bezoeken aan deze website kunnen verdeeld worden) - Als er onvoldoende fysiek geheugen en/of rekenkracht (CPU power) is om deze virtuele servers op te starten, kunnen bijkomende fysieke servers opstarten zodat de VMs over deze servers kunnen verdeeld worden en zodat elke VM voldoende CPU power en/of geheugen kan krijgen 1.5 Private Clouds = verwijst naar een model van cloud computing, waarbij IT-services worden aangeboden mbv. de eigen IT-infrastructuur voor het gebruik van een enkele organisatie 1.6 Public Clouds = in dit model, hosten providers IT-services voor meerdere bedrijven 1.7 Hybrid Clouds = een omgeving waarin de IT-middelen van een klant zich zowel in de private cloud als in de public cloud van een provider bevinden. 3 2 De ESXi host – een hypervisor 2.1 De hypervisor Virtualisatie vereist gebruik van een hypervisor (vroeger virtual machine monitor ‘VMM’ genoemd). De hypervisor is een applicatie/OS dat zorgt voor abstractie van hardware (zoals fysieke cpu’s aanbieden als virtuele CPu’s en ondersteuning van VM’s beheert). - Host machine: fysieke hardware waarop een hypervisor draait - Guest machines: de VMs die de hypervisor ondersteunt - Guest OS: is het OS dat in de VM geinstalleerd wordt 2.2 Type 1 & Type 2 hypervisors - Type 1 hypervisor (=bare-metal hypervisor) o directe toegang tot hardware; o beschouwd als zeer veilig; o vb.: ESXi van VMWare, Hyper-V van Microsoft.. - Type 2 hypervisor (=gehoste hypervisor) o toegang tot hardware via host OS; o even veilig als het host OS; o vb.: Virtualbox, Oracle VM, VMware Fusion.. 2.3 ESXi Hosts ESXi is type 1 hypervisor van VMWare. De volgende technologiën worden gebruikt om ESXI te beveiligen. (veiligheid van VMs te garanderen, moeten onderliggende hypervisor veilig zijn) - Memory hardening o beveiligt tegen memory exploits door willekeurige geheugenadressen en niet- uitvoerbare geheugenruimtes - Kernel model integrity o digital signatures garanderen de integriteit en authenticiteit van modules en applicaties - Trusted platform module o beschermt systeemintegriteit door cryptografische sleutels te combineren met hardware, zodat onbevoegde toegang of wijziging onmogelijk zijn 4 2.4 Interfaces voor beheer vSphere Web Client: biedt web-based interface voor dagelijks beheer, je stuurt instructies vanaf web client over een IP- netwerk naar ESXi-host vSphere Client: biedt grafisch interface voor dagelijks beheer vanaf Windows workstation, je stuurt instructies van vanaf de vSphere PowerCLI over een IP-netwerk naar ESXi-host vSphere PowerCLI: biedt een command-line gebaseerde interface gebaseerd op Windows PowerShell. Deze manier van werken laat toe instructies uit te voeren die niet beschikbaar zijn in de web client of vSphere Client. De voorgaande interfaces kunnen met de hosts interageren via vCenter. vCenter biedt een interface om meerdere hosts centraal te beheren (hierover later meer wanneer we spreken over een Inventory). vSphere API/SDK: programming interfaces vCLI: biedt CLI gebaseerd op Windows Powershell. Laat toe om automatisatie-scripts te schrijven Common Information Model (CIM): standaard in computerindustrie voor definiëren van apparat- en applicatie-eigenschappen 5 2.5 Direct Console User Interface (DCUI) - root toegangsinstellingen configureren o rootwachtwoord instellen; o lockout activeren/de-activeren; - netwerkinstellingen wijzigen o hostnaam; o ip-configuratie (ip-adres, subnetmasker, standaardgateway..) o DNS-servers; - toetsenbordindeling, troubleshooting opties... de volgende ESXi host-instellingen opvragen met de vSphere client: Processor and memory configuration Licensing DNS and routing Security profile (bletchey internet) ff screenshots plaatsen! 6 3 Virtuele machines 3.1 Virtual machine files VM bestaat uit verschillende bestanden die op een datastorezijn opgeslagen. De belangrijkste zijn: - configuration file (.vmx) - virtuele schijfbestand (.vmdk) - NVRAM setting file (.NVRAM) - logbestand (.log) VRAAG: Een systeembeheerder heeft een VM die intensief gebruik maakt van zijn (virtuele) harde schijf. Hij heeft 2 storage devices, een ‘snelle’ en een ‘langzame’. Het snelle storage device wilt hij zo optimaal mogelijk gebruiken en er niet meer bestanden op plaatsen dan strikt noodzakelijk. Welk VM-bestand moet hij op het snelle storage device plaatsen teneinde een VM te bekomen die zo performant mogelijk is in de gegeven situatie? ANTWOORD: virtual schijfbestand (.vmdk) op snelle storage device plaatsen, dit bestand bevat de daadwerkelijke data van de virtuele harde schijf en bepaalt de snelheid waarmee de VM data kan lezen en schrijven. Alle andere bestanden kunnen op het langzame storage device blijven. 3.2 CPU en RAM-geheugen Maximaal aantal vCPU dat kan toegekend worden aan VM, hangt af van o aantal logische CPU’s op de host: je kan niet meer vCPUstoewijzen dan er logische CPUsp de host zijn o hostlicentie; o guest OS: het aantal processoren dat een O.S. kan ondersteunen is afhankelijk van het O.S Hoeveelheid werkelijk geheugen (RAM) dat VM kan gebruiken, hangt af van o fysiek geheugen van ESXI-host o aantal VMs met wie dit geheugen moet gedeeld worden 7 3.3 Hyperthreading Physical core (ook wel socket genoemd): kan worden opgesplits in meerdere logische cores (logical CPU) door gebruik te maken van hyperthreading Logical core: stelt het besturingssysteem in staat om meerdere threads tegelijkertijd uit te voeren op een enkele physical core. Hyperthreading: technologie waarbij een physical core wordt opgedeeld in twee logical cores, waardoor twee threads tegelijkertijd kunnen worden uitgevoerd. De threads delen hulpbronnen (zoals cache en registers), Hierdoor kunnen meerdere threats werkelijk gelijktijdig de CPU gebruiken en zal een performantiewinst geboekt worden. Proces: een programma in uitvoering met eigen geheugenruimte (address space) Thread: een lichtere eenheid binnen een process die de hulpbronnen van dat process deelt. Multithreaded programma’s kunnen sneller werken omdat ze efficiënter gebruik maken van de CPU Context switch: een context switch gebeurt als het OS code in uitvoering onderbreekt, om andere code uit te kunnen uitvoeren. Een context switch tussen threads van hetzelfde process is sneller dan tussen twee afzonderlijke processen, omdat minder hulpbronnen hoeven te worden vrijgemaakt. VRAAG: Een systeembeheerder wilt een server waarop hij ESXi gaat installeren. Op deze hypervisor wilt hij VMs installeren waaraan hij tot 8 vCPUs zou willen toekennen. Welke systemen komen in aanmerking? Hoeveel logische CPUs biedt elk systeem? a. Een systeem met 8 physical cores met hyperthreading logische CPUs = 8 x 2 = 16 (voldoet aan eis van minimal 8 vCPUs) b. Een systeem met 8 physical cores zonder hyperthreading logische CPUs = 8 (voldoet) c. Een systeem met 6 physical cores met hyperthreading logische CPUs = 6 x 2 = 12 (voldoet) d. Een systeem met 6 physical cores zonder hyperthreading logische CPUs = 6 (voldoet NIET) e. Een systeem met 4 physical cores met hyperthreading logische CPUs = 4 x 2 = 8 (voldoet) f. Een systeem met 4 physical cores zonder hyperthreading logische CPUs = 4 = 8 (voldoet NIET) VRAAG : Een systeembeheerder wilt een server aanschaffen waarop hij ESXi gaat installeren. Op deze hypervisor zal hij VMs installeren waaraan hij tot 8 vCPUs zal toekennen. Op welk systeem zal deze VM het meest performant zijn, een systeem met 8 physical cores zonder hyperthreading, een systeem met 4 physical cores met hyperthreading 8 Hyperthreading Bij hyperthreading kunnen twee threads (oranje en blauw) gelijktijdig draaien op één fysieke core. Single threaded Slechts één thread actief, de CPU voert één thread per keer uit. 2 physical cores with each hyperthreading enabled? Elke fysieke core voert twee threads uit (blauw en oranje). VRAAG: Een gebruiker opent task mananger en ziet het volgende. Is hyperthreading op zijn PC geactiveerd of niet? JA, het heeft 2 CPU cores, en 4 logische processors. Wat is de betekenis van L1 cache, L2-cache en/of L3 cache? Caches zijn snelle geheugen die dicht bij CPU zitten, bedoeld om toegang tot vaak gebruikte gegevens te versnellen L1-cache (128kb): kleinste en snelste cache, bevindt zich direct op CPU-core L2-cache (512kb): iets groter en langzamer dan L1, wordt gedeeld binnen fysieke core L3-cache (4MB): grootste en traagste cache, meestal gedeeld tussen alle cores van een CPU 9 3.4 Virtual Disks VM heeft minstens één virtuele schijf (virtual disk) die bestaat uit 2 bestanden: Disk descriptor file (.vmdk) – tekstbestand die de eigenschappen van de disk beschrijft (grootte, clustersize...) Disk data file (-flat.vmdk) – bevat de data weggeschreven naar de disk TIP: snelheid van het storage device is bepalend voor de snelheid waarmee een VM data kan lezen of wegschrijven naar zijn harde schijf. Aangezien de data wordt weggeschreven naar de Disk data file (-flat.vmdk), kan deze best geplaatst worden op een storage device dat voldoende performant is. 3.4.1 Aanmaken van virtual Disk Virtual disk size 8 GB bepaalt capaciteit van hardeschijf die VM krijgt Datastore MyVMFS opslagmedium dat met hypervisor verbonden is Virtual disk node 0:0 hardeschijf is geconnecteerd via SCSI controller. SCSI controller vertaalt OS- instructies naar low-level-instructies die dan gebruikt worden om data op de harde schijf te manipuleren. De toegang tot hardeschrijven verschijnt voor VM als 4 SCSI-controllers, aan elke SCSI-controller kunnen 7 devices (harde schijven, CD_ROM drives..) verbonden worden Virtual storage adapter LSI Logic SAS type van SCSI-controller dat gebruikt wordt Virtual disk files Server1.vmdk namen van de 2 bestanden die samen de Server1-flat.vmdk virtual disk uitmaken Default disk mode Snapshots allowed Snapshots van virtual disk of niet Disk mode Independent: Persistent or Bepaalt invloed van het nemen van snapshots Nonpersistent van de VM op virtual disk Dependent: als snapshot van VM wordt gemaakt, wordt van deze virtual disk een snapshot gemaakt Independent – persistent: de data die weggeschreven wordt, is permanent en kan niet ongedaan gemaakt worden, ook niet door terug te keren naar vorige snapshot Independent – nonpersistent: al de wijzigingen op de disk worden ongedaan gemaakt als de VM herstart. De VM start dus steeds met dezelfde disk Disk provisioning policy Thick Provision Lazy Zeroed, Thick Provision Eager Zeroed, Thin Provision 10 VRAAG: Stel een VM bevat een website die zelden of nooit verandert. Deze VM heeft 3 virtual disks. Op disk 1 is het guest OS en de web server (bvb. Apache) geïnstalleerd, disk 2 bevat de website, disk 3 bevat de activiteitenlog. De systeembeheerder wil: dat als de website gehackt wordt, de machine enkel moet herstarten om de website terug ‘clean’ te hebben, maar de activiteitenlog mag niet gewist worden zodat die kunnen gebruikt worden om de oorzaak van het probleem te analyseren. de installatie van patches op het O.S. kunnen terugdraaien, mochten die voor problemen zorgen. Welke disk mode ga je op welke virtual disk gebruiken? Disk 1: Dependent Disk 2: Independent – non persistent (voor een clean website , na herstart) Disk 3: Independent – persistent (voor behoud van loggegevens) 3.4.2 Disk provisioning policy Thick provisioning: er wordt een bestand aangemaakt dat virtual disk van VM zal vertegenwoordigen. Dit bestand is evengroot als de ruimte die gedefinieerd wordt bij aanmaak van virtual disk - Thick provisioning Eager zeroed o De hoeveelheid disc blocks van de disk wordt bij het aanmaken gealloceerd. o Disk blocks worden pas leeggemaakt (overschreven met nullen) wanneer er data naar wordt geschreven. => sneller aan te maken, slechtere prestaties omdat blocks tijdens het schrijven worden leeggemaakt - Thick provisioning lazy zeroed o De hoeveelheid disc blocks van de disk wordt bij het aanmaken gealloceerd. o Alle disk blocks worden meteen leeggemaakt (overschreven met nullen) bij het aanmaken. => duurt wel langer om disk aan te maken, maar beste prestaties omdat alle blocks ready zijn voor data Thin provisioning: o Disk neemt alleen de ruimte in die daadwerkelijk wordt gebruikt door data o Schijnbare grootte voor de VM kan groter zijn dan de fysieke ruimte die daadwerkelijk wordt gebruikt => ruimtebesparend, maar kans op problemen bij ruimtegebrek 11 VRAAG VMs werden van virtual disks voorzien zoals op de figuur. Deze virtual disks zijn in werkelijkheid bestanden die zich bevinden op de datastore (HD van de ESXi-hypervisor). De zwarte cijfers duiden aan hoeveel schijfcapaciteit werd toegewezen aan de VM. De witte cijfers duiden aan hoeveel data de VM heeft weggeschreven naar zijn virtual disk. - Hoeveel ruimte gebruiken de verschillende virtual disk op de data store ? o Disk A (Thick): 20GB ‘volledig toegewezen’ o Disk B (Thin): 15 GB ‘alleen geschreven data’ o Disk C (Thin): 40 GB ‘alleen geschreven data’ - Hoe groot moet de datastore minstens zijn zodat de capaciteit niet overschreden zou worden? o Disk A: 20 GB o Disk B: 80 GB o Disk C: 80GB ▪ Totaal: 180GB - Wat kan de systeembeheerder doen om problemen te vermijden als de capaciteit van de datastore dreigt overschreden te worden? o Datastore migratie (migreer virtual disks naar andere datastore met voldoende capaciteit indien nodig?) 12 3.5 Virtuele machines maken Een open standaard voor het packagen en distribueren van VMS of virtual appliances. Virtual appliances zijn: - reeds geconfigureerde machines beschikbaar in OVF-format - gewoonlijk zijn ze geconfigureerd voor een bepaald gebruik (bv. firewall) ➔ OVF (Open Virtualization Format) 13 4 Virtualisatie - cloudresources delen 4.1 Toepassing van virtualisatie in cloud Elasticiteit: snelle schaling van resources Isolatie (sandbox van resources): fout-, resource- en beveiligingsisolatie. Verbeterd systeemgebruik, lagere kosten en energieverbruik Omgeving met meerdere besturingssystemen: één hardwareplatform ondersteunt gelijktijdig meerdere besturingssystemen 4.2 Delen van resources – de noodzaak van isolatie Foutisolatie: programma met fouten tasten andere programma’s niet aan Resource-isolatie: een programma gebruikt enkel de toegewezen resources Beveiligingsisolatie: toegang tot logische objecten of informatie (zoals bestanden, geheugenadressen, poortnummers) worden beperkt 4.3 Resources delen in tijd en ruimte Resources delen kan in ruimte of in tijd: Delen in tijd (timesharing/multiplexing) o Verschillende processen kunnen om de beurt gebruik maen van een zelfde resourcecomponent Delen in ruimte o Verschillende processen kunnen gelijktijdig gebruik maken van een verschillend resourcecomponent of deel van een resource ➔ HYPERVISOR moet onderliggende systeemonderdelen (geheugen, CPU, disk space..) delen in tijd/ruimte tussen verschillende virtuele machines VRAAG: Open task manager (Windows) Onderzoek of van de processor, het geheugen en de toegang tot de schijf de volledige capaciteit gebruikt wordt. Voor welke hulpbronnen wordt de capaciteit uitgedrukt als % van de beschikbare tijd? Dit geldt voornamelijk voor de Processor (CPU). De weergegeven waarde (bijvoorbeeld 8%) geeft aan hoeveel van de beschikbare tijd de CPU actief wordt gebruikt. Voor welke hulpbronnen wordt de capaciteit uitgedrukt als % van de beschikbare ruimte? Dit geldt voor Geheugen en Schijf (C:): Het geheugen toont hoeveel van de totale beschikbare geheugenruimte momenteel in gebruik is (bijvoorbeeld 68% van 7,9 GB in de afbeelding). De schijf (C:) geeft aan hoeveel schijfactiviteit wordt uitgevoerd als een percentage van de totale schijfcapaciteit of I/O-operaties. 14 4.4 Processorinstructies virtualisaren Instruction Set Architecture (ISA) = is set basisinstructies die een processor begrjipt. Instructieset is een deel van computerarchitectuur Een OS wordt geschreven om een bepaalde instructieset/computer architectuur te kunnen gebruiken Voorbeelden instrucesets: x86, ARM, PowerPC.. Instruction Set Architectures met 2 rings Niet alle instructies zijn voor alle processen beschikbaar. Welke instructies beschikbaar zijn voor een proces, wordt bepaald door CPU mode. De instructieset onderscheidt meestal 2 modussen, soms ook rings(enkelvoud ‘ring’ genoemd). Hoe lager het nummer van de ring, hoe meer uitgebreid de verzameling instructies is die kunnen gebruikt worden. System mode (supervisor/kernel/privileged) biedt toegang tot de uitgebreide instructieset User mode biedt toegang tot een beperkt deel van instructieset Bij een niet-gevirtualiseerd OS: O.S.-processen worden in system mode uitgevoerd de applicaties ondersteund door het OS in user mode uitgevoerd Traps – Switchen van CPU modes Een trap is het onderscheppen van een illegale instructie van een process in usermode. Een trap leidt tot overschakeling naar system mode, waarbij het OS enige acties uitvoert voordat het de controle aan het oorspronkelijke process teruggeeft. 15 Virtualisatie – de noodzaak voor meer dan 2 CPU-modes/rings voor efficiënte hypervisor te bekomen Hypervisors hebben extra modes nodig om gevoelige instructies efficiënt af te handelen zonder volledige OS-interventie. System mode o Instructies die een guest-OS met tussenkomst van hypervisor (zgn. gevoelige instructies), guest OS heeft geen toegang tot deze instructies o ➔ Hypervisor behoudt controle over resources User mode o Instructies die een guest-OS zonder tussenkomst van hypervisor (zgn. ongevoelige instructies), guest OS heeft toegang tot deze instructies o ➔ In mate van mogelijke, voert het guest OS zelf ‘ongevoelige’ instructies uit. Dit is efficiënter Gevoelige instructies moeten een trap veroorzaken zodat de hypervisor de controle overneemt. 16 4.5 Processoren delen Process scheduling Dankzij PS kunnen meerdere processen één CPU delen. Het O.S. onderhoudt een queue van PCBs en bepaalt zo welk proces op welk moment de CPU mag gebruiken Het O.S. kan verschillende policies gebruiken om elke wachtrij te beheren (FIFO, Round Robin, Priority..) Process scheduling laat toe om de CPU te delen in de tijd Eén computersysteem met meerdere CPUs Op een computersysteem met meerder CPU’s kunnen meerdere processen gelijktijdig worden uitgevoerd Aantal processen in queue =< aantal CPU’s in computersysteem ➔ processen gelijktijdig uitgevoerd, elk op een ander CPU ➔ CPUs delen in de ruimte (gelijktijdig, niet gescheiden in de tijd) Aantal processen in queue > aantal CPU’s in computersysteem ➔ alle processen kunnen NIET gelijktijdig uitgevoerd worden ➔ naast CPUs delen in de ruimte, ook CPUs delen in de tijd Ingewikkelder dan bij computersysteem met één CPU Scheduler moet bepalen: welk proces de volgende is, aan welk CPU dit proces wordt toegewezen Als proces onderbroken wordt en op ander CPU hervat moet worde, zal inhoud van CPU-cache verplaatst moeten worden ➔ performantieverlies Oplossing: Affinity scheduling = zorgt ervoor dat processen zoveel mogelijk dezelfde CPU blijven gebruiken om cachewissels te minimaliseren Meerdere computersystemen met meerdere CPUs Virtualisatie biedt mogelijkheid om CPUs van meerdere systemen te verzamelen in één pool van CPUs Processen kunnen toegewezen worden aan een beschikbare CPU in de pool Bij het delen van CPUs in pool van meerdere systemen beheert een centrale management plane het delen van de CPU - in de tijd (time sharing) - in de ruimte (processen toewijzen aan de verschillende CPUs in de pool) 17 Eén computersysteem met meerder CPUs Meerdere computersystemen met meerdere CPUs Aantal beschikbare CPUs beperkt door aantal Aantal beschikbare CPUs niet beperkt door CPUs op computersysteem aantal CPUs op het computersysteem ➔ beter systeemgebruik Processen zijn geïsoleerd en kunnen geen Vereist mechanismen om CPUs veilig en processen op andere computersystemen efficiënt te delen beïnvloeden (geen DoS vanaf ander systeem mogelijk) Aantal beschikbare CPUs is beperkt door aantal Aantal beschikbare CPUs is beperkt door aantal CPUs op het systeem CPUs in de pool (meerdere flexibiliteit) 4.6 Geheugen virtualiseren Geheugenfragmentatie = Fragmentatie treedt op wanneer geheugengebieden van verschillende groottes worden toegewezen en verwijderd in afwisselende volgorde. Geheugen virtualiseren – Paginatoewijzing met één niveau Om elk proces een aaneensluitende reeks geheugen adressen te geven, zal O.S. het geheugen virtualiseren. Elk proces krijgt een eigen reeks adressen ter beschikking (=virtual memory) Deze virtuele adresruimte is opgedeeld in segmenten, ‘virtuele paginas’ genoemd De virtuele pagina’s worden door het OS aan fysieke pagina’s gekoppeld. Als info uit geheugen moet gelezen worden Memory Management Unit (MMU): hardwarecomponent in de CPU vertaalt virtuele geheugenadressen naar fysieke adressen. Translation Lookaside Buffer (TLB): De MMU gebruikt een cache (TLB) om recente vertalingen op te slaan, zodat de toegang sneller verloopt. Eerst in TLB kijken of er een vertaling bestaat van het gevraagde virtuele adres naar fysiek adres (TLB hit) o JA? ➔ lees gevraagde info uit het geheugen o NEE? (TLB miss) ➔ doorloop page table en zoek een mapping ▪ Werd de gezochte pagina gestockeerd op HD (hard (page)fault)? ▪ Ja? Plaats pagina terug in het geheugen en update page table en TLB 18 Swapping Als er te weinig fysiek geheugen beschikbaar is, kan een deel van het virtuele geheugen naar een swapfile op de harde schijf worden geschreven. Dit proces heet swapping. Swapfile Gedeelte van harde schijf / ssd dat door OS wordt gebruikt als virtueel geheugen, wordt gebruikt wanneer het fysieke RAM-geheugen van computer vol is, het wisselbestand fungeert als tijdelijke opslagplaats voor inactieve gegevens of processen die in RAM stonden, hierdoor komt ruimte vrij in RAM voor actieve processen. Stel, je koopt een computer met een HD en een SSD. Op welk van deze opslagmedia zal je best het wisselbestand / de swapfile plaatsen? Waarom? = SSD ➔ hogere lees/schrijf-snelheden, maakt het terughalen van gegevens uit swapfile veel sneller ➔ SSD kan omgaan met meerdere I/O-operaties tegelijkertijd OPDRACHT 1: Task Manager > Prestaties > Geheugen (grafiek memory composition) In gebruik (in use) gebruikt geheugen door actieve programma’s Gewijzigd (modified) pagina’s die gewijzigde data bevazt en die nog niet op de HD werd bewaard Stand-by geheugen dat gebruikt werd maar niet meer in gebruik is, omdat er voldoende geheugen is, blijft het ge-cashed. Indien nodig is dit geheugen beschikbaar Beschikbaar (availaible) Geheugen dat nog niet gealloceerd werd sinds het opstarten van computer Start een 5-tal applicaties. Welke van de hogergenoemde waarden zal veranderen? In gebruik (in use): waarde zal toenemen, de actieve applicaties hebben geheugen nodig voor hun processen Stand-by: waarde zal afnemen, sommige applicaties maken mogelijk gebruik van geheugen dat eerder gecached wercd Beschikbaar: waarde zal afnemen, systeem wijst meer geheugen toe aan nieuwe applicaties Welke van de hogergenoemde waarden zal veranderen als je een nieuw Word-, Excel- en Powerpointbestand gelijktijdig open laat en in elk tekst (data) plaatst Hetzelfde als hierboven. Gewijzigd (modified): waarde zal toenemen, omdat bestanden gegevens bevatten die gewijzigd zijn, maar nog niet naar HD geschreven zijn OPDRACHT 2: Task Manager > Prestaties > Geheugen In gebruik (in use) Gebruikt geheugen door actieve programma’s Beschikbaar (available) Som van ‘in cache’-geheugen en het geheugen dat nog niet gealloceerd werd sinds het opstarten van computer Toegewezen (commited) Som van In gebruik (in use), Beschikbaar, en degrootte van de swapfile 19 In cache Cache dat gebruikt werd maar niet meer in gebruik is omdat er voldoende geheugen is, blifjt het ge-cashed Start een 5-tal applicaties. Welke van de hogergenoemde waarden zullen veranderen? Test dit even. In gebruik (in use): zal stijgen Beschikbaar: zal dalen, naarmate meer geheugen wordt toegewezen Toegewezen (committed): zal stijgen, vooral als systeem extra virtueel geheugen (swap) gebruikt In cache: zal dalen, als systeem cachegeheugen vrijmaakt om actieve processen te ondersteunen OPDRACHT 3: Computerbeheer > Prestaties, broncontrole openen (windows) Welke van de getoonde kolommen is een indicatie voor overmatige swapactiviteit? harde fouten/sec -> harde fout treedt op wanneer process gegevens probeert te benadneren die niet in het fysieke geheugen staan en daarom vanuit swapfile moeten worden op gehaald, als waarde hoog is, betekent dat systeem veel afhankelik is van swapfile, kan leiden tot prestatieproblemen Hoe kan overmatige swapactiviteit verholpen worden? Meer fysieke geheugen (RAM) toevoegen | Applicaties sluiten | Geoptimaliseerde opslag (swapfile op SSD) Vervolg opdracht 3: Een systeembeheerder heeft 2 ESXi-hosts met 64 GB fysisch geheugen. Op elke host draaien 3 virtuele machines. Elk van de virtuele machines is geconfigureerd met 16 GB geheugen. Eén van de virtuele machines blijkt niet performant genoeg. Vanuit het OS, geïnstalleerd op deze VM stelt hij overmatige swapactiviteit vast. Hoe kan de systeembeheerder dit verhelpen? Plaats swapfile op SSD ipv. HDD voor snellere toegang.............. 20 Geheugen virtualiseren – Paginatoewijzing met twee niveaus Hypervisor wijst elke VM een reeks (virtuele) adressen toe (real memory) Geust OS in VM wijst elk proces een reeks (virtuele) adressen toe (virtual memory) Memory overcommitment De hypervisor kan meer geheugen toewijzen aan VMs dan er fysiek beschikbaar is. Dit is mogelijk omdat VMs niet altijd hun volledige toegewezen geheugen gebruiken. Hypervisor beheert fysiek geheugen en deelt inactieve geheugenpagina’s van VM’s opnieuw toe aan andere VMs. Dit kan leiden tot swapactiviteit op host, wat prestateis vermindert. Ballooning De hypervisor gebruikt balloon driver in het gast-OS om inactieve (vrijmakenvan geheugen) geheugenpaginas vrij te maken (volschrijven met nullen eerst, vooraleer deze inactieve geheugenpaginas naar andere VMs worden toegekend) Deze paginas worden naar virtueel geheugen (swapfile) verplaatst. De vrijgemaakte fysieke geheugenpagina’s worden opnieuw toegewezen aan VM’s die meer geheugen nodig hebben Proces Balloon driver identifceert en reserveert inactieve pagina’s in VM Hypervisor ontvangt de pagina’s terug en verdeelt ze veilig tussen andere VMs Zodra geheugen vrij is, wordt balloon verkleind en kan VM weer extra geheugen gebruiken ➔ Memory overcommitment verhoogt efficiëntie, maar ballooning is cruciaal om geheugen dynamisch te herverdelen zonder crashes. 21 Opdracht Een systeembeheerder heeft 2 ESXi-hosts met elk 32 GB fysisch geheugen. - Op één host draaien 3 virtuele machines geconfigureerd met 8 GB geheugen en 1 geconfigureerd met 6 GB geheugen. Op de andere host draaien draaien 3 virtuele machines geconfigureerd met 4 GB geheugen. - De machine geconfigureerd met 6 GB geheugen blijkt niet performant genoeg te zijn. Vanuit het OS, geïnstalleerd op deze VM stelt de systeembeheerder overmatige swapactiviteit vast. Hoe kan de systeembeheerder dit verhelpen? o Zorg ervoor dat balloon driver actief is in het gast-OS van VM Hiermee kan hypervisor inactieve geheugenpagina’s vrijmaken ui andere VM’s en toewijzen aan VM met prestatieproblemen 4.7 I/O-basisbeginselen Memory-mapped I/O - Specifieke regio in RAM-adresruimte is toegewezen aan I/O- apparaten - Instructies voor I/O worden via een apparaatcontroller uitgevoerd, die geheugenadressen koppelt aan I/O- functionaliteiten Proces van I/O-apparaat aanroepen 1. Systeemaanroep: gebruikersapplicatie wil I/O-apparaat gebruiker a. CPU in user mode, gebruikersproces wordt op CPU uitgevoerd 2. De aangeroepen instructie veroorzaakt een trap a. CPU switcht naar system mode i. ➔ gebruikersproces wordt bevroren en status wordt opgeslagen ii. ➔ O.S. proces wordt op CPU uitgevoerd 3. O.S. roept stuurprogramma aan 4. Stuurprogramma vertaalt CPU-instructie naar instructie begrijpbaar voor apparaat 5. Apparaat voert instructie uit 6. Gebruikersproces wordt verder uitgevoerd a. CPU switch naar user mode, uitvoering gebruikersproces wordt vervolgd I/O-apparaten virtualiseren - Eén fysiek I/O-apparaat wordt gedeeld door meerdere VM’s via een hypervisor - Hypervisor maakt van fysieke apparaten virtuele apparaten - Zowel hypervisor als gastbesturingssystemen gebruiken afzonderlijke stuurprogramma’s - Elke I/O-aanvraag wordt onderschept door gast-OS en daarna door de hypervisor (wanneer deze door trap naar guest OS gaat) I/O virtualisatie maakt gedeeld gebruik van fysieke apparaten mogelijk door virtuele apparaten en traps te gebruiken, terwijl Memory-Mapped I/O zorgt voor directe adresruimte-toewijzing aan I/O functionaliteiten 22 5 Principes van dataopslag 5.1 De aard van computerdata Gegevens (data) zijn verzameling van onbewerkte feiten en cijfers Aard van gegevens (gestructureerd niet gestructureerd, statisch dynamisch), bepaalt wat de beste keuze is voor de opslag van deze gegevens Gestructureerde gegevens Ongestructureerde gegevens Geordend in schema Geen vaste organisatie Meestal klein, gemakkelijk te organiseren Vaak groter en moeilijker te structuren Eenvoudig te ordenen, op te slaan en op (videos, afbeeldingen, tekstbestanden) te halen Moeilijk te beheren en verwerken Dynamisch Statisch Gegevens veranderen vaak in tijd Gegevens veranderen niet of zelden na (bv. virtual machine-bestanden …) creatie (vb. medische beelden, mediafiles) 5.2 Eigen gesteld bij keuze van opslagsyteem Capaciteit Prestaties o Reactietijd (latency) o Bandbreedte Toegangspatronen o Granulariteit van toegang: verwijst naar kleinste hoeveelheid gegevens die wordt opgehaald bij typische bewerking o Frequentie van toegang: verwijst naar regelmaat waarmee toegang tot gegevens worden opgevraagd vanuit het systeem o Locatie van toegang: vb. hoeveel afstand er is tussen plaats waar data is opgeslagen en plaats waar data gebruikt wordt Foutentolerantie o Betrouwbaarheid o Beschikbaarheid o Nauwkeurigheid Beveiliging Herkomst (authenticiteit) 23 5.3 Computersysteem – verwerken van gegevens Een computersysteem bestaat uit 2 belangrijke onderdelen: CPU: voert programmacode uit waarmee data verwerkt wordt Storage (opslagmedia): slaat programmacode en data op Snelheid van computersysteem wordt bepaald door: snelheid waarmee de code wordt uitgevoerd (Kloksnelheid van de CPU) de snelheid waarmee programmacode en data beschikbaar wordt gesteld aan de CPU (Latency, bandbreedte van opslagmedia en de connecties opslagm edia – CPU) Werkgeheugen (vluchtig geheugen) = wordt gebruikt om snelheid van CPU te ondersteunen door tijdelijke gegevens op te slaan die nodig zijn tijdens bewerkingen (essentieel voor prestaties van systeem) Externgeheugen (niet-vluchtig geheugen) = wordt gebruikt voor permanent opslaan van gegevens en programma’s (essentieel voor bewaren van belangrijke informatie) Kenmerk Werkgeheugen Externgeheugen Volatiliteit Gegevens gaan verloren bij Gegevens blijven behouden, zelfs uitschakeling zonder stroom Snelheid Zeer snel Langzamer Voorbeelden On-chip registers, SRAM, DRAM SSD, HDD, magnetische schijven, optische media Gebruik Voor snelle toegang en verwerking door Voor langdurige opslag en archivering CPU van data Kosten Duur per opslagcapaciteit (SRAM > Goedkoper per opslagcapaciteit (HDD < DRAM) SSD) Voordelen Snelle data-overdracht voor actieve Grotere opslagcapaciteit, permanente processen gegevensopslag Nadelen Beperkte capaciteit, vluchtig Langzamer toegang 24 5.4 Abstraheren van opslag - Gegevens worden binair opgeslagen op een fysiek medium - Om interactie tussen binaire gegevens en OS/applicaties te vereenvoudigen, worden ze systematisch georganiseerd (=abstractie) Laag abstractieniveau naar hoog abstractieniveau 1. Block level storage a. Data wordt opgeslagen in vaste blokken van bytes (bv. 512 bytes) b. Vb.: SAN (als je computer verbindt met block storage device, moet het device eerst geformatteerd worden met file system alvorens je het kan gebruiken 2. File level storage a. Data wordt opgeslagen als bestanden met kenmerken zoals naam, grootte en permissies b. Vb.: NAS (filesystem wordt reeds over het network aangeboden, maw. opslagmedium is reeds geformateerd met een file system) 3. Object level storage a. Data wordt opgeslagen als objecten met metadata en een unieke ID b. Vb. Archivering van grote bestanden (video’s, back-ups..) Block level access File Level access Opslageenheid Blokken van bytes Bestanden en mappen Beheer OS beheert blokken Opslagsysteem beheert bestanden en metadata Toegangsniveau Laag niveau (directe blokken Hoog niveau (bestandsteogang toegang) via mappen) Flexibiliteit Vereist filesystem, flexible in Eenvoudiger, maar minder gebruik flexible Snelheid Sneller, minder overhead Langzamer, meer overhead door metadata Geschikt voor Databases, virtual machines, File sharing, back-ups transactionele applicaties mediaopslag Voorbeelden SAN, fysieke schijven NAS, gedeelde netwerkschijven 25 5.5 Wat is een storage device? = een opslagmedium waarop informatie permanent kan worden opgeslagen Magnetic Spinning Drives = Gebruikt draaiende magnetische platen om data op te slaan = Goedkoop, groot opslagvolume, maar relatief traag Vb.: HDD, magnetic tape drive Optical Storage Devices = Gebruikt lasers om data op schijven op te slaan = Goedkoop, geschikt voor archivering, maar beperkte capaciteit en traag Vb. Blu-ray, DVD, and CD. Flash Storage Drives = Gebruikt NAND-flashgeheugen zonder bewegende onderdelen = Snel, betrouwbaar, maar duurder per GB Vb. Solid state drive (SSD), memory card, and USB-sticks 5.6 Verschillende storage interfaces Storage devices connecteren met het computersysteem via interface Via interface worden instructies en data tussen computer en storage device uitgewisseld. Meest gebruikte storage interfaces zijn: - Small Computer Systems Interface (SCSI) o maakt gebruik van parallelle communicatie o is een databus, waarmee meerdere apparten op dezelfde kabel worden aangesloten (vb. veel gebruikt in servers en pc’s) - Serial Attached SCSI (SAS) o Zorgt ervoor dat SCSI-opdrachten via seriële interface kunnen worden verzonden o biedt hogere overdrachtssnelheden dan SCSI - Advanced Technology Attachment (ATA) o Vaak gebruikt voor rechtstreekse connecties tussen storage en computersysteem o ATA-schijven zijn geïntegreerd met controller (IDE interface) (vb. traditionele harde schijven en optische schijven ‘cd, dvds’) - Serial Advanced Technology Attachment (SATA) o Een recentere technologie o Is een seriële verbinding met de drive in plaats van de oudere parallelle interface IDE o (vb. SSD’s & HDD’s) - Fibre Channel Interface (FC) o SAN-protocol dat de SCSI-commandoset omvat en waarmee cloudservers op afstand toegang hebben tot opslagbronnen o Wordt vaak aangetroffen in datacenters Grootheid om storage devices te vergelijken : Input/Output Operations Per Second (IOPS) Factoren die IOPS bepalend zijn: - type storage device, 26 - type storage interface, - maar ook redundantietechnieken (RAID-levels) 5.7 Storage arrays = soort van computersysteem dat externe opslag aanbiedt aan servers. = verzameling harde schijven die één grote pool van schijfruimte (disk capacitiy) vormen Direct Attached Storage (DAS) Network Attached Storage (NAS) Storage Area Network (SAN) Direct Attached Storage (DAS) eigen opslag is rechtstreeks aangesloten aan de computer gebruikt doorgaans ATA-SATA of SCSI-interface die de opslagmedia verbindt met het moederbord van computer maakt gebruik van blocks om toegang te krijgen tot gegevens op storage Network Attached Storage (NAS) verzenden van bestanden ipv. blokken met gegevens bestanden worden verstuurd via LAN storage device gedraagt zich als fileserver client-server file services protocol wordt gebruikt voor de communicatie tussen de server (client-rol) en het storage device (server-rol) Storage Area Network (SAN) netwerk dat enkel gebruikt wordt om servers met de storage te verbinden 27 Eigenschappen: - Performant, - Redunant uitgevoerd - Bestaat uit o Bekabeling o SAN-switches o Host Bus Adapters (HBA) = soort van netwerkkaarten die de servers aan het SAN verbinden o Storage Controllers = componenten die het storage device aan SAN verbinden. Ook processor aanwezig om ontvangen commando’s uit te voeren Ook cachegeheugen om data die frequent gevraagd wordt, sneller te kunnen afleveren ➔ storage processors genoemd SAN Storage Arrays (block storage arrays) maken gebruik van netwerkprotocollen om block level commando’s en data blocks over het SAN te sturen dat de servers met storage array connecteert. Bij block level storage wordt het file system aangemaakt op de hosts. (deze vorm van access wordt gebruikt als men raw-disk capaciteit wil aanbieden) SAN – Block level access - Block level toegang is doorgaans sneller dan toegang gebaseerd op file level - Het OS heeft exclusieve toegang - Systeembeheerder kan kiezen welke file system hij zal gebruiken NOTITIE: Service Cloud providers laten hun klanten toe om block level storage te gebruiken. Deze klanten kunnen deze storage dan gebruiken als ze hun VM een echte schijf/physical disk willen aanbieden ipv. een virtual disk. Een physical disk is performanter dan virtual disk. Nadat volume zijn bijgevoegd, kunnen klanten zelf filesystem op deze volumes maken en applicaties draaien zoals ze zouden doen in lokaal datacenter 28 NAS – File level access - Meerder servers kunnen de storage gebruiken (shared storage) - Extra eigenschappen zoals: backups, snapshots, remote replication, deduplication - Wordt soms gezien als stortplaats voor kantoordocumenten en rich media- bestanden NAS Storage Arrays (FILLERS) bieden connectiviteit via filesystems-commando’s (opdrachten die bestanden kunnen maken, hernoemen en bestand sluiten..). zij werken op een hoger niveau van abstractie dan block level commando’s. Deze vorm van access wordt gebruikt als men folders over het netwerk wil aanbieden. 29 5.8 Storage LUNs LUN is één schijf of een set van meerdere schijven die gecombineerd worden tot één logische eenheid (logica unit, LU) Voor het OS van computersysteem verschijnt LU, als een hard disk (HD) Deze HD kan vervolgens opgedeeld worden in één of meerdere partities (~volumes) Storage enclosure=fysieke behuizing waarin meerdere opslagapparaten (zoals hardeschijven, ssd’s) zijn geplaatst en georganiseerd; het biedt ondersteuning en connectiviteit voor deze opslagapparaten en wordt vaak gebruikt in storage arrays of SAN-opstellingen. ➔ vb. disk enclosure kan meerdere schijven bevatten die samen een opslagpool vormen en via een SAN of DAS aan een server worden gekoppeld. Storage array = verzameling harde schijven die één grote pool van schijfruimte (disk capacitiy) vormen Bij gebruik van SAN Storage Arrays (block storage arrays), zal men beschikbare schuifruimte (disk capacity) moeten opdelen in kleinere eenheden. Men zal dit doen door kleinere groepjes van schijven samen te nemen en deze gezamenlijke hoeveelheid schijfruimte (disk capacity) beschikbaar maken aan een server. Deze (kleinere) verzameling schijven die één logisch geheel vormen, noemen we een LUN 30 5.9 RAID RAID (Redundant Array of Independent Disks) = verzameling schijven die tot één logische eenheid worden geconfigureerd Deze configuratie biedt, afh. van configuratie: foutentolerantie, verbeterde performantie; of beide eigenschappen 5.9.2 RAID technieken - Mirroring (RAID 1) = techniek waarbij dezelfde gegevens op twee verschillende schijfstations worden opgeslagen, waardoor twee kopieën van de gegevens worden verkregen. Als er één schijfstoring optreedt, blijven de gegevens intact op de overgebleven schijf en blijft de controller de gegegevensverz²oeken van het computersysteem uitvoeren vanaf de overgebleven overgebleven schijf van een gespiegeld paar. Wanneer de defecte schijf wordt vervangen door een nieuwe schijf, kopieert de controller de gegevens van de overgebleven schijf van het gespiegelde paar. Deze activiteit is transparant voor de server. ⎯ Voordeel: o Foutentolerant o Sneller voor leesacties (leesverzoeken worden door beide schijven verwerkt) ⎯ Nadeel o Relatief duur o Trager voor schrijfacties (elk schrijfverzoek bestaat uit twee schrijfbewerkingen op de schrijfstations) - Striping ⎯ Voordeel: o erformanter, hoeveelheid data wordt opgedeeld in kleinere delen, waarbij deze kleinere delen parallel verwerkt worden door verschillende schijven. ⎯ Nadeel: o biedt geen redundancy 31 - Parity = techniek om een stripe set te beschermen tegen uitval van een schijf zonder kosten van mirroring ⎯ Voordeel o Als een schijf in het volume crashed, blijft de data beschikbaar omdat de data kan berekend worden o Sneller voor leesacties ⎯ Nadelen o Schijfoperaties beetje trager omdat parity steeds moet berekend worden, elke keer als er een wijziging is in gegevens Vraag : welke invloed heeft het crashen van een schijf op de leessnelheid? Bij een crash van een schijf moet de ontbrekende data tijdens leesoperaties worden gereconstrueerd door de pariteitsinformatie te gebruiken. Dit proces verlaagt de leessnelheid omdat extra berekeningen en gegevens van andere schijven nodig zijn. Echter, de data blijft wel toegankelijk, zij het minder snel dan normaal. Meest voorkomende RAID configuraties zijn RAID 0,1,5,10 Raid 1: Mirroring Raid 2,3,4: gebruiken allen striping samen met een aparte schijf waar de parity wordt op geplaatst Raid 2= parity op bit-niveau Raid 3=parity op byte-niveau Raid 4=parity op block-niveau Raid 5 (meest gebruikte RAID-implementatie) Striping op block-niveau maar het parity block wordt telkens op een andere schijf geplaatst Nested RAID RAID 0 +1 o Mirrored stripes RAID 1+ 0 o Stripe of mirrors 32 5.9 Storage provisioning Techniques Er bestaan verschillende technologieën die: - bepalen welke server de storage kan benaderen (en welke servers niet ‘security: afschermen’) - voor extra redundancy zorgen Deze technologieën kunnen apart of gecombineerd toegepast worden Zoning en LUN Masking zijn technieken die worden gebruikt om de toegang tot een bepaalde LUN op het netwerk te beperken tot een specifieke server of een kleine groep servers. Zoning (=beperkt communicatie binnen het netwerk) wordt enkel toegepast in Fiber Channel- netwerken (vergelijkbaar met VLANs in Ethernet) regelt communicatie tussen poorten op een SAN- switch door toestellen in dezelfde zone toegang te geven toestellen in verschillende zones kunnen niet communiceren HBA (Host Bus Adapter)= fysieke LUN Masking (=beperkt zichtbaarheid en toegang tot LUNs) interface waarmee je een host/server aan SAN verbindt (vergelijkbaar met toegepast op eindnodes (HBA van servers of netwerkinterface) controllers van storage devices) Beperkt welke servers toegang hebben tot specifieke LUNs Extra beveiliging bovenop zoning om LUNs af te schermen Vraag: bevinden de servers in de rechtse figuur zich in de zelfde zone of niet? Verklaar Neen, de configuratie is niet op zones gebaseerd, maar wordt de toegang tot LUNs geregeld op basis van LUN masking. Hier kan systeembeheerder bepalen welke server welke LUn mag zien. Mutipathing = zorgt ervoor dat er via de SAN meerdere paden bestaan tussen de server en het storage device Serverkant kan meer dan één HBA op server worden geinstalleerd, hierdoor kan OS twee of meer HBA’s gebruiken en automatisch failover uitvoeren of omleiden al seen HBA zou falen.. Meerdere SAN-switchpoorten kunnen ook worden gebruikt om multipathing te creëren, dit heeft hetzelfde doel als meerdere HBA's: mocht één poort uitvallen, de redundante poort het overneemt. Op het SAN-netwerk zelf kunnen meerdere SAN-switches worden gebruikt om meer dan één volledig gescheiden switch-fabric te creëren. Op het storage device kunnen meerdere controllers zorgen voor redundancy 33 5.10 SAN-protocols Storage Area networks (SAN) Block level-commando’s en data blocks worden uitgewisseld tussen de server en zijn L.U. op de storage array. Protocollen worden gebruikt om deze block level-commando’s en data blocks over de SAN te verzenden Fiber channel IP SAN o Internet SCSI (iSCSI) o Fibre Channel over IP (FCIP) Fibre Channel over Ethernet (FCoE) Fiber channel technologie/protocol voor communicatie tussen de nodes op het storage area network het verstuur de data, de block level-commando’s (SCSI*) en de statusinformatie over de LUN’s Opslagmedia die gebruik maken van SCSI kunnen gedeeld worden over dit netwerk Nadeel: apart glasvezelnetwork nodigt om je servers met je storage array te verbinden ➔ dure oplossing *SCSI (een standaard die gebruikt wordt om instructies te geven aan opslagmedia die data opslaan mbv. blocks) IP SAN FC-infrastructuur is duur, IP-netwerk is voldoende performant om block level-commando’s te transporteren. IP-netwerken kunnen grote afstanden overbruggen (internet) o mogelijkheid tot geografische spreiding van opslaginfrastructuur o veel opties voor implementatie disaster recovery 2 protocollen worden gebruikt om block level-commando’s en data blocks over IP-netwerk te sturen o Internet SCSI (iSCSI) o Fibre Channel over IP (FCIP) 34 iSCSI SAN SCSI-berichten worden verstuurd via TCP/IP iSCSI-initiators sturen lees- en schrijfgegevensverzoeken naar iSCSI-targets via een IP-netwerk iSCSI-targets sturen een reactie op het verzoek naar de iSCSI- initiators via hetzelfde IP-netwerk TCP-laag zorgt voor transmissiebetrouwbaarheid en in-order levering IP-laag zorgt voor routering over het netwerk Fibre Channel over IP SAN Laat toe om FC-frame over grote afstand te versturen FCIP maakt FC-koppelingen via IP-netwerk om FC- frames te transporteren tussen FC SAN’s Wordt veel gebruikt bij implementaties van disaster recovery waarbij gegevens worden gerepliceerd naar de opslag op een externe locatie Fibre Channel over Ethernet SAN Laat toe om je FC-netwerk te verbinden met het ethernet-netwerk, waarna de FC-frames over het ethernet-netwerk getransporteerd worden FC-frames worden ingepakt (encapsulation) in een ethernet-frame Converged Network Adapter (CNA): netwerkkaart die functionaliteit van zowel standaard NIC als een FC HBA in één apparaat. Het consolideert zowel FC-verkeer als regulier Ethernet-verkeer op gemeenschappelijke Ethernet-infrastructuur. CNA’s verbinden hosts met FCoE-switches. ZE zijn verantwooredlijk voor inkapselen van FC-verkeer in ethernet-frames en deze via CEE- koppelingen door te sturen naar FCOE-switchess 35 6 Virtual Networking Configureren en beheren van Virtual Networks - vSphere virtual Switches 4.1 Virtuele switch (vSwitch) = softwarematige Layer 2-switch die virtuele machines verbindt met elkaar en met fysieke netwerken Virtuele switches (vSwitches) verbinden virtuele machines (VMs) met elkaar via een virtuele netwerkadapter (NIC) met een toegewezen MAC-adres door kernel. Ze maken ook verbinding met fysieke netwerken via fysieke NICs (uplinks) op een ESXi-host, zodat VMs kunnen communiceren met VMs op andere hosts. Overeenkomsten met fysieke switches: - Verbindt VMs op dezelfde host of met externe fysieke netwerken via uplinks - Toewijziging van MAC-adressen aan virtuele netwerkadapters door kernel Verschillen met fysieke switches: - Leert niet de MAC-adressen van transitverkeer van het externe netwerk. o Kernel kent aan elke virtuele netwerkkaart een MAC-adres toe - Neemt niet deel aan het Spanning Tree-protocol. - Maakt geen netwerkloop maken als er redundante netwerkverbindingen zijn. 36 6.2 Virtuele switch – Connecties Een virtuele switch heeft 2 types van connecties - Virtual machine port groups o De netwerkpoorten die gedefinieerd zijn op een vSwitch, kunnen gegroepeerd worden in poortgroepen ‘grijs, groen, blauw’ Aan deze poortgroepen kan de beheerder verschillende instellingen (policies) gelinkt worden die dan toegepast worden op de poorten in de poortgroep - VMkernel port o Een soort network interface die kan gebruikt worden om kernel-applicaties met het netwerk te verbinden. VMKernel adapters worden aangemaakt in functie van services/kernelapplicaties adapter die wenselijk zijn op host. (bv. IP Storage, vMotion, SAN, beheer van EXSi-host over netwerk...) Voorbeelden In de figuur hebben de poorten die behoren tot hetzelfde netwerk een zelfde kleur. De lichtgrijze hebben to doel om de VMs die tot de productieomgeving behoren aan het netwerk te hangen. De groene hebben to doel om de VMs die tot de testdev-omgeving behoren aan het netwerk te hangen. De donkergrijze zijn Kernel poorten, eentje wordt gebrikt voor vSphere vMotion (waarover later meer), de andere dient om instructies over hetnetwerk naar de ESXi-host te sturen waar op het deze switch is gedefinieerd. De 4 zwarte poorten, aangeduid als uplink dienen om de virtuele switch een een fysieke switch te verbinden. Als je op een vSwitch meerdere poortgroepen maakt, en je verbindt deze switch m.b.v enkele uplinks aan het fysieke netwerk, zal al dat verkeer over deze uplinks gaan. Een uplink kan slechts aan één vSwitch toegewezen worden. Wil je verkeer van verschillende netwerken gescheiden houden, heb je dus 2 vSwitchen nodig, en minstens 2 uplinks. Elke vSwitch krijgt dan zijn eigen uplink toegewezen. De snelheid van de uplinks bepaalt de capaciteit. In het ideale scenario heeft elke poortgroep zijn eigen vSwitch, elke vSwitch krijgt dan zijn op zijn beurt een eigen uplink Zo blijft het verkeer van de verschillende poortgroepen fysiek gescheiden. Nog beter wordt het als je 2 uplinks per switch voorziet. Zo is er foutentolerantie en wordt de load van het VM-verkeer verdeeld over de 2 uplinks. Argumenten om een afzonderlijk netwerk met een vSwitch en fysieke NIC te maken zijn dus prestatie- en / of veiligheidsredenen. In werkelijkheid heeft de host een beperkt aantal NIC en bijgevolg een beperkt aantal uplinks en moeten er compromissen gemaakt worden. 6.3 Types van Virtual Switches 37 vSphere voorziet in 2 types van virtuele switches: Standard switches: Configuratie van deze switch bevindt zich op host waar de switch werd geconfigureerd Verbindt VMs en kan VLANs beheren Display port group Delete Display Cisco Je kunt de standaardconfiguratie van een host bekijken door op Networking te klikken op het tabblad Manage In de figuur zie je: Het virtual machine-netwerk met de naam: ‘Production’ 5 poorten waarmee VMs kunnen geconnecteerd worden, De virtual machine-namen van de 5 machines die werden verbonden geen vlan werd gedefinieerd De VMs zijn met het fysieke netwerk geconnecteerd via een fysieke netwerkkaart, genaamd vmnic1, van de host, De fysiek netwerkkaart van de host is een kaart met een capaciteit van 1GB, Het VM-netwerk ‘Production’ is gedefinieerd is de virtuele standard switch vSwitch1 Je merkt verder dat op deze host ‘genaamd esxi02.vclass.local, nog een virtule switch met naam vSwitch1 werd aangemaakt en de distributed switch, genaamd Mike-dvs 38 Distributed switches: Configuratie bevindt zich in de vCenter- configuratiedatabase = is een virtuele switch die standaard vSwitch- functies bevat en tegelijkertijd een gecentraliseerde beheerinterface bidet. De VMWare dvswitch maakt proxy-switches op elke ESXi-host om dezelfde instellingen weer te geven (behoud netwerkinstellingen bij migratie van VMs) 6.4 VLANs – tagging Je kan het verkeer van VMs dat over hetzelfde fysieke netwerk gaat van elkaar gescheiden houden door gebruik van VLANs. ESXi ondersteunt 802.1Q VLAN tagging - Virtual Switch Tagging (VST) o Tags toegevoegd door vSwitch; fysieke NICs aangesloten op trunk-poorten - Virtual Guest Tagging (VGT) o Tags uitgevoerd door de VM met geschikte software die 802.1Q tagging kan uitvoeren o VLAN-tags worden bewaard tsn netwerkstack van VM en externe switch wanneer frames worden doorgegeven aan/van virtuele switches o Fysieke switchpoorten zijn ingesteld als trunkpoorten 39 6.5 Switch- en Port policies Standard vSwitch kent network policies met instellingen voor: Security; Traffic shaping; NIC teaming and failover Policies kunnen ingesteld worden op het niveau van de: Standard switch: deze gelden voor alle port groups op deze switch Port group: policies op port group level ‘over-rulen’ de instellingen gedefinieerd op het niveau van de standard switch Security Policies Je kan volgende security policies op het niveau van standard switch level of op het niveau van port group configureren - Promiscuous mode: op poorten waarop policy van toepassing is, gebeurt geen MAC address-filtering - MAC address changes: bepaalt of inkomende frames worden aanvaard of niet, indien het MAC address van de guest VM veranderd is door software op de guest VM¨ - Forged transmits: bepaalt of uitgaande frames worden aanvaard of niet, indien het MAC address van guest VM veranderd is door software op guest VM 40 Traffic-Shaping policy Network traffic shaping is mechanisme om bandbreedte geconsummeerd door VM te controleren - Average rate: bepaalt het aantal bits per seconded at over een poort wordt toegestaan, gemiddeld over tijd (toegestane gemiddelde belasting) - Peak bandwidth: maximal aantal bits per seocnde da teen poort toestaat wanneer deze een burst van verkeer verzendt of ontvangt - Burst size: maximaal aantal bytes om toe te staan in een burst (tijdelijke piekperiode) (het bepaalt hoeveelheid data die kan worden overgedragen met een snelheid hoger dan gemiddelde bandbreedte ‘average rate’) - Burst bonus: wanneer een poort niet continu zijn volledige toegewezen bandbreedte gebruikt, bouwt deze een bonus op in de burst size. Deze bonus stelt poort in staat om tijdelijk meer bandbreedte te gebruiken dan average rate, tot een maximum dat wordt bepaald door burst size Voorbeeld Als je de Average rate instelt op 1.000 Kbps en je stelt de peak bandwidth in op 2.000 Kbps. Ten slotte configureer je de burst size tot 1.000 kilobytes (KB). Rekening houdend met het feit dat er 8 bits in een byte zitten, wat betekent dat 1.000 KB, overeenkomt met 8.000 Kb (grote "B" is voor bytes en kleine "b" is voor bits). Als de burst-bonus helemaal vol is, wat zou betekenen dat het de volledige waarde van de burst size (8000 Kb) is, dan zou je 4 seconden kunnen zenden aan peak bandwidth : 8.000 Kb burst size / 2.000 Kbps piekbandbreedte = 8/2 = 4 seconden Configureren Je kan Traffic Shaping policies op niveau van standard switch level of op niveau van port group configureren Traffic Shaping is by default niet actief; Op standard switch, traffic shaping controleert enkel outbound traffic 4 41 NIC Teaming and Failover policies =NIC-teaming combineert 2 of meer netwerkkaarten om als 1 netwerkkaart te fungeren de bandbreedte van de server te verbeteren en redundantie te bieden. Het is analoog met poortaggregatie op een switch. vSwitch ondersteunt: Load balancing: verdelen van netwerkverkeer, gegenereerd door VMs, gelijkmatig verdelen over netwerkkaarten in het team Network failover detection: beschrijft onderliggende technologie om network-falen te ontdekken Notify switches: NIC-failover en het updaten van MAC address table van switches in het fysieke network Fallback: beschrijft opties die bepalen welke NIC terug naar stand-by keert na een gefaalde netwerkverbinding terug actief wordt 42 1.1) Load balancing: originating virtual port ID =Kiezen van een NIC op basis van originating port ID, aangeduid als virtual port ID load balancing Port-id: bepaalt langs welke NIC in het team het verkeer van VM, gekoppeld met die poort, wordt gestuurd Vraag: Een NIC (network interface card) team telt 3 NICs met elk een bandbreedte van 10 GB. Wat is de maximale bandbreedte die een VM kan krijgen bij toepassing van deze policy? Bij Originating Virtual Port ID load balancing wordt verkeer van een virtuele machine altijd aan één specifieke fysieke NIC toegewezen, gebaseerd op de virtuele poort-ID waaraan de VM is gekoppeld. Maximale bandbreedte per VM: De bandbreedte van één fysieke NIC (in dit geval 10 Gbps). Een enkele VM kan niet de gecombineerde bandbreedte van alle NIC's in het team gebruiken. Vraag: Zal een poort op de fysieke switch die verkeer van een VM ontvangt, verkeerbestemt voor die VM langs dezelfde poort terug sturen? Ja, bij deze load balancing-policy leert de fysieke switch de associatie tussen de VM (via haar MAC-adres) en de NIC die het verkeer verzendt. Verkeer dat bestemd is voor deze VM wordt dan standaard langs dezelfde fysieke NIC en poort teruggestuurd. Dit gedrag is typisch bij statische NIC-toewijzing op basis van de originating virtual port ID. Vraag: Het verkeer van de bovenste en de onderste VM worden geroute over de zelfde NIC van het team, de onderste VM genereert heel veel verkeer. De tweede VM gebruik een NIC in het team die hij met nemand deelt. Zullenbij, gebruik van deze policy, de VMs herverdeeld worden over de NIC in het team om een betere load- verdeling te bekomen? Nee, deze policy doet geen dynamische herverdeling van het verkeer. Elke virtuele machine blijft altijd toegewezen aan dezelfde fysieke NIC, ongeacht de belasting. Dit betekent dat als één NIC zwaar wordt belast door een VM en een andere NIC nauwelijks wordt gebruikt, er geen automatische herverdeling van VMs plaatsvindt om de belasting te balanceren. Dit kan leiden tot inefficiënt gebruik van de beschikbare bandbreedte. 43 1.2) Load balancing: Source MAC Hash =Kiezen van een NIC op basis van een source MAC HASH MAC-adres van VM wordt gebruikt in hash om een NIC in het team te kiezen langs waar het verkeer van deze VM gaat. Dezelfde hash duidt steeds dezelfde NIC aan langswaar het verkeer wordt gerouted. Aangezien MAC-adress van VM niet veranderd, gaat het verkeer van VM steeds gerouted worden langs dezelfde NIC van het team vSwitch selecteert uplink voor een VM op basis van MAC- adres van VM Vraag: Een nic (network interface card) team telt 3 nics met elk een bandbreedte van 10 GB. Wat is de maximale bandbreedte die een vm kan krijgen bij toepassing van deze policy? Bij de Source MAC Hash-policy wordt de fysieke NIC gekozen op basis van een hashberekening van het MAC- adres van de virtuele machine. Omdat het verkeer van een VM altijd langs dezelfde NIC wordt gerouteerd (op basis van het MAC-adres), is de maximale bandbreedte die een VM kan gebruiken de bandbreedte van één NIC, namelijk 10 Gbps. Vraag: Zal een poort op de fysieke switch die verkeer van een VM ontvangt, verkeerbestemt voor die VM langs dezelfde poort terug sturen? Ja, bij deze policy blijft het verkeer consistent via dezelfde fysieke NIC gerouteerd. o De fysieke switch associeert het MAC-adres van de VM met de NIC die wordt gebruikt om verkeer te verzenden. o Verkeer dat van de fysieke switch naar de VM moet, zal dus langs dezelfde poort (NIC) worden teruggestuurd. 44 1.3) Load Balancing: Source and Destination IP Hash =Kiezen van een NIC op basis van een IP Hash Dit werkt door bron- en doel IP-adressen te gebruiken en een berekening uit te voeren voor elk packet om te bepalen welke uplink in het team moet worden gebruikt. Taakverdeling gebaseerd op IP-adressen van bron/bestemming, kan een enkele VM die met meerdere IP- adressen communiceert, zijn belasting over alle netwerkadapaters in het team verdelen en de beschikbare bandbreedte beter benutten. Route gebaseerd op IP Hash load balancing vereist dat de fysieke switchpoorten worden gecombineerd tot een EtherChannel. Zo kan er voor gezorgd worden hetzelfde hashing-algoritme wordt gebruikt voor verkeer dat terugkeert in de tegenovergestelde richting Vraag: Een nic (network interface card) team telt 3 nics met elk een bandbreedte van 10 GB. Wat is de maximale bandbreedte die een vm kan krijgen bij toepassing van deze policy? Wat is de maximale bandbreedte per sessie? Bij de Source and Destination IP Hash-policy kan het verkeer van een VM over meerdere NICs worden verdeeld, afhankelijk van de IP-adressen waarmee de VM communiceert. Maximale bandbreedte per VM: Tot 30 Gbps (de gecombineerde bandbreedte van alle 3 de NICs), mits de VM communiceert met meerdere unieke doel-IP-adressen. Een sessie wordt gedefinieerd als een verbinding tussen één bron-IP en één doel-IP. Maximale bandbreedte per sessie: De bandbreedte van één NIC, namelijk 10 Gbps, omdat een enkele sessie (bron/doel- IP-paar) altijd over één specifieke NIC wordt gerouteerd. Vraag: Zal een poort op de fysieke switch die verkeer van een VM ontvangt, verkeerbestemt voor die VM langs dezelfde poort terug sturen? Ja, maar alleen als de fysieke switch is geconfigureerd met EtherChannel of een vergelijkbaar mechanisme. EtherChannel zorgt ervoor dat het hashing-algoritme consistent is voor zowel uitgaand als inkomend verkeer, zodat de switch weet welke NIC te gebruiken voor het retourneren van verkeer. Zonder EtherChannel kan inconsistentie optreden in de routing. Vraag: Het verkeer van de bovenste en de onderste VM worden geroute over de zelfde NIC van het team, de onderste VM genereert heel veel verkeer. De tweede VM gebruik een NIC in het team die hij met nemand deelt. Zullenbij, gebruik van deze policy, de VMs herverdeeld worden over de NIC in het team om een betere load-verdeling te bekomen? Ja, gedeeltelijk. Bij deze policy kan het verkeer van een VM worden verdeeld over meerdere NICs als de VM communiceert met verschillende doel-IP-adressen. Echter, als de IP-hashberekening resulteert in een toewijzing van verkeer van meerdere VM's naar dezelfde NIC, vindt er geen dynamische herverdeling plaats. De load balancing blijft afhankelijk van de IP-hash. 45 2) Detecteren van network failure Link status of beaconing, of beide; Notify switches: VMkernel verwittig de geconnecteerde fysieke switches bij veranderen van uplink en de bijhorende MAC-adressen Failover: Failback: welke NIC wordt weer actief na dat een link is hersteld? Load-balancing option: bepaalt welke NIC stand-by is in geval van het falen van een connectie Als de link van een netwerkkaart down gaat, worden de virtuele netwerkkaart- enVMkernel-poorten opnieuw toegewezen aan de resterende netwerkkaarten en verzendt de host frames naar de fysieke switch om ervoor te zorgen dat de MAC-adrestabel wordt bijgewerkt Link status Link status: is alleen afhankelijk van de verbindingsstatus (is er een fysiek signaal?)die de netwerkadapter biedt. Deze optie detecteert storingen, zoals verwijderde kabels en fysieke stroomuitval van de switch. Er worden echter geen configuratiefouten gedetecteerd, zoals: fysiekeswitch-poort die wordt geblokkeerd STP of verkeerd is geconfigureerd op deverkeerde VLAN , problemen met een upstream switch. Beaconing Beacon probing is een software-alternatief van VMware vSphere om uplink-fouten te detecteren. Tijdens Beacon Probing-proces verzendt de ESXi-host periodiek een broadcastspakket waarvan vSphere verwacht dat het door alle fysieke switches zal worden doorgestuurd. De ESXi-server luistert vervolgens naar alle andere NIC's in het team om dat broadcast-frame te te ontvangen. Als de andere NIC's drie opeenvolgende frames niet ontvangen, markeert ESXi de NIC met het probleempad als onbeschikbaar. Waarom kan beaconing enkel gebruikt worden als met 3 NICs of meer in een team? NIC 1 verzendt frame, NIC 2 en NIC 3 controleren of ze het frame ontvangen Als beide NICs het frame niet ontvangen, kan worden vastgesteld dat NIC 1 probleem heeft 46 3) Notify switches Als door het configureren van een policy (Load-Balancing Method: Originating Virtual Port ID of Load-Balancing Method: Source MAC Hash), Het verkeer van de VMs steeds via een bepaalde uplink (in de figuur poort G0/0) naar de fysieke switch wordt geleid, zal de switch het MAC-adres van deze VM leren als verbonden aan de poort waar ditframe ontvangen wordt. Faalt de link met deze poort, dan zal de ESXi-host frames genereren en zenden over de actieve upli nks (in de figuur poort G0/1) met alssource Mac address de MAC-adressen van de getroffen VMs. De switch bijgevolg de MAC address table updaten. De frames die de ESXi-host uitstuurt, worden naar het broadcast-adres gestuurd. Zo is verzekerd dat de frames door heel het netwerk gaan ( een switch forward immersframes die gestuurd zijn naar het broadcast-adres) en dat ook upstream switches worden geupdate (zie figuur rechts onderaan) 47 6.6 vSphere Distributed Switches Voordelen vereenvoudigt beheer van datacenter configuraties zijn consistent over al de hosts waar de switch is gedefinieerd bieden extra mogelijkheden, zoals private VLANs, NetFlow en port mirroring Architectuur 48 VMKernel-poorten = zijn speciale constructies die door ESXi-host worden gebruikt om met buitenwereld te communiceren Herkenbaar aan structuur van hun naam: vmk ###, waarbij het gedeelte vmk (VMKernel) Doel van VMKernel-poort ➔ om “applicaties”/services die op ESXi-host draaien met het network te verbinden. Elke kernelpoort bidet dan een TCP/IP-stack waarvan één of meerdere van de volgende “applicaties”/services gebruik kan maken. Deze “applicaties”/services zijn: - vMotion traffic; - Fault tolerance (FT) logging - Management traffic - vSphere replication traffic - iSCSI traffic - NFS traffic VRAAG: Een systeembeheerder wilt het verkeer voor VMs, ‘vMotion’ en de connectie met iSCSI- storage over fysisch gescheiden netwerken laten gaan. Hoeveel virtuele switchen moet hij minstens maken? 3 ➔ 1 vSwitch voor VM-verkeer, 1 vSwitch vMotion-verkeer, 1 vSwitch voor iSCSI-verkeer Hij wil dat al deze verbindingen redundant uitgevoerd worden. Hoeveel netwerkkaarten heeft hij nodig op zijn host? Redundantie betekent dat elke verbinding minimaal twee fysieke netwerkkaarten heeft, zodat de verbinding blijft werken als één kaart uitvalt. Voor elk van de 3 virtuele switches zijn 2 fysieke NICs nodig: VM-netwerkverkeer (2 NICs), vMotion- verkeer (2 NICs), iSCSI-verkeer (2 NICs) ➔ TOTAAL: 6 fysieke netwerkkaarten 49 6.7 Private VLANs Waarom? Klanten v/d zelfde service provider kunnen VMs hebben op dezelfde host; Deze VMs kunnen verbonden zijn met dezelfde (virtuele) switch; Deze VMs mogen elkaar niet kunnen bereiken over het network Oplossing ➔ VLANS Service provider kan zeer veel VMs ondersteunen van veel verschillende klanten met elk één VM Verkeer van verschillende klanten scheiden impliceert voor elke klant met één VM een aparte VLAN Echter 802.1Q speciieert 12 bits voor de VLAN-id ➔ 4096 verschillende VLAN-Ids (zijn ook niet zomaar allemaal te gebruiken) Oplossing ➔ Private VLANs (bieden mogelijkheid om individuele poorten van dezelfde VLAN van elkaar te isoleren) Primary – Secondary VLANs Private VLAN bestaat uit: - Eén primary VLAN - Eén of meerdere secondary VLANs Secondary VLANs 2 type secondary VLANs - Isolated VLAN (slechts één) - Community VLAN (één of meerdere, afhankelijk van scenario) 50 Poorten Twee types poorten: - Promiscuous ports o Elke poort kan communiceren met promiscuous ports o Promicuous ports kunnen comminiceren met al de poorten in de private VLAN o Promiscuous ports worden gebruikt om te verbinden met toestellen die iedereen moet kunnen bereiken (default gateway, firewall, proxy...) - Host ports o Isolated ▪ Kunnen niet met elkaar communiceren ▪ Kunnen wel met promiscuous ports communiceren ▪ ➔ Gebruikt om individuele machines van elkaar te isoleren o Community ▪ Kunnen enkel communiceren met poorten van dezelfde community ▪ Kunnen ook met promiscuous ports communiceren ▪ ➔ Gebruikt om machines te verbinden die enkel met elkaar mogen communiceren Scenario: Een systeembeheerder wil VMs van verschillende klanten met een virtuele switch verbinden. 13 klanten hebben slechts één VM. 2 klanten hebben 2 VMs en één klant heeft 3 VMs. De VMs van vershillende klanten mogen over het network niet met elkaar communiceren. Al deze klanten gebruiken dezelfde DNS-server en dezelfde default gateway die ook met deze switch verbonden zijn. - Private VLAN bestaat uit één primary VLAN en één of meerdere secondary VLANs - Alle VMs gebruiken dzelfde gateway en DNS-server, die worden verbonden via de PROMISCUOUS PORT in de primary VLAN - VMs van 13 klanten met elk 1 VM moeten geïsoleerd worden o 1 ISOLATED VLAN: alle 13 VMs kunnen in dezelfde IV geplaats worden - VMs van 2 klanten met elk 2 VMs moeten met elkaar kunnen communiceren, maar niet met andere klanten - VMs van 1 klant met 3 VMS moeten met elkaar kunnen communiceren, maar niet met andere klanten o 3 COMMUNITY VLANs Hoeveel private VLANs heeft de systeembeheerder nodig? Hoeveel secondary VLANs van het type ‘isolated’? Hoeveel van secondary VLANs het type ‘community’? In welke van deze VLANS ga je de VMs plaatsen van 51 7 Shared Storage Configureren - iSCSI 7.1 Storage overzicht Storage kan verdeeld worden in 2 groepen: Block level devices (SAN, DAS) Nog voorzien worden van filesystem File level devices (NAS) Reeds voorzien van filesystem 7.2 Storage protocol – Toepassingen (vSphere) Boot from SAN Het besturingssysteem bevindt zich op een LUN van een SAN ipv local disk (DAS) en boot vanaf deze SAN vSphere vMotion Virtuele machines kunnen ‘live’ (up and running) verplaatst worden van de éné host naar de andere host vSphere HA (high De VCSA houdt bij op welke host de VMs gestart zijn. availaibility) Faalt een host, dan zullen de VMs actief waren op de gefaalde host op een andere host opstarten DRS VMs kunnen ‘live’ gemigreerd worden naar andere hosts waarbij gestreefd wordt (Distributed resource om de load over de hosts gelijkmatig te verdelen (veronderstelt aanwezigheid van scheduling) vMotion) Raw Device Mapping VMs kunnen gebruik maken van fysische harde schijven (betere performantie) Support 7.3 Datastores = een logische opslageenheid die schijfruimte voorstelt op één fysiek apparaat of meerdere fysieke apparaten = worden gebruikt om virtuele machine-bestanden, templates en ISO- images op te slaan Soorten: - VMFS o DAS, SAN - NFS - Virtual SAN - Virtual volumes 52 7.3.1 VMFS VMFS5 o Laat toe dat verschillende bestanden op éénzelfde volume gelijktijdig door verschillende processen benaderd wordt (= shared storage) o Gebruikt blokgrootte van 1 MB, goed voor opslaan van grote virtuele schijfbestanden o Gebruikt subblock addressing (blokgroote sub-block 8kb), goed voor opslaan van kleine bestanden o Biedt on-disk, block-level locking (storage arrays vergrendelen op blokniveau van LUN ipv volledige LUn te vergrendelen: één bepaald bestand mag maar door één proces tegelijk geopend zijn, anders zal bestand corrupt geraken) o Dynamisch uitbreidbaar NFS o Opslag gedeeld via netwerk op niveau van filesystem 53 7.4 iSCSI Host bus adapters (HBA) is een printplaat en geïntegreerde circuitadapter die zorgt voor input / output (I / O) verwerking en de fysische connectie tussen een server en een opslag- en / of netwerkapparaat. Storage processor is de interface tussen het storage netwerk en de fysieke schijven iSCSI (Internet Small Computer Systems Interface), een transport-protocol dat ervoor zorgt dat het SCSI- protocol wordt overgedragen via een op TCP gebaseerd IP-netwerk iSCSI is een protocol voor opslagnetwerken dat commando’s SCSI commands(commando’s voor block level devices volgens het SCSI protocol) en data transporteert over een netwerkverbinding die meestal Ethernet is. Het werkt volgens het client server-model waarbij de server wordt aangeduid als de iSCSI target en de client als de iSCSI intiator. 54 iSCSI addressing iSCSI Qualified Name (IQN) o iqn o datum (jjjj-mm) : waarop naamgevende autoriteit eigenaar is geworden van het domein o omgekeerde domeinnaam van autoriteit (bv. com.example, be.ap) o optioneel “:” voorvoegsel opslagdoelnaam (target) o IEEE EUI-64 - 16 ASCII-gecodeerde hexadecimale cijfers o Alias: alternatieve naam iSCSI initiators Software iSCSI Adapter: standaar NIC’s gebruiken om je host te verbinden met iSCSI-target op IP-netwerk. De software iSCSI-adapter is deel van OS Dependent Hardware iSCSI Adapter: bij gebruik van deze adapter, zal je kernelpoort moeten aanmaken op je host Independent Hardware iSCSI Adapter: gespecialiseerde adapter die iSCSI-storage verbindt via TCP/IP-netwerk. 55 Discovering iSCSI Targets iSCSI-adapter ontdekt opslagbronnen op netwerk en bepaalt welke beschikbaar zijn voor toegang Een ESXI-host ondersteunt volgende detectiemethoden (discovery methods): - Statisch - Dynamisch (SendTargets) Het SendTargets-antwoord retourneert de IQN en alle beschikbare IP-adressen. Men moet de adressen van de iSCSI-target instellen, zodat de iSCSI-adapter kan bepalen welke opslagbron op het netwerk beschikbaar. Dynamic discovery: SendTarget-detectie: elke keer dat initiator contact opneemt met opgegeven iSCSI- server, stuurt initiator het SendTargets-verzoek naar de server. De server reageert door een lijst met beschikbare doelen aan de initiator te vertrekken Static discovery: iSCSI-adapter gebruikt lijst met argets die men opgeeft om contact op te nemen en te communiceren met iSCSI-servers Authenticatie iSCSI-initiators kunnen CHAP gebruiken voor authenticatiedoeleinden - Twee soorten CHAP-authenticatie o Unidirectioneel: alleen de initiator (client) wordt geverifieerd door de target (server). o Bidirectioneel: zowel de initiator als de target verifiëren elkaar. CHAP (Challenge Handshake Authentication Protocol): authenticatie-protocol dat gebruiktmaakt van challenge-response-mechanisme. Men kan CHAp-authenticatie gebruiken om iSCSI toegang tot volumes en snapshots te berpeken tot hosts die de juiste geheime combinatie (user/pwd) opgeven VRAAG: Een systeembeheerder wilt gebruik maken van het iSCSI-protocol. Op zijn hosts maakt hij gebruik van standaard ethernetkaarten. Welk soort adapter moet hij/zij gebruiken? Wat zijn de voor- en de nadelen van deze keuze voor adapter? Software iSCSI-adapter Voordelen: geen extra kosten voor hardware, breed ondersteund, eenvoudige configuratie Nadelen: Hogere CPU-belasting, lagere prestaties, minder efficiënt bij grote omgevingen VRAAG: CHAP staat niet bekend als een veilig protocol voor gebruikersauthenticatie. Toch kan de systeembeheerder dit protocol aanwenden voor de auhenticatie tussen iSCSI-initiators en iSCSI-targets. Wat is de meerwaarde om dit protocol te gebruiken voor de auhenticatie tussen iSCSI-initiators en iSCSItargets? CHAP zorgt ervoor dat alleen geautoriseerde initiators verbinding kunnen maken met de iSCSI-targets. 56