Wechelmedium automatisch ein und ausbinden

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 26.09.2010 13:56:00

Wie binde ich am besten ein Hotplug Sata Platte mit Wechselrahmen ein und aus ?

mit udev oder hal ?

Es soll eine Backupplatte sein an einem Server, am besten soll gleich noch rsync mitstarten, jedoch weiß ich noch nicht wie ich am besten dann einem windowsclient mitteile, dass das backup fertig ist. Für Ideen wäre ich dankbar :)

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Danielx » 26.09.2010 16:05:34

Tegger hat geschrieben:mit udev oder hal ?
UDEV zum Einhängen und zum Starten deines rsync-Skripts.
Das Aushängen lässt du dann durch dein rsync-Script erledigen.

Gruß,
Daniel

pferdefreund
Beiträge: 3800
Registriert: 26.02.2009 14:35:56

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von pferdefreund » 27.09.2010 09:29:19

und mit irgend einem Samba-Tool kann man Windows-messages
verschicken - kann dann auch das rsync-Script erledigen

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 29.09.2010 14:47:04

wie mounte ich mit udev ?
also wie erstelle ich die rule richtig ?

Code: Alles auswählen

[  245.874196] ata3: exception Emask 0x10 SAct 0x0 SErr 0x4090000 action 0xe frozen
[  245.874467] ata3: irq_stat 0x00400040, connection status changed
[  245.874626] ata3: SError: { PHYRdyChg 10B8B DevExch }
[  245.874789] ata3: hard resetting link
[  246.596550] ata3: SATA link down (SStatus 0 SControl 300)
[  251.596541] ata3: hard resetting link
[  251.901551] ata3: SATA link down (SStatus 0 SControl 300)
[  251.901720] ata3: limiting SATA link speed to 1.5 Gbps
[  254.747380] ata3: hard resetting link
[  260.100543] ata3: link is slow to respond, please be patient (ready=0)
[  260.865554] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[  260.882689] ata3.00: configured for UDMA/133
[  260.882847] ata3: EH complete

debianoli
Beiträge: 4174
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von debianoli » 29.09.2010 14:53:12

Vielleicht hilft dir dieses Tool weiter (hab ich aber noch nie selber getestet)

http://linux.softpedia.com/progScreensh ... 51057.html
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 29.09.2010 15:14:35

danke, hab jedoch keinen xserver laufen auf dem Teil.

also es ist wohl ein
SUBSYSTEM=="block", KERNEL=="sd*[0-9]", ENV{ID_SERIAL_SHORT}=="xxxx"

in die richtung, jedoch wie gebe ich da jetzt den mountpunkt an, dass es auf media/backup mountet....

Clio

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Clio » 29.09.2010 15:49:33

Vielleicht hilft das weiter, ist zwar schon etwas älter aber gut erklärt.
Die zweite Seite dürfte Dich interessieren:
http://www.linux-community.de/Internal/ ... ffset%29/2

klinux
Beiträge: 49
Registriert: 20.07.2005 13:02:14

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von klinux » 29.09.2010 17:53:47

Hallo,

ich nutze für solche Fälle Debianivman (alt, bei Stable) bzw. Debianhalevt (bei Testing).

Viele Grüße

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 30.09.2010 12:17:54

Clio hat geschrieben:Vielleicht hilft das weiter, ist zwar schon etwas älter aber gut erklärt.
Die zweite Seite dürfte Dich interessieren:
jou... es wird somit zum /dev/"Name" den man in der udev rule vergeben hat, das war das fehlende stückchen

jetzt fehlt nur noch ne "Backup fertig" meldung...mir kam schon zwischenzeitlich so ne art statuspage per apache oder so...wobei ich dann extra apache installieren müsste

shakky4711
Beiträge: 215
Registriert: 09.09.2009 13:33:17

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von shakky4711 » 30.09.2010 12:35:02

mir kam schon zwischenzeitlich so ne art statuspage per apache oder so...wobei ich dann extra apache installieren müsste
Wozu der Supertanker wenn das Gummiboot genügt, schau Dir mal webfs an, ist perfekt für so etwas

