[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Etch, Sata, Smartd, Udev,...



Hallo,

ich habe ein Problem mit der Kombination aus wechselnden Namen
verschiedener Geräte im Bereich sd<x>, der Überwachung von Festplatten
mittels smartd und der udev-Regelerstellung bzw. des Verwendens von
Labeln stattdessen, dass ich trotz intensivster Recherche einfach nicht
gelöst bekomme :

Debian Etch (uname -a : Linux mpc3 2.6.18-3-amd64 #1 SMP Mon Dec 4
17:04:37 CET 2006 x86_64 GNU/Linux), eine SATA-Festplatte mit
untenstehender Partitionierung, mehrere USB-Massenspeicher, die tw.
immer angeschlossen und tw. nur sporadisch aktiviert werden.

sda1 Boot Primär   W95 FAT32 (LBA)
sda5      Logisch  NTFS
sda6      Logisch  W95 FAT32
sda7      Logisch  NTFS
sda8      Logisch  Linux ext3
sda9      Logisch  Linux swap

All diese Geräte bekommen Device-Namen aus dem SCSI-Namensraum sd<x>
zugewiesen, aber selbst bei gleicher Konfiguration nicht reproduzierbar,
sondern willkürlich durcheinandergewürfelt, erst recht, wenn die Zahl
der Geräte sich verändert.
Hierfür werden i.A. 2 Lösungswege beschrieben :
1. Verwendung von Labels bzw. UUIDs zur eindeutigen Identifizierung der
Geräte/Partitionen
2. Verwendung von udev-Regeln zur eindeutigen Identifizierung der
Geräte/Partitionen

Zu 1.:
Die Verwendung von Labels funktioniert für ext3, swap und fat32 prima,
sowohl grub, als auch swapon bzw. mount kommen
damit klar. Diese Vorgehensweise scheitert jedoch bei den
ntfs-Partitionen, ein Aufruf von blkid liefert nämlich folgendes :
/dev/sda5: TYPE="ntfs"
/dev/sda7: TYPE="ntfs"
/dev/sda1: LABEL="WIN98" UUID="<...>" TYPE="vfat"
/dev/sda6: LABEL="VMS" UUID="<...>" TYPE="vfat"
/dev/sda8: LABEL="Debian" UUID="<...>" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda9: LABEL="Swap" UUID="<...>" TYPE="swap"
Auch eine Verwendung nur des TYPE-Attributs (so es denn überhaupt
möglich ist), muss scheitern, da nicht nur eine ntfs-Partition existiert.
Interessanterweise liefert /lib/udev/vol_id /dev/sda5 u.a. das folgende :
ID_FS_UUID=<...>
ID_FS_LABEL=WIN2000
Aber auch ein verwenden dieses Labels oder dieser UUID in /etc/fstab
führt nicht zum Erfolg. Scheinbar verhält sich mount so wie blkid :-(

Frage1 : Ist es möglich auch bei ntfs-Partitionen mit Label oder UUID zu
arbeiten ?

Zu 2.:
Also habe ich es mit folgender udev-Regel versucht :
BUS=="scsi", SYSFS{vendor}=="ATA", SYSFS{model}=="SAMSUNG SP2004C",
NAME{all_partitions}="sata"
und dann entsprechend sata5 usw.. in fstab verwendet : funktioniert prima !


Will man mittels smartd SATA-Platten überwachen, so gelingt dies nicht
mittels der DEVICESCAN-Zeile in /etc/smartd.conf, da dabei davon
ausgegangen wird, dass ATA-Platten hd<x> und SCSI-Platten sd<x> heissen.
SATA-Platten heissen zwar sd<x>, muessen aber dennoch wie ATA-Platten
angesprochen werden. Dies gelingt z.B. durch folgenden Eintrag in der
smartd.conf :
/dev/sda -a -d ata

Frage2 : Geht es evtl. doch automatisch, d.h. ohne explizite Angabe des
Device-Namens meiner Platte ?

Denn wie man sieht steht dort explizit /dev/sda, was natürlich nicht
immer stimmt. Ersetze ich dies durch /dev/sata aus meiner o.g.
udev-Regel, so funktioniert smartd nicht, er will den Originalnamen oder
allenfalls einen Link darauf.
Diesen kann ich erzeugen, indem ich meine udev-Regel durch folgende
ersetze :
BUS=="scsi", SYSFS{vendor}=="ATA", SYSFS{model}=="SAMSUNG SP2004C",
KERNEL=="sd?", NAME="%k", SYMLINK+="satadisk"
und dann in der smartd.conf schreibe :
/dev/satadisk -a -d ata

Jetzt funktioniert aber das mounten der ntfs-Partitionen nicht mehr.

Frage3 : Kann man die beiden udev-Zeilen irgendwie verheiraten
(/dev/sata<x> existiert und /dev/satadisk ist Link auf /dev/sd<x>) ?

Bereits eine beantwortete Frage würde mein Problem lösen, so aber muss
ich mich zwischen funktionierendem ntfs-mount und funktionierendem smart
entscheiden :-(

Tschuess..
Michael




Reply to: