web-dev-qa-db-ja.com

mdadmを使用してLinuxのWindowsで作成されたソフトウェアRAID1(ミラー)をマウントするにはどうすればよいですか?

WindowsサーバーをUbuntuに切り替えて、Windowsで作成したソフトウェアRAID1(ミラー)をUbuntuに表示しようとしています。これは可能であると読みました ここ mdadmを使用しますが、問題が発生しています。

これが私が試していることです:

Script started on Thu 12 Jan 2012 12:22:33 GMT
graeme@MediaCentre:~/Desktop$ cat /proc/partitions

major minor  #blocks  name

   8        0  120060864 sda
   8        1  117974016 sda1
   8        2          1 sda2
   8        5    2083840 sda5
   8       16 1465138584 sdb
   8       17 1465136128 sdb1
   8       32 1465138584 sdc
   8       33 1465136128 sdc1
graeme@MediaCentre:~/Desktop$ Sudo mdadm --build /dev/md0 --chunk=128 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
[Sudo] password for graeme:
mdadm: array /dev/md0 built and started.
graeme@MediaCentre:~/Desktop$ Sudo mkdir /media/WinMirror/
mkdir: cannot create directory `/media/WinMirror/': File exists
graeme@MediaCentre:~/Desktop$ Sudo mount -t ntfs /dev/md0 /media/WinMirror
Failed to read last sector (5860544511): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
   or it was not setup correctly (e.g. by not using mdadm --build ...),
   or a wrong device is tried to be mounted,
   or the partition table is corrupt (partition is smaller than NTFS),
   or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/md0': Invalid argument
The device '/dev/md0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
graeme@MediaCentre:~/Desktop$ exit
exit

Script done on Thu 12 Jan 2012 12:23:23 GMT

64チャンクを試しても、ディスクを別の順序でリストすると、同じことがわかります。

私がここで間違っていることを誰かが知っていますか?

編集:Paulの要求に応じてfdisk-lの結果を追加しています:

graeme@MediaCentre:~$ Sudo fdisk -l /dev/sdb
[Sudo] password for graeme:

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 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 identifier: 0x181bfef8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63  2930275119  1465137528+  42  SFS
graeme@MediaCentre:~$ Sudo fdisk -l /dev/sdc

Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 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 identifier: 0x181bfef8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63  2930275119  1465137528+  42  SFS
graeme@MediaCentre:~$ Sudo mdadm --build /dev/md0 --level=1 --raid-devices=2 /dev/sdb     /dev/sdc
mdadm: array /dev/md0 built and started.
graeme@MediaCentre:~$ Sudo fdisk -l /dev/md0

Disk /dev/md0: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 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 identifier: 0x181bfef8

    Device Boot      Start         End      Blocks   Id  System
/dev/md0p1              63  2930275119  1465137528+  42  SFS
7
Grezzo

私はそれができないとかなり確信しています。私はすべてを無駄にしようとしましたが、最終的には、Windowsがそれをマウントすることすらできないというバグに気づきました。いくつかの高度な回復ツールを使用する必要がありました。大失敗!バックアップなしのレイドに依存している正しい馬鹿のように感じてくださいバックアップなしのレイドをいじります!しかたがない。学んだ教訓。

1
Grezzo

mdadmといくつかの簡単なコマンドでそれができることを完全に確認できます:

mdadm --build /dev/md0 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdb1
mount /dev/md0 /mount/raid

詳細:

  • もちろん、最初にmdadmをインストールする必要があります(ターミナルコマンド:Sudo apt-get install mdadm)。
  • 「md0」は、Linuxで使用するためにレイドに付けた名前です。あなたはそれを何とでも呼ぶことができます。
  • 「--level = 0」の部分は、おそらくRAIDの種類、私の場合はRAID0を指します。
  • 「--raid-devices = 2」の部分は、ほとんどの場合、RAID内のHDDの数です。
  • 最初にフォルダ「/ mount/raid」を作成する必要があります(または、マウントしたい場所や呼び出したい場所)
  • 私の場合、2台の2TB HDD(ここではsdc1sdb1)でWindows7/8で作成されたソフトウェアRAID0を使用していました。ここでは、RAID情報が含まれているため、sdc1がコマンドの最初に配置されます。 RAID情報がないというエラーが表示された場合は、それらを切り替えてみると問題ありません。

注意:WindowsでソフトウェアRAIDを既に作成している場合は、mdadm --createコマンドを使用しないでください。RAID情報が上書きされる可能性があり、RAIDとそのデータがダッキングされる可能性があります。

1
hello guy

この:

Sudo mount -t ntfs /dev/md0 /media/WinMirror

rAIDアレイ全体をマウントしようとしますが、fdiskはパーティション化されていることを示します。

    Device Boot      Start         End      Blocks   Id  System
/dev/md0p1              63  2930275119  1465137528+  42  SFS

パーティションをマウントするには、次を使用する必要があります。

Sudo mount -t ntfs /dev/md0p1 /media/WinMirror
0
Paul

RAID1を「ビルド」することは不可能であり、WindowsソフトウェアRAIDを表示する唯一の方法は「ビルド」であることに気付いたと思います。誰かが私のためにそれを確認できますか?

これは私がmdadmから抜け出すことができたものです:

graeme@MediaCentre:~$ Sudo mdadm --build --help
Usage:  mdadm --build device -chunk=X --level=Y --raid-devices=Z devices

 This usage is similar to --create.  The difference is that it creates
 a legacy array without a superblock.  With these arrays there is no
 difference between initially creating the array and subsequently
 assembling the array, except that hopefully there is useful data
 there in the second case.

 The level may only be 0, raid0, or linear.
 All devices must be listed and the array will be started once complete.
 Options that are valid with --build (-B) are:
  --bitmap=          : file to store/find bitmap information in.
  --chunk=      -c   : chunk size of kibibytes
  --rounding=        : rounding factor for linear array (==chunk size)
  --level=      -l   : 0, raid0, or linear
  --raid-devices= -n : number of active devices in array
  --bitmap-chunk=    : bitmap chunksize in Kilobytes.
  --delay=      -d   : bitmap update delay in seconds.
0
Grezzo