Code: Alles auswählen

This is a simple http server for purely static content.  You can
use it to serve the content of a ftp server via http for example.
It is also nice to export some files quickly by starting an http
server in a few seconds without editing a config file first.

Features/Design:
================
 * single process: select() + non-blocking I/O
 * automatically generates directory listings when asked for a
   directory (check for index.html available as option), caches
   the listings.
 * no config file, just a few switches.  Try "webfsd -h" for a
   list.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Danielx » 30.09.2010 12:37:34

pferdefreund hat geschrieben:und mit irgend einem Samba-Tool kann man Windows-messages
verschicken - kann dann auch das rsync-Script erledigen
Debiansmbclient
http://blog.christianjaeckle.de/2009/05 ... pc-senden/

Gruß,
Daniel

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 30.09.2010 17:43:58

also das mit dem smbclient läuft nicht

jedoch läuft auch irgendwie der "RUN" nicht, mein mount backup umount skript funktioniert manuell, jedoch nicht automatisch im RUN

daneben hab ich noch das Problem, dass ich mir jetzt garnicht sicher bin was eigentlich /dev/backup ist. weil /dev/sde ist eigentlich die platte und /dev/sde1 die Partition, jedoch lässt die die Partition nicht mounten.
jedoch sind die daten im backup da und es wird auch nicht / beschrieben....check ich grad mal garnicht, was das jetzt passiert

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Danielx » 30.09.2010 17:47:59

Zeig uns doch erstmal, was du gemacht hast.

Gruß,
Daniel

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 30.09.2010 17:59:34

Im Eigentlichen nur das

Code: Alles auswählen

0:~# cat /etc/udev/rules.d/96-hotplug.rules 
SUBSYSTEM=="block", KERNEL=="sd*[0-9]", ENV{ID_SERIAL_SHORT}=="S09QJ1UL500XXX" NAME="backup" RUN="sh /root/backup.sh"

0:~# cat /root/backup.sh 
#!/bin/sh
# Einfaches Backup
mount /dev/backup /media/backup/
mount 192.168.123.215:/RAID /media/nfs/
rsync -a /media/nfs/ /media/backup/
umount /media/backup
umount /media/nfs
0:~# 

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Colttt » 30.09.2010 20:58:22

http://wiki.debianforum.de/Bacula#Festplatten_einlesen
das sollte das sein was du suchst.. ;)

wenn du noch fragen dazu hast, immer her damit
Debian-Nutzer :D

ZABBIX Certified Specialist

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 30.09.2010 21:25:39

ja das macht sinn, jedoch ist meine aktuelle liste auch

/dev/backup: UUID="a940cbf1-c6d7-4653-86db-da5fea65e464" SEC_TYPE="ext2" TYPE="ext3"

dabei....also überschreibe ich wohl mit meiner regel die vorherige beziehung mit /dev/sde
der Ordnung und der eventuellen später besseren Auslesbarkeit werde ich die UUID Methode anwenden

Danke für den link

EDIT:

die /dev/backup ist /dev/sde1 wenn ich die regel wieder entnehme kann ich /dev/sde1 mounten

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 30.09.2010 21:55:34

irgendwie führt das jedoch zum Problem dass mit

ENV(ID_FS_UUID)=="a940cbf1-c6d7-4653-86db-da5fea65e464", RUN+="/bin/sh /root/backup.sh"

als 70-backup.rules die backup.sh in einer endlosschleife läuft

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Danielx » 02.10.2010 11:23:37

Tegger hat geschrieben:als 70-backup.rules die backup.sh in einer endlosschleife läuft
Sicher?
Wie hast du das überprüft?

