4k Sector Alignment auf einem Conceptronic CH3MNAS mit RAID

Dieser Artikel wurde von Andi (quattro) als Gastartikel eingereicht!

Diese Anleitung beschreibt wie man ein RAID1 auf die neue Festplattensektorgröße von 4K (welche bei einigen Herstellern als Standardsektorgröße für neue Festplatten festgelegt wurde) genau einstellen kann. Für linear und RAID0 sollte aber kein Unterschied bestehen. Die größere Sektorengröße führt zu einer höheren Netto-Kapazität, da pro neuem 4096-Byte-Sektor acht Sync/DAM-Abschnitte, acht Toleranzbereiche sowie acht ECC-Bereiche eingespart werden (Quelle Whitepaper WD). Laut Western Digital führt die Vergrößerung von 512 Bytes auf 4 KB zu einem Anstieg der Netto-Kapazität zwischen 7% und 11%. An sich könnte dies dem Anwender egal sein, jedoch richtet sich das OS bei Schreibzugriffen nicht nach der physikalischen Sektorgröße. In der Praxis kann dies dazu führen, dass Daten mit einer Dateigröße von mehr als 512 Byte und weniger als 4k so ungünstig auf die Festplatte geschrieben werden, dass diese über zwei 4K-Blöcke verteilt werden. Hierbei kann es zu Performanceproblemen kommen, da die Festplatten die beiden 4K-Blöcke erst lesen und dann beide wieder schreiben muss. Das führt zu einer „Strafrunde“ (Read-Modify-Write – RMW), welche durch höhere Zugriffszeiten die Geschwindigkeit erheblich bremst. Für diese Anleitung wurden 2 gleich große Western Digital EARS Platten und ein Conceptronic CH3MNAS mit der (zur Zeit aktuellen) Firmware 1.02b2 verwendet.

Werbung

Warnhinweis: Diese Anleitung ist für fortgeschrittene Besucher geschrieben, die einzelnen Schritte sollten nur durchgeführt werden, wenn man sich ganz sicher ist. Jeder verwendet diese Anleitung auf eigenes Risiko. Die Daten auf den Festplatten sind nach Befolgen dieser Anleitung weg, erstellt daher ein Backup!

„~#“ bezeichnet im folgenden Konsoleneingaben.

FFP auf einem USB-Stick installieren
Das ffp muss laut Anleitung installiert werden. Dieses ist nur für das Geraderichten der Partitionen notwendig und kann danach auch wieder entfernt werden.

Erstmal den Ist-Zustand ansehen und notieren
Partitionen:

~# fdisk -lu
 
Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
 
   Device Boot      Start         End      Blocks  Id System
/dev/sda1              63     1060289      530113+ 82 Linux swap
/dev/sda2         2088450  2927621339  1462766445  83 Linux
/dev/sda4         1060290     2088449      514080  83 Linux
 
Partition table entries are not in disk order
 
Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
 
   Device Boot      Start         End      Blocks  Id System
/dev/sdb1              63     1060289      530113+ 82 Linux swap
/dev/sdb2         2088450  2927621339  1462766445  83 Linux
/dev/sdb4         1060290     2088449      514080  83 Linux
 
Partition table entries are not in disk order
 
Disk /dev/sdc: 2019 MB, 2019557376 bytes
255 heads, 63 sectors/track, 245 cylinders, total 3944448 sectors
Units = sectors of 1 * 512 = 512 bytes
 
   Device Boot      Start         End      Blocks  Id System
/dev/sdc1              63     3935924     1967931  83 Linux

Wie geht es dem RAID?

~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1]
md0 : active raid1 sda2[0] sdb2[1]
      1462766336 blocks [2/2] [UU]
 
unused devices: <none>

Bitte die Anzahl der blocks (Hier 1462766336) notieren. Nun nachsehen, welche Einstellungen das Filesystem hat:

~# tune2fs -l /dev/md0 
tune2fs 1.41.0 (10-Jul-2008)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          5523dde6-1b52-4607-b598-d1dba439de65
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         unsigned_directory_hash 
Default mount options:    (none)
Filesystem state:         not clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              357152
Block count:              365691584
Reserved block count:     0
Free blocks:              365627444
Free inodes:              357138
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      936
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         32
Inode blocks per group:   2
Filesystem created:       Wed Sep 29 21:29:15 2010
Last mount time:          Thu Sep 30 08:01:01 2010
Last write time:          Thu Sep 30 17:49:18 2010
Mount count:              5
Maximum mount count:      -1
Last checked:             Wed Sep 29 21:29:15 2010
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:                  256
Required extra isize:     28
Desired extra isize:      28
Default directory hash:   tea
Directory Hash Seed:      64fff61f-6680-4632-8912-1e5d68ed2924

Bitte notieren, diese Daten sind wichtig. Am einfachsten grad lokal in einer Textdatei unterbringen.

Vorbereitung
fun_plug wegsichern:

