gmirror will nach Plattenwechsel nicht mehr so richtig.

AnZy

New Member
Ich hatte eine Zeit lang zwei 80er Platten im Mirror Verbund benutzt, bis mir der Platz ausging, und ich zwei (identische) 250er verbaut habe. Ich habe erst einmal eine der 80er gegen eine 250er ausgetauscht, und als alles gemirrort war, die zweite 80er gegen die zweite 250er. Danach das Mirror aufgeloest, mittels fdisk den ersten Slice vergroessert, das letzte Filesystem mittels growfs vergroessert, und das Raid neu aufgezogen.

Irgendwann dachte ich mir dann, es sei eine gute Idee /usr/ports/distfiles nach /var zu verschieben, und dabei hat es dann geknallt.

Das sagt fdisk zur ersten Platte:
Code:
# fdisk /dev/ad4
******* Working on device /dev/ad4 *******
parameters extracted from in-core disklabel are:
cylinders=484521 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=484521 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 488397042 (238475 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 168/ head 14/ sector 63

Das hier sagt fdisk zum Mirror:

Code:
# fdisk mirror/gm4
******* Working on device /dev/mirror/gm4 *******
parameters extracted from in-core disklabel are:
cylinders=30401 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=30401 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 488397042 (238475 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 168/ head 14/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

Und das sagt mir disklabel (die Ausgabe fuer ad4s1 und mirror/gm4s1 ist uebrigens identisch):

Code:
# /dev/mirror/gm4s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:  1048576        0    4.2BSD        0     0     0
  b:  8388608  1048576      swap
  c: 488397042        0    unused        0     0
  d: 33554432  9437184    4.2BSD     2048 16384 28552
  e: 445405426 42991616    4.2BSD     2048 16384 28552

Dem geneigten Leser wird aufgefallen sein, das gm4 kleiner als ad4, und im Mirror der Slice groesser als die Festplatte selbst ist.

ad4: 488397168 Sektoren
gm4: 488392065 Sektoren

Starte ich das Mirror wieder und schreibe Daten auf die letzte Partition, dann wird das irgendwann dazu fuehren (was aber schon bei <30% Fuellstand passieren kann), dass der Rechner einfriert und nach etwa 30 Sekunden spontan rebootet - ohne irgendetwas in den Logfiles zu vermerken.

Loese ich das Mirror auf, und arbeite mit ad4, kann ich die letzte Partition problemlos bis 100% mit Daten fuellen - ohne einen Crash (habs ausprobiert).

Hat jemand auch nur den Hauch einer Ahnung, was hier passiert ist?

Ich ich gmirror eine andere Plattengeometrie vorgaukeln? Irgendwie habe ich den Verdacht, dass es damit zusammenhaengt.
 
Habe nur 3 Anmerkungen:
1. Ich habe die Erfahrung gemacht, dass mit growfs wesentlich weniger nutzbarer Platz übrig bleibt, als wenn man die Partition neu erstellt hätte.

2. Ich bin kein Freund davon die ganze Platte zu mirrorn, mittlerweile betreibe ich das nur noch für Partitionen (nein, auch nicht ganze Slices).

3. Schreib doch mal an geom@, da finden sich Leute die das überblicken.

Gruss
Male
 
Zurück
Oben