Probiere doch erstmal folgende Regel mit dem zugehörigen Skript, welches dir auch entsprechende Zeitstempel erzeugt, falls die entsprechenden Befehle erfolgreich waren:
  • UDEV-Regel:
    /etc/udev/rules.d/70-backup.rules

    Code: Alles auswählen

    SUBSYSTEM=="block", ENV{ID_FS_UUID}=="a940cbf1-c6d7-4653-86db-da5fea65e464", RUN+="/bin/sh /usr/local/bin/backup.sh"
  • Test-Skript:
    /usr/local/bin/backup.sh

    Code: Alles auswählen

    #!/bin/sh
    {
    touch /tmp/timestamp_begin_$(date +%Y_%m_%d_%H:%M:%S)
    /bin/mount /dev/disk/by-uuid/a940cbf1-c6d7-4653-86db-da5fea65e464 /media/backup && touch /tmp/timestamp_mount_$(date +%Y_%m_%d_%H:%M:%S)
    sleep 30;
    umount /mnt/backup && touch /tmp/timestamp_umount_$(date +%Y_%m_%d_%H:%M:%S)
    touch /tmp/timestamp_end_$(date +%Y_%m_%d_%H:%M:%S)
    } &
Pfade /usr/local/bin/backup.sh, /media/backup, u.s.w. ggfs. anpassen und vorher die bisherige UDEV-Regel wieder deaktivieren.

Damit kannst du schonmal testen, ob das Skript ausgeführt wird und wenn ja, welche Befehle wann erfolgreich ausgeführt wurden.
Wichtig ist, dass das Skript abgetrennt wird (hier: { } &), damit es nicht die weitere Ausführung von UDEV blockiert, solange das Skript läuft.

Sollte das Test-Skript funktionieren, dann kannst du das sleep ersetzen, z.B. durch:

Code: Alles auswählen

mount 192.168.123.215:/RAID /media/nfs/
rsync -a /media/nfs/ /media/backup/
umount /media/nfs
Evtl. jeweils eigene Zeitstempel einbauen, wenn dich das interessiert.

Gruß,
Daniel

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 03.10.2010 23:00:22

ich konnte /media/nfs nicht mehr ausbinden, somit mit ps -ef nachgeschaut. Dort war rsync 3x aktiv, und wurde immer wieder neu gestartet. mittels mount konnte ich sehen, dass die platte ständig gemountet und ausgebunden wird, somit sieht das nach Endlosschleife aus.

irgendwas scheint mit rsync nicht zu stimmen, die batch mit sleep funktioniert soweit, auch mehr mal hintereinander, Wenn ich jetzt noch die nfs mounte und rsync ausführe kommt nur quatsch dabei raus, rsync ist wieder 3x aktiv und speichert jetzt im root, da die wechelplatte nicht gemountet ist, jedoch noch die nfs....

EDIT:

also sobald rsync in der batch mit drin ist, wirds zu einer endlosschleife..... warum auch immer

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Colttt » 04.10.2010 10:17:52

mach mal eine neue konsole auf und beobachte das ganze mit

Code: Alles auswählen

udevadm monitor
Debian-Nutzer :D

ZABBIX Certified Specialist

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 04.10.2010 19:18:25

sieht gut aus, jedoch wird rsync nach dem umount weiter ausgeführt, d.h. es wird in root ein backup gemacht auf der sda systemplatte...

Die Endlosschleife tritt nicht mehr auf.

Verändert habe ich eth0 von dhcp auf static. Mit dünkt auch dass es wohl ein Problem mit dem nfs mount sein könnte, da nun nach erfolgreichem Ende das Netzwerk zerschossen wird und eth0 von static auf dhcp wechselt.....

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 14.10.2010 19:56:15

das ist mein ablauf wenn ich Dateien hinzufüge und danach die platte reinschiebe....der umount wird irgendwie vor dem rsync ausgeführt und ich kanns mir nicht erklären

Code: Alles auswählen

