Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/05/2023, à 08:41

gotton

Changement de disque dans un raid 10 BTRFS

Salut à tous,

J'ai un serveur qui tourne sur ubuntu server 22.04 (mon système n'est pas sur ces disques) et j'ai quelques soucis avec un disque qui est en train de décéder :

[/dev/sda].write_io_errs    0
[/dev/sda].read_io_errs     0
[/dev/sda].flush_io_errs    0
[/dev/sda].corruption_errs  0
[/dev/sda].generation_errs  0
[/dev/sdb].write_io_errs    163519267
[/dev/sdb].read_io_errs     506643
[/dev/sdb].flush_io_errs    24169

J'ai acheté un nouveau disque de 8TO pour remplacer ce disque de 4 TO. Je n'ai pas de place pour installer ce nouveau disque et je dois donc retirer le disque défaillant pour installer le nouveau.

De ce que j'ai lu sur internet je peux remplacer le disque à chaud mais je voudrais confirmation de la procédure :
1) Éteindre le serveur ;
2) ôter le bon disque ;
3) mettre le disque neuf ;
4) rallumer le serveur ;
5) Voir si le montage se fait correctement ;
6) à défaut il faut monter en dégrader le BTRFS ;
7) et ensuite... je sèche un peu : j'ai lu différente choses : soit faire un replace avec :

 btrfs replace start 

soit faire un :

 btrfs balance start 

Ou alors les deux ?

Sauf  erreur, il n'y a pas d'autres étapes avant pour préparer le disque ou le raid 10 ?

merci pour vos réponses.

Hors ligne

#2 Le 08/05/2023, à 09:22

geole

Re : Changement de disque dans un raid 10 BTRFS

Bonjour.
En premier, peux-tu installer l'application smartmontools.
https://doc.ubuntu-fr.org/smartmontools

sudo apt-get install --no-install-recommends smartmontools 

et donner l'état physique de tes quatre disques.

sudo smartctl -s on -a /dev/sda
sudo smartctl -s on -a /dev/sdb
sudo smartctl -s on -a /dev/sdc
sudo smartctl -s on -a /dev/sdd

En second. Je ne connais pas le RAID avec  BTRFS mais seulement avec EXT4,.
En ext4, cela serait ce qui est décrit au paragraphe 5.3.
Mais je ne sais pas si tu as passé par cet outil pour construire le raid.

Je suis en train de lire cette documentation.
et celle-ci. qui semble dire qu'il suffirait de faire une seule commandé au lieu des trois de mdadm.

btrfs replace start <removed device or its ID> <added device> <the path where btrfs is mounted>

   J'ai vu la présence d'une option -r et d'une option -f
J'ai noté que tu n'as  pas de place pour ajouter le disque avant de commencer la procédure.

Mon avis

btrfs device remove /dev/sdb /PointDeMontage

Remplacement du disque.

btrfs device add /dev/sdb /PointDeMontage

Première question.
As-tu la possibilité de démonter le disque sans arrêter l'ordinateur ou seras-tu obligé de l'arrêter.

Dernière modification par geole (Le 08/05/2023, à 11:26)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#3 Le 08/05/2023, à 11:12

gotton

Re : Changement de disque dans un raid 10 BTRFS

Merci pour ta réponse.

J'ai peut-etre la possibilité de ne pas l'arrêter mais c'est un peu compliqué et nécessitera un peu de contorsion wink. Ce serait une bonne chose ? Dans l'idéal je préférerais l'arrêter.

J'ai testé Smartontools. Aucune erreur sauf sur le disque sdb qui me retourne :

Short INQUIRY response, skip product id
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

Avec -T permissive :

Short INQUIRY response, skip product id

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
unable to fetch IEC (SMART) mode page [scsi response fails sanity test]
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

Je trouve étonnant également qu'il n'y ait pas, a priori, de commande permettant de déclarer défectueux un disque d'un raid.
Je n'ai pas utilisé mdam mais mkfs.btrfs.

Le problème de la suppression du disque

btrfs device delete

si j'ai bien compris dès lors que je suis dans un RAID10 je ne peux pas supprimer un disque puisque j'en ai 4 et que c'est le minimum dans un RAID 10.

J'avais vu cette documentation et notamment

btrfs replace start

mais j'avais l'impression qu'il était nécessaire d'avoir la place d'installer le nouveau disque avant de réinstaller l'ancien.

Hors ligne

#4 Le 08/05/2023, à 11:50

geole

Re : Changement de disque dans un raid 10 BTRFS

Dommages que tu n'aies pas donné l'intégralité des retours des quatre commandes..
Cela aurait pu aider à comprendre pourquoi il n'y a pas de réponses pour SDB

J'ai aussi vu qu'il faut de la place  pour la commande "replace" afin qu'elle déplace le contenu du disque.
j'ai compris que le principe est de lire les données utiles du disque pour les mettre ailleurs sur les trois autres disques.

Il ne faut pas confondre la gestion RAID BTRFS avec la gestion RAIDS EXT4.
De plus le RAIDS 10 est particulier.
Tout va dépendre de ta quantité de données utiles.
Mon avis, Si tu as moins de 4 TO de données utiles,  BTRFS devrait pouvoir faire tenir cela sur un disque en supprimant toute la sécurité ou sur deux disques dans la cas contraire.
( tu ne peux pas avoir plus de 8TO de données utiles).

Je te propose la commande btrfs device remove ......
Soit elle passe en tout réorganisant.
Soit elle dit qu'il n'y a pas assez de place.
Dans ce cas
    Soit la procedure que tu décris. Il devra  refabriquer en consultant les trois autres disques.
    Soit  on passe le raid10 en raid0 le temps de l'opération.
    ===> btrfs balance start -dconvert=raid0 -mconvert=raid0 /mountpoint