~# mkdir /mnt/usbstorage/fun_plug_backup
~# cp -a /mnt/HD_a2/fun_plug /mnt/HD_a2/.bootstrap /mnt/usbstorage/fun_plug_backup/

Nun müssen wir die Prozesse beenden, welche viel Arbeitsspeicher brauchen und/oder offene Files auf dem Dateisystem des RAID haben könnten. Ich hatte ftp, den streaming server und itunes nie aktiviert. Es ist wohl klug, diese Sachen zuvor zu deaktivieren (kann man genau an dieser Stelle tun). Samba dreht man so ab:

~# smb stop
$Shutting down SMB services:
$Shutting down NMB services:

RAID abdrehen:

~# raidstop md0
mdadm: stopped /dev/md0

Hats geklappt?

~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1]
unused devices: <none>

-> Ja.

Swap abdrehen:

~# swapoff /dev/sda1
~# swapoff /dev/sdb1

Hat funktioniert:

~# free
              total         used         free       shared      buffers
  Mem:        61860        43828        18032            0        14704
 Swap:            0            0            0
Total:        61860        43828        18032

Jetzt wirds erst
Ab hier beginnt der Teil mit den permanenten Veränderungen. Wer Angst bekommen hat, schaltet das NAS jetzt ab, zieht den USB-Stick und alles ist wieder beim alten.

Ich habe zum partitionieren parted verwendet. Man kann auch fdisk verwenden, dann allerdings so starten, da es einen Bug gibt:

~# cat|fdisk -u /dev/sda

Diesen Teil hier machen wir einmal mit sda und dann mit sdb.

Hier wird parted aufgerufen, die Einheit auf ‚Sektoren‘ umgestellt und die aktuelle Partitionstabelle angezeigt:

~# parted /dev/sda
GNU Parted 1.8.8
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit s
(parted) print
Model: WDC WD15EARS-00Z5B1 (scsi)
Disk /dev/sda: 2930277168s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
 
Number  Start     End          Size         Type     File system  Flags
 1      63s       1060289s     1060227s     primary  linux-swap
 4      1060290s  2088449s     1028160s     primary  ext3
 2      2088450s  2927621339s  2925532890s  primary  ext2
 
(parted)

Was wir hier brauchen sind die Start- und Endsektoren der Partitionen 1 und 2. Start und Ende von #1 sollten überall gleich sein. Wir verändern folgende Werte:

#1 Start: 63 -> 64
#1 Ende: 1060289 (bleibt gleich)
#2 Start: 2088450 (+6) -> 2088456 (2088456 ist durch 8 ganzzahlig teilbar)
#2 Ende: 2927621339 (ebenfalls +6) -> 2927621345 (das ist von der verbauten Platte abhängig)

Vermutlich ist der letzte Sektor beliebig, aber ich hatte keine Lust aus zu probieren was passiert, wenn sich die Größe des RAIDs ändert. Also einfach an das vorhandene Ende eben so viele Sektoren anhängen wie beim Start, dann ist man auf der sicheren Seite. Weg mit den ersten beiden Partitionen:

(parted) rm 1
(parted) rm 2

Die vierte verschieben wir nicht, da hier ohnehin nur ein paar Configfiles des NAS rumliegen und hier nicht so viele Zugriffe sind, als dass man die Western Digital Bremse spüren würde. Wir bauen uns eine neue swap Partition genau an der richtigen stelle:

(parted) mkpart
Partition type?  primary/extended? primary
File system type?  [ext2]? linux-swap
Start? 64
End? 1060289
(parted)

Der Startsektor hat sich von 63 auf 64 geändert. Der Endsektor bleibt gleich. Und nun noch die große für die Daten:
(Achtung! wenn man ext3 verwendet, gibt man natürlich ext3 an dieser Stelle an)

(parted) mkpart
Partition type?  primary/extended? primary
File system type?  [ext2]? ext2
Start? 2088456
End? 2927621345
(parted)

Exakt das selben machen wir nun noch einmal mit sdb. Nun drehen wir den swapspace wieder auf:

~# mkswap /dev/sda1
Setting up swapspace version 1, size = 542831616 bytes
~# mkswap /dev/sdb1
Setting up swapspace version 1, size = 542831616 bytes
~# swapon /dev/sda1
~# swapon /dev/sdb1
~# free
              total         used         free       shared      buffers
  Mem:        61860        44308        17552            0        14680
 Swap:      1060208            0      1060208
Total:      1122068        44308      1077760

Nun ist es an der Zeit ein neues RAID zu erstellen:

~# mdadm --create /dev/md0 --level=1 --raid-devices=2 --spare-devices=0 /dev/sd[ab]2
mdadm: array /dev/md0 started.
~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1]
md0 : active raid1 sdb2[1] sda2[0]
      1462766336 blocks [2/2] [UU]
      [>....................]  resync =  0.1% (2097280/1462766336) finish=243.7min speed=99870K/sec
 
unused devices: <none>

Nun erstellen wir ein neues Dateisystem darauf. (bei ext3 braucht man noch den Parameter -j dazu). Möchte man das NAS nur zum speichern von großen Dateien (Filme usw.) verwenden, kann man auch noch den Parameter: „-T largefile4“ dazunehmen. Das bewirkt, daß weniger Dateien auf dem NAS gespeichert werden können (nur etwa 200.000 pro Terabyte). Möchte man zb. Backups darauf speichern, läßt man das besser weg. Achtung: dies kann nachträglich nicht mehr geändert werden!

~# mke2fs -m 0 /dev/md0
mke2fs 1.41.0 (10-Jul-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
357152 inodes, 365691584 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
11161 block groups
32768 blocks per group, 32768 fragments per group
32 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
    102400000, 214990848
 
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Nun habe ich ein wenig gepatzt und vorher nicht nachgesehen, ob diese automatischen Checks aufgedreht waren. Ich habe sie dann abgedreht, weil das nas möglicherweise nicht mehr fertig bootet, wenn es beim booten einen Check machen will.

~# tune2fs -c 0 -i 0 /dev/md0 
tune2fs 1.41.0 (10-Jul-2008)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds

Man kann das Filesystem natürlich jederzeit manuell prüfen. Eine kleine Bitte: Mag bitte jemand seine Dateisystemeinstellungen von vor der Änderung posten? (ich hab leider vergessen mir das an zu sehen)

Nun warten wir, bis das RAID fertig ist. d.h. 3 bis 4 stunden:

~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1]
md0 : active raid1 sdb2[1] sda2[0]
      1462766336 blocks [2/2] [UU]
      [=====>...............]  resync = 27.8% (407175232/1462766336) finish=195.5min speed=89949K/sec
 
unused devices: <none>

Jetzt ist es fertig:

~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1]
md0 : active raid1 sdb2[1] sda2[0]
      1462766336 blocks [2/2] [UU]
 
unused devices: <none>

Nun kommt der große Moment in dem wir sehen werden ob das nas sein neues untergejubeltes raid akzeptiert:

~# raidstop md0
mdadm: stopped /dev/md0
~# raidstart md0
Raid Table Parser version v1.10
Assemble the previously created Raid array.
/tmp/spare_dsk not exist!!!
/tmp/std_raid1 not exist!!!
mdadm: /dev/md0 has been started with 2 drives.
Raid Level Parser version v1.01
mount: wrong fs type, bad option, bad superblock on /dev/md0,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Schaut gut aus. Und schon haben wir ein raid in dem die 4k Blöcke des Dateisystems exakt auf den Sektoren liegen.

Dieses HOWTO basiert auf diesem Artikel

Veröffentlicht von

Uli

IT-Nerd und Admin

