Mode rescue =>recuperer /home

Bonjour a tous,

Merci du coup de pouce d'avance.

Le dd étant vieux et maintenant défectueux=>je suis passé en mode rescue.
J'ai fais des sauvegardes des parties importants, mais voilà j'ai ajouté 1 site dans le /home depuis.
j'ai totalement oublié de faire une sauvegarde.
du coup j'ai besoin de 2 points.
-De récupérer le site dans /home=>même s'il manque des fichiers j'arriverai je pense à reconstruire.
-Et surtout récupérer aussi la bdd mysql (j'ai bien une sauvegarde, mais elle est pas bonne il n'y a pas le site!!).

Je ne sais pas si cela peut aider (mais en regardant le forum j'ai appliqué ceci)
****
la commande suivante: /usr/sbin/smartctl -a /dev/sda
réponse
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 105 099 006 Pre-fail Always - 53974070
3 Spin_Up_Time 0x0003 097 096 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 54
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 071 060 030 Pre-fail Always - 103417857712
9 Power_On_Hours 0x0032 088 011 000 Old_age Always - 11192
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 54
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 048 048 000 Old_age Always - 52
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0 0 3
189 High_Fly_Writes 0x003a 090 090 000 Old_age Always - 10
190 Airflow_Temperature_Cel 0x0022 070 051 045 Old_age Always - 30 (Min/Max 24/31)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 53
193 Load_Cycle_Count 0x0032 087 087 000 Old_age Always - 26686
194 Temperature_Celsius 0x0022 030 049 000 Old_age Always - 30 (0 7 0 0 0)
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 96
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 96
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 89300h+12m+43.182s
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 202756285168461
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 53578529806207


Encore Merci de votre aide

cordialement

David


187 Reported_Uncorrect 0x0032 048 048 000 Old_age Always - 52

j'ai besoin de 2 points.
-De récupérer le site dans /home=>même s'il manque des fichiers j'arriverai je pense à reconstruire.


Bonjour,
Qu'est-ce que c'est comme serveur ? un kimsufi avec un seul disque ?
Effectivement le disque est peut-être mourant mais pas tout à fait mort.

Vous pouvez tenter la manip suivante:

mount -r /dev/sda4 /mnt
(sur les systèmes à un seul disque, /home est souvent dans /dev/sda2 ou /dev/sda4)

et à partir de là, tenter de récupérer en local (avec Winscp ou Filezilla) ce que vous pourrez.


-Et surtout récupérer aussi la bdd mysql (j'ai bien une sauvegarde, mais elle est pas bonne il n'y a pas le site!!).


Ca c'est beaucoup plus chaud.
L'emplacement des fichiers de la base de données est généralement dans /var/lib/mysql.
Le format de ces fichiers est très fortement lié à la version de mysql de votre serveur.
Je vous conseille de faire une recherche approfondie sur ce sujet qui peut s'avérer complexe.

Bonjour,

Le mode rescue c'est un peu toujours la meme histoire.
Je te conseils de monter tes disques et de faire un chroot
Un peu comme ici –> https://community.ovhcloud.com/t/11341
Ensuite tu pourras lancer le service mysql s'il est encore opérationnel.
Et donc faire un dump propre de ton serveur.
Avec un peu de change tu pourras lancer ton rsync pour récupérer ton /home par la meme occasion.

Bon courage
Captainadmin


Avec un peu de change tu pourras lancer ton rsync pour récupérer ton /home par la meme occasion.


Si le serveur a un seul disque et que David @97ebd0620224b6052c64 est sous Windows, j'ai évité de lui parler de scp ou rsync. La copie dit de toute façon être faite à destination de n'importe où, mais pas sur le disque malade.

Sinon ddrescue à destination d'un autre disque ... mais on manque de détails sur le serveur malade.

Bonjour Fritz2cat et JeanR

Merci de votre réactivité, vous êtes super top!!
j'ai fait un:
fdisk -l /dev/sda
réponse
/dev/sda1 * 4096 41947135 41943040 20G 83 Linux
/dev/sda2 41947136 1952468991 1910521856 911G 83 Linux
/dev/sda3 1952468992 1953519615 1050624 513M 82 Linux swap / Solaris

ensuite avec un tuto et la réponse Frit2cat
mount /dev/sda2 /mnt/
Ca a marché j'ai récupéré tout le /home.=>TOP=>j'ai récupéré le site nickel
et dedans j'avais complètement oublié=>j'avais programmé une tâche cron =>une sauvegarde sql automatique dans le /home (mais je me suis dit à l'époque, il n'y a pas grand chose qui change, je l'ai fait tout les 3 mois)=>j'avoue que c'était pas une mauvaise idée!!.
Donc si cela se trouve ma dernière sauvegarde s'est fait il y a peu de temps.


J'ai essayé la même manip
mount /dev/sda1 /mnt/
réponse
mount: /dev/sda1: can't read superblock
et là effectivement vous avez raison, c'est plus chaud.

**
Mes actions au présent:
J'ai un 2ème serveur dédie=>je vais mettre le site (c'est c'est ok)=>puis je vais tester le sql que j'ai.
si j'ai pas perdu trop de chose=>je laisse comme ça.
Sinon je reviens ici pour savoir comment récupérer dans le sda1 (avec ce superblock).

Merci de votre aide entre le tuto et la réponse de Fritz2cat pour le mount=>ça m'a vraiment aidé.

Je vous tiens au courant de l'évolution dès que j'ai tout mis en place
Cordialement
David


mount: /dev/sda1: can't read superblock


La partition sda1 ne contient pas une partition Linux.

Pour la base de données quand vous avez monté /dev/sda2:
allez dans /mnt/var/lib/mysql

vous y trouverez tous les fichiers de vos bases mysql, inexploitables sans utiliser mysql.
Soit vous suivez le conseil de @JeanR pour tenter de démarrer mysql sur votre serveur mourant
Soit vous récupérez tout et vous tentez de les utiliser sur un autre serveur avec la même version de mysql.

bonjour Fritz2cat et JeanR.

Pour le /mnt/var/lib/mysql=>n'apparait pas car ilest sur le sda1 et pas le sda2.
quand je fais un:
mount -r /dev/sda1 /mnt
il me répond
mount: /dev/sda1: can't read superblock

j'ai suivi ce tuto cela a bien fonctionné.
https://webit.lv/cant-read-superblock-while-mount-disk-in-linux

j'ai le dossier mysql, mais effectivement il faut refaire le mysql (et je vais voir si cela fonctionne, car dans les elements corrompu il y en avait sur le bdd que j'ai besoin=>on verra).

Je vous tiens au courant de l'évolution.

Encore merci du coup de pouce.

Cordialement
David


Je vous tiens au courant de l'évolution.


Merci du feedback, c'est très apprécié.

Bonjour Fritz2cat et JeanR

Après a voir récupérer le dossier mysql avec notamment dedans tous les fichiers tel que:
ib_logfile0,ib_logfile1, ibdata1.

J'ai essayé de récupérer les bdd avec divers logiciel en demo (j'ai n'ai pas trouvé de gratuit):
en voilà 2 qui fonctionne (sans être top compliqué, parmi plein d'autres).
-Stellar Repair for MySQL
-Recovery Toolbox for Mysql 3.0.0.0

=>Je suis resté sur recovery Toolbox et il faut bien regarder l'onglet :
-pas celui de la base qui est mis par défaut
-Mais l'onglet log c'est le plus important => c'est là qu'on voit l'état de chaque table si c'est récupérable ou pas.




=>Dans mon cas malheureusement j'ai trop de tables corrumpu (dans la BBD que je voulai ) due au DD mourant
=>et aussi j'ai due faire un choix (de suppression de certains fichiers) avec le tuto pour accéder au sda1 (superblock) =>afin de pouvoir faire un mount sur sda1.


Voilà on peut clore le sujet, car je ne peux pas aller plus loin .

Encore merci de votre aide (c'était super gentil et sympas).

Cordialement
David