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.
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.
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.