web-dev-qa-db-fra.com

Comment changer le système de fichiers d'une partition dans un raid 1?

Premier, désolé si la question a déjà été posée et que vous avez répondu correctement, je n'ai rien trouvé qui me satisfait.

Je louer une machine dédiée dans un centre de données, la machine gérée avec un debian 10 et dispose de deux lecteurs de RAID 1, il y a 3 partitions: une pour la chaussure, une pour l'échange et une pour le reste.

Le troisième (/ dev/md2) utilise le système de fichiers EXT4 et j'aimerais utiliser XFS à la place.

Je ne suis pas habitué à changer le système de fichiers et c'est la première fois que j'ai une machine avec RAID, donc je ne sais pas comment le faire.

Ceci est une nouvelle installation, il n'ya donc aucun risque de perte de données.

J'ai essayé un mkfs.xfs /dev/md2 Mais cela n'a pas fonctionné:

[email protected] ~ # mkfs.xfs /dev/md2
mkfs.xfs: /dev/md2 contains a mounted filesystem

Et je ne sais pas comment il devrait être démonter/monter à cause du raid.

Merci d'avance pour votre aide.

Les df -Th commande:

[email protected] ~ # df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs   32G     0   32G   0% /dev
tmpfs          tmpfs     6.3G  516K  6.3G   1% /run
/dev/md2       ext4      437G  1.2G  413G   1% /
tmpfs          tmpfs      32G     0   32G   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs      32G     0   32G   0% /sys/fs/cgroup
/dev/md1       ext3      487M   53M  409M  12% /boot
tmpfs          tmpfs     6.3G     0  6.3G   0% /run/user/1000

les fdisk -l commande:

[email protected] ~ # fdisk -l
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SAMSUNG MZVLB512HAJQ-00000
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0289e0d1

Device         Boot    Start        End   Sectors   Size Id Type
/dev/nvme0n1p1          2048   67110911  67108864    32G fd Linux raid autodetect
/dev/nvme0n1p2      67110912   68159487   1048576   512M fd Linux raid autodetect
/dev/nvme0n1p3      68159488 1000213167 932053680 444.4G fd Linux raid autodetect


Disk /dev/nvme1n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SAMSUNG MZVLB512HAJQ-00000
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbcb5c0d2

Device         Boot    Start        End   Sectors   Size Id Type
/dev/nvme1n1p1          2048   67110911  67108864    32G fd Linux raid autodetect
/dev/nvme1n1p2      67110912   68159487   1048576   512M fd Linux raid autodetect
/dev/nvme1n1p3      68159488 1000213167 932053680 444.4G fd Linux raid autodetect


Disk /dev/md1: 511 MiB, 535822336 bytes, 1046528 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md0: 32 GiB, 34325135360 bytes, 67041280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md2: 444.3 GiB, 477076193280 bytes, 931789440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Le mdstat:

[email protected] ~ # cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 nvme0n1p3[0] nvme1n1p3[1]
      465894720 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

md0 : active (auto-read-only) raid1 nvme0n1p1[0] nvme1n1p1[1]
      33520640 blocks super 1.2 [2/2] [UU]
        resync=PENDING

md1 : active raid1 nvme0n1p2[0] nvme1n1p2[1]
      523264 blocks super 1.2 [2/2] [UU]

unused devices: <none>
5
Taine

Ceci est votre mise en page actuelle du disque.

  +-----+      +-------+     +------------------------+
  |     |      |       |     |                        |
+-----------+--------------+-----------------------------+
| nvme0n1p1 |   nvme0n1p2  | nvme0n1p3                   | <- Disk0 nvme0n1
+-----------+--------------+-----------------------------+
  |     |      |       |     |                        |
+-----------+--------------+-----------------------------+
| nvme1n1p1 |   nvme1n1p2  |  nvme1n1p3                  | <- Disk1 nvme1n1
+-----------+--------------+-----------------------------+
  |     |      |       |     |                        |
  | md0 |      |  md1  |     |          md2           |
  +-----+      +-------+     +------------------------+
   Swap          /boot            /  (the root disk)

Vous avez donc trois partitions RAID1 logiciels Linux distincts.

mD1 et MD2 ont EXT4 système de fichiers sur eux, et vos fichiers sont à l'intérieur ce système de fichiers. MD0 a un système de fichiers de swap et aucun fichier.

Pour modifier le système de fichiers, vous devrez sauvegarder les données, refaire le système de fichiers et restaurer les données.

Faire cela Requiert Vous devez démarrer un autre disque comme un disque LiveCD ou Rescue, car vous jouez avec le système de fichiers racine.

