Größe: 5986
Kommentar:
|
Größe: 7358
Kommentar:
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 119: | Zeile 119: |
=== Vergrößerung einer VServer-Partition === Mittels {{{ lvextend -L15G /dev/VSERVER/garfield.prima.de }}} wird zuerst das logical volume vergrößert. Leider leitet Xen diese Änderung aber nicht in die DomU weiter, deshalb muss das Vergrößern des Filesystems ebenfalls in der Dom0 geschehen. ==== in der DomU ==== ===== Schritt 1: VServer stoppen ===== {{{ vserver garfield.prima.de stop }}} ===== Schritt 2: Partition unmounten ===== {{{ umount /dev/.static/dev/hda1 }}} ==== in der Dom0 ==== ===== Schritt 3: Xen device nummer ermitteln ===== {{{ grep griff /var/log/xen/xend.log | grep garfield | grep DevController }}} Die Ausgabe endet etwa mit {{{ /local/domain/0/backend/vbd/1/771 }}} Die '''771''' ist die gesuchte Nummer. ===== Schritt 5: Xen Domain-ID ermitteln ===== {{{ xm list griff.prima.de }}} Die Nummer in der Spalte '''ID''' ist die gesuchte Nummer (hier 1). ===== Schritt 6: Device von der DomU entfernen ===== {{{ xm block-detach 1 771 }}} Hier die beiden in Schritt 4 und Schritt5 ermittelten Zahlen einsetzen. ===== Schritt 7: Filesystem vergrößern ===== {{{ ext2resize /dev/VSERVER/garfield.prima.de }}} ===== zuletzt ===== Wie oben bereits beschrieben mitteln '''xm block-attach''' das Device wieder mit der DomU verbinden , im innern mounten und den VServer wieder starten. |
Erstellung einer Linux-VServer Instanz
Diese Anleitung enthält die Konfiguration für ein echtes System, mit allergrößter Wahrscheinlichkeit müssen einige bis alle Daten angepasst werden.
Es ist empfehlenswert, vor der Benutzung dieser Anleitung diese einmal vollständig zu lesen.
vorbereitende Schritte
Das Dateisystem der VServer wird standardmäßig unterhalb von /var/lib/vservers/ erzeugt, soll die neue VServer-Instanz eine eigene Partion, logical volume, etc. bekommen, ist diese dort zu mounten, der mountpoint muss dem Hostname (ohne Domain) der neuen Instanz entsprechen.
mkdir /var/lib/vservers/garfield mount /dev/... /var/lib/vservers/garfield
Da bei der Erzeugung die Instanz gestartet wird ist darauf zu achten, daß deren IP nicht in Benutzung ist, z.B. in einem alten VServer, der migriert werden soll.
Wird kein Routing-Protokoll wie OSPF (Paket quagga) benutzt muss dafür gesorgt werden, daß entsprechende Routen auf dem VServer-Host und den Gateways existieren.
Erzeugen der Instanz
Im nächsten Schritt wird jetzt die VServer-Instanz erzeugt:
newvserver --vsroot /var/lib/vservers/ --hostname garfield --domain prima.de --ip 83.97.51.42/32 --dist etch --mirror http://lou.ping.de/debian/ --interface eth0
Anmerkungen zu den Optionen:
Die Netzmaske der Instanz ist normalerweise /32, es sei denn, es soll ein IP-Bereich in die Instanz geroutet werden.
Die Erzeugung verläuft interaktiv.
Jetzt wird die Instanz gestartet:
vserver garfield start vserver garfield enter
Das erste Kommando startet die Instanz, mit dem zweiten wechselt man in den Kontext der Instanz um weitere Konfigurationen vorzunehmen.
Konfiguration der neuen VServer-Instanz
Abschließend sind sinnvollerweise noch ein paar Pakete zu installieren und zu konfigurieren:
apt-get install openssh-server
Außerdem müssen noch einige Limits angepasst werden, da der VServer-Host bereits einige Limits setzt und es innerhalb eines VServers nicht zulässig ist, limits zu erhöhen. Dazu sind in der Datei
/etc/security/limits.conf
die Zeilen
* soft sigpending 8256 * hard sigpending 8256 * soft msgqueue 819200 * hard msgqueue 819200
hinzuzufügen.
Alternativ kann die Verwendung von pam_limits deaktiviert werden, dazu sind die drei Dateien
/etc/pam.d/cron /etc/pam.d/login /etc/pam.d/ssh
zu modifizieren. Dabei ist die Zeile
session required pam_limits.so
auszukommentieren bzw. zu entfernen. Da in der Standardinstallation die Konfigurationsdatei für Limits /etc/security/limits.conf nur deaktivierte Beispiele enthält entsteht durch o.g. Modifikation kein Nachteil.
automatischer Start
Um die Instanz beim Systemstart automatisch starten zu lassen sind folgende Schritte notwendig:
echo 'default' > /etc/vservers/garfield/apps/init/mark chown 0:0 /etc/vservers/garfield/apps/init/mark chmod 0644 /etc/vservers/garfield/apps/init/mark
Kombination von Xen und VServer
Es ist möglich und sinnvoll, einen VServer-Host innerhalb einer Xen-DomU (siehe ["Software/Xen-DomU"]) zu installieren, dabei ist es möglich, die Partitionen für die Instanzen als virtuelle Partitionen zu erzeugen und die realen Partitionen oder logical volumes in der Xen-Dom0 zu verwalten.
Dazu müssen folgende zusätzliche Schritte ausgeführt werden:
in der Dom0
Um eine virtuelle Partition an die DomU weiter zu reichen kann wie folgt vorgegangen werden:
lvcreate -L 5G -n garfield.prima.de VSERVER vi /etc/xen/griff.prima.de.cfg disk = [ ..., 'phy:VSERVER/garfield.prima.de,hda1,w' ] xm block-attach griff.prima.de phy:VSERVER/garfield.prima.de /dev/hda1 w
Mit diesen Kommandos wird ein neues logical volume erzeugt und der DomU (griff.prima.de) als hda1 bekannt gemacht. Es ist empfehlenswert, für die VServer-Instanzen virtuelle IDE-Geräte zu verwenden, da diese bis zu 63 Partitionen unterstützen, im Gegensatz zu nur 15 Partitionen bei SCSI-Geräten. Der Aufruf von xm block-attach macht das Gerät in der DomU bekannt, ohne diese neu starten zu müssen, der Eintrag in der Konfigurationsdatei sorgt dafür, daß das Gerät auch nach einem Neustart bekannt gemacht wird.
in der DomU
Innerhalb einer DomU ist es notwendig, das Paket libc6-xen zu installieren, dieses wird aber von den VServer-Skripten nicht installiert. Damit das Paket automatisch installiert wird, muss eine Zeile in /etc/vservers/newvserver-vars eingefügt werden:
INSTALL_PACKAGES="$INSTALL_PACKAGES libc6-xen"
Da in einer Xen-DomU normalerweise kein udevd vorhanden und dessen Existenz auch wenig sinnvoll ist wird für das oben via xm block-attach bekannt gemacht Gerät kein Eintrag unterhalb von /dev erzeugt. Es kann aber der passende Eintrag unterhalb von /dev/.static/dev/ verwendet werden, um die virtuelle Partition zu formatieren und zu mounten:
mkfs.ext3 /dev/.static/dev/hda1 mount /dev/.static/dev/hda1 /var/lib/vservers/garfield
Bei einem Neustart der DomU wird für das Gerät ein Eintrag unterhalb von /dev erzeugt, sodaß dieser für den Eintrag in /etc/fstab benutzt werden kann und sollte:
/dev/hda1 /var/lib/vservers/garfield ext3 defaults 0 0
Vergrößerung einer VServer-Partition
Mittels
lvextend -L15G /dev/VSERVER/garfield.prima.de
wird zuerst das logical volume vergrößert. Leider leitet Xen diese Änderung aber nicht in die DomU weiter, deshalb muss das Vergrößern des Filesystems ebenfalls in der Dom0 geschehen.
in der DomU
Schritt 1: VServer stoppen
vserver garfield.prima.de stop
Schritt 2: Partition unmounten
umount /dev/.static/dev/hda1
in der Dom0
Schritt 3: Xen device nummer ermitteln
grep griff /var/log/xen/xend.log | grep garfield | grep DevController
Die Ausgabe endet etwa mit
/local/domain/0/backend/vbd/1/771
Die 771 ist die gesuchte Nummer.
Schritt 5: Xen Domain-ID ermitteln
xm list griff.prima.de
Die Nummer in der Spalte ID ist die gesuchte Nummer (hier 1).
Schritt 6: Device von der DomU entfernen
xm block-detach 1 771
Hier die beiden in Schritt 4 und Schritt5 ermittelten Zahlen einsetzen.
Schritt 7: Filesystem vergrößern
ext2resize /dev/VSERVER/garfield.prima.de
zuletzt
Wie oben bereits beschrieben mitteln xm block-attach das Device wieder mit der DomU verbinden , im innern mounten und den VServer wieder starten.
Weitere Aktionen mit VServern
Ändern der IP eines VServers
Ein VServer bekommt seine IP beim Start zugewiesen, es wird keine Konfiguration im Innern der Instanz benötigt. Die IP eines VServsers findet sich in der Datei
/etc/vservers/garfield/interfaces/0/ip
Wenn es sich bei der Instanz um ein Debian handelt, dann muss noch die Datei
/var/lib/vservers/garfield/etc/hosts
bzw.
/etc/hosts
in der Instanz selbst angepasst werden.