web-dev-qa-db-fra.com

Comment accéder correctement au logiciel RAID 0 de Windows?

Je suis un nouvel utilisateur Ubuntu avec une nouvelle installation et je suis impatient de commencer avec elle. Cependant, toutes mes données importantes se trouvent sur la grappe logicielle RAID 0 logicielle de Windows et j'en ai besoin pour y rester, car je double amorce Windows. J'ai besoin d'accéder à ces données sur Ubuntu et je ne peux vraiment rien faire tant que je n'y ai pas accès.

J'ai déjà fait de la recherche sur ce sujet du mieux que j'ai pu et j'ai réussi à trouver un message très utile:

Cet article explique comment faire en sorte qu’Ubuntu ait accès à une matrice Windows RAID 0 composée de deux lecteurs. La commande principale utilisée est Sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2. Selon cet utilisateur et les autres affiches du fil, cela fonctionne. C'est génial.

Je n'ai pas encore essayé de suivre ces instructions. Pourquoi? La publication inclut un avertissement indiquant que vous ne devez pas écrire dessus si vous entrez une taille de bloc incorrecte. il est compréhensible que cela puisse causer des problèmes. Mon souci est que ma configuration est différente de leur exemple et je ne suis pas sûr que les commandes doivent être saisies exactement de la même manière pour ma configuration. J'ai peur de le casser en le faisant de manière erronée et souhaite par conséquent obtenir les conseils de quelqu'un de plus expérimenté.

Voici comment ma configuration diffère de leur exemple:

  1. J'ai trois 1 TB lecteurs, et non deux lecteurs (quelle que soit leur taille).
  2. J'ai deux partitions RAID 0 réparties sur ces trois disques: une de 500 Go et 2,3 To. Cela signifie que je n'ai PAS besoin d'utiliser les disques complets lors de la création de la matrice RAID, mais plutôt de n'en utiliser qu'une partie.
  3. J'ai utilisé une taille de bloc autre que celle par défaut pour au moins une de mes partitions RAID 0 lorsque je les ai configurées il y a des années. Je n'ai aucune idée si cette taille de bloc est la même que la taille de bloc qu'ils mentionnent. Ma partition de 500 Go a une taille de bloc de 4 ko (4096 octets par cluster) et ma partition 2.3 TB a une taille de bloc de 64 ko (65 536 octets par cluster).

La sortie pertinente de Sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL (pour ces trois lecteurs RAID0 uniquement) est la suivante:

NAME   FSTYPE   SIZE MOUNTPOINT            LABEL
sdb           931.5G            
├─sdb1            1M            
├─sdb2          127M            
└─sdb3        931.4G            
sdc           931.5G            
├─sdc1            1M            
├─sdc2          127M            
└─sdc3        931.4G            
sdd           931.5G            
├─sdd1        166.7G            
└─sdd2        764.7G 

La sortie pertinente de cat /proc/partitions (pour ces trois lecteurs RAID0 uniquement) est la suivante:

8       16  976762584 sdb
8       17       1024 sdb1
8       18     130048 sdb2
8       19  976631478 sdb3
8       32  976762584 sdc
8       33       1024 sdc1
8       34     130048 sdc2
8       35  976631478 sdc3
8       48  976762584 sdd
8       49  174763008 sdd1
8       50  801865728 sdd2

Le programme "Disks" dans Ubuntu affiche les partitions suivantes pour mes lecteurs:

/dev/sdb:   GUID Partition Table .
/dev/sdb1:  1.0 MB, Microsoft LDM metadata.
/dev/sdb2:  133 MB, Microsoft Reserved.
/dev/sdb3:  1.0 TB, Microsoft LDM data.
/dev/sdc:   GUID Partition Table partitioning.
/dev/sdc1:  1.0 MB, Microsoft LDM metadata.
/dev/sdc2:  133 MB, Microsoft Reserved.
/dev/sdc3:  1.0 TB, Microsoft LDM data.
/dev/sdd:   Master Boot Record partitioning.
/dev/sdd1:  179 GB, Unknown.
/dev/sdd2:  821 GB, Unknown.
/dev/sdd:   136 MB, Unallocated space.

J'espère avoir fourni suffisamment d'informations ici. Alors maintenant, ma question est la suivante: quelle commande dois-je entrer avec ma configuration pour pouvoir accéder aux deux partitions Windows RAID 0 à partir d’Ubuntu?

Merci beaucoup d'avance.

10
Dan

J'ai enfin réussi à faire fonctionner ce poste grâce au message Stack Overflow: restauration de Windows Spanned Disks (LDM) avec Linux?

Il était extrêmement difficile de découvrir cette information insaisissable. Il a fallu des jours de recherche, et je suppose que je ne l'ai pas trouvée car l'article ne fait aucune mention du RAID, ce qui ne faisait donc pas partie des résultats de recherche. Cela fonctionne certainement pour mon logiciel Windows RAID 0, cependant.

La solution:

La solution est en fait assez simple. Il existe un merveilleux outil spécialement conçu à cet effet, appelé ldmtool. Il est capable de lire et de travailler avec des disques dynamiques Windows utilisant LDM (Logical Disk Manager). Il n'est pas installé par défaut, mais est inclus dans les référentiels Ubuntu. Tout ce que j'avais à faire était d'exécuter deux commandes:

Sudo apt-get install ldmtool
Sudo ldmtool create all