33 Gedanken zu „4k Sector Alignment auf einem Conceptronic CH3MNAS mit RAID“

  1. Sehr interessanter Artikel! Es überrascht mich, dass 4K scheinbar so problemlos unterstützt wird. Die c’t hatte letztens noch einen Artikel dazu geschrieben und meinte, das die meisten Linux-Distributionen, die auf NAS-Geräten laufen, 4K nicht unterstützen würden und 4K-Platten daher nur für den Windows-Gebrauch einzusetzen sein sollten.

    Wie ist deine Erfahrung mit den Platten bzgl. der Performance? Hast du den Vergleich zu anderen Platten?

    Mich wundert ein bißchen deine letzten Consolenausgabe. Für mich sieht „#wrong fs type, bad option, bad superblock on /dev/md0“ nicht sooo postiv aus 😉

    1. Linux unterstützt beliebige Sektorengrößen (im Gegensatz zu windows XP) und kommt daher ohne Probleme auch mit 4k Sektoren zurecht.

      Das Problem bei manchen Platte ist, daß sie lügen wenn sie die Größe ihrer Sektoren angeben. Die EARS Platten sagen, sie hätten 512B Sektoren. Damit kann man sie zwar in windows XP verwenden aber auch dort gibt es die gleichen Probleme wie mit Linux.

      Die Dateisysteme verwenden ohnehin schon 4k blöcke (ntfs, ext2,3,4..) und passen damit gut dazu. Langsam wirds nur, wenn die Partitionen nicht exakt ausgerichtet sind, dann müssen bei jedem Block 2 4k Sektoren auf der Platte gelesen und geschrieben werden.

      Ich habe keine eigenen Daten bezüglich der Performance. Da der Einbruch erst mit zunehmender Befüllung der Platte spürbar wird wollte ich nicht die Zeit verschwenden das zu messen.

      Die Fehlermeldung ist schon ok.
      Das nas versucht md0 zuerst als ext3 zu mounten und wenn das fehlschlägt (weil kein journal da ist) dann wirds nochmal als ext2 versucht.

  2. Wie ist es, wenn ich nur EINE WDxxEARS einbaue – kann ich auch diese 4k alignen? Ich hatte es nach einer Anleitung versucht, die ich im Netz entdeckt habe. Diese scheiterte allerdings beim Filesystem-erstellen da ich die eine HDD die ich habe nicht unmounten konnte 🙁 Irgendeine Idee? Habe funplug auf dem Stick installiert…

    1. sollte gehen.
      wenn man einfach die raid-spezifischen teile wegläßt.
      und eben das filesystem nicht auf dem md0 sondern auf dem sda2 machen.
      zb:
      ~# mke2fs -m 0 -T largefile4 /dev/sda2

      wenn sich eine partition nicht umounten läßt, dann hängt wohl noch ein prozess drauf.

      ev. vorher ein „reset to defaults“ machen.

      1. klar hängt da noch ein prozess drauf… der usbstick ist doch nach /mnt/HD_a2/usbstorage gemounted… ein anderer prozess hing da nicht drauf…

  3. Habe fun_plug V0.5 auf Stick laufen, wie in Ulis tollem Tutorial beschrieben.
    Wollte nun damit meine beiden WD20EARS Platten nach obigem Tutorial 4k alignen.
    Mein DNS-323 mit FW 1.08 erkannte beide jungfräulichen HDs und ich konnte auch ein RAID1 über das WEB-Interface ohne Probleme einrichten, nur halt auf den ungünstigen Sektorgrenzen.
    Mit dem fun_plug vom Stick konnte ich alles gemäß Tutorial umbiegen, nur beim Schreiben der Partitiontable auf /dev/sdb kam folgende Meldung:

    fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy
    Nachdem ein "fdisk -ul" jedoch alle Einträge korrekt anzeigte, liess ich mich nicht weiter beirren und machte weiter im Tutorial.
    Ein durchgeführtes "hd_verify" ergab unter anderem folgende Fehlermeldung:
    mount: wrong fs type, bad option, bad superblock on /dev/sda2,
    missing codepage or other error
    In some cases useful info is found in syslog – try
    dmesg | tail or so

    Beim Aufbau des RAID1 mit:

    mdadm –create /dev/md0 –level=1 –raid-devices=2 –spare-devices=0 /dev/sd[ab]2
    Begann die rechte LED in orange zu leuchten.
    Nach Abschluss der Resynchronisierung nach ca. 5 h konnte jedoch der RAID-Test des Tutorials nicht erfolgreich durchgeführt werden.
    Nach einem Neustart kehrte sich das ganze um. Nach anfänglichem blauen Blinken beider LEDs leuchtet nun nach dem Bootprozess die rechte LED Orange.
    Bin gerade dabei, die Schritte im Tutorial ab dem RAID1 Aufsetzen zu wiederholen, fürchte aber, dass dies auch fehlschlagen wird, da die linke LED immer noch Orange leuchtet und ein "hd_verify" nun /dev/sdb2 anmäkelt:

    mount: wrong fs type, bad option, bad superblock on /dev/sdb2,
    missing codepage or other error
    In some cases useful info is found in syslog - try
    dmesg | tail or so
    Brauche bitte dringend Hilfe, wie ich beide Platten entsprechend umpartitioniert bekomme.
    Anscheinend läuft trotz booten von Stick irgendwas noch auf der Platte, welche diese blockiert.
    Kann das sein, dass dies das .bootstrap-Verzeichnis ist, von wo aus der Stick startet?
    Tue nun schon seit Tagen ohne Erfolg rum.
    Bin am Ende mit meinem Latein.

    Vielen Dank schon mal im Voraus

  4. Hallo,

    habe genau eine Platte in meinem NAS. Aligne die swap-Partition. Leider ist nach einem reboot der swap abgeschaltet und muss per Hand angeschaltet werden. Woran kann das liegen? Hatte schon versucht in fstab einzutragen, wird aber nach einem reboot wieder zurückgesetzt.

    Auch den swap-Bereich als Raid anzulegen (wie es die Firmware ja initial als Raid 1 auf md0 einrichtet) bringt keine Besserung, nach einem Reboot ist der swap deaktiviert und erst mit raidstart da.

    Irgendwelche Vorschläge, wie das Nas bei einem Reboot automatisch
    den Swap andreht (ohne in den fun_plug als Kommando).

    Viele Grüße
    Sven

    1. Hi,

      ich kann das nicht so recht reproduzieren:

      root@storage_unit_2:~# free
      total used free shared buffers
      Mem: 61860 60068 1792 0 15476
      Swap: 1060208 116 1060092
      Total: 1122068 60184 1061884

      und das ohne swap zu aktivieren.

      1. nochwas: ich glaube nicht, daß der swap space auch gespiegelt wurde. so weit ich mich erinnern kann, war der nur verteilt, 512mb je platte.

    2. Hallo,

      entschuldigt, hatte mehrere Tabs im Browser offen um mein NAS mit dem fun_plug zu erweitern, das ich übersehen habe, daß hier die Anleitung fürs CH3MNAS ist. Ich habe dagegen ein DLINK DNS-320.

      / # free
      total used free shared buffers
      Mem: 125632 88636 36996 0 19104
      Swap: 530040 0 530040
      Total: 655672 88636 567036
      / # less /proc/mdstat
      Personalities : [linear] [raid0] [raid1]
      md0 : active raid1 sda1[0]
      530048 blocks [2/1] [U_]

      unused devices:

      / # fdisk -lu

      Disk /dev/sda: 2000.3 GB, 2000398934016 bytes
      255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
      Units = sectors of 1 * 512 = 512 bytes

      Device Boot Start End Blocks Id System
      /dev/sda1 63 1060289 530113+ 82 Linux swap
      /dev/sda2 2088450 3904983809 1951447680 83 Linux
      /dev/sda4 1060290 2088449 514080 83 Linux

      Partition table entries are not in disk order

      Disk /dev/sdc: 1051 MB, 1051721728 bytes
      255 heads, 63 sectors/track, 127 cylinders, total 2054144 sectors
      Units = sectors of 1 * 512 = 512 bytes

      Device Boot Start End Blocks Id System
      /dev/sdc1 63 2040254 1020096 83 Linux
      / #

      Scheint bei mir gespiegelt zu sein (Raid 1), oder täusche ich mich dar. Der Sinn entzieht sich mir dann aber. Klar bei einer Platte gibt Raid eh keinen Sinn, aber selbst wenn eine 2. drin wäre, würde doch ein Raid 0 m.M. mehr Sinn für den Swap-Bereich machen (Beschleunigung beim swappen).

      Mein Hauptproblem ist aber, das wenn ich die Partition 1 lösche und neu erstelle, so daß sie bei Sektor 64 startet, ich sie zwar mit swapon starten kann, aber nach einem Neustart ist der Swap deaktiviert. Egal ob ich es genauso als Raid 1 auf md0 anlege oder wenn ich es in die /etc/fstab zum mounten eintragen. Stets das gleiche.

      Hat jemand noch eine Idee was ich ändern könnte. Bin für Hilfe dankbar. Ansonsten aligne ich nur den Hauptdatenbereich meiner Platte.

      Viele Grüße,
      Sven

      1. Hi Sven,

        keine Ahnung warum der Swap so strange angelegt wird, jedenfalls ist das bei meinem DNS-325 und DNS-320 genauso. Ich schalte diesen per Script auf nur eine Platte, da beide NAS aufgrund vieler gleichzeitiger Programme gelegentlich Platz brauchen.
        Ansonsten würd ich einfach per Script den Swapon machen, da würd ich gar net lang rumtun. Reicht ja, wenn der Swap mit dem Start des fun_plug aktiviert wird.

        Viele Grüße,
        Uli

        1. Danke,

          werde den swap nun über den ffp anschalten lassen, die eine Zeile mehr ist nun wirklich nicht schlimm, hätte bloß lieber aine standardkonforme Lösung gehabt. Aber da ich jetzt schon im 2-stelligen Stundebereich des experimentierens bin, ist die Nutzen/Aufwandrelation schon LANGE überschritten.

          Vielen Dank für Eure Mühen,

          Viele Grüße,
          Sven

  5. Vielleicht kann mir einer mal sagen was ich machen kann oder beachten muss.,..

    Hab derzeit 2x1TB im Raid1 mit Ext2 im ch3mnas laufen.

    Nun will ich 2 x 2TB Samsung HD204UI Platten im Raid1 darin laufen lassen, die ja bekanntlich 4K Sektoren hat aber 5412KB emuliert und dann die Daten von einer der 1TB Platten darauf kopieren – vorausgesetzt man kann eine der Platten aus dem Raid1 in ein externes Gehäuse packen und dann die Daten rüberschaufeln.

    Wie gehe ich am besten vor? Muss ich vor Einbau etwas an den Samsung Platten ändern oder kann ich die einfach problemlos einbauen und nutzen? Irgendwie glaub ich das nämlich nicht *g*

    Bin für jede Hilfe/ausführliche Anleitung (wie wo was wann *g*) dankbar, um das 2x1TB Raid1 durch ein 2x2TB Raid zu ersetzen. Funplug nutze ich übrigens nicht und als Firmware wird die 1.02b2 genutzt.

    Danke und Gruß
    Marcel

  6. So, hab das jetzt selbst mit den 2 Samsung HD204UI Platten und dem Raid1 anhand der hier vorhandenen Tut´s hinbekommen 🙂

    Wirklich Supi! Vielen vielen Dank!!!

    Das erstmalige Einrichten des Raid1´s nach Einbau der 2 HD´s dauert nur ca. 30 Mins.

    Das Resynch vom neuen Raid1 am Ende des Tut’s dauerte bei mir knapp 5 1/2 Std.

    Alles in allem (ohne das letzte Rück-Kopieren der Daten) kann man für die ganze Aktion so ca. 8-9 Stunden einplanen (inkl. Funplug auf USB installieren).

    Bei der Installation von funplug auf dem USB-Stick nach dem Tutorial kommt bei einer Zeile übrigens immer ne Fehlermeldung bei mir:

    Und zwar beim Schritt FFP_SETUP_SCRIPT herunterzuladen: bei dem ersten Befehl „mkdir /mnt/HD_a2/.bootstrap/“ , da sagt er kann er nicht da bereits vorhanden. Ist diese Zeile vielleicht noch zu viel in der Anleitung? Vorher wurde ja auch schon „mkdir -p /mnt/HD_a2/.bootstrap/“ mal genutzt.

    Ansonsten hat alles astrein geklappt. Wo ich aber noch ne Frage habe ist, nachdem das Raid neu eingerichtet wurde, sind ja die Einstellungen zum Starten des Funplug von USB nicht mehr vorhanden. Muss man die ganze Installations-Prozedur dann wiederholen oder geht das auch einfacher? Langt das indem man vorher gesichrte Dateien aus dem hauptverzeichnis nur wieder drauf kopiert? (.bootstrap Ordner, fun_plug Datei) Am USB-Stick selbst hat sich ja nix geändert. Dazu ne Info in dem Tut hier wäre klasse.

    Für alle die wie ich ein 64bit Windows 7 nutzen und eben kein Linux haben um später eine der alten Raid Platten anzuschliessen und direkt von Platte zu Platte zu kopieren sei ext2explore zu empfehlen. Funktioniert tadellos, erkennt die ext2 Partition von der alten Raid-Platten angeschlossen über eine HDD Docking Station oder nem externen Gehäuse. Damit kann man dann die Daten wieder aufs neue Raid drauf schaufeln. Auch wenns gefühlte Jahre dauert.. Zumindest ist es gleich mal nen guter Stress Test für die neuen Platten ^^

    Gruß K-Pax
    (Marcel)

    1. Hi, ja, es reicht die beiden Dinge (.bootstrap Ordner, fun_plug Datei) wieder an ihren ort zu kopieren. da sind nur wehr wenige sachen drinnen (das kernel modul für usb storage und eben das script um das zu laden bzw das ffp von usb ein zu richten)

      1. Hallo Quattro, Danke für die Antwort.

        Hatte es zwischenzeitlich auch schon ausprobiert und es hat zumindest offensichtlich auch alles funktioniert *g* Aber man weiss ja nie wo was noch dahinter stecken kann was man vielelicht nicht auf anhieb sieht.. wie z.b. bereits angelegte user im flash speicher vom NAS selbst.

        Funzt auch alles noch einwandfrei.. *fg* Hab dummerweise vorher kein Benchmark mit dem 1TB Raid gemacht, aber konnte beim neuen jedenfalls keine Einbußen feststellen. Hat bei mir satte 25 Stunden gedauert alle Daten umzukopieren und das warn ca. 750 GB *uff*

        Benachmark gibts hier:

  7. hey ulli, komm noch nicht mit den 4k zeug nicht klar.

    soweit ich mitbekommen habe, gibt es da performanceprobleme. gilt das auch wenn ich zwei festplatte als „Standard“ benutz?

  8. Hallo Uli,
    die Beschreibung ist super, aber es funktioniert auch nach dem dritten Versuch einfach nicht.
    2 x WD20EARS-00MVWB0 bearbeite ich fehlerfrei genau nach Anleitung und abschließend kopiere ich fun_plug und .bootstrap zurück, damit ffp wieder startet, aber dann:
    Die Web-Oberfläche zeigt mir 2 Festplatten, die neu eingerichtet werden sollen. Die Freigabe „Volume_1“ ist nicht vorhanden und ich kann nicht mit Telnet zugreifen.
    So kann ich nur nochmals beginnen, aber langsam verlässt mich der Mut.
    Was mache ich nur falsch?
    Danke und Gruß
    Arno

    1. Hallo Arno, mhh irgendwas war da doch *grübel*

      Erst ganz normal ein Raid einrichten,das geht ratz fatz, danach erst den USB Stick mit Funplug einrichten, dann klappts danach auch mit dem Telnet und der ganzen 4k chose 🙂

      Hast Du das so gemacht oder hast du erst den Funplug aufm Stick installiert und danach weiter gemacht? weil wenn ja musst du funplug nochmal komplett neu auf dem Stick installieren um wieder den telnet zugriff einrichten zu können.

      Irgendsowas in der Art war jedenfalls.. 🙂

      Gruß K-Pax

      1. Hallo K-Pax,

        vielen Dank für Deinen Hinweis, aber ich habe alle Schritte und auch alle Ausgaben genau protokolliert.

        So habe ich es mehrmals versucht:
        1. Firmware-Update von V.1.01 auf 1.02b2
        2. fun_plug und fun_plg.tgz auf die Freigabe „Volume_1“
        3. USB für Speicherzugriff einrichten (.bootstrap und usb-storage.ko)
        4. fun_plug auf USB-Stick installiert (setup.sh)
        5.
        Partitionen auf den Festplatten löschen und neu einrichten
        RAID wieder einrichten und starten
        Prüfen, ob alles läuft – alle OK, keine Fehlermeldungen
        Abschließend fun_plug und .bootstrap von Backup wieder auf HD_a2 kopiert
        und erst jetzt neu booten.

        Aber nach dem Booten erhalte ich nur die Mail mit dem Text:
        Bottom Hard Drive Has Failed
        Top Hard Drive Has Failed

        Hat es denn schon mal jemand mit den WD20EARS geschafft?

        Gruß Arno

        1. Hallo K-Pax,

          auch der vierte Versuch war erfolglos.

          Natürlich funktioniert die Einrichtung des RAID, die Einrichtung des USB-Sticks und auch das Löschen und Anlegen des RAID. Aber auch wenn alles ordentlich aussieht, so werden die Festplatten nach einem Neustart nur als „leere“ Festplatten erkannt und das Web-Frontend möchte sie formatieren.

          Solange ich keinen Neustart mache kann ich ja sogar über das Web-Frontend eine Freigabe auf Volume_1 einrichten.

          Ich habe sogar den Ordner .systemfile mit den 3 Dateien gesichert und wieder zurückgeschrieben.

          Wenn ich die erste (obere) Festplatte ausbaue und mir in einem externen USB-Laufwerk mit ext2explore anschaue, so ist alles in Ordnung.

          Ich vermute, dass es mit den WD20EARS-00MVWB0 im CH3MNAS nicht funktioniert. Oben bei Sven ist es ja ein DNS-320.
          Die Unterschiede:
          Anzeige bei Sven auf DNS-320:
          /dev/sda2 2088450 3904983809 1951447680 83 Linux
          Anzeige bei mir auf CH3MNAS:
          /dev/sda2 2088450 3904903484 1951407517+ 83 Linux

          So werde ich wohl das 4k-Problem lassen müssen, mir 2 Nicht-4k-Platten kaufen oder für die WD20EARS ein anderes NAS zulegen müssen.

          Hat noch jemand einen Rat?

          Vielen Dank und Gruß
          Arno

          1. Hi Arno,

            Hmm.. Schon merkwürdig… Also ich hab das Ganze ja auch mit dem ch3mnas und 2 Samsung 2TB HD204UI Platten analog zu Quattro’s Anleitung gemacht – daran liegts bestimmt nicht. Bei mir gabs eigentlich gar keine Probleme.. Sollte also auch bei Dir funktionieren zumal Quatttro es ja auch mit WD-EARS gemacht hat.

            Du schreibst ja dass Du alles so machst wie im Tutorial angegeben. Was mich allerdings wundert ist warum Du dann später 2 HD´s angezeigt bekommst und nicht eine Raid Partition… Da iss wohl -zumindest beim raid erstellen- wohl was schief gelaufen.

            Nur um sicher zu gehen.. Du machst den Schritt ab „Jetzt wirds ernst“ auch 2 mal.. einmal für die eine Platte sda durch und danach einmal für andere Platte sdb durch bevor du dann den swap space wieder aufdrehst und zum Einrichten des Raid übergehst.

            Ich hab den Schritt „Nun ist es an der Zeit ein neues RAID zu erstellen:“
            erst komplett durchlaufen lassen bevor ich weiter bin und das Dateisystem erstellt hab (Das dauerte knapp 6 Std. bei mir). Du kannst während er arbeitet jederzeit mit cat /proc/mdstat sehen wieviel % er bereits fertig hat.

            Erst danach, hab ich das Dateisystem unter „Nun erstellen wir ein neues Dateisystem darauf“ erstellt. Hast du EXT2 oder EXT3 als Dateisystem gewählt? bei ext3 musste noch -j in die Kommandozeile mit rein nehmen also so starten: mke2fs -j -m 0 -T largefile4 /dev/md0

            Vielleicht hilft Dir das ja irgendwie weiter…
            Gruß K-Pax

            1. Hallo K-Pax,

              vielen Dank für Deine schnelle Antwort.

              Hier die Liste meiner Befehle aus meinem Protokoll:
              smb stop
              raidstop md0
              swapoff /dev/sda1
              swapoff /dev/sdb1
              parted /dev/sda
              rm1
              rm2
              mkpart / p / ext2 / 64 / 1060289
              mkpart / p / ext2 / 2088456 / 3904903490
              q
              -> und alles nochmals für sdb
              mdadm –create /dev/md0 –level=1 –raid-devices=2 –spare-devices=0 /dev/sd[ab]2
              -> 262,1 Minuten warten
              mke2fs -m 0 -T largefile4 /dev/md0
              -> ca. 4 Minuten warten
              raidstop md0
              raidstart md0
              -> Jetzt ist alles OK und ich sehe das RAID als /mnt/HD_a2 und kann auch mit cp darauf schreiben und davon lesen.

              Und nach einem Restart will das Web-Frontend nur 2 Festplatten neu einrichten und ich kann auch nicht „Volume_1“ freigeben.

              Ich protokolliere mir alle Schritte in einer Word-Datei und habe es schon mehrfach mit obiger Beschreibung abgeglichen, aber es gibt keinen Unterschied.

              Wenn ich eine richtige Mail-Adresse hätte, könnte ich Dir gerne mal die Word-Datei senden.

              Gruß
              Arno.Albrecht ( AT ) gmx.de

            2. hu Arno,

              ich muß auf den beitrag davor antworten, da bei deinem kein ‚antworten‘ knopf zu sehen ist.

              ich seh eine mögliche fehlerquelle:

              mkpart / p / ext2 / 64 / 1060289

              sollte sein:

              mkpart / p / linux-swap / 64 / 1060289

              du kannst zwar eine partition die als ext-irgendwas markiert ist auch per swapon als swap verwenden, aber es wird wohl nicht automagisch gefunden.

              und wenn das nas beim booten keinen swap hat, dann geht ews wohl davon aus, daß irgendwas nicht stimmt.

              lg.quattro

              PS:
              grade bemerkt:

              ~# mke2fs -m 0 -T largefile4 /dev/md0

              ist keine gute idee, wenn man das nas für backups verwenden will.
              der parameter: -T largefile4
              sorgt dafür daß nur sehr wenige inodes erzeugt werden.
              d.h. bei ca. 300.000 files ist schluß (bei meinen 1.5T platten)

              will man nur filme usw. drauf speichern, kann mans ruhig drinnen lassen, es bringt dann einen kleinen geschwindigkeitsvorteil.

            3. Hallo quattro,

              Hurra, es hat geklappt!!!

              Erstmal vielen Dank für die Hilfe, ich hatte doch wirklich übersehen, auf sda1 und sdb1 den fs-type „linux-swap“ einzurichten.

              Gleichzeitig habe ich auch einen weiteren Fehler gefunden, auf den Du mich aufmerksam gemacht hast. Der Parameter „-T largefile4“ hatte bei einem Test mit einer Festplatte nämlich dazu geführt, dass ich bei ca. 475000 Dateien die Fehlermeldung erhielt, dass die Festplatte voll sei, obwohl erst 300 GB geschrieben waren.
              Den Parameter habe ich nicht erfunden, er steht oben in der Beschreibung so drin, was bei anderen „Abschreibern“ auch zu Problemen führen kann.

              Hier nun meine Befehle, wie sie funktionieren:

              smb stop
              raidstop md0
              swapoff /dev/sda1
              swapoff /dev/sdb1
              parted /dev/sda
              unit s
              print
              rm1
              rm2
              mkpartfs primary linux-swap 64 1060289
              mkpartfs primary ext2 2088456 3904903490
              quit

              -> und alles nochmals für sdb

              mdadm –create /dev/md0 –level=1 –raid-devices=2 –spare-devices=0 /dev/sd[ab]2

              -> 255,3 Minuten warten

              mke2fs -m 0 /dev/md0

              -> ACHTUNG: ohne Parameter „-T largefile4“, da sonst max. ca. 475000 Dateien
              -> ca. 20 Minuten warten, da 121970688 Inodes angelegt werden

              tune2fs -c 0 -i 0 /dev/md0

              -> Bin nicht sicher, ob notwendig, da NAS-Standard 25 und 15552000 (6 months) ist.

              raidstop md0
              raidstart md0
              reboot

              5 Versuche, die sich gelohnt haben und ich auch etwas gelernt habe: noch genauer abschreiben. Hm, in der Schule war das einfacher.

              Nochmals vielen, vielen Dank.

              Gruß Arno

  9. Hallo zusammen,

    nachdem nun alles so wunderbar läuft wollte ich mal die SMART-Daten meiner neuen Festplatten mit den smartmontools auslesen, aber ich bekomme nur folgende Meldung:

    / # cd /ffp/pkg/packages
    / # funpkg –i smartmontools-5.39.1-1.tgz
    / # smartctl -i /dev/sda
    smartctl 5.39.1 2010-01-28 r3054 [arm-unknown-linux-uclibc] (local build)
    Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
    Device: WDC WD20EARS-00MVWB0 Version: 51.0
    Device type: disk
    Local Time is: Mon Jul 11 19:12:10 2011 UTC
    Device does not support SMART

    Unterstützt das CH3MNAS SMART nicht, oder mache ich da etwas falsch?

    Gruß ArAl

      1. Hallo Uli,

        super, vielen Dank für den Hinweis.

        Es funktioniert, jedoch mit einem etwas anderen Befehl:

        / # smartctl --device=marvell -i /dev/sda

        oder

        / # smartctl --device=marvell -a /dev/sda

        Gruß ArAl

        1. Hoppla, sorry Uli,

          2 Bindestriche werden nicht als 2 Bindestriche angezeigt. Vor „device“ müssen 2 Bindestriche und das hattest Du wahrscheinlich auch geschrieben.

          Gruß ArAl

Kommentare sind geschlossen.