Kurzanleitungen
Aus NAS-4220
Anpassung der Benutzer- und Gruppen-IDs für NFS
Das NAS4220 legt standardmässig neue Benutzer mit UID >= 500, neue Gruppen mit GID >= 100 an. Dies kann bei NFS Nutzung stören, da einige Systeme die Benutzer-IDs erst bei 1000 starten lassen und die Gruppen-IDs bei 500.
Um die Rechte trotzdem konsistent zu halten, ist eine Anpassung des NAS an die lokalen Gegebenheiten nötig.
Es gibt mehrere Möglichkeiten:
Habe User-ID und Group-ID auf 1001:500 setzen geschafft. Erfordert vi-Kenntnis. Meine Firmware: 2.6.0-n.
- via Browser einen user1 anlegen
- via telnet-root vi /etc/passwd die gid des "users" auf 500 setzen und die uid des zuvor angelegten user1 auf 1000 setzen.
- via Browser einen user2 anlegen. Der hat nun uid 1001 (die nächste freie) und die gid des "users" (500).
- im telnet/vi die gid des users wieder zurück auf 100. Das NAS abschalten (z.B. im telnet mit halt).
- Nach Restart sollte gid:uid des user2 erhalten geblieben sein, user1 kann nun gelöscht werden.
Franz.
Geht auch ohne vi-Kenntnisse ;) Firmware: 2.6.0.IB.1.RS.1
Kurz, wie's unter dem Pinguin geht (sollte unter dem Bootloader für das Lohnsteuerprogramm - Windows - ähnlich funktionieren ) :
- über die Weboberfläche "Maintenance->Save Configuration" die Konfig auf den lokalen Rechner speichern
- -> das ergibt ein tar-File, das entpackt werden kann (mit "tar -xvf config.tar" wird in das aktuelle Verzeichnis entpackt)
- im dann entstandenen Ordner "config" nach "./codb/objects" wechseln
- dort gibt es mehrere Order "0" bis "n" u.a. abhängig von der Anzahl an konfigurierten Benutzern -> bei mir fingen die Ordner mit den Usereinstellungen bei "10" an
- -> in einen der Ordner wechseln -> in diesen Ordnern sind VERSTECKTE Dateien
- -> in der Datei ".name" steht der Name zum Benutzer, dem das gerade betretene Verzeichnis gewidmet ist
- -> hat man den zu ändernden Benutzer auf diese Weise gefunden, können die dann ebenfalls in diesem Verzeichnis befindlichen Dateien ".uid" und/oder ".gid" angepasst werden. Darin stehen die entsprechenden IDs im Klartext.
- Hat man alle Benutzer angepasst, einfach wieder in das Verzeichnis "config" hochgehen und mit "tar -cvf ../config_neu.tar *" den kompletten Verzeichnisbaum zusammenpacken
- Diese Datei "config_neu.tar" wieder zurück in das NAS laden - nach einem Neustart sind die IDs wie gewünscht.
- ---> alle auf diesem Weg durchgeführten Änderungen vor der Nutzung in freier Wildbahn testen!!!
- ---> Windowseditoren beenden Textzeilen mit LF_CR - das mögen Pinguinparser evtl. nicht (hab ich auf dem NAS nicht getestet). Daher besser gleich unter Linux editieren!
PS: geht natürlich auch mit vi-Kenntnissen und telnet/ssh-Zugang auf der Kiste selbst. Dort liegt das, was in config.tar abgespeichert wird unter "/system/*" also unter "/system/codb/objects/". Alle Änderungen dort überleben auch den Reboot. Bei Editierversuchen an dieser Stelle evtl. erstmal richtige Konfig sichern und Brain 1.0 einschalten!
Holger
Eine Samba-Verbindung trennen
Es ist unter Windows nicht möglich, mehr als eine Samba-Verbindung zum selben Server aufzubauen. Wenn Du Dich unter einem anderen Benutzernamen verbinden willst, kriegst Du wahrscheinlich diese Fehlermeldung:
Wenn Du Dich unter einem anderen Benutzernamen verbinden willst, musst Du zuerst die bestehende smb-Verbindung trennen, oder die neue Verbindung zum Server unter einer alternativen Adresse (z.B. der IP anstelle des Netzwerknamens) aufbauen. Windows sieht diese Verbindung dann als Verbindung zu einem anderen Rechner an und man kann einen beliebigen Benutzernamen verwenden. Falls sich ein Nameserver im LAN befinden ist er ratsam, der Box mehrer Namen zuzuweisen - somit ist es möglich verschiedene Shares unter verschiedenen Benutzernamen gleichzeitig zu nutzen. Wenn kein Nameserver zur Verfügung steht, kannst man auch in C:\WINDOWS\system32\drivers\etc\hosts (unter Windows) bzw. /etc/hosts (unter Linux) zusätzliche Namen der IP des NAS zuordnen.
Aufbau einer Samba-Verbindung mit einem Mausklick
Wenn Du die Daten für verschiedene Anwendungen in getrennten shares abspeichern willst, ist es praktisch, eine Verbindung schnell herstellen und wieder trennen zu können.
Samba server startet nicht mehr
- liegt scheinbar am USB-Stick*
Lösung:
1.) NAS herunterfahren
2.) USB-Stick abziehen
3.) NAS starten (und warten bis komplett oben)
4.) USB-Stick komplett platt machen (z.B. am PC mit FAT formatieren)
5.) USB-Stick an vorderen USB-Anschluß einstecken (und hinteren leer lassen)
6.) An Weboberfläche anmelden
7.) Menüpunkt Control Panel / Maintenance / USB-System auswählen
8.) Stick auswählen und Button <<Prepare Stick>> drücken
9.) abwarten und anschl. System sauber runterfahren
10.) NAS wieder starten
NFS-Freigabe unter MacOS verbinden
Wer mit dem Terminal arbeiten möchte, sei auf meine Ausführungen im engl. Wiki-Bereich hingewiesen
Einrichtung für automatische Verbindung zum Systemstart
- Programme → Dienstprogramme → Verzeichnisdienste. "Erweiterte Einstellungen aktivieren" → "Aktivierungen", neue Verbindung mit "+" erstellen
- "Entfernte NFS URL:" -> nfs://NASIP/mnt/md1/public <- NASIP, md1 und public an die eigenen Gegebenheiten anpassen
- "Aktivierungsort:" -> /Users/NUTZER/MOUNTPOINT <- anpassen, wohin die Verbindung eingebunden werden soll. Möglich ist z.B. auch "/Volumes/NAS"
- "Erweiterte Aktivierungsparameter" mit dem grauen Pfeil öffnen und "-P" eingeben (ohne Anführungsstriche!)
- Alles bestätigen
- Fertig
Problem
Nach einiger Zeit hat sich der Rechner nicht mehr verbunden - im Terminal stand etwas von "mount_nfs: bad MNT RPC:" . Folgender Workaround hat geholfen:
Der Hostname des Rechners muss auf dem NAS in /etc/hosts eingetragen werden:
- Systemeinstellungen öffnen → Sharing - Gerätename merken z.B. MACNAME
- Terminal öffnen (Programme → Dienstprogramme)
- mit dem NAS über telnet/ssh verbinden und /etc/hosts ergänzen. Backup der Datei ist dringend zu empfehlen! Folgendes macht das - bitte IP und den Namen eures Rechners verwenden!
cp /etc/hosts /etc/hosts.bak echo 192.168.100.2 MACNAME MACNAME.local >> /etc/hosts
- Evtl. gibt's dafür ja eine andere Lösung. Da die hier funktioniert, habe ich vorläufig nicht weiter gesucht.
Abschalten der Versionskontrolle in FW 2.6.3.1
In FW 2.6.3.1 ist eine Versionskontrolle eingebaut, die einen downgrade auf eine ältere FW-Version verhindert. (Fehlermeldung: "wrong vendor ID").
- Per PuTTY oder winSCP mit der Box verbinden.
- Die folgenden vier Zeilen in der Datei /usr/sausalito/handlers/base/upgrade2/CheckImage.sh auskommentieren, indem das #-Zeichen vorangestellt wird. Die Zeilen sehen dann so aus:
#if [ $Vendor_local != $Vendor_now ]; then # echo "Error:The VendorID is wrong." # exit 4 #fi
Installation eines Debian-Systems (chroot)
Die folgenden Anweisungen habe ich erfolgreich durchgeführt. Viel Sinn habe ich darin nicht gesehen, da die Änderungen nur innerhalb eines chroot laufen. Evtl. gestartete Dienste müssen bei jedem NAS-Neustart per Hand gestartet werden, oder einiges an Skripten geschrieben werden. Dennoch also:
- Download des Grundsystems (ARM-kompatible Distribution)
- Verzeichnis für die Distribution erstellen (z.B. /mnt/ide1/public/debian/)
Heruntergeladene Datei (sarge.tar oder etch.tar) in das oben erstellte Verzeichnis kopieren
- Login per SSH oder Telnet auf die Box und in das angelegte Verzeichnis wechseln
<nowiki> cd /mnt/ide1/public/debian/ tar xvf etch.tar mv /mnt/ide1/public/debian/etch/* /mnt/ide1/public/debian/ rm -Rf /mnt/ide1/public/debian/etch/ </nowki>
- Installiertes System testen
cd /mnt/ide1/public/debian/ mount -t proc none ./proc mount -t sysfs none ./sys mount -t usbfs none ./proc/bus/usb usr/sbin/chroot ./ /bin/bash
- Nun sollte der Prompt der Debian-Installation erscheinen und mit einem cat /etc/debian_version kann die Version geprüft werden.
icybox:/# cat /etc/debian_version 4.0
- Anschließend sollte der verwendete DNS-Server in die Datei /etc/resolv.conf eingetragen werden
echo "nameserver 192.168.1.1" > /etc/resolv.conf
Die IP-Adresse 192.168.1.1 sollte durch den verwendeten Nameserver ersetzt werden.
- Debian Sarge 3.1
TODO: muss noch überarbeitet werden, da ich nur die 4.0er Version getestet habe. TODO: bei Sargebook fehlt, glaube ich, wget. Also apt-get wget nicht vergessen
echo "deb http://security.debian.org/ sarge/updates main contrib non-free" > /etc/apt/sources.list echo "deb http://ftp.de.debian.org/debian sarge main" >> /etc/apt/sources.list apt-get update apt-get install apt-utils apt-get install nano iptraf findutils apt-get wget apt-get upgrade
- Debian Etch 4.0
Im oben angegebenen Etch-Paket sind die notwendigen Sourcen in der Datei /etc/apt/sources.list schon enthalten. Da bei Debian die SSH-Keys und die Keys zum verifizieren der Pakete geändert wurden, sind die mitgelieferten nicht mehr aktuell. Ein apt-get update bringt zumindest bei mir folgenden Fehler:
icybox:/# apt-get update Get:1 http://ftp.de.debian.org etch Release.gpg [386B] ... Fetched 1B in 1s (1B/s) Reading package lists... Done W: There is no public key available for the following key IDs: B5D0C804ADB11277 W: You may want to run apt-get update to correct these problems
Dies kann folgendermaßen behoben werden
# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys B5D0C804ADB11277 # apt-key add /root/.gnupg/pubring.gpg # apt-get update
Anstelle des Keys B5D0C804ADB11277 sollte natürlich der eingetragen werden, welcher oben angemeckert wurde.
Danach sollten die Sourcen und Schlüssel wieder auf Stand sein und das System kann mit einem
apt-get upgrade apt-get dist-upgrade
auf Stand gebracht werden.
- Das ganze kann dann noch ein in kleines Skript (z.B. /mnt/ide1/public/debian/start_debian.sh) gepackt werden
#!/bin/sh CWD=`pwd` cd /mnt/ide1/public/debian/ mount -t proc none ./proc mount -t sysfs none ./sys mount -t usbfs none ./proc/bus/usb usr/sbin/chroot ./ /bin/bash cd $CWD exit
- Debian automatisch beim Reboot starten
Damit die Debian-Umgebung nach dem Reboot der NAS wieder zur Verfügung steht, kann z.B. unter /mnt/ide1/public/applications/ ein Verzeichnis custom-boot angelegt werden. In diesem Verzeichnis wird eine Datei init angelegt
#!/bin/sh HD_MNT_POINT=$(cat /usr/sausalito/codb/objects/1/Disk.rootdir 2> /dev/null) CWD=$HD_MNT_POINT/public/applications/custom-boot # start debian /bin/sh /mnt/ide1/public/debian/start_debian.sh &
Sollen automatisch Programme in der Debian-Chroot Umgebung gestartet werden, wie z.B MySQL, Apache oder sonstwas, kann das obige Skript start_debian.sh um z.B. folgendes erweitert werden
/mnt/ide1/public/debian/usr/sbin/chroot ./ /bin/bash -c "/etc/init.d/lighttpd start"
Dadurch werden beim Start der NAS automatisch alle auf diesem Weg eingetragenen Applikationen gestartet.
Wer will, kann sich auf diesem Weg auch ein Shell-Skript mit den benötigten Stop-Skripten schreiben.
Quellen: nas-2000-wiki - eigtl. noch das hier, das wird aber für die Installation nicht benötigt. Danke auch an die "Vorschreiber", die mich zu diesem Schritt inspiriert haben. Weitere Beispiele: [4], [5]
Wer auf die ICY 4220 per FTP zugreifen will kann das wie folgt tun
Im Webinterface der ICY zunächst den FTP enablen und einen Port zuweisen ( STANDART 21 ). Es geht aber auch jeder andere z.B. 6666 (solange die Ports auf der IP frei sind).
der FTP Login währe dann Accountname:DeinPW
die Syntax würde dann lauten:
ftp://admin:DeinPW@DeineICY-IP:Port ftp://admin:ganzgeheim@192.168.0.*:6666 << Beispiel für direktsyntax
Es ist zu unterscheiden ob man innerhalb seines eigenen LANs zugreift oder per Internet. Je nachdem muss man die DHCP oder Selbstzugewiesene IP nutzen, ODER Die ISP IP.
zum Einfügen in FTP Client / Browser
Wer seine ICY BOX per FTP über einen nicht lokalen Punkt erreichen will, muss den FTP port in seinem Router zunächst fest auf die IP der ICY BOX binden. Nur so kann die NEGOTATION funktionieren.
Als FTP Clienten kann ich FlashFXP (einfach) oder FTPRush (sehr ausführlich) empfehlen.
Manko am FTP auf der 4220 ist momentan (25.12.07) das kein SSL/TLS möglich ist.
Externer FTP Zugriff auf ein NAS-System mit einem Routern (Voraussetzung: DynDNS)
Ausgangslage
Es soll möglich sein, das NAS über das Internet von "außen" zu erreichen.
Lösung
Die erste Vorraussetzung ist eine Dyndns Adresse. Da sich die IP-Adresse des Anschlusses
normalerweise bei jedem Reconnect ändert empfiehlt es sich, die dyndns Adresse auf den
Anschluss zu mappen. Dies unterstützt jeder moderne Router.
Anschließend muss ein "port forwarding" aktiviert werden. Die Ports 20 und 21 müssen auf die IPAdresse
des NAS weitergeleitet werden. Jetzt sollte ein Zugriff möglich sein.
WICHTIG: Da die Verbindung über NAT/PAT geführt wird, müss im FTP Client der "passive
mode" aktiviert werden.
Externer FTP Zugriff auf ein NAS-System mit zwei Routern (Voraussetzung: DynDNS)
Diese Beschreibung sollte mit sämtlichen NAS-Geräten laufen!
Ausgangshardware
- Fritz!Box Fon
- Belkin N1 Vision
- NAS-4220
Auf beiden Geräten ist die Routerfunktion aktiviert.
Das Problem:
Kein FTP Zugriff auf NAS-4220 von außerhalb.
Lösung:
Fritz!Box Fon behält Einstellung als DSL-Modem + Router
Belkin N1 Vision wird als "Access Point" betrieben. Er verliert die Möglichkeit als Firewall und
Router zu fungieren.
Einstellung:
- Fritz!Box Fon hat z.B. die IP: 100.0.0.1 (DHCP muss deaktiviert sein) + Menüpunkt: DynDNS
muss aktiviert sein inkl. Zugangsdaten
- Belkin N1 Vision folgedessen die IP: 100.0.0.2 (In diesem Beispiel hat sich das Gerät die IP
automatisch zugewiesen)
- NAS-4220 bekommt manuell folgende IP: 100.0.0.3 (DHCP muss deaktiviert sein) + FTP-Server
muss aktiviert sein ; Port: 21
- Weitere Geräte die am "Access Point" (Belkin N1 Vison) angeschlossen werden, müssen alle
manuell eine IP zugewiesen bekommen !
Im Abschluss müssen noch die PORTS freigegeben und weitergeleitet werden:
In unserem Beispiel wäre das:
Fritz!Box Fon -> Port 21 an IP 100.0.0.3
Fritz!Box Fon -> Port 20 an IP 100.0.0.3
Wenn alles eingestellt und aktiviert wurde, erscheint bei eingabe der DynDNS die Log-In
Möglichkeit auf den Server.
ftp://mydyndns
Links
[Thema im Forum]
-> Es kann gut möglich sein, dass eine automatische IP-Vergabe von der Fritz!Box auch
funktioniert. Hierbei müsste dann beachtet werden, dass bei allen angeschlossenen Geräten der
DHCP-Service aktiviert.
Diese Anleitung wurde mit Hilfe von folgenden Personen ermöglicht,
bei denen ich mich nochmals auf diesem Weg bedanken möchte:
gmeyer
anobienkiller
© KurdtDC
Verlagerung des /system-Filesystems auf USB-Stick - Lösung des Spindown-Problems
Die 4220 hat ja bekanntlich Probleme mit dem Spindown, da irgendwelche Systemprozesse zyklisch die Platten nutzen. Bei einem Basis-System ohne zusätzliche Packages sind es zu 99% Zugriffe auf das /system-Filesystem, die den Spindown verhindern. Eine mögliche Lösung besteht daher darin, das /system-Filesystem auf einen USB-Stick auszulagern, einer kleiner Stick (>=64MB) reicht dafür aus. Alle Modifikatonen sind als "root" über telnet oder ssh durchzuführen.(sollte der telnet-Server nicht laufen, kann man ihn per WEB über http://ip-der-box/cgi/telnet/telnet.cgi aktivieren):
USB-Stick vorbereiten
USB-Stick einstecken, der Stick sollte automatisch als /dev/sda1 erkannt und unter /mnt/usb1 gemountet werden. Dies kann man mit "mount" prüfen.
USB-Stick mit ext3 formatieren:
- umount /dev/sda1
- mke2fs -j /dev/sda1
- mount /dev/sda1 /mnt/usb1
nun muss das /system-Filesystem unter Beibehaltung aller Rechte auf den Stick kopiert werden. Das macht man am Besten mit tar:
- (cd /system; tar cf - .) | (cd /mnt/usb1; tar xf -)
Mount-Patch
Damit beim nächsten Reboot nicht /dev/md0 sondern /dev/sda1 als /system gemountet wird, hilft ein Script von streuspeicher (danke noch einmal) aus dem Forum weiter. Er benutzt dazu die Package-Erweiterung der aktuellen Firmware. Hier kann man auch gleich die Spindown-Anweisungen für die Platten einbauen (fett):
- cd /mnt/md1/public/applications (bzw. cd /mnt/ide1/public/applications bei non-Raid)
- mkdir usb-system
- chmod 777 usb-system
- cd usb-system
- vi init
Der vi Editor öffnet sich und es soll die Datei "init" geschrieben werden. Durch drücken von "i" kann man nun etwas eingeben oder einfügen. Einfach diese Zeilen im vi einfügen.
HD_MNT_POINT=$(cat /usr/sausalito/codb/objects/1/Disk.rootdir 2> /dev/null) CWD=$HD_MNT_POINT/public/applications/usb-system exec $CWD/do-init >> $CWD/init.log 2>&1
Danach drückt man Escape und gibt einen Doppelpunkt ein ":". Man kann nun ein Kommando abgeben. Hier ein "w" für write. Nochmal ":" und "q" zum beenden. Das selbe nun mit der folgenen Datei.
- vi do-init
echo "------ START $(date) -----"
USB_MNT_POINT=/mnt/usb1
USB_DEV=/dev/sda1
echo "checking $USB_MNT_POINT ..."
if [ -e $USB_MNT_POINT/ImageInfo ]; then
echo "remounting /system ..."
cd /
umount /system
if [ $? != 0 ]; then
echo "ABORTED: Failed to unmount old /system."
exit
fi
mount $USB_DEV /system
echo "DONE: Your NAS system is now running from USB stick:"
echo "set spindown of /dev/hda and /dev/hdb to 10 minutes ..."
hdparm -S120 /dev/hda /dev/hdb
else
echo "ABORT: Found no USB device with valid system."
fi
- chown root:root *
- chmod 777 *
- reboot
Anmerkungen:
- die Beschreibung geht von einem System mit 2 RAID-Platten aus, bei dem die Partitionen normalerweise als /dev/md0 (/system) bzw. /dev/md1 (/mnt/md1) gemountet werden. Für Systeme mit einer Platte sind kleinere Anpassungen notwendig (z.B. /dev/ide1 statt /dev/md0).
- Manche Platten können kein Spindown. Manche können keine Spindown-Zeiten von <10Minuten, in diesem Fall muss man mit den Werten bei "hdparm -Sxx ..." etwas spielen.
- Mit "hdparm -C /dev/hda" bzw. "hdparm -C /dev/hdb" kann der aktuelle Zustand der Platten geprüft werden.
- Nach einem Reboot der Box ohne den modifizierten USB-Stick oder mit einem anderen USB-Stick ist alles wieder wie vorher.
- installierte Zusatzpakete (ssh, webserver, ...) können den Spindown ggf. auch verhindern. In diesem Fall sind evtl. weitere Schritte erforderlich.
- alle Konfi-Änderungen landen auf dem USB-Stick und bleiben auch nach einem Reboot (mit Stick) erhalten. Wer seine Änderungen auch auf Platte haben will, muss ohne den Stick booten, die Einstellungen ändern, und dann erneut kopieren (oder die Änderungen noch einmal machen).
- Die alte Lösung mit dem Shell-Script SpindownFix.sh (beschrieben z.B. hier ) sollte nicht mehr verwendet werden.
- Wer Interesse daran hat, welche Zugriffe die Platten aufwecken sollte mal hier schauen.
- Ein Firmware-Update muss in jedem Fall ohne USB-Stick durchgeführt werden. Danach sollte der Stick neu "betankt" werden (falls der Workarround dann überhaupt noch nötig ist).
Wiederherstellung eines defekten NRAID-Systems (SPAN) -> Möglichkeit 01
Vorbereitungen
- Hardware: Samsung HD501LJ
- Raid Level: SPAN
- File System: EXT3
- Software: Ubuntu 7.10 Desktop I386
- Backup-Hardware: PC inkl. 2x SATAII Anschluss und 500gb Extern (USB 2.0)
Problem: „The disk occur wrong. Please power off and exchange disk“
Um die Daten aus dem SPAN-Modus zu sichern gehe wie folgt vor:
1. Lade dir die kostenlose Live-CD „Ubuntu“ unter folgendem Link runter:
http://cdimage.ubuntu.com/xubuntu/releases/7.10/release/xubuntu-7.10-desktop-i386.iso
(für ähnliche Live-Linux-CD´s:)
http://www.linuxscrew.com/2007/10/08/linux-and-unix-live-cds-list/
Brenne anschließend das Image auf einen normalen CD-Rohling.
2. Fahre deinen Rechner herunter und ziehe die Kabel von jeder unnötigen Festplatte ab um vor Fehlern vorzubeugen.
3. Schließe die Festplatten aus deinem NAS-Gehäuse an deinen PC an, vorzugsweise an einem SATA-Anschluss
Wiederherstellung
4. Schalte den PC ein und starte „Ubuntu“ von der zuvor gebrannten CD. (Kurz nach dem Start, drücke „F8“ um das Boot-Laufwerk zu wählen)
5. Wähle die Sprache mit „F2“
6. Starte dann Linux (Ubuntu)
Und jetzt kommen wir zum eigentlich Teil der Rettung:
7. Starte die „Console“, links oben zu finden: „Programme“ ; „Zubehör“ ; „Terminal“
8. Gebe "sudo su" (ohne ") in der Console ein, dann erhälst du die Rechte als admin (root).
Der Anfang des Terminals sollte nun so aussehen:
root@ubuntu:
9. Gebe jetzt den Befehl „apt-get install mdadm“ ein,
somit wird das wichtige Tool „mdadm“ installiert.
10. Mit folgendem Befehl werden die SPAN-Partitionen ermittelt, das sind überlicherweise die "großen“ Partitionen:
fdisk -l /dev/sda“ und anschließend „fdisk -l /dev/sdb
Nun stellt sich nur noch die Frage nach der Reihenfolge.
Diese soll Schritt 11 klären.
Dort sollte deshalb stehen:
11.a. Device Boot Start End Blocks Id System
/dev/sda3 1 60736 487861919+ ed Unknown
/dev/sda4 60737 60801 522112+ 82 Linux swap / Solaris
11.b. Device Boot Start End Blocks Id System
/dev/sdb1 1 7 56227 fd Linux raid autodetect
/dev/sdb2 8 14 56227+ fd Linux raid autodetect
/dev/sdb3 15 60736 487749465 fd Linux raid autodetect
/dev/sdb4 60737 60801 522112+ 82 Linux swap / Solaris
Die Ausgabe gibt Hinweise auf die Reihenfolge für Schritt 14.
Vermutlich ist aber auch die Partition, bei der "Linux raid autodetect" steht, die Erste.
(In diesem Fall also /dev/sdb3)
12.a. Durch Eingabe von „mdadm --examine /dev/sda3“ müsste diese Info angezeigt werden:
mdadm: No md superblock detected on /dev/sda
(Zur Info: „SDA“ und „SDB“ sind Teile des damaligen SPAN´s die zusammen eine Festplatte im NAS ergeben)
In Diesem Fall ist der „Superblock“ des ersten Teils des SPAN´s beschädigt.
12.b. Falls eine andere Meldung erscheint, teste auch diesen Befehl:
mdadm --examine /dev/sdb3
Wenn keiner der Befehle die Meldung „mdadm: No md superblock detected on /dev/...“ anzeigt, breche den Rettungsvorgang ab, ansonsten gehe zu Schritt 13.
13.a. Tippe nun den folgenden Befehl in die Konsole ein:
mount
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw,mode=0755)
tmpfs on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw,mode=0755)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
/dev/hdd on /media/我的光盘 type iso9660 (ro,nosuid,nodev,uid=999,utf8)
/dev/sda3 on /media/disk type ext3 (rw,nosuid,nodev)
Falls in dem jetzigen Auszug die letzte Zeile erscheint, fahre dann wie folgt vor, ansonsten überspringe 13.b.
13.b. Gebe den Befehl in die Konsole ein:
umount /media/disk
14. Der jetzige wichtige Befehl soll dafür sorgen, dass das vorherige RAID (SPAN) wiederhergestellt wird:
mdadm --create /dev/md1 --verbose --level=linear --raid-devices=2 /dev/sdb3 /dev/sda3
15. Der Befehl "cat /proc/mdstat" müsste dann schließlich dieses Ergebnis anzeigen:
Personalities : [linear] md1 : active linear sda3[1] sdb3[0] 975611200 blocks 64k rounding
md0 : active linear sdb1[0] sdb2[1] 112256 blocks 64k rounding
unused devices: <none>
! Die angezeigten Zahlen können abweichen, hier wurden mit 500gb Festplatten gearbeitet !
16. Abschließend erstellen wir jetzt neue Ordner und „mounten“ diese, damit die Daten aus den zu rettenden Festplatten angerufen werden können.
mkdir /mnt/xxx mount /dev/md1 /mnt/xxx
Der Name „xxx“ steht für den zu erstellenden Ordner.
17.a. Bei erfolgreicher Durchführung ohne Fehlermeldung bitte wie folgt fortfahren.
Mit dem Befehl „mount“ sollte die gemountete Festplatte angezeigt werden:
z.B. so
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw,mode=0755)
tmpfs on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw,mode=0755)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
/dev/hdd on /media/我的光盘 type iso9660 (ro,nosuid,nodev,uid=999,utf8)
/dev/md1 on /mnt/xxx type ext3 (rw)
Die letzte Zeile bestätigt die erfolgreiche Durchführung.
Auslesen der Daten
17.b. Mit dem Befehl „ls -als /mnt/xxx“ werden die damals angelegten Benutzer des NAS angezeigt.
z.B. so
insgesamt 60 (Ordneranzahl, in unserem Fall) 4 drwxr-xr-x 9 root root 4096 2007-11-28 20:32 .
0 drwxr-xr-x 3 root root 60 2008-01-01 21:05 ..
4 drwxrws--x 22 500 users 4096 2007-11-28 15:42 admin
8 -rw------- 1 root root 6144 2007-11-25 23:32 aquota.group
8 -rw------- 1 root root 8192 2007-11-25 23:32 aquota.user
4 drwxrwxrwx 4 505 users 4096 2007-12-19 00:13 hans (Beispiel)
4 drwxrwxrwx 3 501 dhcp 4096 2007-11-22 14:34 guest-share
4 drwxrwxrwx 3 502 users 4096 2007-12-19 00:13 peter (Beispiel)
16 drwx------ 2 root root 16384 2007-11-22 14:31 lost+found
4 drwxrwxrwx 3 503 users 4096 2007-11-23 04:58 hubert (Beispiel)
4 drwxrwxrwx 6 root root 4096 2007-12-19 20:46 public
17.c. Bei Interesse kann man die einzelnen Unterordner auch mit diesem Befehl durchsuchen:
ls -alsR /mnt/xxx | more, mit <Space> weiter
18. Jetzt können wir gleich mit dem kopieren der Daten anfangen, aber zuerst benötigen wir auch Admin-(Root) Rechte im Dateimanager, dies machen wir wie folgt:
18.1 „ALT+F2“ drücken und die Befehlszeile: „xterm“ eingeben und „ENTER“ drücken
18.2 „sudo su“ in die Konsole eingeben und mit „ENTER“ bestätigen
18.3 „nautilus“ in die Konsole eingeben und mit „ENTER“ bestätigen Jetzt öffnet sich automatisch der Dateibrowser mit "ROOT"-Rechten
19. Einen zweiten Dateibrowser, ausreichend mit dem Befehl wie in 18.3 beschreiben öffnen und dann die zu sichernden Daten jeweils kopieren.
Diese Anleitung wurde mit Hilfe von folgenden Personen ermöglicht,
bei denen ich mich nochmals auf diesem Weg bedanken möchte:
gmeyer
Nafi
hypfvieh
© KurdtDC
Wiederherstellung eines defekten NRAID-Systems (SPAN) -> Möglichkeit 02
Der NAS-4220 arbeitet mit manchen Festplatten bekanntermaßen nur sehr unzuverlässig. Deswegen kann es besonders bei solchen Fehlkonfigurationen nötig sein, die im SPAN-Verbund zusammenhängenden Datenträger extern zu sichern. Leider gestaltet sich das aufgrund der Speicherungsart nicht so einfach, wie zum Beispiel bei einer JBOD-Konfiguration. Die Platten können nicht einfach an einen anderen Computer angesteckt und ausgelesen werden. Hier soll dieses Tutorial weiterhelfen.
Vorbereitungen
Benötigt wird ein NAS-4220 konfiguriert mit zwei Festplatten im SPAN-Verbund. (Thank you Captain Obvious.) Desweitern braucht man einen PC mit zwei SATA-Anschlüssen und zwei SATA-Kabeln, sowie optimalerweise eine externe Festplatte mit genug Platz, um die Daten zu sichern. Auf der Softwareseite kommt eine beliebige Linux-Live-CD zum Einsatz, in diesem Tutorial wird die bewährte Knoppix-Distribution verwendet, die bereits alle benötigten Tools mitbringt. Nun müssen die Festplatten aus dem NAS-4220 ausgeschraubt, in den PC gebaut und angeschlossen werden. Sinnvoll wäre es an dieser Stelle auch, alle vorhanden Systemfestplatten des PCs auszubauen, um später auf keinen Fall einen Datenverlust zu riskieren. Ist das geschehen, muss nur noch die Live-CD gebootet werden.
Wiederherstellung
Wenn der Start der Live-CD abgeschlossen ist, öffnet man ein Terminal. In Knoppix geschieht das durch den Klick auf das schwarze Computer-Display in der Startleiste unten. Da viele der folgenden Befehle Root-Rechte benötigen, sollte man diese dauerhaft aktivieren. Dies geschieht durch die Eingabe des Befehls
sudo su
Danach müssen noch zwei Module geladen werden, die vor der eigentlichen Wiederherstellung gestartet sein sollten
modprobe md modprobe raid1
Jetzt wird ein genauerer Blick auf die beiden Festplatten riskiert
fdisk -l /dev/sda fdisk -l /dev/sdb
In meinem Beispiel kommt es zu folgender Ausgabe
Platte /dev/sda: 500.1 GByte, 500107862016 Byte 255 Köpfe, 63 Sektoren/Spuren, 60801 Zylinder Einheiten = Zylinder von 16065 x 512 = 8225280 Bytes Gerät boot. Anfang Ende Blöcke Id System /dev/sda1 1 7 56227 fd Linux raid autodetect /dev/sda2 8 14 56227+ fd Linux raid autodetect /dev/sda3 15 60736 487749465 fd Linux raid autodetect /dev/sda4 60737 60801 522112+ 82 Linux Swap / Solaris
und
Platte /dev/sdb: 500.1 GByte, 500107862016 Byte 255 Köpfe, 63 Sektoren/Spuren, 60801 Zylinder Einheiten = Zylinder von 16065 x 512 = 8225280 Bytes Gerät boot. Anfang Ende Blöcke Id System /dev/sdb3 1 60736 487861919+ fd Linux raid autodetect /dev/sdb4 60737 60801 522112+ 82 Linux Swap / Solaris
Die Partitionen /dev/sda3 und /dev/sdb3 sind die größten, erkennbar am Wert in der "Blöcke"-Spalte und beinhalten so höchstwahrscheinlich den SPAN-Bereich. Um auf die Daten in diesem Bereich zugreifen zu können, wird das Tool mdadm genutzt. Dieses ermöglicht die neue Zusammensetzung des RAID-Verbundes. Der nächste Befehl lautet dementsprechend
mdadm --assemble /dev/md0 /dev/sda3 /dev/sdb3
Wenn alles gut gegangen ist, erscheint als Ausgabe nun
mdadm: /dev/md0 has been started with 2 drives
Die Reihenfolge der beiden Partitionen ist hier übrigens egal.
mdadm --assemble /dev/md0 /dev/sdb3 /dev/sda3
hätte hier das gleiche Ergebnis zufolge gehabt. Wichtig ist nur, dass die beiden richtigen Partitionen ausgewählt wurden.
Auslesen der Daten
Zwar sind die Daten nun im Pfad /dev/md0 zusammen gesetzt worden, dieser muss nun aber noch "gemounted", sprich zugreifbar gemacht werden. Dafür muss zunächst ein Ordner im /media-Verzeichnis angelegt werden. In diesem Beispiel wird der Ordner einfach "raid" genannt.
mkdir /media/raid
In diesen neu angelegten Ordner wird nun /dev/md0 gemounted.
mount /dev/md0 /media/raid
Nun kann man mit dem Konqueror (der blaue Globus in der Startleiste) durch die Eingabe von
/media/raid
in der Adressleiste auf die Daten zugreifen, um sie zum Beispiel auf eine externe Festplatte zu sichern.
Diese Möglichkeit hat "Eanor" (leider mir unbekannt) erstellt und erfolgreich getestet. Ich (KurdtDC) habe mir erlaubt dies auch in unserer Kategorie "Kurzanleitungen" zu veröffentlichen.
Daher geht der Dank auch Mr. Eanor, Vielen Dank dafür. Für weitere Möglichkeiten oder Verbesserungsvorschläge wird gebeten.

