it-swarm.com.de

Wie greife ich ordnungsgemäß auf Windows-Software-RAID 0 zu?

Ich bin ein neuer Ubuntu-Benutzer mit einer neuen Installation und möchte unbedingt damit anfangen. Alle meine wichtigen Daten befinden sich jedoch auf einem Windows-Software-RAID-0-Array und müssen dort gespeichert werden, da ich Windows auch doppelt boote. Ich brauche Zugriff auf diese Daten unter Ubuntu und kann erst dann wirklich etwas erreichen, wenn ich Zugriff habe.

Ich habe dieses Thema bereits so gut wie möglich recherchiert und es ist mir gelungen, einen sehr hilfreichen Beitrag zu finden:

In diesem Beitrag wird beschrieben, wie Ubuntu ein Windows RAID 0-Array erkennt, das aus zwei Laufwerken besteht. Der verwendete Hauptbefehl ist Sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2. Laut diesem Benutzer und den anderen Postern im Thread funktioniert es tatsächlich. Das ist großartig.

Ich habe noch nicht versucht, diese Anweisungen zu befolgen. Warum? Der Beitrag enthält eine Warnung darüber, wie Sie nicht darauf schreiben dürfen, wenn Sie die falsche Blockgröße eingeben. Es ist verständlich, wie das zu Problemen führen kann. Mein Anliegen ist, dass sich mein Setup von ihrem Beispiel unterscheidet, und ich bin nicht sicher, ob die Befehle für mein Setup genau gleich eingegeben werden sollten. Ich habe Angst, es zu brechen, indem ich es falsch mache, und möchte daher den Rat eines erfahrenen Menschen einholen.

So unterscheidet sich mein Setup von ihrem Beispiel:

  1. Ich habe drei 1 TB Laufwerke, nicht zwei Laufwerke (von welcher Größe auch immer).
  2. Ich habe zwei RAID 0-Partitionen, die auf diese drei Laufwerke verteilt sind: eine mit 500 GB und eine mit 2,3 TB. Das bedeutet, dass ich beim Erstellen des RAID-Arrays NICHT die gesamten Festplatten verwenden muss, sondern nur einen Teil davon.
  3. Ich habe eine nicht standardmäßige Blockgröße für mindestens eine meiner RAID 0-Partitionen verwendet, als ich sie vor Jahren eingerichtet habe. Ich habe keine Ahnung, ob diese Blockgröße mit der erwähnten Blockgröße übereinstimmt. Meine 500-GB-Partition hat eine Blockgröße von 4 KB (4096 Byte pro Cluster), und meine Partition 2,3TB hat eine Blockgröße von 64 KB (65536 Byte pro Cluster).

Die relevante Ausgabe von Sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL (nur für diese drei RAID0-Laufwerke) lautet:

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 

Die relevante Ausgabe von cat /proc/partitions (nur für diese drei RAID0-Laufwerke) lautet:

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

Das "Disks" -Programm in Ubuntu zeigt die folgenden Partitionen für meine Laufwerke an:

/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.

Ich hoffe, ich habe hier genügend Informationen zur Verfügung gestellt. Meine Frage lautet nun: Welches ist der richtige Befehl, den ich bei meinem Setup eingeben muss, damit ich von Ubuntu aus auf beide Windows RAID 0-Partitionen zugreifen kann?

Vielen Dank im Voraus.

10
Dan

Ich habe es endlich geschafft, dank dieses Beitrags zum Stapelüberlauf: Wiederherstellung von Windows Spanned Disks (LDM) unter Linux?

Es war äußerst schwierig, diese schwer fassbaren Informationen aufzudecken. Die Suche hat Tage gedauert, und ich glaube, ich habe sie nicht gefunden, weil in der Veröffentlichung RAID nicht erwähnt wird, sodass sie in meinen Suchergebnissen nicht auftauchte. Es funktioniert jedoch definitiv für meine Windows-Software RAID 0.

Die Lösung:

Die Lösung ist eigentlich ganz einfach. Es gibt ein wunderbares Werkzeug, das speziell für diesen Zweck entwickelt wurde und ldmtool heißt. Es ist in der Lage, dynamische Windows-Datenträger zu lesen und mit ihnen zu arbeiten, die LDM (Logical Disk Manager) verwenden. Es wird nicht standardmäßig installiert, sondern ist in den Ubuntu-Repositories enthalten. Ich musste nur zwei Befehle ausführen:

