Konfiguration von CCD

Konfiguration von CCD

Was ist CCD und warum sollte ich es verwenden wollen?

CCD steht für Concatenated Disk und ist eine Möglichkeit in OpenBSD mehrere Festplattenpartitonen wie eine einzige wirken zu lassen. CCD ist somit vergleichbar mit LVM, bietet jedoch weniger Flexibilität als LVM (keine Onlinevergrößerung von Partitionen, etc.). CCD beinhaltet auch Funktionalität für Raid 0 und Raid 1. Es läßt sich zum flexibleren aufteilen des Plattenplatzes bei mehreren Festplatten verwenden. Ebenso kann ccd auch zur Leistungssteigerung der Festplatten verwendet werden (ähnlich wie Raid 0). Ebenso ist es auch eine einfache Möglichkeit um ein Software-Raid 1 oder Raid 0 einzurichten.

Vorbereitung

Da das Installationsprogramm von OpenBSD keine Unterstützung zur Installation auf einem CCD bietet, muß man leider erst eine normale Installation vornehmen und sobald diese fertig ist, ein Backup vornehmen, dann die Festplatte neu Partitionieren und dann das Backup wieder einspielen.

Daher muß erst die Installation normal vorgenommen werden, wobei man z. B. nur eine einzelne Festplatte benutzt. Danach kann man das ganze System per dump auf eine externe Festplatte oder einen ausreichend großen USB-Stick sichern. Eine OpenBSD Basisinstallation inklusive X benötigt zur Zeit etwa 600 MB, so daß man statt einer externen Festplatte auch einen mindestens 1 GB großen USB-Stick verwenden kann. Vom /-Dateisystem wird kein Backup benötigt. / kann ohnehin nicht auf einem CCD-Gerät installiert sein. Wenn der externe Datenträger z. B. auf /mnt/usb gemountet wurde könnte die Backupsitzung etwa so aussehen:

dump -0a -f /mnt/usb/home.dump /home
dump -0a -f /mnt/usb/var.dump /var
dump -0a -f /mnt/usb/usr.dump /usr

Nach dem unmounten des Datenträgers kann ein Neustart gemacht werden. Der Neustart sollte in den Single-User Modus erfolgen. Hierzu muß am Boot-Prompt boot bsd -s eingegeben werden. Vorsicht, der Boot-Prompt kennt nur das amerikanische Tastaturlayout, das Minuszeichen ist auf der amerikanischen Tastatur dort, wo auf deutschen Tastaturen das "ß" ist.

Nach dem booten in den Single-User-Modus ist nur das /-Dateisystem lediglich schreibgeschützt gemountet. Um / schreibbar zu mounten dient folgender Befehl:

mount -u -o rw /

Nun kann die eigentliche Konfiguration des CCD beginnen.

Konfiguration des CCD

Das CCD muß auf bestehende disklabel-Partitionen aufsetzen. Daher ruft man disklabel auf um zunächst alle bestehenden Partitionen außer / und swap zu löschen und dann mit dem freien Platz eine einzelne große Partition zu erstellen. Ebenso erstellt man auch auf der 2. Festplatte eine einzelne große Partition. Die Partitionen können vom Typ als ccd anstatt 4.2BSD markiert werden:

disklabel -E wd0
disklabel -E wd1

Danach müssen die beiden Partitionen zu einem virtuellen CCD-Gerät zusammengeschlossen werden. Dazu dient der Befehl ccdconfig. Möchte man z. B. eine Konfiguration die die beiden Partitionen /dev/wd0d und /dev/wd1d zu einer einzelnen Platte (namens ccd0) zusammenfügt und Striping für Leistungssteigerung benutzt kann folgender Befehl verwendet werden:

ccdconfig ccd0 16 none /dev/wd0d /dev/wd1d

Die Zahl 16 steht dabei für die Stripe-Größe die je nach Festplatten optimiert werden kann. Die Optionen können in der manpage von ccdconfig nachgesehen werden. Um diese Konfiguration dauerhaft zu speichern kann man den folgenden Befehl verwenden:

ccdconfig -g ccd0 > /etc/ccd.conf

Dies schreibt die Konfiguration in die datei /etc/ccd.conf welche beim Systemstart genutzt wird um CCD-Geräte vor dem mounten zusätzlicher Partitionen zu konfigurieren.

Danach kann auf dem CCD-Gerät Partitionen erstellt werden. Dies kann ganz normal mit disklabel geschehen:

disklabel -E ccd0

Dabei sollte die Startpartition einen offset von 64 haben.

Nach dem partionieren kann man die neuen Partitionen ganz normal mit newfs formatieren:

newfs /dev/rccd0d
newfs /dev/rccd0e
newfs /dev/rccd0f
...

Danach kann man mit dem Restore des Backups beginnen und die neuen CCD-Partitionen mit den Daten des Basissystems füllen:

mount /dev/ccd0d /tmp
mount /dev/ccd0e /var
cd /var
restore -r -f /mnt/usb/var.dump
mount /dev/ccd0f /home
cd /home
restore -r -f /mnt/usb/home.dump
...

Als letztes müssen nur noch die Mountpoints in der fstab an die neuen Partionen angepaßt werden:

vi /etc/fstab

Neustart und Fertig.


Creative Commons Attribution 2.0 Germany License
Copyright (c) René Maroufi, 2007