So erstellen Sie ein Software-RAID-1-Array unter Windows 7, das sich nicht über ganze Festplatten erstreckt

1

Ich habe einen brandneuen PC, der von einem einzigen SSD-Laufwerk gebootet wird (win7 + debian). Ich habe ein paar 2T-Festplatten hinzugefügt, die ich sowohl unter Win als auch unter Linux verwenden möchte. Mein Ziel ist es, zwei separate RAID-1-Arrays auf vier 1T-Partitionen zu haben.

Ich habe mit der Partitionierung unter Linux begonnen (/ dev / sd [de] [12]) und das Array dort zu bauen funktioniert wie erwartet (mit mdmadmin --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[de]2).

Leider scheint Win7 nicht in der Lage zu sein, die "verbleibenden" freien Partitionen (/ dev / sd [de] 1) zu verwenden: Es akzeptiert meinen Eingang, verschluckt sich dann aber mit "nicht genügend Speicherplatz auf dem Gerät". Ich habe auch versucht, die Größe der Partitionen zu reduzieren (einige Posts implizieren, dass Win eine 1-MB-Overhead-Partition benötigt), aber ich konnte es nicht zum Laufen bringen.

Ich habe dann alle Partitionen gelöscht und "Volumes" auf Win7 erstellt und auch dies funktioniert wie angekündigt.

Leider werden 1T-Volumes erstellt, es werden jedoch auch zwei Partitionen erstellt: die "kleine 1MB" und eine weitere, die sich über den Rest der Festplatte erstreckt; Kein Platz mehr für das Linux-Array.

Kann jemand eine Strategie vorschlagen, um zwei 1-TB-RAID-1-Festplatten-Arrays auf zwei 2-TB-physischen Festplatten zu erstellen, von denen eine unter Win7 und eine unter Linux verwendet werden kann?

HINWEIS: Linux-Array ist ein LVM-Volume, das hauptsächlich für den Speicher von XEN-VMs vorgesehen ist. Daher ist das Mounten des Win-Arrays (ntfs) unter Linux leider keine Option.

ZioByte
quelle
Nach Evan Andersons Rat konnte ich umsetzen, was nötig war. Ich habe die Standard-Tools (Disk Manager) verwendet, um ein paar RAW-Partitionen zu erstellen (einfach das Häkchen im Feld "Format" entfernen), ohne Befehlszeilen-Tools verwenden zu müssen. Diese können direkt mit verwendet werden mdmadmin --create. Alles danach ist Standard-Linux-Management.
Ich bin froh zu hören, dass es gut geklappt hat.
Evan Anderson

Antworten:

3

Sie benötigen LDM-Unterstützung ( Logical Disk Manager ) in Ihrer Linux-Distribution, um auf dynamische Windows-Datenträger zugreifen zu können. Es ist erforderlich, dass diese Datenträger in Windows als dynamisch konfiguriert sind, um gespiegelte Volumes zu erstellen.

Es ist mir unklar, ob Debian die LDM-Unterstützung in ihren Kernel kompiliert (kein Debian-Benutzer, also kann ich nicht sagen). Es gibt LDM-Unterstützung im Kernel . Der Kernel kann die LDM-Datenbank auf der Festplatte abfragen und die Volumes im Dateisystem "/ dev" präsentieren. Nichts hindert Sie daran, ein LDM-Volume zu erstellen und Linux-Software-RAID und ein reines Linux-Dateisystem darauf zu verwenden.

Neben dem Kerneltreiber gibt es das Tool libldm ldmtool , mit dem das LDM abgefragt und Voumes über den Geräte-Mapper dargestellt werden können . Das könnte auch für Sie eine Option sein.

Bearbeiten:

Lassen Sie mich versuchen zu klären. Ich schlage nicht vor, dass Sie Linux-Software-RAID aufgeben. Ihr Problem ist nicht mit RAID - es ist mit dem Lesen der Partitionstabelle. Was Sie für RAID tun, ist orthogonal zu diesem Problem.

Ihr Kernel zeigt Ihnen eine Partitionstabelle im MBR-Stil auf diesen Datenträgern an. Sie sehen dies unter Linux, weil Windows sie "dynamisch" gemacht und diese Partitionstabelle als Kompatibilitätsfunktion für Betriebssysteme gespeichert hat, die Partitionstabellen im MBR-Stil lesen können. Auf diesen Festplatten ist freier Speicherplatz vorhanden, aber Ihr Linux-Betriebssystem muss die LDM-Datenbank interpretieren, um auf diesen freien Speicherplatz zugreifen zu können.

Sie können kein gespiegeltes Volume in Windows haben, ohne dynamische Datenträger (LDM-Partitionen) zum Hosten des gespiegelten Volumes zu verwenden. Du steckst fest. Wenn Sie Windows RAID-1 verwenden möchten , müssen diese Datenträger über Partitionen im LDM-Stil verfügen.

Daher müssen Sie zum Adressieren von Volumes auf einer dynamischen Festplatte unter Linux eine LDM-Kompatibilitätsebene verwenden. Wenn Sie keine dynamische Festplatte verwenden, erhalten Sie unter Windows kein Software-RAID.

Mir ist nicht klar, was mit der Kernel-LDM-Unterstützung in Linux passiert ist. Der Code scheint vor Jahren hinzugefügt worden zu sein und sollte stabil sein. Ich nehme an, Sie müssen einen benutzerdefinierten Kernel erstellen. Überprüfen Sie die grep "CONFIG_LDM_PARTITION" /boot/config-$(uname -r)Kernelkonfiguration ( ), um festzustellen, ob "CONFIG_LDM_PARTITION" festgelegt ist.

Sobald Linux die LDM-Partitionstabelle gelesen hat, können Sie Linux-Software-RAID für Volumes verwenden, die Sie in der LDM-Partitionstabelle erstellt haben. Sie blockieren nur Geräte. Um die Volumes zum Hosten des Linux-Software-RAID zu erstellen, müssen Sie möglicherweise das Windows- diskpartTool (oder möglicherweise das von ldmtoolmir verknüpfte Dienstprogramm) verwenden.

Evan Anderson
quelle
Dies ist nicht genau das, was ich gefragt habe. Wenn ich das richtig verstehe, soll ich Win LDM anstelle von Linux Software RAID verwenden. Ich möchte das vermeiden, da ich RAID für zusätzliche Sicherheit verwende und LDM sehr neu und wahrscheinlich nicht ausgiebig getestet erscheint (ldmtool ist auf Version 0.2!). Ich werde sowieso drin graben. Vielen Dank.
Ich ließ mich auf eine Bearbeitung fallen, um dies zu klären.
Evan Anderson
Es scheint, dass Linux LDM-Partitionen in Ordnung sieht (mit debian Wheezy stock Kernel), aber selbst ldmtool scheint nicht in der Lage zu sein , neue dynamische Partitionen zu erstellen . Ich werde versuchen, unter win ein paar passende Partitionen zu erstellen und sie dann unter Linux neu zu formatieren, damit sie verwendet werden können mdmadm --create. Ich bin nicht sicher, wie ich den "Partitionstyp" ändern soll. Ich werde hier Erfolg / Misserfolg als zukünftige Referenz melden.
Schauen Sie hier nach: technet.microsoft.com/en-us/library/cc766465(v=ws.10).aspx Der gesuchtediskpart Befehl lautet create volume simple. Das Windows-Datenträgerverwaltungsprogramm sollte ein einfaches Volume ohne Dateisystem anzeigen.
Evan Anderson