Inhaltsverzeichnis
FreeBSD - formatieren mit UFS
Hier zeige ich wie man einen Datenträger für das formatieren mit UFS vorbereitet und dann formatiert,
allerdings bevorzuge ich seit FreeBSD 8.0 das Dateisystem ZFS.
Disketten mit UFS formatieren
# fdformat -f 1440 fd0 # disklabel -w fd0 floppy3 # newfs -i 65536 /dev/fd0
Festplatte partitionieren/formatieren
Die Blockgerätebezeichnungen, für z.B. Festplatten, unterscheiden sich in FreeBSD erst einmal nach IDE-Geräten zu denen auch SATA-Geräte zählen und SCSI-Geräten zu denen auch USB–Geräte zählen.
- SCSI/USB z.B.: /dev/da4
- IDE/S-ATA z.B.: /dev/ad4
Als nächstes gibt es die Möglichkeit, dass man die komplette Platte nutzt. Hierbei wird nicht auf Zylindergrenzen geachtet, sondern wirklich der gesamte Platz von Anfang bis Ende genutzt:
# fdisk -I /dev/da4
Oder man möchte die Platte unterteilen, dann muss man Slise's einrichten. Hierbei wird nur der Bereich zwischen ganzen Zylindern genutzt, dabei bleibt im Regelfall immer etwas ungenutzter Platz am Ende der Platte übrig:
# fdisk -i /dev/da4
- die Bezeichnung für die Partition "a" sieht bei Nutzung der ganzen Platte z.B. so aus: /dev/da4a
- die Bezeichnung für die Partition "a" sieht bei Nutzung einer Slise (s1) z.B. so aus: /dev/da4s1a
Im folgenden zeige ich Schritt für Schritt, welche Arbeitsschritte beim einrichten, z.B. einer Backup-Platte, abzuarbeiten sind. Ich gehe hier mal von einer USB-Platte aus und verwende deshalb die Bezeichnung für eine SCSI-Platte. Weiterhin verzichte ich auf das einrichten von Slise's, da ich eine einzige große Partition brauche. Aber im Grunde macht es kaum einen Unterschied, nur das kleine "i" an Stelle des großen "I" und die paar MB Verlust am Ende der Platte.
Platte sauber machen
Beispiel-Platte: "/dev/da4":
# /bin/dd if=/dev/zero of=/dev/da4 bs=1k count=1
Initialisieren
ohne Boot-Code und ohne Slise's (Sektor "0" wird initialisiert):
# fdisk -I /dev/da4 ******* Working on device /dev/da4 *******
diese Schritte sind optional und für unsere Backup-Platte unwichtig
will man die Platte bootfähig machen, dann müsste auch der Boot-Code mit rauf:
# /sbin/fdisk -BI /dev/da4
allerdings kann man den Boot-Code auch separat auf die Platte schreiben:
# /sbin/fdisk -B /dev/da4
Sollen auf der Platte nur die aktive Partition verändert werden, dann wird das mit dem folgenden Aufruf bewirkt:
# fdisk -a da4
BSD-Label schreiben
Schreibschutz aufheben (in neueren Versionen ist "-W" nicht mehr drin und damit dieser Schritt überflüssig):
# disklabel -W da4
Standard-Label schreiben:
# disklabel -w da4 auto
es geht auch:
# disklabel -w da4
Anlegen der neuen Disklabel bei SCSI-Platten:
# disklabel -e /dev/da4
Wenn jetzt die Meldung "disklabel: Operation not supported by device" erscheint, dann ist es in diesem Fall nicht möglich, die ganze Festplatte ohne Slise's zu verwenden.
Es ist dann automatisch eine Slise angelegt worden, geben Sie zum editieren des Disk-Label's die Slise mit an (z.B.: /dev/ad4s1).
will man die Platte bootfähig machen, was wir nicht wollen, dann müsste auch der Bootloader mit drauf:
# disklabel -B da4
Jetzt müssen wir einfach eine eigene Partition anlegen, in unserem Fall legen wir (wie allgemein üblich) die Partition "e" an.
Dazu müssen wir das Label editieren (Schalter "-e"):
# disklabel -e /dev/da4
vorher:
# size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
nachher:
# size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)
Es ist aber auch möglich, dass die Partition "a" automatisch beim Standard-Label schreiben angelegt wurde:
# size offset fstype [fsize bsize bps/cpg] a: 60074721 63 unused 0 0 0 c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
In dem Fall können wir auch gleich diese verwenden und brauchen keine eigene anlegen. Im folgenden gehe ich mal davon aus, dass die Partition "a" automatisch angelegt wurde, allerdings müssen wir auch dann noch den "fstype" für die Partition "a" auf "4.2BSD" ändern. Sonst können wir die Partition nicht mit dem Dateisystem UFS nutzen:
# size offset fstype [fsize bsize bps/cpg] a: 60074721 63 4.2BSD 0 0 0 c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
Wollen wir dagegen ZFS drauf machen, dann können wir den "fstype" für die Partition "a" auch so lassen.
den Schreibschutz wieder auf das LABEL setzen (in neueren Versionen ist "-N" nicht mehr drin und damit dieser Schritt überflüssig):
# disklabel -N da4
Zum schluss muss die Partition noch mit einem Dateisystem versehen werden
UFS-Dateisystem anlegen
ohne Slise:
/sbin/newfs /dev/da4a
mit Slise:
/sbin/newfs /dev/da4s1a
SoftUpdate aktivieren
Das SoftUpdate bewirkt, dass die Arbeit mit der Platte etwas flotter geht und das bei einem Absturz die Platte eigentlich immer einen konsistenten Zustand haben sollte. So das "fsck" weniger Fehler beheben muss und schneller fertig ist.
# tunefs -n enable /dev/da4a
der Partition einen Namen geben (Disk-Label)
# tunefs -L BACKUP /dev/da4a
man kann all diese Optionen auch gleich beim formatieren kombiniert angeben
# newfs -O 2 -U -L BACKUP /dev/da4a
POSIX.1e ACL aktivieren/deaktivieren
Die ACL's lassen sich beim formatieren leider nicht beeinflussen, deshalb muss das nach dem formatieren mit "tunefs" gemacht werden.
einschalten:
# tunefs -a enable /dev/da4a
abschalten:
# tunefs -a disable /dev/da4a
/etc/fstab
Als erstes muss man den "Mount-Punkt" festlegen, dazu wird gewöhnlich ein Verzeichnis angelegt. Da unser Bestreben darin liegt, Speicherplatz für ein regelmäßiges Backup ins System einzubinden, geben wir dem Verzeichnis einen "sprechenden" Namen:
# mkdir /BACKUP
Jetzt können wir den Eintrag in der "/etc/fstab" vornehem.
Wollen wir, dass die Platte beim booten automatisch eingebunden wird, dann reicht in der 4. Spalte ein "rw":
# vi /etc/fstab: /dev/da4a /BACKUP ufs rw 0 0
Allerdings ist das bei einer USB-Platte recht ungewöhnlich und meistens auch nicht erwünscht!
Deshalb ergänzen wir die 4. Spalte um den Parameter "noauto":
# vi /etc/fstab: /dev/da4a /BACKUP ufs rw,noauto 0 0
Jetzt lässt sich die Platte ganz bequem mit diesem kurzen Kommando einhängen:
# mount /BACKUP
Die wichtigsten Schritte noch einmal im Überblick
Eine komplette Platte auf die schnelle mit UFS versehen:
# dd if=/dev/zero of=/dev/da4 bs=1k count=1
# fdisk -i /dev/da4
# disklabel -w /dev/da4s1
# disklabel -r /dev/da4s1
# /dev/da4s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 732558334 2 unused 0 0
c: 732558336 0 unused 0 0 # "raw" part, don't edit
# disklabel -e /dev/da4s1
# disklabel -r /dev/da4s1
# /dev/da4s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 732558334 2 4.2BSD 0 0
c: 732558336 0 unused 0 0 # "raw" part, don't edit
# newfs -O 2 -U -L BACKUP /dev/da4s1a
# mount /dev/da4s1a /mnt
Partition und Dateisystem vergrößern
siehe auch: FreeBSD-14.0-STABLE-Image (UFS-RAW) vergrößern
Partition vergrößern
# bsdlabel /dev/vinum/testvol > savedlabel # vi savedlabel # bsdlabel -R -n /dev/vinum/testvol savedlabel # bsdlabel -R /dev/vinum/testvol savedlabel
Dateisystem vergrößern
vergrößert das Dateisystem auf /dev/vinum/testvol bis zu 2GB wenn dort genug freier Speicherplatz ist.
# growfs -s 4194304 /dev/vinum/testvol
