Page 1 sur 2

Déplacer CentOS 7 sur SSD

Publié : 19 octobre 2018, 04:37
par janus006
Bonjour,

Je voudrais déplacer mon installation/OS d'un HDD vers un SSD. Le SSD est bien sur plus petit, mais mon espace utilisé y entre facilement. Je ne suis certainement pas le premier à le faire. J'aimerais donc avoir, selon votre vécu, la meilleure marche à suivre.

Voilà à quoi ressemble mon disque:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 9.4G 41G 19% /
devtmpfs 7.5G 0 7.5G 0% /dev
tmpfs 7.6G 0 7.6G 0% /dev/shm
tmpfs 7.6G 9.4M 7.5G 1% /run
tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
/dev/md127 5.4T 2.7T 2.5T 52% /mnt/data
/dev/sda1 1014M 255M 760M 26% /boot
/dev/mapper/centos-home 50G 1.1G 49G 3% /home
/dev/mapper/centos-vm 357G 88G 270G 25% /vm
tmpfs 1.6G 0 1.6G 0% /run/user/1000

Merci

CentOS Linux release 7.5.1804 (Core)

Re: Déplacer CentOS 7 sur SSD

Publié : 19 octobre 2018, 11:07
par nouvo09
Tu branches ton disque ssd sur un port usb, ou bien dans un support sata s'il s'agit d'une tour.

Tu démarres l'ordi sur un livecd tel que systemrescuecd.

Tu repères bien quel est le disque actuel et quel est le nouveau ( sda et sdb)

Tu lances la commande

dd if=/dev/sda of=/dev/sdb bs=4M

ATTENTION DD EST ÉGALEMENT APPELÉ LE DESTRUCTEUR DE DONNÉES !! Assure toi bien de l'ordre des disques ou tu risques de tout perdre. C'est du vécu.

Pour un disque de 250 Go l'opération m'a pris 3H30. Comme on ne connait pas la capacité de ton disque actuel, impossible d'en dire plus.

Re: Déplacer CentOS 7 sur SSD

Publié : 19 octobre 2018, 19:40
par Beta-Pictoris
Personnellement, je préfère la méthode, de sauvegarde à chaud, utilisant la commande 'rsync' à la commande 'dd' car on peut créer, facilement, des partitions de taille différente sur le disque de destination.
Voir, aussi, avec 'dd' s'il ne faut pas aussi sauvegarder et restaurer la géométrie du disque avec, par exemple, la commande 'sfdisk'.

Janus006, si tu utilises commande 'rsync', tu dois commencer par recréer les partitions sur le nouveau disque et les monter sur la partition 'root' qui est, elle-même, montée dans '/mnt'.
Avant de faire la copie, il est préférable de désactiver 'selinux' dans '/etc/selinux/config' et de redémarrer la machine.
De même, s'il y a des bases de données qui tournent, il faut, d'abord, les arrêter.
Il faut, aussi, créer un fichier texte contenant la liste des répertoires à exclure. Par exemple:

Code : Tout sélectionner