La première commande installe ldmtool, et la seconde lui permet de créer automatiquement des mappages de périphériques pour tous les disques dynamiques Windows connectés. Ces mappages sont situés dans /dev/mapper/ et peuvent être montés manuellement avec mount -t ntfs /dev/mapper/mapfilename, mais je n'avais pas besoin de le faire - Ubuntu les a automatiquement montés pour moi après avoir exécuté les deux commandes ci-dessus. C'est tout ce que j'avais à faire et je pouvais y accéder immédiatement à partir du navigateur de fichiers!

La publication liée inclut une suggestion pour le faire automatiquement à chaque démarrage. Ouvrez simplement le fichier /etc/init/mountall.conf et ajoutez la ligne [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true immédiatement avant la ligne exec mountall ... vers la fin du fichier.

Le mérite de cette solution revient à Christian Hudon, le gars qui l’a posté comme réponse à Stack Overflow. Merci!

Pour ajouter des informations supplémentaires à cela, j'ai utilisé d'autres commandes ldmtool pour interroger mes volumes d'informations:

Sudo ldmtool scan /dev/sdd
[
  "e856a65f-e558-11e1-ae19-bc5ff435f790"
]

Sudo ldmtool show diskgroup e856a65f-e558-11e1-ae19-bc5ff435f790
{
  "name" : "Dan-PC-Dg0",
  "guid" : "e856a65f-e558-11e1-ae19-bc5ff435f790",
  "volumes" : [
    "Volume1",
    "Volume2"
  ],
  "disks" : [
    "Disk1",
    "Disk2",
    "Disk3"
  ]
}

Sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume1
{
  "name" : "Volume1",
  "type" : "striped",
  "size" : 1048578048,
  "chunk-size" : 128,
  "hint" : "D:",
  "partitions" : [
    "Disk1-01",
    "Disk2-01",
    "Disk3-01"
  ]
}

Sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume2
{
  "name" : "Volume2",
  "type" : "striped",
  "size" : 4811194368,
  "chunk-size" : 128,
  "hint" : "E:",
  "partitions" : [
    "Disk1-02",
    "Disk2-02",
    "Disk3-02"
  ]
}

Il n'est pas nécessaire d'exécuter les commandes ci-dessus, car ldmtool create all effectue tout le travail nécessaire pour créer les mappages. Je les ai simplement incluses parce que j'avais déjà inclus des informations sur ma configuration dans la question. Ces informations pourraient donc être utiles à quiconque rencontrera ce message ultérieurement. En particulier, nous pouvons constater que, selon ldmtool, mes deux volumes dynamiques utilisent une taille de bloc de 128, bien qu'ils aient été créés avec des tailles de blocs différentes dans Windows. Je suppose que cela signifie que taille de bloc et taille de bloc ne sont pas synonymes. Les commandes ldmtool show disk et ldmtool show partition peuvent être utilisées pour afficher des informations supplémentaires.

12
Dan

Ubuntu 14.04 LTS mount Raid 1 créé par Windows 7 en utilisant ldmtool par newby. ** **

J'ai eu le même problème. En utilisant la réponse ci-dessus, j'ai eu de la chance et je l'ai monté avec

gksu gedit /etc/init/mountall.conf 

en changeant la ligne

 [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true

à

/bin/ldmtool create all >/dev/null || true

puis ajouté

/bin/mount /dev/mapper/ldm_vol_NAME-Dg0_volume1 /media/WHEREVER

Mon mountall.conf ressemble à ceci maintenant

     **fi
/usr/bin/ldmtool create all >/dev/null || true
/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m
    exec mountall --daemon $force_fsck $fsck_fix $debug_arg
end script**

auparavant, j'avais un script pour faire la même chose avec les 2 lignes

/usr/bin/ldmtool create all >/dev/null || true

/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m

et ajouté

sh /home/ron/mirror to the end of /etc/rc.local 

maintenant il est monté quand ubuntu commence

Je ne sais pas si cela fonctionnera pour vous!

2
Ron Prickett

Les autres réponses ne fonctionnèrent que partiellement dans Mint 18.3.

Le montage automatique des disques Raid0 était un peu plus difficile, car l'édition /etc/init/mountall.conf n'a jamais fonctionné dans mon système et je voulais pouvoir monter le volume étendu à l'aide d'une définition dans /etc/fstab et ne pas utiliser de script dans /etc/rc.local.

Alors voici ce que j'ai fait:

Sudo apt-get install ldmtool

Vérifié que le volume a été reconnu et peut être monté correctement avec:

Sudo ldmtool create all

Sachant que mon système pouvait voir et écrire dans les lecteurs. J'ai créé un service (en suivant les instructions de ce site: ( https://wiki.archlinux.org/index.php/Dynamic_Disks) )

a créé un fichier dans etc/systemd/system/ appelé ldmtool.service avec la description du service:

[Unit]
Description=Windows Dynamic Disk Mount
Before=local-fs-pre.target
DefaultDependencies=no
[Service]
Type=simple
User=root
ExecStart=/usr/bin/ldmtool create all
[Install]
WantedBy=local-fs-pre.target

Pour activer le service au démarrage:

Sudo systemctl is-enabled ldmtool

Pour trouver l'UUID du volume utilisé:

Sudo blkid

Ce qui m'a donné les informations suivantes: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

J'ai donc créé une ligne dans /etc/fstab qui se lit comme suit:

UUID=0A281FC6281FAFA5 /media/6TB_Raid ntfs-3g  auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8  0  0

Le volume est là à chaque démarrage.

2
cegaton