WindowsソフトウェアRAID 0に正しくアクセスするにはどうすればよいですか?


12

私は新規インストールのUbuntuユーザーであり、使い始めたいと思っています。ただし、私の重要なデータはすべてWindowsソフトウェアRAID 0アレイ上にあり、Windowsをデュアルブートしているため、そこにとどまる必要があります。Ubuntuでこのデータにアクセスする必要がありますが、アクセスするまで実際に何かを行うことはできません。

私はすでにこのテーマをできる限り最善の方法で研究しており、非常に役立つ投稿を見つけることができました。

この投稿では、2台のドライブで構成されるWindows RAID 0アレイをUbuntuに表示させる方法について説明しています。使用される主なコマンドはsudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2です。そのユーザーとスレッド内の他のポスターによると、実際に動作します。それは素晴らしいことです。

私はまだこれらの指示に従うことを試みていません。どうして?投稿には、間違ったチャンクサイズを入力した場合に書き込みを禁止する方法に関する警告が含まれています。それが問題を引き起こす可能性があることは理解できます。私の懸念は、私のセットアップが彼らの例とは異なることであり、コマンドが私のセットアップとまったく同じように入力されるべきかどうかはわかりません。私はそれを間違えることでそれを壊すことを恐れており、したがって、より経験豊富な誰かのアドバイスを受けたいと思っています。

これは私のセットアップが彼らの例とどのように異なるかです:

  1. 2台のドライブ(使用したサイズに関係なく)ではなく、1 TBのドライブが3台あります。
  2. 私が持っている2つの 1 500ギガバイトと2.3 TB:これらの3つのドライブに分散RAID 0パーティションを。つまり、RAIDアレイを作成するときにディスク全体を使用する必要はなく、ディスクの一部のみを使用する必要があります。
  3. 何年も前に設定したRAID 0パーティションの少なくとも1つに、デフォルト以外のブロックサイズを使用しました。このブロックサイズが、言及されているチャンクサイズと同じであるかどうかはわかりません。500 GBパーティションのブロックサイズは4 kb(クラスターあたり4096バイト)で、2.3 TBパーティションのブロックサイズは64 kb(クラスターあたり65536バイト)です。

関連する出力sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL(これら3つのRAID0ドライブのみ)は次のとおりです。

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 

関連する出力cat /proc/partitions(これら3つのRAID0ドライブのみ)は次のとおりです。

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

Ubuntuの「ディスク」プログラムには、ドライブ用に次のパーティションが表示されます。

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

ここで十分な情報を提供していただければ幸いです。だから今、私の質問は次のとおりです。UbuntuからWindows RAID 0パーティションの両方にアクセスできるように、セットアップで入力する適切なコマンドは何ですか?

事前にどうもありがとうございました。

回答:


16

このStack Overflowの投稿のおかげで、ようやくこれが機能するようになりました。LinuxでのWindows Spanned Disks(LDM)の復元?

このとらえどころのない情報を明らかにすることは非常に困難でした。検索には何日もかかりましたが、記事ではRAIDについて言及していないため、検索結果に表示されていなかったため、検索できなかったと思います。ただし、私のWindowsソフトウェアRAID 0でも確実に機能します。

ソリューション:

ソリューションは実際には非常に簡単です。この目的のために特別に構築されたすばらしいツールがありldmtoolます。LDM(Logical Disk Manager)を使用するWindowsダイナミックディスクの読み取りと操作が可能です。デフォルトではインストールされませんが、Ubuntuリポジトリに含まれています。私がしなければならなかったのは、2つのコマンドを実行することだけでした。

sudo apt-get install ldmtool
sudo ldmtool create all

最初のコマンドはをインストールldmtoolし、2番目のコマンドは接続されたすべてのWindowsダイナミックディスクのデバイスマッピングを自動的に作成します。これらのマッピングはにあり、/dev/mapper/を使用して手動でマウントできますがmount -t ntfs /dev/mapper/mapfilename、その必要はありませんでした。上記の2つのコマンドを実行した後、Ubuntuは自動的にそれらをマウントしました。それが私がしなければならなかったすべてであり、私はすぐにファイルブラウザからそれらにアクセスできました!

リンクされた投稿には、これをブートごとに自動的に行うための提案が含まれています。ファイル/etc/init/mountall.confを開いて、ファイルの終わり近くの行の[ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true直前に行を追加するだけexec mountall ...です。

このソリューションの完全な功績は、それをStack Overflowの回答として投稿したクリスチャンヒュードンにあります。ありがとう!

さらに情報を追加するために、他のldmtoolコマンドを使用して情報をボリュームに照会しました。

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

ldmtool create allマッピングを作成するために必要なすべての作業と同様に、上記のコマンドを実行する必要はありません。私はすでに質問に自分の設定に関する情報を含めているので、それらを含めました。したがって、この情報は、後でこの投稿に出くわした人にとって役立つかもしれません。特に、ldmtoolWindowsで異なるブロックサイズで作成されているにもかかわらず、私の動的ボリュームはいずれも128のチャンクサイズを使用していることがわかります。これは、ブロックサイズとチャンクサイズが同義語ではないことを意味すると思います。コマンドldmtool show diskldmtool show partitionは、さらに情報を表示するために使用できます。


5年前のソリューションはまだUbuntu 18で機能しています。ありがとう。
クリス

2

Ubuntuは14.04 LTSは、使用してWindows 7で作成したRAID 1マウントldmtool ニュービーでは。**

同じ問題がありました。上記の答えを使用して、私は運が良かったし、それを搭載しました

gksu gedit /etc/init/mountall.conf 

行を変更することにより

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

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

その後追加

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

私のmountall.confは今このように見えます

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

以前は、2行で同じことを行うスクリプトがありました

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

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

そして追加

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

今ではubuntuの起動時にマウントされます

これがあなたのために働くことを私は知りません!


2

その他の回答は、Mint 18.3で部分的にしか機能しませんでした。

Raid0ドライブの自動マウントは/etc/init/mountall.conf、システムで編集が機能しなかったので、やや困難でし/etc/fstab/etc/rc.local

だからここに私がやったことがあります:

sudo apt-get install ldmtool

ボリュームが認識され、以下を使用して正しくマウントできることを確認しました。

sudo ldmtool create all

私のシステムがドライブを認識して書き込みできることを知っている。サービスを作成しました(このサイトの指示に従ってください:https://wiki.archlinux.org/index.php/Dynamic_Disks

サービスの説明でetc/systemd/system/呼び出されるファイルを作成しましたldmtool.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

起動時にサービスを有効にするには:

sudo systemctl is-enabled ldmtool

使用されているボリュームのUUIDを見つけるには:

sudo blkid

それは私に次の情報を与えました: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

そこで、次のような行を作成しました/etc/fstab

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

ボリュームは、起動するたびに存在します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.