# [HDD] remplacement disque / serveur

## loopx

Bonjour, 

Le disque de mon serveur à, une fois de plus, rendu l'ame  :Very Happy:     ... je fais de la récup et c'étais un bon vieux 10Go d'IBM ... IL faisait des erreurs dans le kernel ... Il fonctionne toujours, mais à fait planter plusieurs fois le serveur et dernièrement, c'est devenu trop fréquent.

J'ai un autre disque Maxtor 80Go pour le remplacement. Je l'ai coupé en deux et ai fait une partition reiserfs (comme sur l'ancien) pour y copier les fichiers de disque qui fait des erreurs. 

Bon, j'ai fais ca vite fais et c'est peut être moi le coupable, mais je trouve ca vraiment étrange quand même ... J'ai utilisé cette commande

```
cp /mnt/old/* /mnt/gentoo/ -rva 2>/root/errorcp
```

La copie se lance .. Une fois terminée, le fichier "errorcp" ne contient rien (j'étais entrain d'y attendre des données avec "less + <MAJ+F>"). Dans "dmesg" (kernel), aucune erreur non plus. Je chroot, je réinstall lilo (la partition est bien en boot). Je retire le nouveau disque dur, normalement prêt à l'emploie ... 

Je descend voir le serveur, je remet le disque (passé de "hdb" à "hda", mais reconfiguré lilo et fstab correctement .. ai déplacé "mtab" car il m'affichait des informations erronée dans le chroot (partition soit disant montée alors que non, provenait probablement du mtab car le serveur à craché et je l'ai éteind comme un sauvage).

Donc, disque dans le serveur, je boot .. Lilo est bien la, je démarre l'image que j'utilisais avant le crash => ca boot ... mais ca n'arrive pas à monter la partition linux ... Panic... Déjà, la, je comprend pas ... Pas du tout. Il faut que je précise que, au premier essais, ca avait booté, mais je dois avoir une copie de "/" sur un autre disque ... A mon avis, au premier essais, il avait booté sur "hda" puis a monté la partition d'un des autres disque contenant justement une ancienne install du serveur .. hum ... J'ai donc recommencé avec 1 seul disque (hda) pour être sur qu'on parle bien de la bonne installation et la, il veut pas monter la partoche reiserfs  :Surprised: 

Ok, je reprend le disque, le remet dans le pc et lance un check ... qui me dit que une inode est kc et qu'il ignore tout le reste ... Qu'il faut utiliser --rebuild-tree pour réparer cela ... Ok, je le fait et refait le check normal après => plus d'erreur. Je monte la partiton et la, oh .. il y a plus rien   :Laughing:  Tous les répertoires copie se trouve sous "lost et found" ... 

Bon, ok, ca arrive ... Mais, j'aimerais savoir comment c'est possible, j'avais formaté 2 heures avant et cette partition devrait bien se comporter. Est-ce que cette erreur dans le FS serait la cause probable du "root" impossible à monter (car un mount via livecd m'affichait bien les répertoires et fichier copié  :Surprised: ) ? Est-ce possible que ce problème soit du à un sous-répertoire qui serati corrompu et qui serait passé dans la copie ... et qui aurait endomagé le FS  :Surprised:  ?

Je comprend pas, je vais réessayer mais maintenant, en copie uniquement les répertoires nécessaire (et pas "*" ...) ...

----------

## anigel

Bonjour,

"cp" n'est pas vraiment adapté pour faire des migrations de systèmes. L'idéal c'est de travailler avec un outil qui ne s'occupe que des données disques, sans se laisser distraire par les "nouveautés" style udev ou sysfs. L'outil dump fait cela très bien. Il est capable de lire du ext3 par défaut, mais il existe aussi des versions adaptées à xfs ou jfs. A ma connaissance, seul reiserfs n'en dispose pas, parmi les filesystems "courants".

J'ai fait un HOWTO il y a déjà longtemps, il est dans la section documentations. Jette-y un oeil, ça devrait convenir pour ce que tu cherche à faire... Sauf si la racine de ton serveur actuel est en reiserfs bien sûr  :Wink: .

----------

## loopx

Plop, 

Oui, je sais, mais je voulais faire comme j'ai toujours fait  :Very Happy:   sauf que ca ne marchait pas .. Mais j'ai trouvé la solution, pas de panic  :Smile:  (plus)

Déjà, le problème existe parce que j'ai décidé de faire la copie via un autre pc ... or, vu que j'ai Lilo d'installé comme bootloader, j'ai aussi refait un lilo ... sur l'autre pc ... Puis, j'ai pris le disque et je l'ai placé dans le serveur ... Le kernel se charge bien, mais après, c'est la destruction du filesystem qui s'en suit ... J'ai pensé que lilo était en cause uniquement après avoir pensé que les paramètres de boot était enregistré au moment du 'lilo" (pas de lecture du fichier de config comme grub ...). J'ai alors refait toutes les partitions du disque (pour recommencer de 0), refait la copie puis, j'ai replacé le disque dans le serveur, j'ai booté sur un livecd (j'ai du utiliser un autre lecteur cd car l'autre plantait en plein milieu du boot livecd) et j'ai terminé l'install labas (enfin, la resurection : lilo et fstab).

Miracle, reboot et hop, tout est rentré dans l'ordre (niveau service), mais j'ai quand meme ce message que je n'avais jamais vu avant :

```
loopx@serveur / $ cat /etc/issue

-----------------------------------------------------

Your system seems to be missing critical device files

in /dev !  Although you may be running udev or devfs,

the root partition is missing these required files !

To rectify this situation, please do the following:

mkdir /mnt/fixit

mount --bind / /mnt/fixit

cp -a /dev/* /mnt/fixit/dev/

umount /mnt/fixit

rmdir /mnt/fixit

You may refer to these instructions at /etc/issue.

If you previously had an issue file, it has been

backed up at /etc/issue.devfix.  Once you've fixed

your system, you will have to restore your old issue

file in order to get rid of this warning.

Thanks for using Gentoo ! :)

http://bugs.gentoo.org/show_bug.cgi?id=40987

-----------------------------------------------------
```

J'ai bien fait ce qui était indiqué (quoique, je n'ai pas compris à quoi ca servait le "fixit" ... hum ...  J'ai rebooté et j'ai encore ce message, il faut probablement supprimer "/etc/issue" pour en être quitte .. mais je suis pas sur, vous connaissez cette erreur ?

EDIt: pour le mount, si nécessaire :

```
loopx@serveur / $ mount

/dev/hda1 on / type reiserfs (rw,noatime)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)

udev on /dev type tmpfs (rw,nosuid,size=10240k,mode=755)

devpts on /dev/pts type devpts (rw,nosuid,noexec,gid=5,mode=620)

shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)

usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)

binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

securityfs on /sys/kernel/security type securityfs (rw,noexec,nosuid,nodev)
```

----------