TEST:~# cat /usr/local/bin/backup.sh 
#!/bin/sh
{
touch /tmp/timestamp_begin_$(date +%Y_%m_%d_%H:%M:%S)
/bin/mount /dev/disk/by-uuid/a940cbf1-c6d7-4653-86db-da5fea65e464 /media/backup && touch /tmp/timestamp_mount_$(date +%Y_%m_%d_%H:%M:%S)
mount 192.168.123.215:/RAID /media/nfs/
/usr/bin/rsync -a /media/nfs/ /media/backup/
/bin/umount /media/nfs
/bin/umount /media/backup && touch /tmp/timestamp_umount_$(date +%Y_%m_%d_%H:%M:%S)
touch /tmp/timestamp_end_$(date +%Y_%m_%d_%H:%M:%S)
} &
TEST:~# 

Code: Alles auswählen

TEST:~# dir -l /media/backup/
insgesamt 0
TEST:~# dir -l /media/nfs
insgesamt 0
TEST:~# dir -l /media/backup/
insgesamt 0
TEST:~# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
none on /selinux type selinuxfs (rw,relatime)
xenfs on /proc/xen type xenfs (rw)
TEST:~# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
none on /selinux type selinuxfs (rw,relatime)
xenfs on /proc/xen type xenfs (rw)
/dev/sde1 on /media/backup type ext3 (rw)
192.168.123.215:/RAID on /media/nfs type nfs (rw,addr=192.168.123.215)
TEST:~# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
none on /selinux type selinuxfs (rw,relatime)
xenfs on /proc/xen type xenfs (rw)
/dev/sde1 on /media/backup type ext3 (rw)
TEST:~# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
none on /selinux type selinuxfs (rw,relatime)
xenfs on /proc/xen type xenfs (rw)
TEST:~# dir -l /media/backup/
insgesamt 48
drwxrwxr-x  4 userle userle  4096 24. Sep 11:13 10
drwxrwxr-x  3 userle userle  4096  4. Okt 18:55 3DSCHRIFT
drwxrwxr-x 10 userle userle  4096 30. Sep 15:50 Auto
drwxrwxr-x  7 userle userle  4096 24. Sep 11:12 DVD_Rebuilder_Free_098.1
drwxrwxr-x  3 userle userle 12288 30. Sep 17:34 Good\ old\ Techno
drwxrwxr-x  3 userle userle  4096  4. Okt 18:55 Imagemagick
drwxrwxr-x  3 userle userle  4096 14. Okt 19:07 nightsdark
drwxrwxr-x  3 userle userle  4096  4. Okt 18:56 Panorama\ Bilder\ erstellen\ Autostich
drwxrwxr-x  4 userle userle  4096  4. Okt 18:56 Panorama\ Bilder\ erstellen\ EnBlend
drwxrwxr-x  2 userle userle  4096  4. Okt 18:55 XYZ
TEST:~# 

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 18.10.2010 20:46:57

Kann es sein, dass das Skript auch beim Deaktivieren der Platte ausgeführt wird und daher auch rsync ausgeführt wird, obwohl /dev/sde nicht gemountet ist ?

Tegger
Beiträge: 40
Registriert: 10.03.2007 12:43:48

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Tegger » 18.10.2010 22:50:24

Kann mir mal einer erklären warum diese if nicht funktioniert ??

Code: Alles auswählen

CHECK=`mount | grep /media/backup | awk '{print $3}'`
if [`$CHECK` == `/media/backup`]; then
/usr/bin/rsync -a --delete /media/nfs/ /media/backup/
fi

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wechelmedium automatisch ein und ausbinden

Beitrag von Danielx » 18.10.2010 23:44:37

Tegger hat geschrieben:Kann es sein, dass das Skript auch beim Deaktivieren der Platte ausgeführt wird und daher auch rsync ausgeführt wird, obwohl /dev/sde nicht gemountet ist ?
Unwahrscheinlich.
Aber warum siehst du dir dann nicht einfach die entsprechenden Zeitstempel [1] an, wenn du diesen Verdacht hast? :?
Tegger hat geschrieben:

Code: Alles auswählen

if [`$CHECK` == `/media/backup`]; then

Code: Alles auswählen

if [ "$CHECK" == "/media/backup" ];
[1] /tmp/timestamp_begin_* und /tmp/timestamp_end_*

Gruß,
Daniel

Antworten