Donc lorsque le rétrécissement est réalisé, tu arrêtes l'ordinateur, tu remplaces physiquement le disque. Tu remets en route. Il n'y a pas de raison que cela ne fonctionne pas.
Puis tu fais la commande btrfs device add ......
puis pour rééquilibrer les données, il te faut faire la commande balance qu'il n'y a pas lieu de faire dans le cas de ta procédure.

Dernière modification par geole (Le 08/05/2023, à 12:29)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#5 Le 08/05/2023, à 12:18

geole

Re : Changement de disque dans un raid 10 BTRFS

Essaie

sudo smartctl -s on -T verypermissive -a /dev/sdb

Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#6 Le 08/05/2023, à 12:38

gotton

Re : Changement de disque dans un raid 10 BTRFS

J'ai :

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
unable to fetch IEC (SMART) mode page [scsi response fails sanity test]

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Current Drive Temperature:     0 C
Drive Trip Temperature:        0 C

Read defect list: asked for grown list but didn't get it
Error Counter logging not supported

Device does not support Self Test logging

Ah et pour info : mon RAID10 est composé de :

Data,RAID10: Size:4.91TiB, Used:4.82TiB (98.23%)
   /dev/sda	   2.46TiB
   /dev/sdb	   2.46TiB
   /dev/sdd	   2.46TiB
   /dev/sde	   2.46TiB

Metadata,RAID10: Size:6.00GiB, Used:5.55GiB (92.47%)
   /dev/sda	   3.00GiB
   /dev/sdb	   3.00GiB
   /dev/sdd	   3.00GiB
   /dev/sde	   3.00GiB

System,RAID10: Size:16.00MiB, Used:528.00KiB (3.22%)
   /dev/sda	   8.00MiB
   /dev/sdb	   8.00MiB
   /dev/sdd	   8.00MiB
   /dev/sde	   8.00MiB

Unallocated:
   /dev/sda	   1.18TiB
   /dev/sdb	   1.18TiB
   /dev/sdd	   1.18TiB
   /dev/sde	   1.18TiB

Dernière modification par gotton (Le 08/05/2023, à 12:41)

Hors ligne

#7 Le 08/05/2023, à 12:50

geole

Re : Changement de disque dans un raid 10 BTRFS

Le smartclt reste muet

Je vois que le sdb a 2,46To d'utilisés et qu'il reste suffisament d'espace sur les trois autres disques (1.18*3To) pour faire la procedure de déplacement.

Dernière modification par geole (Le 08/05/2023, à 12:50)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#8 Le 08/05/2023, à 13:05

gotton

Re : Changement de disque dans un raid 10 BTRFS

pour les autres smartcl, un exemple les autres étant similaires :

=== START OF INFORMATION SECTION ===
Model Family:     Seagate BarraCuda 3.5
Device Model:     ST4000DM004-2CV104
Serial Number:    ZFN0FQ0F
LU WWN Device Id: 5 000c50 0a49e22e7
Firmware Version: 0001
User Capacity:    4,000,787,030,016 bytes [4.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5425 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Mon May  8 13:41:20 2023 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(    0) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 ( 486) minutes.
Conveyance self-test routine
recommended polling time: 	 (   2) minutes.
SCT capabilities: 	       (0x30a5)	SCT Status supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
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   084   064   006    Pre-fail  Always       -       239377488
  3 Spin_Up_Time            0x0003   097   096   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       80
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   087   060   045    Pre-fail  Always       -       503766273
  9 Power_On_Hours          0x0032   047   047   000    Old_age   Always       -       46615 (49 223 0)
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       80
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   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0 0 0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   063   050   040    Old_age   Always       -       37 (Min/Max 31/40)
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       -       997
193 Load_Cycle_Count        0x0032   081   081   000    Old_age   Always       -       38745
194 Temperature_Celsius     0x0022   037   050   000    Old_age   Always       -       37 (0 19 0 0 0)
195 Hardware_ECC_Recovered  0x001a   084   064   000    Old_age   Always       -       239377488
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       34347h+32m+49.195s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       143045796352
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       45007303955

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%      9988         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Hors ligne

#9 Le 08/05/2023, à 14:48

gotton

Re : Changement de disque dans un raid 10 BTRFS

Bon je me suis lancé avec la procédure suivante :
1) Éteindre serveur ;
2) Changer le disque ;
3) Redémarrer ;
4) Se rendre compte que tu as laissé ton montage dans le fstab donc ça ne démarre pas et tu ne peux pas accéder en ssh... ;
5) Remettre l'ancien disque ;
6) Redémarrer puis supprimer le montage ;
7) Remettre le nouveau disque puis redémarrer et être content car tu peux accéder ssh ;
8)

sudo mount UUID=0ccd48eb-1c97-......... /mnt/gottnas/ -o degraded

9) Faire :

sudo mkfs.btrfs /dev/sdb

je ne sais pas si c'était vraiment utile... ;
10) Faire :

sudo btrfs replace start 2 -f /dev/sdb /mnt/gottnas 

11) Puis faire :

sudo btrfs replace status /mnt/gottnas

pour voir l'avancée de la progression (lent mais pas trop 2% en 15min) ;

Attendre et voir ;

Merci pour l'aide smile

Dernière modification par gotton (Le 08/05/2023, à 14:58)

Hors ligne

#10 Le 08/05/2023, à 15:36

geole

Re : Changement de disque dans un raid 10 BTRFS

Dans les discussions, j'ai vu des cas  de débit à 5 Mo/s...


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne