Difference between revisions of "KVM-Hosting"
(→Skapa ett VM) |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{Info|Gammal info, det projektet är nerlagt till förmån för nyare saker. Det är nog dock lämpligt att i framtiden återanvända den här sidan när den nya lösningen är "klar" ... om det blir det nån gång :)}} | ||
+ | |||
Består i dag av tre system, en filserver med två blad som funkar som hypervisors. | Består i dag av tre system, en filserver med två blad som funkar som hypervisors. | ||
Line 14: | Line 16: | ||
Då alla hypervisors har samma delad disk så kan vi göra enkel out-of-the-box live migration mellan de fysiska maskinerna vilket gör det möjlighet för oss att migrera runt och uppdatera/boota om/installera om maskiner vid behov utan att ta ner något VM. Det finns dock en del begränsningar, vi har bara 16G RAM på ett blad och om vi använder för mycket så kanske alla VM:s inte får plats på de andra bladen (om vi behöver tömma ett blad för att boota om det). Något annat som är viktigt att veta är att vi kan inte migrera från HostA till HostB om HostB's CPU inte stödjer samma instruktioner. Oklart vad som händer om man försöker. Alla blade-* är identiska. | Då alla hypervisors har samma delad disk så kan vi göra enkel out-of-the-box live migration mellan de fysiska maskinerna vilket gör det möjlighet för oss att migrera runt och uppdatera/boota om/installera om maskiner vid behov utan att ta ner något VM. Det finns dock en del begränsningar, vi har bara 16G RAM på ett blad och om vi använder för mycket så kanske alla VM:s inte får plats på de andra bladen (om vi behöver tömma ett blad för att boota om det). Något annat som är viktigt att veta är att vi kan inte migrera från HostA till HostB om HostB's CPU inte stödjer samma instruktioner. Oklart vad som händer om man försöker. Alla blade-* är identiska. | ||
+ | |||
+ | Det finns ett privat nätverk mellan samtliga maskiner på 10.0.32.x/24 nätet, där x är samma som i 130.237.234.x. Det nätverket används för glusterfs för att dela ut disken privat och säkert så ingen kan lyssna. | ||
== Skapa ett VM == | == Skapa ett VM == | ||
+ | |||
+ | === Fråga === | ||
+ | |||
+ | Enklast är att fråga maila staff och be om hjälp, jag (nsg) hjälper gärna till. Antingen hjälper jag dig att skapa det, eller så sätter jag upp det åt dig. | ||
+ | |||
+ | === Gör det själv === | ||
Använd libvirt för att skapa ett VM. Jag gillar när det är enkelt så jag använder det utmärka verktyget virt-manager. Men innan vi börjar, hämta ut dina root biljetter och kolla att du kan logga in. | Använd libvirt för att skapa ett VM. Jag gillar när det är enkelt så jag använder det utmärka verktyget virt-manager. Men innan vi börjar, hämta ut dina root biljetter och kolla att du kan logga in. | ||
Line 39: | Line 49: | ||
[[File:No-cache-virt-manager.png]] | [[File:No-cache-virt-manager.png]] | ||
− | + | == Bra och veta == | |
+ | |||
+ | Om du har ett VM så förutsätt följande saker: | ||
+ | |||
+ | * OS kan bootas om, det bör hända mycket sällan men se till att alla tjänster startar korrekt igen. T.ex. det här kan hända om vi får strömavbrott, eller om ett blad går sönder. Nertiden kommer troligtvis bli mycket kort då vi kan starta upp VM:et på ett annat blad. | ||
+ | * Jag förutsätter att du har cache avstängt på disken, kan jag inte göra live migration på grund av det så kommer jag stänga av ditt vm (utan att fråga) och slå av cache åt dig. | ||
+ | * Svarar inte ditt VM på ACPI och stänger av sig snyggt så kommer jag stänga av det brutalt. | ||
+ | * Gör inga dumheter | ||
+ | |||
+ | Några andra bra saker och veta är: | ||
+ | |||
+ | Vi har gott om disk, men RAM och CPU är en begränsad resurs så försök att vara återhållsam här. Klarar du dig på 256M RAM så välj inte 2G o.s.v. Det är trivialt att lägga till mer RAM senare om behovet finns. | ||
+ | |||
+ | Starta inte ett VM 2 gånger! Se bilden nedan: | ||
+ | |||
+ | [[File:Virt-manager.png|200px]] | ||
+ | |||
+ | Jag har skapat VM:et på blade-a-server-4 och sedan gjort en live migration till blade-a-server-3, där den som synes nu kör. Maskinens konfiguration blir dock kvar på den gamla hosten och det finns inget som hindrar dig från att starta den en gång till på 4:an, gör du det så kommer filsystemet dock bli korrupt så det är en mycket dum ide! (de flesta filsystemen kan dock rädda det mha jornalen). |
Latest revision as of 14:31, 29 December 2018
Gammal info, det projektet är nerlagt till förmån för nyare saker. Det är nog dock lämpligt att i framtiden återanvända den här sidan när den nya lösningen är "klar" ... om det blir det nån gång :)
Består i dag av tre system, en filserver med två blad som funkar som hypervisors.
KVM Hypervisors blade-a-server-3 blade-a-server-4 File Servers mount-kilimanjaro
Design
Systemet kör hypervisors som kör KVM på CentOS 7.1. I dag har vi två blad i Eken som är hypervisors. Själva OS disken ligger via en GlusterFS montering från filservern Mount-Kilimanjaro. I framtiden är förhoppningen att vi ska ha två filservrar för att skapa ett HA-par (mirror, och alla hypervisors klarar av att en maskin går ner).
Då alla hypervisors har samma delad disk så kan vi göra enkel out-of-the-box live migration mellan de fysiska maskinerna vilket gör det möjlighet för oss att migrera runt och uppdatera/boota om/installera om maskiner vid behov utan att ta ner något VM. Det finns dock en del begränsningar, vi har bara 16G RAM på ett blad och om vi använder för mycket så kanske alla VM:s inte får plats på de andra bladen (om vi behöver tömma ett blad för att boota om det). Något annat som är viktigt att veta är att vi kan inte migrera från HostA till HostB om HostB's CPU inte stödjer samma instruktioner. Oklart vad som händer om man försöker. Alla blade-* är identiska.
Det finns ett privat nätverk mellan samtliga maskiner på 10.0.32.x/24 nätet, där x är samma som i 130.237.234.x. Det nätverket används för glusterfs för att dela ut disken privat och säkert så ingen kan lyssna.
Skapa ett VM
Fråga
Enklast är att fråga maila staff och be om hjälp, jag (nsg) hjälper gärna till. Antingen hjälper jag dig att skapa det, eller så sätter jag upp det åt dig.
Gör det själv
Använd libvirt för att skapa ett VM. Jag gillar när det är enkelt så jag använder det utmärka verktyget virt-manager. Men innan vi börjar, hämta ut dina root biljetter och kolla att du kan logga in.
$ kinit nsg/root $ ssh root@blade-a-server-3.stacken.kth.se hostname
virt-manager sätter själv upp en ssh-tunnel åt dig, så funkar ssh så ska det funka i virt-manager med. Här under ser du ett exempel där jag är ansluten till båda bladen:
Exempel på hur man lägger till en maskin, svårare än så är det inte....
Hur du sedan skapar ett VM tror jag att du listar ut själv, men några saker som är bra och veta:
- Du vill lägga din disk på storage poolen "glusterfs".
- Lägg ditt nic på bridge0, det är en brygga som ligger direkt på Stackens nät (förmodligen default).
- Välj gärna virtio om ditt OS stödjer det, det går fortare.
- Slutligen, stäng av cache på disken. Vi behöver ha den av om live migration ska funka (se bild).
Bra och veta
Om du har ett VM så förutsätt följande saker:
- OS kan bootas om, det bör hända mycket sällan men se till att alla tjänster startar korrekt igen. T.ex. det här kan hända om vi får strömavbrott, eller om ett blad går sönder. Nertiden kommer troligtvis bli mycket kort då vi kan starta upp VM:et på ett annat blad.
- Jag förutsätter att du har cache avstängt på disken, kan jag inte göra live migration på grund av det så kommer jag stänga av ditt vm (utan att fråga) och slå av cache åt dig.
- Svarar inte ditt VM på ACPI och stänger av sig snyggt så kommer jag stänga av det brutalt.
- Gör inga dumheter
Några andra bra saker och veta är:
Vi har gott om disk, men RAM och CPU är en begränsad resurs så försök att vara återhållsam här. Klarar du dig på 256M RAM så välj inte 2G o.s.v. Det är trivialt att lägga till mer RAM senare om behovet finns.
Starta inte ett VM 2 gånger! Se bilden nedan:
Jag har skapat VM:et på blade-a-server-4 och sedan gjort en live migration till blade-a-server-3, där den som synes nu kör. Maskinens konfiguration blir dock kvar på den gamla hosten och det finns inget som hindrar dig från att starta den en gång till på 4:an, gör du det så kommer filsystemet dock bli korrupt så det är en mycket dum ide! (de flesta filsystemen kan dock rädda det mha jornalen).