Sudo apt-get install ldmtool
Sudo ldmtool create all

Mit dem ersten Befehl wird ldmtool installiert, und mit dem zweiten Befehl werden automatisch Gerätezuordnungen für alle verbundenen dynamischen Windows-Datenträger erstellt. Diese Zuordnungen befinden sich in /dev/mapper/ und können manuell mit mount -t ntfs /dev/mapper/mapfilename gemountet werden, aber das musste ich nicht - Ubuntu hat sie für mich automatisch gemountet, nachdem ich die beiden obigen Befehle ausgeführt habe. Das war alles, was ich tun musste, und ich konnte sofort über den Dateibrowser darauf zugreifen!

Der verlinkte Beitrag enthält einen Vorschlag, dies bei jedem Start automatisch zu tun. Öffnen Sie einfach die Datei /etc/init/mountall.conf und fügen Sie die Zeile [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true unmittelbar vor der Zeile exec mountall ... am Ende der Datei ein.

Die volle Anerkennung für diese Lösung geht an Christian Hudon, der sie als Antwort auf Stack Overflow veröffentlicht hat. Vielen Dank!

Um weitere Informationen hinzuzufügen, habe ich einige andere ldmtool Befehle verwendet, um meine Volumes nach Informationen abzufragen:

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"
  ]
}

Es ist nicht erforderlich, die obigen Befehle auszuführen, da ldmtool create all die gesamte zum Erstellen der Zuordnungen erforderliche Arbeit leistet. Ich habe sie nur aufgenommen, weil ich bereits Informationen zu meinem Setup in die Frage aufgenommen habe, sodass diese Informationen für alle hilfreich sein können, die später auf diesen Beitrag stoßen. Insbesondere können wir sehen, dass laut ldmtool beide meiner dynamischen Volumes eine Blockgröße von 128 verwenden, obwohl sie in Windows mit unterschiedlichen Blockgrößen erstellt wurden. Ich denke, das bedeutet, dass Blockgröße und Blockgröße keine Synonyme sind. Mit den Befehlen ldmtool show disk und ldmtool show partition können weitere Informationen angezeigt werden.

12
Dan

Ubuntu 14.04 LTS Mount Raid 1 erstellt von Windows 7 mit ldmtool von einem Newby. ** **

Ich hatte das gleiche problem Mit der obigen Antwort habe ich Glück gehabt und es mit montiert bekommen

gksu gedit /etc/init/mountall.conf 

durch Ändern der Zeile

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

zu

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

dann fügte hinzu

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

Meine mountall.conf sieht jetzt so aus

     **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**

vorher hatte ich ein script um das selbe mit den 2 zeilen zu machen

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

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

und fügte hinzu

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

jetzt wird es gemountet, wenn Ubuntu startet

Ich weiß nicht, dass das für dich funktionieren wird!

2
Ron Prickett

Die anderen Antworten haben in Mint 18.3 nur teilweise funktioniert.

Das automatische Mounten der Raid0-Laufwerke war etwas schwieriger, da die Bearbeitung von /etc/init/mountall.conf in meinem System nie funktioniert hat und ich das übergreifende Volume mithilfe einer Definition in /etc/fstab mounten und kein Skript in verwenden wollte /etc/rc.local.

Also hier ist was ich getan habe:

Sudo apt-get install ldmtool

Überprüft, ob das Volume erkannt wurde und korrekt bereitgestellt werden konnte mit:

Sudo ldmtool create all

Zu wissen, dass mein System die Laufwerke sehen und darauf schreiben kann. Ich habe einen Dienst erstellt (gemäß den Anweisungen auf dieser Website: ( https://wiki.archlinux.org/index.php/Dynamic_Disks) )

hat in etc/systemd/system/ eine Datei namens ldmtool.service mit der Beschreibung des Dienstes erstellt:

[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

So aktivieren Sie den Dienst beim Start:

Sudo systemctl is-enabled ldmtool

So ermitteln Sie die UUID des verwendeten Volumes:

Sudo blkid

Was gab mir die folgenden Infos: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

Also habe ich in /etc/fstab eine Zeile erstellt, die lautet:

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

Die Lautstärke ist bei jedem Start vorhanden.

2
cegaton