Erreur d'écriture sur un RAID1 logiciel

Bonjour à tous !
Je me suis construit un petit serveur “home made”, dans lequel j’ai installé pour le moment 4 HDD : 21To indépendants (formatés en ext3) et 22To en RAID1 soft (via mdadm) (formatés en ext4).
Mon système (dernière image Debian en 32bits) est installé sur une clé USB, et l’ensemble fonctionne généralement très bien. Bon, j’en suis encore à peaufiner la config, la bécane n’a qu’une semaine :slightly_smiling:

Enfin bref, je rencontre un problème depuis que j’ai installé mon RAID1. Je lance des copies de fichiers depuis d’autres machines (quelques centaines de GB), et au bout d’un moment ça lâche.
Je me retrouve avec un système complètement inutilisable sur le serveur, et un affichage (console) qui me pond des erreurs du genre “EXT3-fs error (/dev/…) ext3_find_entry reading directory …” (je suis en train de me rendre compte que j’ai un peu oublié de noter quel disque était spécifié dans le message d’erreur, mais il ne me semble pas que ce soit md0, j’essaie de reproduire et je mets à jour mon message). Impossible de me logger sur aucune console, ctrl+alt+del ne fonctionne pas (affichage de INIT: cannot execute “/sbin/shutdown”), donc reboot hard obligatoire…

Pour plus de précisions sur la manip’ qui a généré l’erreur les 2 fois :
Copie d’environ 60 000 fichiers (220 GB) depuis une machine sous Windows 7 vers le serveur sous Debian (vers le RAID1 partagé via samba).
Je précise également que la copie d’un autre répertoire de 20 000 fichiers (250GB) s’est passé sans encombres, j’en arrive donc à me dire que le problème vient peut être d’un fichier, il peut y avoir des incompatibilités entre les 2 systèmes (je réfléchis en même temps que j’écris, désolé). Sauf que tous ces fichiers étaient préalablement stockés sur un NAS (DLink DNS-320), et il n’y avait aucun problème (le stockage sous Windows n’est que temporaire, le temps de déplacer quelques HDD).
Niveau connexion réseau, tout est à 1Gbps, et le serveur a 2 cartes réseau montées en load-balancing (mode 0).
Autre souci, rien n’apparait dans les logs (ou alors je regarde pas les bons : syslog et kern.log) au moment de l’erreur, ça reprend seulement après le reboot.

Je tente de reproduire le problème une 3ème fois, afin de mettre à jour les informations manquantes (notamment le HDD mis en cause).
En attendant, si quelqu’un a une idée…je suis preneur :slightly_smiling:

Merci d’avance, bonne soirée à tous !

Salut,

Bienvenue … :006

Ce que je retiens …

[quote]…
Je lance des copies de fichiers depuis d’autres machines
…[/quote]
?

Peut ont savoir comment tu pratiques ?

Graphique ?

Console ?
Le retour d’une de commande lancée serait un plus … :083

# ...

Merci pour ta réactivité, je ne pensais pas avoir une réponse dès ce soir :slightly_smiling:

Donc oui, ce n’était pas forcément très clair : les autres machines en question sont sous Windows 7, les copies sont lancées “bêtement” par un drag&drop du répertoire voulu :stuck_out_tongue: donc en graphique. A ce niveau là, je n’exécute aucune commande sur une machine non Windows, le serveur faisant, dans ce cas, office de NAS. Et lors du plantage, le service samba du serveur saute, et donc la copie s’arrête, avec un beau message d’erreur sous Windows (comme cet OS sait si bien les faire), et les messages cités précédemment sur le serveur.

Salut,

?
en rapport avec …

Que je ne connais nullement d’ailleurs.

Qu’est ce que “drag&drop” ? Un lien http … ?

Quelles sont des disques ?

Quel est le retour de ces commandes …

Drag&drop = glisser-déposer (un copier-coller au final, avec la souris).

Disque source = Caviar Black 1TB, sous W7
Disque cible = 2*Caviar Green 2TB (RAID1), volume partagé via samba, serveur Debian

Sur le serveur :
fdisk -l :

[code]Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d7188

Device Boot Start End Blocks Id System
/dev/sda1 1 243202 1953514552 fd Linux raid autodetect

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5060bb97

Device Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 83 Linux

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xde418f59

Device Boot Start End Blocks Id System
/dev/sdc1 1 121601 976760001 83 Linux

Disk /dev/sdd: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000528b8

Device Boot Start End Blocks Id System
/dev/sdd1 1 243202 1953514552 fd Linux raid autodetect

Disk /dev/md0: 2000.4 GB, 2000397713408 bytes
2 heads, 4 sectors/track, 488378348 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn’t contain a valid partition table

Disk /dev/sde: 16.0 GB, 16008609792 bytes
255 heads, 63 sectors/track, 1946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d09bb

Device Boot Start End Blocks Id System
/dev/sde1 * 1 1861 14945280 83 Linux
/dev/sde2 1861 1947 685057 5 Extended
/dev/sde5 1861 1947 685056 82 Linux swap / Solaris
[/code]

fstab :

[code]#
proc /proc proc defaults 0 0

/ was on /dev/sda1 during installation

UUID=b9f11ef7-f729-4d11-8b31-cdea31d2a982 / ext3 errors=remount-ro 0 1

swap was on /dev/sda5 during installation

UUID=ed93fb22-8783-4fa1-94e3-f1bca0c0f9bb none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0

