DAS VIRTUALISIERUNGS-BUCH Herausgegeben von Fabian Thorns Computer & Literatur Verlag GmbH
Vorwort 15 Teil 1 Basiswissen Seite 19 1 Das ist Virtualisierung 27 1.1 Virtualisierungsverfahren 29 1.1.1 Paravirtualisierung und echte Virtualisierung 30 1.1.2 Virtuelle Systemumgebungen durch Kontextbildung und Systempartitionierung 34 1.1.3 OS-API-Emulation 37 1.1.4 Emulatoren 38 1.2 Virtualisierungsumgebungen 39 2 Interne Mechanismen 43 2.1 Betriebssystem-Grundlagen 43 2.2 Theorie der Virtualisierung 48 2.3 Virtualisierung allgemein 50 2.3.1 User Mode 52 2.3.2 Kernel Mode 52 2.3.3 I/O 52 2.3.4 PageTables 53 2.3.5 Kontextwechsel 53 2.3.6 Scheduling 53
6 Inhalt 2.3.7 Speicherverwaltung 55 2.4 Virtualisierung des x86 56 2.5 x86-virtualisierungs-erweiterungen 57 2.5.1 Intel VT und AMD SVM 58 2.5.2 Zweistufiges Paging 60 2.6 Paravirtualisierung 61 2.7 Geschwindigkeit von Virtualisierung 62 2.7.1 Binary Translation 62 2.7.2 VT/SVM 63 2.7.3 Paravirtualisierung 64 2.7.4 Host 64 2.7.5 Geschwindigkeit in der Praxis 65 3 Gut zu wissen 67 3.1 Dateisysteme und Systeminstallationen 68 3.1.1 Dateisysteme und Images 69 3.1.2 Systeminstallation 70 3.1.3 Grundlegende Konfiguration 81 3.1.4 Installationstemplates 82 3.2 Virtuelle Netzwerke und Netzwerkintegration 83 3.2.1 Allgemeines 83 3.2.2 Netzwerkintegration verschiedener Virtualisierungsverfahren.. 85 3.2.3 Außenanbindung 86 3.2.4 Globale Dienste im Hostsystem binden 100 3.3 Sicherheit und Filter 102 3.4 Grafische Applikationen und Logins in virtuelle Maschinen 107 3.4.1 XI 1-Forwards 109 3.4.2 X-Forwards durch SSH-Tunnel 114 3.4.3 XDMCP 116 3.4.4 X und XDMCP unter Microsoft Windows 119 3.4.5 VNC 124
Inhalt 7 Teil 2 Anwendungsintegration Seite 127 4Wine 131 4.1 Wine installieren 133 4.2 Wine konfigurieren 134 4.2.1 Fake-Windows - die Basiskonfiguration 134 4.2.2 DieWineTools 135 4.2.3 Drucken in Wine 138 4.2.4 DLLs einbinden 140 4.2.5 TrueType-Fonts einrichten 140 4.3 Arbeiten mit Wine 141 4.3.1 Windows-/DOS-Programme aufrufen 141 4.3.2 Windows-Programme installieren 142 4.3.3 Windows-Programme de-installieren 146 4.4 Winelib-Programme erzeugen 146 4.5 Kommerzielle Versionen 148 5 POSIX für Windows 149 5.1 Cygwin 150 5.1.1 Cygwin installieren 154 5.1.2 Arbeiten mit Cygwin 161 5.1.3 Die Cygwin-Anwendungen 1 64 5.1.4 Quellen portieren 181 5.1.5 Referenz der Cygwin-Befehle 182 5.2 Uwin4.1 184 5.3 Microsoft Windows Services for Unix (SFU) 188
8 Inhalt 6 Cooperative Linux VM (colinux) 191 6.1 Installation 192 6.2 Netzwerkverbindung 201 6.3 Grafische Anwendungen 204 6.3.1 Vorbereitung 205 6.3.2 Cygwin/X-Server 206 6.3.3 VNC-Server 210 7 PearPC 213 7.1 Installation von PearPC 214 7.2 Virtuelle Maschinen einrichten 216 7.2.1 CD-, DVD- und Festplattenimages für PearPC 216 7.2.2 Konfiguration der VMs 218 7.2.3 Netzwerkintegration der VMs 221 7.3 Start und Betrieb von PearPC 223 7.3.1 Starten der virtuellen Maschine 223 7.3.2 Grafische Konfigurationseditoren und Oberflächen 224 7.4 Installationen des Gastsystems 224 7.4.1 MacOS X 225 7.4.2 Darwin 227 7.4.3 Linux 230 8 Hercules 235 8.1 Installation von Hercules 236 8.2 DASD einrichten 237 8.3 Die Konfigurationsdatei 238 8.4 Hercules einrichten 238 8.4.1 Konfiguration der Devices 242 8.5 Betrieb und Installation dervm 246 8.5.1 Installation Debian GNU/Linux 247 8.5.2 Mainframe-Betriebssysteme 253 8.6 Andere Mainframe-Emulatoren 254
Inhalt 9 9QEMU 255 9.1 Installation von QEMU 257 9.2 Virtuelle Maschinen 259 9.3 Der QEMU-Monitor 263 9.4 Virtuelle Hardware 264 9.4.1 Zugriff auf Wechselmedien (CD/DVD/Floppy) 264 9.4.2 Virtuelle FAT-Festplatten-/Floppy-lmages 265 9.4.3 Erstellen einer CD-Image-Datei unter Unix/Linux 265 9.4.4 QEMU HD Mounter (Linux) 266 9.4.5 Festplatten-Images anderer Programme 267 9.4.6 Netzwerk-Konfiguration unter QEMU 269 9.5 Emulation anderer Prozessor-Architekturen 271 9.6 Der QEMU-Accelator KQEMU 271 9.7 GUIs für den QEMU 274 9.7.1 QEMU Manager für Windows 274 9.7.2 Der qemu-launcher 277 10 Microsoft Virtual Server 2005 R2 281 10.1 Überblick 282 10.2 Architektur 286 10.3 Installation 288 10.4 Die Verwaltungswebsite 289 10.5 Virtuelle Maschine einrichten 296 10.6 Installation eines Gastbetriebssystems in der VM 302 10.7 Steuerung einer virtuellen Maschine 305 10.8 Fernsteuerung (Virtual Machine Remote Control) 305 10.9 Virtuelle Festplatten anlegen und verwalten 308 10.10 Netzwerkadapter und virtuelle Netze...311 10.11 Protokolle 315 10.1 2 Konfigurationsdateien 316 10.13 Scripting 321 10.14 Weitere Informationen 324
lo Inhalt 11 Parallels Workstation 2 327 11.1 Die Installation 328 11.2 Aufbau von Parallels-Sessions 332 11.2.1 Optionen für neue Sessions 333 11.2.2 Geräte hinzufügen 340 11.3 Allgemeine Optionen 344 12 VMware-Workstation und -Player 349 12.1 Einsatzgebiete und Möglichkeiten 351 12.2 VMware-Player 353 1 2.2.1 Hardwareanforderungen 359 12.2.2 Virtuelle Maschinen selbst erzeugen 360 12.3 VMware-Workstation 370 1 2.4 Die VMware-Tools 390 12.5 Das BIOS der virtuellen VMware-Maschinen 397 Teil 3 Serverkonsolidierung Seite 401 13 Der VMware-Server 405 13.1 Installation unter SuSE Linux 406 13.2 Installation unter Windows 2003 Server 415 13.3 Installation des Management-Systems unter Linux 419 13.4 VMware-Server Linux/Windows Client Package 421 1 3.4.1 Erste Schritte mit der VMware-Server Console 422 13.4.2 Erweiterte Konfiguration, Bedienung und Start 428 1 3.4.3 Ein Überblick über wichtige Dateien 440 13.4.4 Das Management Interface 444 13.5 Automatischer Start 447 13.6 VMware-Server ohne GUI 448
Inhalt 11 14 Der VMware ESX-Server 457 14.1 Struktur und Komponenten 459 14.1.1 VMkernel und VirtualSMP 459 14.1.2 Die Service Console 460 14.1.3 Virtual Infrastructure Client 461 14.1.4 Das Virtual Machine File System 462 14.1.5 VMware WebAccess 463 14.2 VMware ESX-Server installieren 463 14.3 VMware ESX-Server konfigurieren 468 14.3.1 Kommunikation mit der Außenwelt 470 14.3.2 Einrichten von virtuellen Maschinen 474 14.3.3 Lizenzierung 474 14.3.4 Benutzerverwaltung 475 14.3.5 Abschluß der Konfiguration 475 14.4 Grundlegendes Ressourcenmanagement 476 14.5 Virtuelle Infrastruktur 478 14.6 VMware HA 483 15 Xen 487 15.1 Installation 489 15.1.1 Voraussetzungen 489 15.1.2 Binär- oder Distributions-Installationen 489 15.1.3 Xen-Installation aus den Quellen und eigene Xen-Kernel 489 15.1.4 Vorbereitungen im Hostsystem 491 15.1.5 Konfiguration des Xen-Daemons 492 15.1.6 Dateisysteme vorbereiten 493 15.2 Domain-Konfiguration 494 15.2.1 Grundlegende Eigenschaften einer Domain 494 15.2.2 Netzwerkkonfiguration 495 15.2.3 Festplatten und Block-Devices 495 15.2.4 root-devices und NFS-Root 497 15.2.5 Weitere Optionen 498 15.3 Start und Administration einzelner Domains 499 15.3.1 Start, Stopp und Übersicht von Domains 499 15.3.2 Automatischer Start einer Domain 505 15.3.3 Suspend und Migration 505 15.3.4 Hotplug-Devices und Domain-Modifikationen 507 15.3.5 Netzwerkintegration der Domains 510
12 Inhalt 16 User Mode Linux 513 16.1 Installation 515 16.1.1 Vorbereitungen im Hostsystem 516 16.1.2 UML-Kemel kompilieren 517 1 6.1.3 Gastsysteme einrichten 521 16.2 UML booten 524 16.3 UML-Konfiguration 525 1 6.3.1 Einrichten von Terminals und Konsolen 526 16.3.2 Netzwerkzugriff 528 1 6.3.3 Dateisysteme 530 16.4 Management Console 536 17 Solaris Zones und BrandZ 539 1 7.1 Solaris Zones einrichten 540 1 7.1.1 Konfiguration der neuen Zone 541 17.1.2 Installation der Zone 544 1 7.1.3 Einrichten der neuen Zone-Installation 545 17.2 Arbeiten mit Zones 547 1 7.3 BrandZ und Linux Branded Zones 549 18 FreeBSD-Jails 555 18.1 Vorbereitungen im Hostsystem 556 18.2 Systeme verhaften 561 1 8.2.1 Quellinstallation des Grundsystems 562 18.2.2 Binärinstallation des Grundsystems 562 18.2.3 Jail-Konfiguration 564 18.3 Freigang 567 18.3.1 Starten des Jails 567 1 8.3.2 Administrieren der Jails 569 18.3.3 Beenden des Jails 570 18.4 Jail-Management 571 18.5 Updates 573 18.6 Jails löschen 574
Inhalt 13 19 Linux-VServer 575 19.1 Installation 577 19.1.1 Patchen und Installieren des VServer-Kernels 577 19.1.2 Vorbereitungen im Hostsystem 579 19.2 Einrichten neuer VServer 581 19.2.1 debootstrap 582 19.2.2 yum 582 19.2.3 skeleton 583 19.3 Umgang mit VServern 584 19.4 VServer-Konfiguration 589 19.4.1 Grundlegende Eigenschaften eines VServers 589 19.4.2 Netzwerkkonfiguration 591 19.4.3 Start- und Stop-Skripte 591 20OpenVZ 593 20.1 Installation 594 20.1.1 Installation des Hostsystems 594 20.1.2 Der Hostsystem-Kernel 595 20.1.3 Die Verwaltungsprogramme im Hostsystem 597 20.2 Templates 598 20.3 Einrichten und Konfigurieren eines VPS 600 20.3.1 Neue VPS anlegen 600 20.3.2 VPS-Konfiguration 602 20.4 VPS-Betrieb 605 20.5 Ressource Management 608 20.5.1 Disk-Limits 608 20.5.2 CPU-Limits 610 20.5.3 System Limits 611 20.6 Direkte Hardware-Zugriffe 612 20.7 Konfigurationsvorlagen 613 21 Virfuozzo 615 21.1 Installation von Virtuozzo 619 21.1.1 Virtuozzo für Windows 619 21.1.2 Virtuozzo für Linux 621
14 Inhalt 21.2 Administration und Zugriff auf Virtuozzo 625 21.3 VZMC 626 21.3.1 Installation von VZMC 627 21.3.2 Registrieren der Hardware-Nodes 627 21.3.3 Einrichten neuer VPS 630 21.3.4 Administration von VPS 633 21.3.5 Eigenschaften der VPS 636 21.3.6 Konfigurationsvorlagen 640 21.3.7 Template-Verwaltung 641 21.3.8 Migration 645 21.3.9 Backup 645 21.3.10 Virtuozzo-Cluster 648 21.3.11 Monitoring 649 21.4 Kommandozeilen-Interface 650 21.5 Die Web-Interfaces VZCC und VZPP 652 Stichwortverzeichnis 655