如何在同一组硬盘上处理 Linux RAID0 和 Windows 条带动态卷?

如何在同一组硬盘上处理 Linux RAID0 和 Windows 条带动态卷?

我最近获得了一个 1TB 磁盘来补充我的两个 500GB 磁盘,并且我决定在后者上使用某种形式的 RAID。我将 500GB 的磁盘分成两个分区。然后,我使用第一个分区创建了 RAID0 mdadm,并在 Windows 上创建了第二个分区上的条带卷(将磁盘转换为动态磁盘)。 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 

sdb2sdc2是组成条带卷的分区。

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

看起来它检测到了由 制作的 RAID0 卷mdadm,尽管 UUID 没有显示在其他任何内容的输出中。运行ldmtool scan /dev/sd[cb]2显示相同的 UUID,ldmtool scan -d /dev/sdc2 -d /dev/sdb2给出一个空数组。

我能做些什么?

我在 Arch Linux 上:

# uname -r
4.2.5-1-ARCH

ldmtool create all失败,因为它尝试使用检测到的组(RAID0,而不是 Windows 条带卷):

# 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 条带卷顶部只有一个“卷”。

fdisk输出甚至不显示磁盘上的第二组分区:

# 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 身份运行。

答案1

根据man ldmtoolldmtool create ...将创建设备映射器设备节点,您可以像任何其他设备节点一样使用(安装、卸载等)。

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

为指定卷或所有检测到的磁盘组中的所有卷创建设备映射器设备。

返回由此操作创建的设备映射器设备名称列表。请注意,如果某个卷已存在某个设备,则该设备不会返回到此列表中。

如果您的发行版ldmtool软件包没有附带手册页,请提交错误报告。手册页应与它们记录的二进制文件打包在一起。

相关内容