XEN-Etch: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Hier beschreibe ich (''neobiker'') meine '''XEN Installation mit Debian Etch''' - vielleicht kann ja jemand was damit anfangen...(zum spicken). | |||
'''Ausgangssituation:''' | |||
* Intel P4 1.7 GHz, 750MB RAM, 2x 160 GB + 1x 250 GB Disks, 2x 100 MBit Ethernet | |||
* AVM Fritzcard PCI | |||
'''Zielsystem:''' | |||
* Disks mit '''RAID1''' gespiegelt, Partitionierung mit '''LVM''' | |||
* '''XEN 3.0.3''' Host-System nur mit DNS/DHCP ohne jegliche weitere Funktionen! | |||
* Development System (zum Kompilieren usw.) | |||
* mehrere weitere virtuelle Systeme (Firewall, DMZ, usw.) | |||
== Debian Installation == | |||
Ich installiere ein neues Debian System mittels der ''Netinst'' Methode. | |||
Debian Etch laden und installieren, '''Kernel 2.6 Installation''': | |||
<pre> | |||
boot: linux26 | |||
</pre> | |||
Installations-Dialog bis zur Partitionierung der Disks: | |||
<pre> | |||
Language: English | |||
Country: Germany | |||
Keyboard Layout: German | |||
Hostname: xen0 | |||
Domain name: neobiker.de | |||
</pre> | |||
Die Partitionierung mit RAID1 und LVM ist nicht trivial. Wichtig ist die Reihenfolge: | |||
<pre> | |||
1. Partitionierung der Disks | |||
2. RAID Konfigurieren | |||
3. LVM-Filesystem definieren | |||
4. EXT3 Filesystem installieren | |||
5. Mount Points eintragen | |||
</pre> | |||
Ich partitioniere beide Disks mittels ''Manual partition disks'' wie folgt: | |||
<pre> | |||
1. Disk sda Partitionieren | |||
1.0 GB RAID <-- bootable YES | |||
4.0 GB RAID | |||
30 GB RAID | |||
2.0 GB swap | |||
2. Disk sdb Partitionieren | |||
1.0 GB RAID <-- bootable YES | |||
4.0 GB RAID | |||
30 GB RAID | |||
2.0 GB swap | |||
</pre> | |||
Jetzt muss das RAID konfiguriert werden ''Configure software RAID'': | |||
''create md device - RAID1 - 2 active - 0 spare'' | |||
<pre> | |||
RAID Konfiguration: 2/0 (Disk/Spare) | |||
md0: sda1 + sdb1 | |||
md1: sda2 + sdb2 | |||
md2: sda3 + sdb3 | |||
</pre> | |||
Jetzt können die RAID Devices #0 (ext3), #1 (ext3) und #2 (lvm) formatiert werden: | |||
<pre> | |||
RAID 1 device #0 | |||
#1 1GB ext3 /boot | |||
RAID 1 device #1 | |||
#1 4GB ext3 / | |||
RAID 1 device #2 | |||
#1 30GB LVM | |||
</pre> | |||
Man kann das natürlich auch alles in eine grosse Partition plus ''swap'' nehmen. | |||
Die separate ''/boot'' PArtition erweist sich als nützlich, wenn man verschiedene Systeme von unterschiedlichen Disks/Partitionen starten möchte (''/'' liegt woanders als grub). | |||
Die LVM Konfiguration von ''/dev/md2'' als ''/data'' machen wir später von Hand. | |||
Weiter mit dem ''Installations-Dialog'': | |||
<pre> | |||
Grub in MBR: YES | |||
Finish Installation: Continue | |||
</pre> | |||
''Reboot'' des Rechners ... | |||
Die Debian Konfiguration startet wieder automatisch, hier | |||
<pre> | |||
Hardware Clock GMT: No | |||
Timezone Europe/Berlin: YES | |||
... | |||
APT Configuration: FTP | |||
Mirror Country: Germany | |||
Debian Mirror: ftp.de.debian.org | |||
Proxy: | |||
... | |||
Mail configuration: No Config at this time | |||
</pre> | |||
Damit '''GRUB''' im Fehlerfalle auch von der 2. Platte booten kann, muss GRUB auch in den MBR der 2.ten Disk installiert werden: | |||
<pre> | |||
xen0# grub | |||
grub> device (hd0) /dev/sdb | |||
grub> root (hd0,0) | |||
grub> setup (hd0) | |||
</pre> | |||
=== Netzwerk === | |||
Statische IP Konfiguration für Server (bei Servern immer). Zusätzliche XEN-Bridges füge ich später im XEN Scripts hinzu. | |||
<pre> | |||
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) | |||
# The loopback interface | |||
auto lo | |||
iface lo inet loopback | |||
# The first network card - this entry was created during the Debian installation | |||
# (network, broadcast and gateway are optional) | |||
auto eth0 | |||
iface eth0 inet static | |||
address 192.168.0.10 | |||
netmask 255.255.255.0 | |||
network 192.168.0.0 | |||
broadcast 192.168.0.255 | |||
gateway 192.168.0.1 | |||
iface eth1 inet manual | |||
</pre> | |||
'''Hostnamen definieren''' | |||
Datei ''/etc/hosts'' editieren: | |||
<pre> | |||
127.0.0.1 localhost.localdomain localhost | |||
192.168.0.10 xen0.neobiker.de xen0 | |||
# The following lines are desirable for IPv6 capable hosts | |||
::1 ip6-localhost ip6-loopback | |||
fe00::0 ip6-localnet | |||
ff00::0 ip6-mcastprefix | |||
ff02::1 ip6-allnodes | |||
ff02::2 ip6-allrouters | |||
ff02::3 ip6-allhosts | |||
</pre> | |||
'''Namensauflösung''' | |||
Ich benutze in meinem LAN ''neobiker.de'' einen eigenen Nameserver, der keine externe Adressen auflöst (das macht die Firewall). Datei ''/etc/resolv.conf'' anpassen: | |||
<pre> | |||
search neobiker.de | |||
nameserver 127.0.0.1 | |||
</pre> | |||
=== Sonstige Konfigurationen === | |||
'''APT''' | |||
Ich trage '''nur''' die Standard Repositories in die Datei ''/etc/apt/sources.list'' ein: | |||
<pre> | |||
# debian etch online quellen | |||
deb http://ftp.de.debian.org/debian/ etch main | |||
deb-src http://ftp.de.debian.org/debian/ etch main | |||
# debian security online quellen | |||
deb http://security.debian.org/ etch/updates main | |||
deb-src http://security.debian.org/ etch/updates main | |||
</pre> | |||
'''Installation updaten''' | |||
Jetzt kann die gesamte Installation aktualisiert werden: | |||
<pre> | |||
apt-get update | |||
apt-get upgrade | |||
</pre> | |||
'''Uhrzeit automatisch aktualisieren''' | |||
Die Uhrzeit aktualisiere ich über ''ntpd''. | |||
<pre> | |||
apt-get install ntp ntpdate | |||
xen0# vi /etc/ntp.conf | |||
... | |||
server ptbtime1.ptb.de | |||
server ptbtime2.ptb.de | |||
server efw.friedrichnet.de | |||
server ntp0.freenet.de | |||
server gwdu01.gwdg.de | |||
... | |||
</pre> | |||
=== LVM Konfiguration === | |||
Die grosse Partition soll für grössere Flexibilität mit LVM installiert werden. | |||
Konfiguration der LVM-Partition: Es wird ein physisches Volume angelegt, welches mehrere logische Volume-Gruppen aufnehmen kann. Wir legen nur eine Volume-Gruppe an: | |||
<pre> | |||
pvcreate /dev/md2 | |||
vgcreate data /dev/md2 | |||
</pre> | |||
Dort (in der Volumegroup ''vg'') können jetzt die logischen Volumes installiert werden: | |||
<pre> | |||
lvcreate -L 10G -n devel vg | |||
lvcreate -L 1G -n efw vg | |||
lvcreate -L 4G -n srv vg | |||
</pre> | |||
Eine Development Partition (10GB) und 2x Partitionen für virtuelle Maschinen ''efw'' und ''srv''. | |||
Jetzt das Filesystem formatieren: | |||
<pre> | |||
mkfs.ext3 /dev/vg/devel | |||
mkfs.ext3 /dev/vg/efw | |||
mkfs.ext3 /dev/vg/srv | |||
</pre> | |||
Die Konfiguration in ''/etc/fstab'' | |||
<pre> | |||
# /etc/fstab: static file system information. | |||
# | |||
# <file system> <mount point> <type> <options> <dump> <pass> | |||
proc /proc proc defaults 0 0 | |||
/dev/md1 / ext3 defaults,errors=remount-ro 0 1 | |||
/dev/md0 /boot ext3 defaults 0 2 | |||
/dev/hda5 none swap sw 0 0 | |||
/dev/hdb5 /tmp ext3 defaults 0 2 | |||
/dev/hdd /media/cdrom0 iso9660 ro,user,noauto 0 0 | |||
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 | |||
</pre> | |||
Und die Partitionen mounten | |||
<pre> | |||
mkdir -p /vserver/devel /vserver/efw /vserver/srv | |||
mount /vg/devel /vserver/devel | |||
mount /vg/efw /vserver/efw | |||
mount /vg/srv /vserver/srv | |||
</pre> | |||
== XEN Installation == | |||
Ich installiere nur die '''XEN-Binaries''', da ich in dem Hypervisor-Hostsystem keine Development-Umgebung zum Übersetzen von Sourcen installieren möchte (und anderes Zeugs auch nicht). | |||
<pre> | |||
apt-get remove exim4 exim4-base lpr nfs-common portmap pidentd | |||
apt-get remove pcmcia-cs pppoe pppoeconf ppp pppconfig | |||
</pre> | |||
Jetzt installieren wir den XEN Hypervisor und den XEN-Kernel für Intel Pentium4: | |||
<pre> | |||
apt-get install xen-hypervisor-3.0.3-1-i386 xen-linux-system-2.6.18-3-xen-686 linux-image-2.6.18-3-xen-686 linux-modules-2.6.18-3-xen-686 libc6-xen | |||
apt-get install ssh python-twisted bridge-utils xen-utils-3.0.3-1 | |||
</pre> | |||
'''XEN Boot-Einträge für GRUB''' | |||
Zum booten muss ''grub'' noch entsprechende Einträge in der Datei ''/boot/grub/menu.list'' erhalten: | Zum booten muss ''grub'' noch entsprechende Einträge in der Datei ''/boot/grub/menu.list'' erhalten: | ||
<pre> | <pre> |
Version vom 18. Februar 2007, 22:54 Uhr
Hier beschreibe ich (neobiker) meine XEN Installation mit Debian Etch - vielleicht kann ja jemand was damit anfangen...(zum spicken).
Ausgangssituation:
- Intel P4 1.7 GHz, 750MB RAM, 2x 160 GB + 1x 250 GB Disks, 2x 100 MBit Ethernet
- AVM Fritzcard PCI
Zielsystem:
- Disks mit RAID1 gespiegelt, Partitionierung mit LVM
- XEN 3.0.3 Host-System nur mit DNS/DHCP ohne jegliche weitere Funktionen!
- Development System (zum Kompilieren usw.)
- mehrere weitere virtuelle Systeme (Firewall, DMZ, usw.)
Debian Installation
Ich installiere ein neues Debian System mittels der Netinst Methode.
Debian Etch laden und installieren, Kernel 2.6 Installation:
boot: linux26
Installations-Dialog bis zur Partitionierung der Disks:
Language: English Country: Germany Keyboard Layout: German Hostname: xen0 Domain name: neobiker.de
Die Partitionierung mit RAID1 und LVM ist nicht trivial. Wichtig ist die Reihenfolge:
1. Partitionierung der Disks 2. RAID Konfigurieren 3. LVM-Filesystem definieren 4. EXT3 Filesystem installieren 5. Mount Points eintragen
Ich partitioniere beide Disks mittels Manual partition disks wie folgt:
1. Disk sda Partitionieren 1.0 GB RAID <-- bootable YES 4.0 GB RAID 30 GB RAID 2.0 GB swap 2. Disk sdb Partitionieren 1.0 GB RAID <-- bootable YES 4.0 GB RAID 30 GB RAID 2.0 GB swap
Jetzt muss das RAID konfiguriert werden Configure software RAID:
create md device - RAID1 - 2 active - 0 spare
RAID Konfiguration: 2/0 (Disk/Spare) md0: sda1 + sdb1 md1: sda2 + sdb2 md2: sda3 + sdb3
Jetzt können die RAID Devices #0 (ext3), #1 (ext3) und #2 (lvm) formatiert werden:
RAID 1 device #0 #1 1GB ext3 /boot RAID 1 device #1 #1 4GB ext3 / RAID 1 device #2 #1 30GB LVM
Man kann das natürlich auch alles in eine grosse Partition plus swap nehmen. Die separate /boot PArtition erweist sich als nützlich, wenn man verschiedene Systeme von unterschiedlichen Disks/Partitionen starten möchte (/ liegt woanders als grub).
Die LVM Konfiguration von /dev/md2 als /data machen wir später von Hand.
Weiter mit dem Installations-Dialog:
Grub in MBR: YES Finish Installation: Continue
Reboot des Rechners ...
Die Debian Konfiguration startet wieder automatisch, hier
Hardware Clock GMT: No Timezone Europe/Berlin: YES ... APT Configuration: FTP Mirror Country: Germany Debian Mirror: ftp.de.debian.org Proxy: ... Mail configuration: No Config at this time
Damit GRUB im Fehlerfalle auch von der 2. Platte booten kann, muss GRUB auch in den MBR der 2.ten Disk installiert werden:
xen0# grub grub> device (hd0) /dev/sdb grub> root (hd0,0) grub> setup (hd0)
Netzwerk
Statische IP Konfiguration für Server (bei Servern immer). Zusätzliche XEN-Bridges füge ich später im XEN Scripts hinzu.
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface auto lo iface lo inet loopback # The first network card - this entry was created during the Debian installation # (network, broadcast and gateway are optional) auto eth0 iface eth0 inet static address 192.168.0.10 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 iface eth1 inet manual
Hostnamen definieren
Datei /etc/hosts editieren:
127.0.0.1 localhost.localdomain localhost 192.168.0.10 xen0.neobiker.de xen0 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Namensauflösung
Ich benutze in meinem LAN neobiker.de einen eigenen Nameserver, der keine externe Adressen auflöst (das macht die Firewall). Datei /etc/resolv.conf anpassen:
search neobiker.de nameserver 127.0.0.1
Sonstige Konfigurationen
APT
Ich trage nur die Standard Repositories in die Datei /etc/apt/sources.list ein:
# debian etch online quellen deb http://ftp.de.debian.org/debian/ etch main deb-src http://ftp.de.debian.org/debian/ etch main # debian security online quellen deb http://security.debian.org/ etch/updates main deb-src http://security.debian.org/ etch/updates main
Installation updaten
Jetzt kann die gesamte Installation aktualisiert werden:
apt-get update apt-get upgrade
Uhrzeit automatisch aktualisieren
Die Uhrzeit aktualisiere ich über ntpd.
apt-get install ntp ntpdate xen0# vi /etc/ntp.conf ... server ptbtime1.ptb.de server ptbtime2.ptb.de server efw.friedrichnet.de server ntp0.freenet.de server gwdu01.gwdg.de ...
LVM Konfiguration
Die grosse Partition soll für grössere Flexibilität mit LVM installiert werden.
Konfiguration der LVM-Partition: Es wird ein physisches Volume angelegt, welches mehrere logische Volume-Gruppen aufnehmen kann. Wir legen nur eine Volume-Gruppe an:
pvcreate /dev/md2 vgcreate data /dev/md2
Dort (in der Volumegroup vg) können jetzt die logischen Volumes installiert werden:
lvcreate -L 10G -n devel vg lvcreate -L 1G -n efw vg lvcreate -L 4G -n srv vg
Eine Development Partition (10GB) und 2x Partitionen für virtuelle Maschinen efw und srv.
Jetzt das Filesystem formatieren:
mkfs.ext3 /dev/vg/devel mkfs.ext3 /dev/vg/efw mkfs.ext3 /dev/vg/srv
Die Konfiguration in /etc/fstab
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/md1 / ext3 defaults,errors=remount-ro 0 1 /dev/md0 /boot ext3 defaults 0 2 /dev/hda5 none swap sw 0 0 /dev/hdb5 /tmp ext3 defaults 0 2 /dev/hdd /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Und die Partitionen mounten
mkdir -p /vserver/devel /vserver/efw /vserver/srv mount /vg/devel /vserver/devel mount /vg/efw /vserver/efw mount /vg/srv /vserver/srv
XEN Installation
Ich installiere nur die XEN-Binaries, da ich in dem Hypervisor-Hostsystem keine Development-Umgebung zum Übersetzen von Sourcen installieren möchte (und anderes Zeugs auch nicht).
apt-get remove exim4 exim4-base lpr nfs-common portmap pidentd apt-get remove pcmcia-cs pppoe pppoeconf ppp pppconfig
Jetzt installieren wir den XEN Hypervisor und den XEN-Kernel für Intel Pentium4:
apt-get install xen-hypervisor-3.0.3-1-i386 xen-linux-system-2.6.18-3-xen-686 linux-image-2.6.18-3-xen-686 linux-modules-2.6.18-3-xen-686 libc6-xen apt-get install ssh python-twisted bridge-utils xen-utils-3.0.3-1
XEN Boot-Einträge für GRUB
Zum booten muss grub noch entsprechende Einträge in der Datei /boot/grub/menu.list erhalten:
title Xen 3.0.3-1-i386 / Debian GNU/Linux, kernel 2.6.18-3-xen-686 root (hd0,0) kernel /xen-3.0.3-1-i386.gz dom0_mem=54M module /vmlinuz-2.6.18-3-xen-686 root=/dev/md1 ro console=tty0 module /initrd.img-2.6.18-3-xen-686 savedefault
Jetzt kann ein reboot folgen und hoffentlich den XEN Hypervisor starten ...
reboot
XEN Konfiguration
Ich liste mal eine XEN Installation in eine eigene Partition und in eine Image Datei auf (wie beim c't Server die UML).
Konfig-Datei /etc/xen/devel für eine XEN-Installation in einer eigenen (LVM-) Partition /dev/vg/devel:
name="devel" kernel="/boot/vmlinuz-2.6.16-xen" root="/dev/hda1" memory=256 disk=['phy:vg/devel,hda1,w', 'file:/dev/hdc5,hda2,w' ] # network vif=[ 'mac=aa:00:00:00:00:01, bridge=xenbr0' ] dhcp="none" extra="3"