#HDDs
#WD Caviar Green 1To1
UUID=f9169282-a696-4035-898f-c2bf8a762f6f /mnt/1To1 ext3 defaults 0 0
#WD Caviar Green 1To2
UUID=a78bbaed-c08c-4733-9920-0e553e804e53 /mnt/1To2 ext3 defaults 0 0
#RAID1 (2x WD Caviar Green 2TB)
/dev/md0 /mnt/2To_RAID1 ext4 defaults 0 0
[/code]

Quel est ton disque maître à présent … sauf erreur Debian! non (?)

rsync (le paquet) n’est-il pas ton ami … :wink:

:~$ apt-cache policy rsync rsync: Installé : 3.0.7-2 Candidat : 3.0.9-3 Étiquette de paquet : 3.0.9-3 Table de version : 3.0.9-3 999 90 http://ftp.fr.debian.org/debian/ wheezy/main i386 Packages 50 http://ftp.fr.debian.org/debian/ sid/main i386 Packages *** 3.0.7-2 999 990 http://ftp.fr.debian.org/debian/ squeeze/main i386 Packages 100 /var/lib/dpkg/status :~$

Re,

Une piste(s) … :033

sauvegardé windows avec rsync

rsync sauvegarde, synchronisation

Sans oublié notre Wiki … isalo.org/wiki.debian-fr/ind … le=Accueil pour info … :wink:

Par disque maître, tu parles du disque où est situé mon système ? C’est /dev/sde.

Par contre…quel rapport avec rsync ? Si je ne me trompe pas, c’est pour faire de la sauvegarde non ? Là je cherche juste à faire une grosse copie de fichiers, mais ce n’est pas un cas qui est sensé se présenter régulièrement.

Cela dit, j’ai relancé l’opération et ça tourne sans problèmes depuis un moment (j’en suis à environ 180GB copiés)…
Après avoir vu l’écran du serveur s’éteindre, je me demande s’il n’y a pas une histoire de mise en veille qui pourrait poser problème. Mais dans la configuration par défaut, les disques et le système ne se mettent pas en veille, si ? Puis c’est surtout pas sensé se produire alors qu’il y a une activité sur les disques…

Bon, je commence à fatiguer un peu, je reprendrai tout ça tranquillement demain matin.
Merci pour tes réponses Loreleil ! Bonne fin de soirée.

EDIT: Je confirme, rsync n’est pas ce que je recherche dans le cas présent, mais merci de m’en avoir parlé, ça me sera sans doutes très utile pour une autre situation :wink:
J’irai faire une tour sur le wiki demain, pour voir si je trouve quelque chose à propos de mon problème, mais vu que mes recherches préalables n’ont pas été très concluantes, j’ai des doutes sur la question…

Alors, l’erreur s’est reproduite pendant la nuit. Et les messages affichés par le serveur ne mettent finalement pas en cause le RAID, mais mon disque système, qui est une clé USB.

sde1 est mon disque système.

Du coup, je sais pas si il y a un rapport avec le RAID, mais ces erreurs ont commencé à apparaitre juste après l’avoir configuré.

Enfin le mystère reste entier pour le moment… je vais continuer à chercher, mais si je trouve rien rapidement, je vais partir sur une autre distro, voir si ça fait pareil avec la même config…

EDIT: En fait, ça fait un peu comme si l’USB sautait à un moment…je vais essayer de débrancher la clé usb pendant que le système tourne, pour voir si ça fait la même erreur. Dans ce cas, quelle serait la cause du problème ? Mis en veille du système (non programmée, ou alors j’suis somnambule) qui ferait qu’on coup l’USB ?

Juste pour info, les mémoires flash (non SSD) ne sont pas trop prévues pour des cycles d’écriture trop fréquents.
(surtout avec les fs journalisés comme ext3/4)

Perso j’ai aussi une machine avec une clé usb comme disque système, et j’ai souvent des corruptions de filesystem.

Pour réduire cela on peut essayer de passer le filesystem en lecture seule, mais il faut adapter pas mal de choses (certains services doivent pouvoir écrire leurs fichiers dans certains dossiers)

Tu peux déjà essayer de déplacer tout ce qui est /var/log, /var/tmp, etc (les dossiers “volatiles”) en tmpfs ou sur un disque non flash.

Merci pour l’info, c’est vrai que c’est pas bête de déplacer ces dossiers… Je vais y réfléchir. Mais je ferais peut être migrer mon système vers un petit disque à plateaux à l’occasion, il me faudra juste une carte d’extension avec des ports SATA supplémentaires. M’enfin je vais quand même voir si ton idée arrange les choses, merci :slightly_smiling:

Je m’étais aussi fait un petit NAS, avec le système sur carte compact flash, mais avec une partition /var séparée sur un volume RAID, ça allège déjà pas mal les écritures sur le root / :wink:

Bon, petit retour :
Je suis passé sur une autre distro pour voir si le problème se reproduisait = ça fait maintenant une petite semaine que la machine tourne sous Ubuntu Server 12.04 sans aucun problèmes. Donc j’en déduis que ça devait être un problème de config de Debian, reste plus qu’à trouver quoi exactement. Vais essayer de reproduire l’erreur sur une autre machine, et le serveur restera sous Ubuntu pour le moment, pas la motiv’ de réinstaller un système toutes les semaines :mrgreen:
Merci à ceux qui ont contribué à cette discussion :slightly_smiling:

#agentsteel : je garde en tête ton idée de “délocalisation” de /var :wink: