Copier une partition sur une autre

Bonjour,
Dans le cadre d’une installation RAID1+luks+lvm, il n’est pas possible de le faire proprement avec l’installateur Debian, et en preseed c’est impossible car l’option raid crypto-lvm n’existe pas encore pour d-i partman-auto-raid/recipe string.

Pour se faire en utilisant du preseed, plus un script, je procède ainsi (toujours en tests):
La machine a deux disques /dev/sda et /dev/sdb de même taille.

  1. Installation preseed luks+lvm sur /dev/sdb (soit: /dev/sdb1 pour /boot/efi et /dev/sdb2 pour luks+lvm). Luks lvm est avec pbkdf2 au lieu de argon2i
  2. Création des partition sur /dev/sda identique à /dev/sdb en utilisant sfdisk -d
  3. Création des arrays RAID1 avec mdadm en mettant la partie /dev/sdb* en missing, avec metadata=1.0 pour efi, et 1.2 pour luks+lvm

Jusque là tout va bien.
Ensuite il faut copier les partition /dev/sdb vers les arrays raid /dev/md.
C’est là que je me pose la question de l’efficacité:
Actuellement j’utilise dd.
dd if=/dev/sdb2 of=/dev/md1 bs=2048 status=progress
Mais rien qu’avec un disque de 53GB il faut 617 sec (10mn 17sec) avec une VM avec 2 proc. Donc pour 1TB il va me falloir 11642 sec (3h 14mn 2s).

Y-a-t-il un moyen plus rapide pour faire ces copies?

si je dis pas de bêtise, dd c’est un copie de bloc.
est-ce que c’est pas possible de passer par un snapshot avec lvm, j’aurai tendance à penser que la seule les données seront copiées.

pour être plus claire, au lieu de copier un périphérique, copier le contenu du système de fichier.
utiliser la compression ne semble pas utile dans ce cas.

C’est du LVM sur LUKS donc on oublie les snapshots, l’objectif c’est de copier toute la partie chiffrée.

En même temps, 100Mo/s (53000/617~90 MB/s ) c’est une vitesse classique d’écriture pour un sata en forme.

Peut etre ajouter une option de compression/décompression intermédiaire à la volée
Quelle est la limite de vitesse de tes deux disques sda et sdb ?

ouaip :slight_smile:

Ce sont des VMs basé sur des disques qui font du 7400Mo/s en lecture et 6900Mo/s en écriture, avec virtualbox.

En partant d’un autre point de vue.
J’ai l’architecture de partitions suivantes:

~# lsblk -f
NAME                       FSTYPE            FSVER    LABEL        UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                                                      
├─sda1                     vfat              FAT32                 71BB-C4BA                               197,8M     4% /boot/efi
└─sda2                     crypto_LUKS       2                     e3fb1def-2cf3-4f2d-8589-702cdcef0f92                  
  └─sda2_crypt             LVM2_member       LVM2 001              ZZw73G-DtWE-tltT-aEU5-FACq-xGYU-U7F0rl                
    ├─cg01-swap            swap              1                     a8b72fa9-69e4-4704-b7ce-1229debbd624                  [SWAP]
    ├─cg01-boot            ext4              1.0      BOOT         1744d783-512b-46ac-8072-87ed7244b417    132,1M    33% /boot
    ├─cg01-root            ext4              1.0      ROOT         cfb7f6e7-3426-4d4b-8d49-800ea82db4b9      6,4G    44% /
    ├─cg01-home            ext4              1.0      HOME         f0a5b29a-5d29-4f34-a1d8-864f15e611fc      4,5G     5% /home
    ├─cg01-var             ext4              1.0      VAR          32d5938a-7bcd-45da-908d-d78969adf2da     11,3G     5% /var
    ├─cg01-var_log         ext4              1.0      LOG          bd1aa079-7038-430c-a6d4-4b4cbf01486b      4,7G     1% /var/log
    ├─cg01-var_log_audit   ext4              1.0      AUDIT        c2e40c21-3575-40c7-92e1-5a0ecb1dcae7      4,8G     0% /var/log/audit
    ├─cg01-var_tmp         ext4              1.0      VARTMP       e8ee39b2-affd-49df-a623-89a3bc69efd9      2,3G     0% /var/tmp
    └─cg01-tmp             ext4              1.0      TMP          67de2d1b-9bb2-4f0d-9392-4883b5ceabe0      2,3G     0% /tmp