Vous dites que cette boîte est dans un centre de données. Donc, vous devez soit visiter le DC et le travail là-bas, ou si le matériel est un dispositif de niveau serveur alors il aura une sorte de console de gestion hors bande comme un OIT (HP) ou DRAC (Dell ) ou un CIMC (Cisco) ou un RSA (IBM) ou une interface IPMI (expression plus générique, utilisé par Supermicro et d'autres fabricants)
[.____], peu importe, l'hôte sera hors service pendant que vous travaillez dessus.

Voici le plan suggéré n ° 1 si vous avez des données:

Notez que cela est long, compliqué et sans doute des erreurs. Vous devriez vérifier le plan n ° 2 ci-dessous.

  1. Vérifiez que vos sauvegardes fonctionnent. Si cela va mal, vous en aurez besoin.
  2. Organiser le disque de rechange - vous avez ~ 500 Go, mais tout n'est pas tout ce qu'il est utilisé. Un disque de stylo de 4 Go est probablement suffisant en fonction de votre sortie df
  3. Organisez une fenêtre de panne ou une fenêtre de maintenance. Si vous pensez que cela prendra 10 minutes, faites-en 4 heures.
  4. Organisez une visite avec votre DC. Certains ont des exigences plus strictes que d'autres. Certains n'autorisent pas l'accès non supervisé au plancher de données, davantage, si vous partagez un rack avec d'autres clients.
  5. Demandez au DC pour un chariot d'urgence, et si elles n'ont pas, organiser un moniteur de travail/clavier/souris et le câblage de puissance et un multibox.
  6. Téléchargez le dernier ISO pour votre distribution. Créez un CD ou un disque USB et testez qu'il fonctionne sur une boîte de rechange.

Au jour:

  1. Rappelez à toutes les personnes concernées de la panne planifiée et des conséquences (c.-à-d. que le serveur FOO sera sorti ce soir, ce qui signifie aucun accès aux systèmes FOO à partir de 22h00 )
  2. Emballez un manteau/chapeau chaud et des oreillettes - DCS peut être froide et bruyant.
  3. Arrivée au DC devant la fenêtre, connectez-vous et assurez-vous que vous avez la console de travail
  4. Connectez votre disque USB temporaire, formatez-le et faites un sale RSSYNC des données. 1,2 Go ne prendra pas très longtemps.

À l'époque

  1. Commencez à temps en fermant le serveur et en démarrant dans un environnement direct sur le disque en direct de votre distributeur et obtenez-en une racine.
  2. Assemblez les partitions RAID (pas strictement nécessaires ici car ils sont RAID1 et que l'un ou l'autre disque est lisible)
  3. Le montez les raids sont montés avec MD2 As/Oldbox, puis MD1 As/Oldbox/Boot
  4. Montez votre autre disque USB comme/x ou quelque chose de clairement différent
  5. Faites la décharge finale avec quelque chose comme time rsync -avH /oldbox* /x --progress --delete Et attendre.
  6. Répétez la commande ci-dessus - aucun fichier ne doit changer et devrait être rempli rapidement la deuxième fois.
  7. df -h Devrait afficher la même quantité de fichiers/x que sur/oldbox
  8. utout/x et retirez-le de l'hôte. Ceci est pour protéger vos données.
  9. unount/Olounbox/Boot and/Oldbox.

Ceci est le point de non-retour et aucun retour facile.

  1. faites de nouveaux systèmes de fichiers avec quelque chose comme:
    mkfs.xfs -L rootdisk /dev/md2 Et mkfs.xfs -L bootdisk /dev/md1 Ils peuvent exiger un -f Pour remplacer les systèmes de fichiers existants
  2. montez les nouveaux disques de l'OS Live ON/Oldbox et/Oldbox/Boot
  3. ajoutez à nouveau votre disque USB et le monter en lecture seule comme/x avec mount -o ro /dev/sda1 /x ou similaire.
  4. rsync le dos de données avec time rsync -avH /x/* /oldbox/ --progress --delete
  5. Allez avoir un café/air frais/etc., laissez cette finition.
  6. Lors d'une invite de commande chroot /oldbox Cela vous donnera une racine rapide " dans les nouveaux disques "
  7. mount /dev/ Pour vous donner des noeuds de périphériques dans le chroot.
  8. Vérifiez le contenu de/oldbox/etc/fstab - s'il mentionne les uuids pour les disques, cela nécessitera une mise à jour.
  9. réinstaller sans tête en utilisant grub-install Il faut installer dans votre MBR sur les deux/dev/nvme0n1 et 1N1
  10. Omnifère tous les disques, retirez le disque USB et stockez-le.
  11. Redémarrez et espérez que cela fonctionne.

Remarque Ce processus a été écrit de ma tête et il y a sans doute une étape que j'ai manquée. Vous voudrez peut-être configurer un ordinateur de rechange au travail avec deux disques, puis installez Debian avec EXT4 et RAID1, comme dans le produit, puis essayez le processus hors ligne en premier. Vous pouvez même faire ce pré-test dans une machine virtuelle.


Plan n ° 2: plus facile

Vous n'avez que 1,2 Go de fichiers sur votre disque. Y a-t-il un service en cours d'exécution? Sinon, faites une sauvegarde comme décrit ci-dessus, puis formatez la machine entière. Installez à partir de zéro puis restaurer uniquement les parties des données dont vous avez besoin. Vous pouvez choisir d'aller avec LVM mais c'est plus de complexité.

UPSHOT: la création d'un nouveau système de fichiers supprime les fichiers de l'ancien. Et la modification du système de fichiers racine ne peut pas être effectué avec l'hôte en cours d'exécution.

2
Criggie