disklabel ohne fdisk... Gute Idee? Schlechte Idee?

dettus

Bicycle User
Hallo Leute!


Ich habe mir die Tage mal was gegoennt...
Auf der Kiste habe ich mir ein RAID-5 eingerichtet, mit 9 TB Platz.
Nachdem ich fdisk auf das softraid0 angewendet hatte konnte ich nur ein paar Gigabytes davon mit disklabel partitionieren.

Natuerlich waere es auch gegangen, die c-partition zu formatieren, aber das erschien mir dann doch zu wackelig.
Also habe ich den MBR geloescht, und nur disklabel verwendet. Dann hatte er die ganze breite des Raid nehmen koennen.

Meine Frage ist jetzt: War das eine gute Idee? oder eine schlechte? Braucht es den Schritt mit dem fdisk eigentlich noch, wenn man gar nicht von der Platte booten moechte?

Code:
; disklabel /dev/sd7c
# /dev/sd7c:
type: SCSI
disk: SCSI disk
label: SR RAID 5
duid: 9983b291613336c9
flags:
bytes/sector: 512
sectors/track: 255
tracks/cylinder: 511
sectors/cylinder: 130305
cylinders: 149879
total sectors: 19529996800
boundstart: 0
boundend: 19529996800
drivedata: 0

16 partitions:
#                size           offset  fstype [fsize bsize   cpg]
  c:      19529996800                0  unused                   
  p:      19529995776             1024  4.2BSD   8192 65536 52270
 
Nach meinem Verständnis ist es so, wie du fragst: Es braucht fdisk nicht, wenn du nicht davon booten möchtest:
https://www.openbsd.org/faq/faq14.html#fdisk schrieb:
The fdisk(8) utility is used on some platforms (i386, amd64 and macppc) to create a partition recognized by the system boot ROM.

HTH und ist richtig :)

*edit: das "nicht" hat gefehlt :)
 
Hast du evtl. kein GPT an irgend einer stelle verwendet? Ist die Sektorgröße die er erkennt korrekt? (Kann man glaub ich auch am Raid-Kontroller einstellen)
 
Hmm... Zur Sicherheit habe ich doch nochmal ein fdisk -g gemacht. (Oben war es nur ein fdisk -i)
Das RAID ist ein softraid. Der Vollstaendigkeit halber nochmal hier das Script, mit dem ich es gebau/konfiguriert habe:


Bash:
; cat mkraid.sh
#!/bin/sh


PARTITION_SIZE=3906000000
DRIVES="/dev/rsd1c /dev/rsd2c /dev/rsd3c /dev/rsd4c /dev/rsd5c /dev/rsd6c"
PARTITIONS="/dev/sd1a,/dev/sd2a,/dev/sd3a,/dev/sd4a,/dev/sd5a,/dev/sd6a"
for I in $DRIVES
do
    dd if=/dev/zero of=$I bs=1M count=16
    fdisk -iy $I
    ( echo "a a\n\n"$PARTITION_SIZE"\nRAID\nq\ny\n" ) | disklabel -E $I
done
bioctl -c 5 -l $PARTITIONS softraid0

dd if=/dev/zero of=/dev/rsd7c bs=1M count=16
fdisk -gy /dev/rsd7c
( echo "a p\n1024\n\n\nq\n\y\n" ) | disklabel -E /dev/rsd7c
newfs /dev/rsd7p
 
Haha. Ach so.. Phew
Ich hab etwas gespart und mir jetzt mal was gegoennt.
Der muss wieder ein paar Jahre halten! (Du hattest mich leeeeeicht beunruhigt... )

Hast du dir den Rest vom dmesg auch angeguckt?
 
Hast du dir den Rest vom dmesg auch angeguckt?
ja, nach "cpu20" musste allerdings das Mausrad etwas abkühlen... :D

zu deiner ursprünglichen Frage (bin leider im OpenBSD/disklabel nicht in der Materie drin):
in der faq nutzen die anstatt rsdXc (deine $DRIVES Liste im Skript oben) das sdX Device der jeweiligen Platte - liegts ggf daran?
 
  • fdisk braucht man fuer's booten auf x86, weil SMBIOS od. EFI mit disklabel slices nichts anfangen koennen
  • ist OpenBSD das einzige system, das auf die nicht-boot Platten zugreift, kann man sich das getrost schenken
  • disklabel auf sd/wd/.. (nicht 'r'; ausser bei dd(1) ist normalerweise per opendev(3) dem "tool" klar, was gebraucht wird)
  • disklabel kann seit 7 Jahren "templates", wie mir auffaellt aber leider keine "types"
 
Zurück
Oben