我可以将整个驱动器用作软件团队成员吗?


6

我可以用吗 /dev/sda/dev/sdb 我的RADI1配置?

或者我首先必须使用单个Linux raid分区进行分区?

Answers:


9

是的,你可以这样做,但它可能会导致恼人的副作用。

我在我旁边有一个系统,我将整个设备用作md RAID成员。每次启动时,都会抱怨这些设备上的分区已损坏。

这是因为当数据是RAID组的一部分时,数据将被写入驱动器的最开头。然后,系统将在检查设备时尝试将该数据解释为启动时的分区表。

到目前为止,这并没有给我带来麻烦。它只是延迟启动程序,看起来非常可怕。


我只是拉起日志来展示我在说什么。这是我启动服务器时在我的控制台上运行的内容。

请注意,设备 /dev/sda 通过 /dev/sdd/dev/sdf 通过 /dev/sdj 都是RAID阵列的一部分。 /dev/sde 包含系统根分区。

Nov 24 11:41:52 dump kernel: [   49.717165] sd 0:0:0:0: [sda] 2930277168 512-byte hardware sectors (1500302 MB)
Nov 24 11:41:52 dump kernel: [   49.717172] sd 0:0:0:0: [sda] Write Protect is off
Nov 24 11:41:52 dump kernel: [   49.717173] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
Nov 24 11:41:52 dump kernel: [   49.717182] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Nov 24 11:41:52 dump kernel: [   49.717209] sd 0:0:0:0: [sda] 2930277168 512-byte hardware sectors (1500302 MB)
Nov 24 11:41:52 dump kernel: [   49.717213] sd 0:0:0:0: [sda] Write Protect is off
Nov 24 11:41:52 dump kernel: [   49.717214] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
Nov 24 11:41:52 dump kernel: [   49.717221] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Nov 24 11:41:52 dump kernel: [   49.717222]  sda: unknown partition table
Nov 24 11:41:52 dump kernel: [   49.724463] sd 0:0:0:0: [sda] Attached SCSI disk
Nov 24 11:41:52 dump kernel: [   49.724504] sd 1:0:0:0: [sdb] 2930277168 512-byte hardware sectors (1500302 MB)
Nov 24 11:41:52 dump kernel: [   49.724510] sd 1:0:0:0: [sdb] Write Protect is off
Nov 24 11:41:52 dump kernel: [   49.724512] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
Nov 24 11:41:52 dump kernel: [   49.724519] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Nov 24 11:41:52 dump kernel: [   49.724547] sd 1:0:0:0: [sdb] 2930277168 512-byte hardware sectors (1500302 MB)
Nov 24 11:41:52 dump kernel: [   49.724551] sd 1:0:0:0: [sdb] Write Protect is off
Nov 24 11:41:52 dump kernel: [   49.724552] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
Nov 24 11:41:52 dump kernel: [   49.724559] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Nov 24 11:41:52 dump kernel: [   49.724561]  sdb:Driver 'sr' needs updating - please use bus_type methods
Nov 24 11:41:52 dump kernel: [   49.734320]  unknown partition table

这只是RAID阵列中的前两个驱动器。你已经可以看到了 unknown partition table 错误在那里。将为所有RAID成员打印相同的错误。

一旦完成。这开始了:

Nov 24 11:41:52 dump kernel: [   50.145507] attempt to access beyond end of device
Nov 24 11:41:52 dump kernel: [   50.145513] sdc: rw=0, want=7018997372, limit=2930277168
Nov 24 11:41:52 dump kernel: [   50.145515] Buffer I/O error on device sdc3, logical block 4250167552
Nov 24 11:41:52 dump kernel: [   50.145626] attempt to access beyond end of device
Nov 24 11:41:52 dump kernel: [   50.145627] sdc: rw=0, want=7018997373, limit=2930277168
Nov 24 11:41:52 dump kernel: [   50.145628] Buffer I/O error on device sdc3, logical block 4250167553

你看到它抱怨 sdc3 实际上并不存在(因为整体而言) sdc device用作RAID成员。

下次我启动机器时,它可能是它抱怨的不同驱动器或根本没有。下次启动时,具体取决于设备上存在的数据而不是设备上的分区表。

关于它的最糟糕的部分?我现在无法转移到分区,因为我必须将每个RAID成员磁盘缩小一点(因此我可以进行分区),这需要重新创建整个RAID阵列。


5

是的,如果您将md用于RAID,则可以使用整个块设备而无需对其进行分区。见 mdadm手册页 详情。


非常感谢你。一旦我加强到15代表,我会立即投票给你答案:)
Kaurin

1

是的,但我建议您改为对磁盘进行分区,并在最后留出一些空间。

例如,如果您将2TB磁盘替换为另一个2TB磁盘,则它可能与另一个磁盘的大小完全相同。因此,如果要替换的磁盘小于原始磁盘,则可能无法将其添加到raid中。

保留了一些松弛的空间后,很容易建立一个匹配的分区,因为你只是让松弛的空间更小或更大(你总是可以为交换分配“浪费的”空间)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.