RAID级别1的块,ext4步长和条带宽度大小?


1

手册页mdadm说:“[chunk]仅对RAID0,RAID4,RAID5,RAID6和RAID10有意义。” 即它不适用于raid1。即使您传递了该值,它也会说“忽略块大小”,并且在创建raid 1之后,您会得到:

md1 : active raid1 ... 4883639488 blocks super 1.2 ... bitmap: 0/37 pages [0KB], 65536KB chunk

由于某种原因,它使用65Mb的5.6Tb磁盘大小。为什么?

然后,手册页mkfs.ext4

stride = stride-size =为具有跨步大小文件系统块的RAID阵列配置文件系统。这是在移动到下一个磁盘之前读取或写入磁盘的块数,有时也称为块大小。这主要影响文件系统元数据(如mke2fs时的位图)的放置,以避免将它们放在单个磁盘上,这可能会影响性能。它也可以由块分配器使用。

stripe_width = stripe-width =为每个条带配置带条带宽度文件系统块的RAID阵列配置文件系统。这通常是步幅大小* N,其中N是RAID中的数据承载磁盘的数量(例如,对于RAID 5,存在一个奇偶校验磁盘,因此N将是阵列中的磁盘数减1)。这允许块分配器在写入数据时尽可能防止RAID条带中的奇偶校验的读 - 修改 - 写。

这对RAID1意味着什么?我应该重复与上面的chunck相同的值吗?并忽略stripe_width,因为RAID1不属于“if possible”笔记?或者不是吗?

我不应该清楚我应该为RAID1做些什么。使用我在RAID0和RAID5的其他教程中找到的公式,我得到了我的RAID1阵列的这些数字,我认为这是不正确的..mkfs.ext4 -b 4096 -E stride=16384,stripe-width=16384

Answers:


1

我认为这样可以没事,因为你没有任何东西。您只需要知道应该使用下一个磁盘的数据量。但是,您实际上只有一个数据磁盘(以及它的一个镜像),因此控制器不需要更改磁盘,因此它应该没问题。在我看来,高数字也是有道理的,因为控制器只会在大块之后问自己哪个磁盘使用。所以这应该限制开销。

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.