Changement de carte SD (de 16Go à 64Go)

Bonjour,

Je partage juste mon expérience en espérant que cela puisse servir à d’autres.

Situation au départ

Serveur YUnoHost/Brique Internet qui fonctionne avec une carte microSD de 16Go.

Mon serveur tourne sur une machine A20-OLinuXino-LIME, mais comme il s’agit de faire un “clone” à l’identique, le matériel n’a pas trop d’importance.

Problématique

La carte de 16Go étant presque pleine, j’ai acheté une carte microSD de 64Go.
J’aimerais changer la carte pour avoir 64Go de disque dur sur mon serveur YUnoHost/Brique Internet.

Étapes suivies

1. Arrêt du serveur

Sur le serveur, lancer les commandes suivantes pour arrêter le serveur:

admin@serveur:~$ sudo -i
root@serveur:~# poweroff

2. Transfert du contenu de la carte de 16Go sur mon PC (GNU/Linux Debian)

Je branche la carte microSD de 16Go sur mon PC (dans un adaptateur, mon PC n’ayant pas de lecteur microSD).

Puis je lance les commandes suivantes (:warning: /dev/mmcblk0 correspond à la façon dont mon PC a reconnu la carte microSD, pour le savoir, j’ai lancé la commande lsblk)

lowmem@pc:~$ sudo -i
root@pc:~# dd if=/dev/mmcblk0 of=./serveur.dd bs=1M status=progress

Cela prend un temps certain tout en m’affichant la progression du transfert vers le fichier ./serveur.dd . Une fois le transfert terminé, je lance la commande suivante:

root@pc:~# sync

Je peux alors débrancher la carte microSD de 16Go de mon PC.

3. Transfert du contenu de mon PC vers la carte de 64Go

Je branche la carte microSD de 64Go sur mon PC (dans le même adaptateur, mon PC n’ayant toujours pas de lecteur microSD :wink: ) .

Puis je lance les commandes suivantes (:warning: /dev/mmcblk0 correspond à la façon dont mon PC a reconnu la carte microSD, pour le savoir, j’ai lancé la commande lsblk)

lowmem@pc:~$ sudo -i
root@pc:~# dd if=./serveur.dd of=/dev/mmcblk0 bs=1M status=progress

Cela prend un temps certain tout en m’affichant la progression du transfert vers le fichier ./serveur.dd . Une fois le transfert terminé, je lance la commande suivante:

root@pc:~# sync

Je peux alors débrancher la carte microSD de 64Go de mon PC.

4. Redémarrage du serveur pour utiliser toute la carte de 64Go

Je mets la carte microSD de 64Go dans le serveur YUnoHost/Brique Internet et démarre le serveur.

Je vérifie que tout fonctionne bien, puis je lance les commandes suivantes:

A. Partitionnement à 64Go

Il s’agit de refaire la partition de la microSD pour passer de 16Go à 64Go.

:warning: /dev/mmcblk0 correspond à la façon dont mon serveur a reconnu la carte microSD, pour le savoir, j’ai lancé la commande lsblk.

Comme c’est une opération délicate, j’ai indiqué tout ce qui apparaissait sur mon écran, je n’ai tapé que les commandes et réponses aux questions (d , n, 1…)

admin@serveur:~$ sudo -i
root@serveur:~# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-121896959, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-121896959, default 121896959): 

Created a new partition 1 of type 'Linux' and of size 58,1 GiB.
Partition #1 contains a ext4 signature.

Do you want to remove the signature? [Y]es/[N]o: n

Command (m for help): w

The partition table has been altered.
Syncing disks.

À ce stade, la partition utilise toute la carte, il nous reste à redimensionner le système de fichiers à la même taille que la partition.

B. Redimensionnement du système de fichiers

Pour cela, sur le serveur, j’ai lancé la commande suivante:

:warning: /dev/mmcblk0p1 correspond à la façon dont mon serveur a reconnu la partition de carte microSD (notez le p1 à la fin), pour le savoir, j’ai lancé la commande lsblk.

admin@serveur:~$ sudo -i
root@serveur:~# resize2fs /dev/mmcblk0p1

Vérification que tout fonctionne

Si tous s’est bien passé, j’éteins et redémarre mon serveur pour vérifier que tout fonctionne:

admin@serveur:–$ sudo -i
root@serveur:~# poweroff

Je débranche puis rebranche le câble d’alimentation… J’attends…

Et
:tada: tout fonctionne à nouveau ! :confetti_ball:

:information_source: S’il y a un problème, je peux remettre la carte microSD de 16Go de départ pour redémarrer mon serveur. :information_source:

Dans mon cas, je peux voir que j’ai désormais (beaucoup plus) d’espace disque disponible avec la commande suivante (43G disponibles dans mon cas) :

admin@serveur:~$ df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/root           58G     13G   43G  24% /
devtmpfs           499M       0  499M   0% /dev
tmpfs              499M     12K  499M   1% /dev/shm
tmpfs              499M    7,8M  492M   2% /run
tmpfs              5,0M       0  5,0M   0% /run/lock
tmpfs              499M       0  499M   0% /sys/fs/cgroup
tmpfs              100M       0  100M   0% /run/user/1007

Happy Hacking ! :slight_smile:

6 Likes

Thanks for the howto!

That works but is quite exciting and, indeed, delicate. With more than a single partition things get complicated fast!

Good luck with your four times larger Yunohost :slight_smile:

1 Like

Bonjour,
Merci pour ce tuto clair pour toutes les étapes.
Pour ma part mon ynh fonctionne avec un disque ssd en usb sur un raspberry pi.
Pour faire des sauvegardes régulières je clone simplement le disque sur un disque de même taille à l’aide d’une petite machine faite pour cela.
Ayant récemment eu besoin de plus de taille j’ai cloné le disque en usage sur un plus volumineux sur lequel j’ai agrandi la partition utile sur la totalité de son volume avec Gparted.
et hop, c’est reparti !
Viva yunohost !

1 Like