cat <<EOF  > liste.txt
/dev/*
/mnt/*
/proc/*
/run/*
/sys/*
/tmp/*
EOF
Pour la copie, tu peux faire ceci:

Code : Tout sélectionner

rsync --exclude-from=liste.txt -aHAX / /mnt 
A noter, cette méthode marche avec un système installé en uefi. Si le système est installé en mode legacy, il faudra, aussi, réinstaller le boot loader et activer le drapeau de partition bootable.

Re: Déplacer CentOS 7 sur SSD

Publié : 19 octobre 2018, 20:48
par nouvo09
Voir, aussi, avec 'dd' s'il ne faut pas aussi sauvegarder et restaurer la géométrie du disque avec, par exemple, la commande 'sfdisk'.
Sérieusement si tu connaissais la commande dd tu ne poserais pas la question. dd fait la copie bit à bit et, à la différence de sync, à partir de la piste 0 dans ce cas où il est indiqué /dev/sda et non sdaX .

J'ai cloné avant hier un disque de 250 Go vers un de 1 To avec cette seule ligne de commande. Et je pouvais, sans rebooter, avec le même systemrescuecd et un coup de gparted, redimensionner les partitions à ma guise.

Re: Déplacer CentOS 7 sur SSD

Publié : 20 octobre 2018, 00:07
par janus006
Premièrement, merci pour vos réponses.

Et bien, je me suis lancé. Avec des interrogations (quelle solution est la meilleure ?? est-ce que dans la réponse de nouvo09, il a bien pris en compte que le SSD était plus petit ? aurais-je essayer avec rsync ? )

J'ai:
-déplacé mes VM ailleurs et vidé le contenu de /vm pour gagner du temps.
-vérifié quel disque était lequel (lsscsi)
et j'ai lancé: dd if=/dev/sda of=/dev/sdb bs=512k (oui, 512k, l'ancien/actuel était comme ça. Dans le doute demeurer pareil ...)

Et voilà, j'attends... Malheureusement, pas de progress status.

Je vous tiens au courant, et encore merci ! ou peut-être plus tard je vous maudirai ;) Bah non, mon disque original devrais demeurer intact; enfin je crois
----------------------------------------------------------------
Et alors qu'on y est, j'aurais deux/trois questions:
- Comme j'ai un RAID5 software, est-ce que, si je décide de tout repartir à zéro, ça se rebâtit bien ? ou bien je perds tout ?
- Personnellement, me conseillez vous d’utiliser mes Linux avec LVM ou a la bonne vieille méthode ? (Comme je ne suis pas hyper avancé en Linux, c'est un peu ça qui me fait peur aussi, comment tout ça va réagir.)
- Aurais-je pu seulement créer/copier tous mes folders:
/
/boot
etc ...
Mettre le disque bootable et voilà ? (ou si LVM me joue dans les pattes ? Ou je n'y suis pas du tout)

Merci,

Re: Déplacer CentOS 7 sur SSD

Publié : 20 octobre 2018, 00:44
par janus006
Oupssss

dd: error writing '/dev/sdb' : No space left on device

je crois que ça vient de répondre à une de mes questions

Re: Déplacer CentOS 7 sur SSD

Publié : 20 octobre 2018, 07:17
par remi
Tu es en LVM, si tu garde les 2 disques, c'est très simple

1/ tu prépare ton disque pour LVM

pvcreate

2/ tu agrandit ton VG en ajoutant le nouveau PV

vgextend

3/ tu déplace le LV du système (root) vers le nouveau PV

pvmove

Tout se fait à chaud.

Re: Déplacer CentOS 7 sur SSD

Publié : 20 octobre 2018, 09:22
par nouvo09
Avec des interrogations (quelle solution est la meilleure ?? est-ce que dans la réponse de nouvo09, il a bien pris en compte que le SSD était plus petit ?
En fait non. Il faut reconnaitre que cette info était bien cachée. Cela dit, si je devais faire cette opération je rétrécirais les partitions avant de cloner de manière à ce que le total de l'espace qu'elles occupent entre dans le nouveau disque.

Puis je créerais à la main les partitions sur le nouveau disque, identique à celles existant sur l'ancien, un poil plus grandes et en tenant compte de l'alignement exigé sur les ssd. Ensuite je clonerais une à une les partitions, avec la commande dd.

par exemple dd if=/dev/sda1 of=/dev/sdb1 bs=4M etc. Il restera un peu d'espace libre à la fin de chacune, c'est sans importance et ça peut se régler plus tard.

Enfin il te restera à remettre en place le bootloader avec grub-install.

Re: Déplacer CentOS 7 sur SSD

Publié : 20 octobre 2018, 11:51
par Beta-Pictoris
nouvo09 a écrit :
19 octobre 2018, 20:48
Voir, aussi, avec 'dd' s'il ne faut pas aussi sauvegarder et restaurer la géométrie du disque avec, par exemple, la commande 'sfdisk'.
Sérieusement si tu connaissais la commande dd tu ne poserais pas la question. dd fait la copie bit à bit et, à la différence de sync, à partir de la piste 0 dans ce cas où il est indiqué /dev/sda et non sdaX .
Non, l'intérêt de sfdisk c'est de récupérer la table de partition au format lba au cas où le disque, un peu exotique, a une géométrie particulière.
Avec dd, tu recopies la mbr et donc la table de partition sans l'ajuster. J'ai un doute sur la façon dont elle est codée sur les disques modernes (info CHS encore présentes dans la table ???)
Maintenant, je ne dis pas que dd ne marche pas. Je l'utilise aussi pour faire des sauvegardes de disque. Mais, la copie est lente et les images prennent beaucoup de place.

A noter, avant d'utiliser dd, il faut penser à vérifier la taille des secteurs des disques, car on trouve des disques avec des secteurs de 4K.
Après, on peut utiliser les options ibs et obs pour faire la copie.

Re: Déplacer CentOS 7 sur SSD

Publié : 20 octobre 2018, 12:19
par nouvo09
Avec dd, tu recopies la mbr et donc la table de partition sans l'ajuster. J'ai un doute sur la façon dont elle est codée sur les disques modernes.
Peu importe. Si un disque est au format MS-DOS la table de partitions est à ce format. Si c'est au format gpt, même chose.

Cela dit, dd copie ce qu'on lui dit de copier. Si on donne comme argument d'entrée sda, il copie tout le disque y compris la piste 0. Si je recopie partition par partition, il ne touche pas la table de partitions. C'est pour cette raison que j'ai préconisé de créer les partitions avant la copie et par conséquent la table qui va avec.