#26 Le 10/11/2020, à 08:00
- geole
Re : Disque sda défectueux
... le support OVH tout à l'heure au téléphone m'a dit que c'était un Raid1.
sudo lsblk -fe7 -o +size NAME FSTYPE LABEL UUID MOUNTPOINT SIZE sda 3,7T ├─sda1 vfat EFI_SYSPART D326-0803 511M ├─sda2 linux_raid_member 282a9acc-8baf-f68b-a4d2-adc226fd5302 19,5G │ └─md2 ext4 / 0b160a51-0c1d-48ad-853b-b99c5ddca6b7 / 19,5G ├─sda3 linux_raid_member 5acd7322-99c9-981e-a4d2-adc226fd5302 3,6T │ └─md3 ext4 /home 0284f213-cf5c-45fd-8be9-618456ead3f8 /home 3,6T └─sda4 swap swap-sda4 42a1be76-9fef-43b4-9a5f-552ab9e01d26 [SWAP] 511M sdb 3,7T ├─sdb1 511M ├─sdb2 linux_raid_member 282a9acc-8baf-f68b-a4d2-adc226fd5302 19,5G │ └─md2 ext4 / 0b160a51-0c1d-48ad-853b-b99c5ddca6b7 / 19,5G ├─sdb3 linux_raid_member 5acd7322-99c9-981e-a4d2-adc226fd5302 3,6T │ └─md3 ext4 /home 0284f213-cf5c-45fd-8be9-618456ead3f8 /home 3,6T └─sdb4 511M sdc 3,7T ├─sdc1 511M ├─sdc2 linux_raid_member 282a9acc-8baf-f68b-a4d2-adc226fd5302 19,5G │ └─md2 ext4 / 0b160a51-0c1d-48ad-853b-b99c5ddca6b7 / 19,5G ├─sdc3 linux_raid_member 5acd7322-99c9-981e-a4d2-adc226fd5302 3,6T │ └─md3 ext4 /home 0284f213-cf5c-45fd-8be9-618456ead3f8 /home 3,6T └─sdc4 511M
Voici ma proposition finalisée. D'abord le principe:
A) on fait le swap
B) On regarde la structure de boot
C) On fait md2. C'est le plus petit, cela donnera une idée du temps pour le gros
D) On fait md3.
E) Tu demandes au technicien s'il sait démonter le disque sans stopper la machine.
F) Reformatage du nouveau disque
G) Remise des données dans le nouveau disque
A) Le swap
md4 n'existe pas, Je n'ai jamais réfléchi pour un swap dans un raid. Il aurait fallu que j'y pense mais comme la partition de swap est maintenant considérée comme inutile (un fichier de swap). Je ne vais pas y réfléchir.
1) On fait le point
tail -n +7 /etc/fstab && free -h && swapon -s
2) Tu formates sdb4 (511 Mo) en disant que c'est un format swap. idem pour sdc4
3) Tu dis à l'ordinateur de les utiliser voir paragraphe 3.6, (je ne vérifie pas)
sudo swapon /dev/sdb4
sudo swapon /dev/sdc4
4) Tu vérifies que c'est pris en compte
free -h && swapon -s
5) Tu déactives le swap de sda4 et tu vérifies
sudo swapoff /dev/sda4
free -h && swapon -s
6) Tu récupères les UUID des partitions de swap
sudo blkid | grep swap
7) Tu mets à jour le fichier /etc/fstab avec les deux nouvelles partitions et en supprimant celle sur SDA4. Mon diagnostic était que c'était la cause du non restart.
Voila une opération finie.
B) On passe à la structure de boot.
1) On fait le point en RAM
sudo efibootmgr -v
Cela permettra de connaître les priorité, On y verra peut-être que c'est aussi prévu pour SDB1 et SDC1
2) On fait le point sur la partition de boot
ls -ls /boot/efi/EFI
On devrait y trouver les répertoires boot et probablement ubuntu
cat /boot/efi/EFI/ubuntu/grub.cfg
Je ne connais le contenu de ce fichier en structure RAID mais je pense qu'il ne sera pas à modifier
3) On fait le point sur la partition SDB1
sudo mkdir /media/EFIsdb1
sudo mount -v /dev/sdb1 /media/EFIsdb1
ls -ls /media/EFIsdb1
S'il n'y a rien, on va copier
sudo cp -Rv /boot/efi/EFI /media/EFIsdb1
et du coup mettre à jour La NVRAM
sudo efibootmgr --create --disk /dev/sdb --part 1 --label "grubsdb" --loader "\EFI\ubuntu\grubx64.efi"
sudo efibootmgr --create --disk /dev/sdb --part 1 --label "shimsdb" --loader "\EFI\ubuntu\shimx64.efi"
sudo umount -v /dev/sdb1
4) On fait le point sur la partition SDC1
sudo mkdir /media/EFIsdc1
sudo mount -v /dev/sdc1 /media/EFIsdc1
ls -ls /media/EFIsdc1
S'il n'y a rien, on va copier
sudo cp -Rv /boot/efi/EFI /media/EFIsdc1
et du coup mettre à jour La NVRAM
sudo efibootmgr --create --disk /dev/sdc --part 1 --label "grubsdc" --loader "\EFI\ubuntu\grubx64.efi"
sudo efibootmgr --create --disk /dev/sdc --part 1 --label "shimsdc" --loader "\EFI\ubuntu\shimx64.efi"
sudo umount -v /dev/sdc1
Voila une opération finie.
C) La déclaration de SDA2 hors service
1) Un petit point avec cette commande
sudo mdadm --detail /dev/md2
Suivant son contenu, tu pourras n'avoir rien à faire ou que le point 3 ou les points 2 et 3
2) On déclare la partition Hors Service (on peut même le faire plusieurs fois)
sudo mdadm --manage /dev/md2 --set-faulty /dev/sda2
sudo mdadm --detail /dev/md2
cat /proc/mdstat
Je pense que cette action devrait être quasiment immédiate, elle consiste à dire qu'il ne faut plus accéder à la partition mais à se servir uniquement des deux autres.
3) On déclare que la partition est éliminée.
sudo mdadm --manage /dev/md2 --remove /dev/sda2
sudo mdadm --detail /dev/md2
cat /proc/mdstat
Voila une opération finie.
D) La déclaration de SDA3 hors service
1) Un petit point avec cette commande
sudo mdadm --detail /dev/md3
Suivant son contenu, tu pourras n'avoir rien à faire ou que le point 3 ou les points 2 et 3
2) On déclare la partition Hors Service (on peut même le faire plusieurs fois)
sudo mdadm --manage /dev/md3 --set-faulty /dev/sda3
sudo mdadm --detail /dev/md3
cat /proc/mdstat
Je pense que cette action devrait être quasiment immédiate, elle consiste à dire qu'il ne faut plus accéder à la partition mais à se servir uniquement des deux autres.
3) On déclare que la partition est éliminée.
sudo mdadm --manage /dev/md3 --remove /dev/sda3
sudo mdadm --detail /dev/md3
cat /proc/mdstat
Voila une opération finie.
E) Le remplacement du disque par le technicien.
S'il est amené à arrêter la machine, Je pense que cette fois-ci le boot se fera sans problème
F) Le reformatage du nouveau disque,
Je pense que normalement, il sera toujours vu comme SDA mais il faudra s'en assurer car si les branchements ne sont pas identiques, toute la numérotation peut changer et j'ai vu de nombreux cas d'erreurs d'identification de disques.
Pour je propose gparted comme outil.
On connait la taille des partitions à fabriquer
Device Start End Sectors Size Type
/dev/sda1 2048 1048575 1046528 511M EFI System ==> 511,0 MiO en FAT32
/dev/sda2 1048576 42006527 40957952 19,5G Linux RAID ==> 19999,0 MiO en EXT4
/dev/sda3 42006528 7812978687 7770972160 3,6T Linux RAID ==> 3794420,0 MiO en EXT4
/dev/sda4 7812978688 7814025215 1046528 511M Linux swap ==>[s] 511,0 MiO[/s] Le reste du disque
1) Création d'une table de partition GPT
2) Création des partitions. J'ai vérifié que les tailles étaient multiples de 1 Mio, donc gparted peut être utilisé. Autrement il aurait fallu gnome disk utility pour aligner au KiO
SDA1 511 Mio en FAT32
SDA2 en EXT4 19999 Mio Elle deviendra RAID pendant la reconstruction
SDA3 en EXT4 3794420 Mio Elle deviendra RAID pendant la reconstruction
SDA4 en linux swap avec le reste de l'espace disque.
Voila une opération finie.
G) Remise en état des 4 partitions.
On va commencer par le RAIDS Il est à sécuriser en premier
1) Je propose le logiciel. La taille est petite, Tu auras alors une idée de la durée. Probablement plus d'une heure.
mdadm --manage /dev/md2 --add /dev/sda2 && cat /proc/mdstat
Tu pourras itérer sur cette commande.
cat /proc/mdstat
pour voir l'évolution de la reconstruction. Il ne faut pas lancer l'autre reconstruction tant que celle-ci n'est pas finie car les disques travaillent à fond avec de grands déplacements des têtes de lecture.
2) Je propose les données.
mdadm --manage /dev/md3 --add /dev/sda3 && cat /proc/mdstat
Pendant cette reconstruction, tu pourras faire la suite car elle ne consomme pas beaucoup d'écritures.
3) Réactivation de SDA4 en swap
sudo swapon /dev/sda4
sudo blkid | grep sda4
Puis modification de /etc/fstab pour ajouter cette nouvelle partition de swap aux deux autres.
4) Reconstruction de la partition de boot.
Elle n'a plus aucun fichier, on rapatrie
sudo mkdir /media/EFIsda1
sudo mount -v /dev/sda1 /media/EFIsda1
sudo cp -Rv /boot/efi/EFI /media/EFIsda1
sudo efibootmgr --create --disk /dev/sda --part 1 --label "grubsda" --loader "\EFI\ubuntu\grubx64.efi"
sudo efibootmgr --create --disk /dev/sda --part 1 --label "shimsda" --loader "\EFI\ubuntu\shimx64.efi"
5) Suivi de la reconstruction de la partition de données.
cat /proc/mdstat
Voila une opération finie.
En fait, tout est fini.
sudo lsblk -fe7 -o +size
sudo mdadm --detail /dev/md[0-127]
Dernière modification par geole (Le 10/11/2020, à 10:42)
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
#27 Le 10/11/2020, à 10:59
- Bruno13
Re : Disque sda défectueux
Comment te remercie pour cette réponse !
Je vais prendre le temps de lire tout ce que tu as écrit comme étape.
Y ajouter mes commentaires qui pourront peut être t'aider à confirmer ou modifier certains petits détails.
A noter déjà que le remplacement du disque se fait machine éteinte. Ils me l'ont indiqué.
*** En attente de ta réponse concernant la section B) ***
Je mets quelques résultats des diverses commandes que tu indiques, histoire de voir si je vais avoir des surprises ou te donner une idée ou deux.
Tout d'abord, on parle souvent de fstab avec à l'intérieur les UUID, mais dans le mien y'en a pas ?! est-ce normal ?
xxx@xxx:~/bin$ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/md2 / ext4 errors=remount-ro,relatime 0 1
/dev/md3 /home ext4 defaults,relatime 1 2
/dev/sda4 swap swap defaults 0 0
/dev/sdb4 swap swap defaults 0 0
/dev/sdc4 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/sda1 /boot/efi vfat defaults,relatime 0 0
devtmpfs /dev devtmpfs rw 0 0
Autre chose concernant les UUID des disques b et c, j'avoue que je suis incapable de dire si c'est normal que les UUID soient identiques.
J'ai lu dans un message que ça pouvait être normal ??!! voici une portion du message que j'ai lu, un avis ?
...
entre temps je suis reparti de zero pour mon RAID. J'etais parti avec 2 partitions qui ont bien 2
UUID differents.En ajoutant la 1ere partition au RAID on est toujours a 2 UUID distincts.
Par contre au moment de rajouter la 2eme partition et bien le UUID de la seconde devient celui
de la 1ere.J'imagine que ca doit etre normale. Sans doute que c'est comme ca que le RAID peut quand meme monter si un des 2 disques lache!
A) Le SWAP
xxxx@nxxxx:~$ tail -n +7 /etc/fstab && free -h && swapon -s
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/sda1 /boot/efi vfat defaults,relatime 0 0
devtmpfs /dev devtmpfs rw 0 0
total used free shared buff/cache available
Mem: 125G 43G 47G 4,1G 34G 77G
Swap: 510M 337M 173M
Filename Type Size Used Priority
/dev/sda4 partition 523260 346004 -1
xxxx@nxxxx:~$ sudo blkid | grep swap
/dev/sda4: LABEL="swap-sda4" UUID="42a1be76-9fef-43b4-9a5f-552ab9e01d26" TYPE="swap" PARTLABEL="primary" PARTUUID="df94bc97-0bb0-4571-9512-6d069222bc5d"
B) On passe à la structure de boot.
1) On fait le point en RAM
xxx@xxx:~$ sudo efibootmgr -v
BootCurrent: 0005
Timeout: 1 seconds
BootOrder: 0004,0005,0006,0007,0008,0009,0002,0001,000A
Boot0001 ubuntu1604-server_64 (GRUB) (first drive sda) HD(1,GPT,c54f025f-b2d1-488d-93c4-f9d85fa24374,0x800,0xff800)/File(\EFI\UBUNTU\GRUBX64.EFI)
Boot0002 UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO
Boot0004* UEFI: Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x0)/MAC(ac1f6b00c078,1)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)/Uri()..BO
Boot0005* UEFI: IP4 Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x0)/MAC(ac1f6b00c078,1)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO
Boot0006* UEFI: IP6 Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x0)/MAC(ac1f6b00c078,1)/IPv6([::]:<->[::]:,0,0)..BO
Boot0007* UEFI: Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x1)/MAC(ac1f6b00c079,1)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)/Uri()..BO
Boot0008* UEFI: IP4 Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x1)/MAC(ac1f6b00c079,1)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO
Boot0009* UEFI: IP6 Intel(R) I350 Gigabit Network Connection PciRoot(0x0)/Pci(0x3,0x3)/Pci(0x0,0x1)/MAC(ac1f6b00c079,1)/IPv6([::]:<->[::]:,0,0)..BO
Boot000A Hard Drive BBS(HD,,0x0)..GO..NO........o.H.G.S.T. .H.U.S.7.2.6.0.4.0.A.L.A.6.1.0...................A..........................>..Gd-.;.A..MQ..L.3.K.W.G.0.3.B.J. . . . . . . . . . . . .......BO..NO........o.H.G.S.T. .H.U.S.7.2.6.0.4.0.A.L.A.6.1.0...................A..........................>..Gd-.;.A..MQ..L.8.N.P.G.H.4.Y.L. . . . . . . . . . . . .......BO..NO........o.H.G.S.T. .H.U.S.7.2.6.0.4.0.A.L.A.6.1.0...................A..........................>..Gd-.;.A..MQ..L.8.N.3.H.K.N.Y.X. . . . . . . . . . . . .......BO
Ce qui veut dire qu'on a booté sur 0005 ?!
2) On fait le point sur la partition de boot
Là, j'ai un petit problème ! Beaucoup de tes manips qui vont suivre se servent de /boot/efi/EFI et celui-ci ne contient rien
xxx@xxx:~$ ls -ls /boot/efi/EFI
ls: cannot access '/boot/efi/EFI': No such file or directory
Voici ce que j'ai comme structure:
xxx@xxx:~$ cd /boot
xxx@xxx:/boot$ ll
total 11448
drwxr-xr-x 4 root root 4096 juil. 7 2017 ./
drwxr-xr-x 21 root root 4096 juil. 7 2017 ../
-rw-r--r-- 1 root root 8705856 mars 24 2017 bzImage-3.14.32-xxxx-grs-ipv6-64
drwxr-xr-x 2 root root 4096 juil. 7 2017 efi/
drwxr-xr-x 6 root root 4096 juil. 8 2017 grub/
-rw-r--r-- 1 root root 2995742 mars 24 2017 System.map-3.14.32-xxxx-grs-ipv6-64
xxx@xxx:/boot$ cd efi
xxx@xxx:/boot/efi$ ll
total 8
drwxr-xr-x 2 root root 4096 juil. 7 2017 ./
drwxr-xr-x 4 root root 4096 juil. 7 2017 ../
xxx@xxx:/boot/efi$ cd ../grub
xxx@xxx:/boot/grub$ ll
total 2396
drwxr-xr-x 6 root root 4096 juil. 8 2017 ./
drwxr-xr-x 4 root root 4096 juil. 7 2017 ../
drwxr-xr-x 2 root root 4096 mars 15 2017 fonts/
-r--r--r-- 1 root root 4510 juil. 8 2017 grub.cfg
-rw-r--r-- 1 root root 1024 août 6 14:23 grubenv
drwxr-xr-x 2 root root 12288 mars 15 2017 i386-pc/
drwxr-xr-x 2 root root 4096 juil. 7 2017 locale/
-rw-r--r-- 1 root root 2398585 juil. 7 2017 unicode.pf2
drwxr-xr-x 2 root root 12288 juil. 7 2017 x86_64-efi/
Autre chose que je ne comprends pas en lisant le fstab c'est que:
on monte /dev/sda1 dans /boot/efi MAIS /boot/efi est vide ?!
Voici le cat du grub.cfg
xxx@xxx:/boot/grub$ cat grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
# GRUB lacks write support for diskfilter, so recordfail support is disabled.
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod part_gpt
insmod part_gpt
insmod diskfilter
insmod mdraid09
insmod ext2
set root='mduuid/282a9acc8baff68ba4d2adc226fd5302'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/282a9acc8baff68ba4d2adc226fd5302' 0b160a51-0c1d-48ad-853b-b99c5ddca6b7
else
search --no-floppy --fs-uuid --set=root 0b160a51-0c1d-48ad-853b-b99c5ddca6b7
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=fr_FR
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=2
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=2
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/06_OVHkernel ###
menuentry "GNU/Linux with OVH Kernel, OVH kernel 3.14.32-xxxx-grs-ipv6-64" {
load_video
set gfxpayload=keep
insmod part_gpt
insmod part_gpt
insmod part_gpt
insmod diskfilter
insmod mdraid09
insmod ext2
set root='mduuid/282a9acc8baff68ba4d2adc226fd5302'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/282a9acc8baff68ba4d2adc226fd5302' 0b160a51-0c1d-48ad-853b-b99c5ddca6b7
else
search --no-floppy --fs-uuid --set=root 0b160a51-0c1d-48ad-853b-b99c5ddca6b7
fi
linux /boot/bzImage-3.14.32-xxxx-grs-ipv6-64 root=/dev/md2 ro noquiet nosplash net.ifnames=0 biosdevname=0
}
### END /etc/grub.d/06_OVHkernel ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Milles Mercis !
Dernière modification par Bruno13 (Le 10/11/2020, à 16:25)
Hors ligne