web-dev-qa-db-ja.com

同じハードディスクセットでLinuxRAID0とWindowsストライプダイナミックボリュームを処理するにはどうすればよいですか?

最近、2つの500GBディスクを補うために1TBディスクを入手し、後者で何らかの形式のRAIDを使用することにしました。 500GBのディスクをそれぞれ2つのパーティションに分割しました。次に、最初のパーティションとmdadmを使用してRAID0を作成し、Windowsでは2番目のパーティションにストライプボリュームを作成しました(ディスクを動的に変換します)。 RAID0ボリュームはLinuxで正常に動作し、ストライプボリュームはWindowsで正常に動作します。 Linuxからストライプボリュームにアクセスするにはどうすればよいですか?

ディスクレイアウト:

# lsblk /dev/sd[bc] -o NAME,SIZE,TYPE,MAJ:MIN
NAME          SIZE TYPE  MAJ:MIN
sdb         465.8G disk    8:16 
├─sdb1        250G part    8:17 
│ └─md0       500G raid0   9:0  
│   ├─md0p1    40G md    259:0  
│   ├─md0p2   100G md    259:1  
│   └─md0p3   360G md    259:2  
└─sdb2      215.8G part    8:18 
sdc         465.8G disk    8:32 
├─sdc1        250G part    8:33 
│ └─md0       500G raid0   9:0  
│   ├─md0p1    40G md    259:0  
│   ├─md0p2   100G md    259:1  
│   └─md0p3   360G md    259:2  
└─sdc2      215.8G part    8:34 

sdb2およびsdc2は、ストライプボリュームを構成するパーティションです。

ldmtoolが検出何か

# ldmtool scan
[
  "c0a36d19-7bcb-11e5-9c2a-0090f5e33807"
]
# ldmtool show diskgroup c0a36d19-7bcb-11e5-9c2a-0090f5e33807
{
  "name" : "BRO3886-PC-Dg0",
  "guid" : "c0a36d19-7bcb-11e5-9c2a-0090f5e33807",
  "volumes" : [
    "Volume1",
    "Volume2",
    "Volume3"
  ],
  "disks" : [
    "Disk1",
    "Disk2"
  ]
}

mdadmによって作成されたRAID0ボリュームを検出したようですが、UUIDは他の出力には表示されません。 ldmtool scan /dev/sd[cb]2を実行すると同じUUIDが表示され、ldmtool scan -d /dev/sdc2 -d /dev/sdb2を実行すると空の配列が表示されます。

私に何ができる?

私はArchLinuxを使用しています:

# uname -r
4.2.5-1-Arch

ldmtool create allは、検出されたグループ(WindowsストライプボリュームではなくRAID0)を処理しようとするため、失敗します。

# ldmtool create all                 
Unable to create volume Volume1 in disk group c0a36d19-7bcb-11e5-9c2a-0090f5e33807: ldm_vol_BRO3886-PC-Dg0_Volume1: Stacking NODE_DEL [verify_udev]
Unable to create volume Volume2 in disk group c0a36d19-7bcb-11e5-9c2a-0090f5e33807: ldm_vol_BRO3886-PC-Dg0_Volume2: Stacking NODE_DEL [verify_udev]
Unable to create volume Volume3 in disk group c0a36d19-7bcb-11e5-9c2a-0090f5e33807: ldm_vol_BRO3886-PC-Dg0_Volume3: Stacking NODE_DEL [verify_udev]
[
]

Windowsのストライプボリュームには、その上に1つの「ボリューム」しかありません。

fdisk出力には、ディスク上の2番目のパーティションセットも表示されません。

# fdisk -l /dev/sd[bc]
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000c35

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdb1          63 976771119 976771057 465.8G 42 SFS

Partition 1 does not start on physical sector boundary.
Disk /dev/sdc: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000b5336

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdc1          63 976771119 976771057 465.8G 42 SFS

Partition 1 does not start on physical sector boundary.

blkidは、/dev/sd[bc]2に関する情報も表示しません。

# blkid            
/dev/sdc1: UUID="e55a4863-d81c-3f39-3daf-44e995671ffb" UUID_SUB="3f774ed1-d5b1-ac30-4eb0-44b490ab96ee" LABEL="ica-ext:0" TYPE="linux_raid_member"
/dev/sdb1: UUID="e55a4863-d81c-3f39-3daf-44e995671ffb" UUID_SUB="c906ce18-e525-32f0-cedf-01ef0e3068a3" LABEL="ica-ext:0" TYPE="linux_raid_member"
/dev/md0p1: LABEL="Arch" UUID="046a554b-d9f5-4b23-82e6-ffaeb98284aa" TYPE="ext4" PARTUUID="000da16b-01"
/dev/md0p2: LABEL="devel" UUID="69624d11-f53d-463e-b5c8-5ec417401d33" TYPE="ext4" PARTUUID="000da16b-02"
/dev/md0p3: LABEL="var" UUID="ec253608-fff7-4d66-80f1-3fcb9e09e5f8" TYPE="ext4" PARTUUID="000da16b-03"
/dev/md0: PTUUID="000da16b" PTTYPE="dos"

これまでに示したすべてのコマンドは、rootとして実行されました。

3
muru

による man ldmtoolldmtool create ...は、他のデバイスノードと同じように使用できる(マウント、アンマウントなど)デバイスマッパーデバイスノードを作成します。

create {volume { disk group GUID } { volume name } | all}

指定されたボリューム、または検出されたすべてのディスクグループ内のすべてのボリュームのいずれかに対してデバイスマッパーデバイスを作成します。

このアクションによって作成されたデバイスマッパーデバイス名のリストを返します。ボリュームにデバイスがすでに存在する場合、このリストには戻されないことに注意してください。

ディストリビューションのldmtoolパッケージにmanページが付属していない場合は、バグレポートを送信してください。マニュアルページは、ドキュメント化されたバイナリと一緒にパッケージ化する必要があります。

1
cas