250 likes | 365 Views
TDDI05 – Systeminstallation. INTRODUKTION – LABMILJÖ – VIRTUELLA MASKINER. Mål. Fördjupning i datornät och datorsystem Öva ingenjörsmässigt arbetssätt, planering och kunskapsinhämtning Få förtrogenhet med och erfarenhet av ett komplext, realistiskt datorsystem
E N D
TDDI05 – Systeminstallation INTRODUKTION – LABMILJÖ – VIRTUELLA MASKINER
Mål • Fördjupning i datornät och datorsystem • Öva ingenjörsmässigt arbetssätt, planering och kunskapsinhämtning • Få förtrogenhet med och erfarenhet av ett komplext, realistiskt datorsystem • Lära mer om vanliga system och nätverkstjänster
Min Filosofi Frihet och ansvar • Ansvar att klara uppgiften i tid • Stor frihet i planeringen av arbetet Målinriktat självständigt lärande • Du lär dig inte när labassistenten övar • Konkreta och realistiska mål Inget tillrättalagt • Realistiska uppgifter ger realistiska kunskaper
Planering gör att arbetet går fortare Cirka 4-5 veckor, men kanske mer. Gör den här delen ordentligt! Struktur Övningar Inlämningsuppgift Föreläsningar Projekt
Router RIP-router Tidstjänst Server DNS-server Mailserver IMAP-server Katalogtjänst (NIS) Filserver (NFS) Klienter Projekt
Mail (SMTP) Mail (IMAP) Mail frågar efteranvändarnamn SMTP frågar efter MX-poster IMAP kollarlösenord DNS DNS användertillämpnings-API Katalog (NIS) Tillämpningar slårupp namn i DNS Katalogaccesser Tid (NTP) Router (RIP) OS hämtar tiden Tillämpnings-API Filer (NFS) Användare ochlösenord mm OS hämtar routes Access av filer över nätet OS
16 PC med Linux Debian/Gnu Linux (sarge) KDE som fönstersystem 8 grupper per tillfälle Två datorer per grupp Kan delas med andra kurser Labresurser B 2C:472
Tips • Förstå problemen • Förstå lösningarna • Planera ditt arbete • Dokumentera arbetet • Följ upp planerna • Räkna med förseningar • Räkna med problem
Abstrahering av hårdvaran Ökar systemets portabilitet Effektivare resursutnyttjande Nya tillämpningar Isolering mellan tillämpningar Två typer VMM Type I VMM Type II Virtuella Maskiner
VMM kör direkt på hårdvaran Hög prestanda Helt virtualiserad hårdvara Exempel Xen VMWare ESX VM VMM Type I User Process User Process User Process User Process User Process User Process Guest OS Guest OS Virtual Machine Monitor Hårdvara
VMM kör ovanpå OS VMM mindre hårdvaruberoende Risk för dålig prestanda Flera VMM möjligt Exempel VMWare Workstation User-Mode Linux User Process User Process User Process User Process User Process User Process Guest OS Guest OS User Process User Process User Process Virtual Machine Monitor Host OS Hårdvara VMM Type II
User-Mode Linux • Portering av Linux till Linux • OS/Systemanropsgränssnitt, inte hårdvara • Full Linux-kärna med VM, filsystem och annat • Binärer exekverar direkt på värd-CPUn • Underhålls som Linux-arkitektur • Kräver patchar på gästoperativsystemet • Patchar på värdsystemet rekommenderas
apache mozilla ps User Space System call interface Generisk Linuxkärna Kernel Space x86-specifik del Drivrutiner x86-Hårdvara Linux Arkitektur
User Space apache gcc emacs apache mozilla Kernel Space Generisk Linuxkärna Generisk Linuxkärna x86-specifik del UML-specifik del Drivrutiner Drivrutiner Kernel Space x86-Hårdvara Linux Arkitektur med UML
Tracing thread (TT) mode Kernel/user space defined by if the guest process is being traced or not Tracing thread uses ptrace interface to intercept calls to the kernel Guest processes and kernel share the same address space SKAS mode Guest kernel has its own address space System calls are made directly to the guest kernel Guest kernel is protected from guest processes User/Kernel Space Separation
Guest process makes syscall Intercepted by tracing thread TT forces execution to continue in guest kernel (without tracing) Process makes syscall to host kernel (if necessary) When syscall completes Process (in kernel) signals itself Signal intercepted by tracing thread Tracing thread resumes guest process with tracing on TT Mode Guest Process Guest Process Guest Kernel Host Thread Host Thread Tracing Thread Host Kernel
Four host threads Kernel space thread User space thread ubd asynchronous I/O thread SIGIO write emulation thread User space thread handles all UML user processes SKAS Mode User space thread Kernel space thread Host Kernel
Flera anslutningsalternativ Pseudo-terminaler Befintlig terminal xterm Nätverksport (telnet) Befintlig fildeskriptor Ingenting – null Ingenting – none Anges på kommandoraden till linux vid start av UML Vanliga alternativ con0=xterm Nytt fönster skapas con0=fd:0,fd:1 Aktuellt fönster/terminal con0=null I/O oåtkomlig Terminaler och serieportar
TUN/TAP Anslutning till kernel-enhet på värden (tex tap0) DAEMON Anslutning till simulering av switch på värden PCAP Read-only-anslutning till befintligt interface MULTICAST Kommunikation mellan UMLer via multicast SLIP/SLIRP Modemprotokoll (klarar enbart IP) ETHERTAP Äldre alternativ till TUN/TAP Nätverk
Anslutning mellan UMLer Daemon (uml_switch) Anslutning till värden TUN/TAP-gränssnitt Extern anslutning Via ethernet-brygga Nätverk (TDDI05)
UML Hosting Webservrar som i själva verket är UML-instanser Säkerhet UML-baserade honeypots UML-baserade honeynets Utbildning Nätverkssimulering Systemadministration Utveckling Debugging av kärnan Omgivningar för testning Drift Isolering av tjänster Migrering av tjänster Tillämpningar
MLN – My Linux Network Förenklar skapande av nätverk av UML-instanser Avsett för utbildning Projekt i mln Lagras i projektkatalog Startas med mln start –p … Stop med mln stop –p … Verktyg för UML – mln
Planera tiden Kursen tar mycket tid Tiden som finns räcker men marginalerna är små Arbeta metodiskt Kontrollerade förändringar Metodisk felsökning Metodiskt arbete spar tid! Förbered arbetet ordentligt Förberedelserna tar oftast mer tid än genomförandet Tid ägnad åt förberedelser har man igen flera gånger om Avslutande ord