sdb                                                                                                                      
├─sdb1                     linux_raid_member 1.0      dsrvtest03:0 6adbb172-78fa-7587-96f2-5f0a7b22c554                  
│ └─md0                    vfat              FAT32                 71BB-C4BA                                             
└─sdb2                     linux_raid_member 1.2      dsrvtest03:1 f5174418-331e-6be4-b328-113bfb3ed46a                  
  └─md1                    crypto_LUKS       2        cr01         9c8643a1-77d7-4f8a-bf50-3f720da48ebb                  
    └─md1_crypt            LVM2_member       LVM2 001              tVUFfp-7hMc-66Mr-i79m-XNn3-dlff-g4pffu                
      ├─cr01-swap          swap              1                     1d15af65-5a25-4056-aadf-a11df8eb6a9f                  
      ├─cr01-boot          ext4              1.0      BOOT         8f540114-0fbf-44aa-9213-19b10f3931ff    206,4M     0% /mnt/target/boot
      ├─cr01-root          ext4              1.0      ROOT         9605d5c0-3048-4d21-9327-41b157e9f0f5       12G     0% /mnt/target
      ├─cr01-home          ext4              1.0      HOME         659cbf79-cea9-4f74-a0f9-60070c9c50a2      4,8G     0% /mnt/target/home
      ├─cr01-var           ext4              1.0      VAR          14064be0-094b-471a-bc30-fb64548ab797       12G     0% /mnt/target/var
      ├─cr01-var_log       ext4              1.0      VARLOG       b7d6183c-c12a-42b4-861a-fcfe547f6be5      4,8G     0% /mnt/target/var/log
      ├─cr01-var_log_audit ext4              1.0      VARLOGAUDIT  0190c520-a3cc-40ac-9a76-eefb04868025      4,8G     0% /mnt/target/var/log/audit
      ├─cr01-var_tmp       ext4              1.0      VARTMP       0cd8b6e2-2c17-4494-a54f-e90f30280c07      2,3G     0% /mnt/target/var/tmp
      └─cr01-tmp           ext4              1.0      TMP          47e07505-c470-49ea-8517-e51190c90654      2,3G     0% /mnt/target/tmp

Je voudrais copier tout ce qui est sur le VG cg01 vers le VG cr01.
je ne peux pas utiliser dd global parce que les deux PV ne sont pas de la même taille (il y a une différence de 9 PE).
Mais est-il possible pour moi de copier toutes les partition une par une avec dd et comme la partition différente c’est /tmp je ne m’en préoccupe pas?

si on reste sur dd, est-ce que tu as joué avec les options, par exemple en modifiantbs=2048 ?

un comparatif dd,cat,cp

l’aspect vitesse de copie est effectivement fonction du paramètre bs, mais en fait, ce n’est pas le problème principal que je rencontre.
J’ai finalement du me rendre à l’évidence: l’(installateur Debian est incompétent pour créer un système RAID1 avec LUKS et LVM over LUKS.
Même manuellement c’est très difficile. Mais l’installateur est nul pour le faire. et visiblement il n’y a aucune chance à court ou moyen terme de le voir évoluer pour le faire (-vu qu’il n’y a pas eu d’évolution majeure réelle depuis une décennie au moins ).
La configuration de base, avec deux partitions; une pour /boot/efi, une pour luks, utilise la totalité du disque.
Hors, le fait de créer des partition raid1 sur le disque va nécessairement consommer des secteurs.
ipso facto, la partition luks va alors être plus petite que celle sans raid.
il faut donc obligatoirement retailler la configuration lvm avant de copier Quand au paramètre bs, il est sujet aux capacités des disques d’une part, à la carte mère d’autre part et enfin bien évidement aux capacités du système.