在 RAID0 中,条带大小为 64k条带大小是指每个磁盘上放置的数量吗?
磁盘 A 64k(条带大小为 64k)
磁盘 B 64k
或者
条带大小是否是馈送到磁盘组的块的总大小?
磁盘 A 32k(条带大小为 64k)
磁盘 B 32k
RAID硬件/软件是Intel芯片组SATA控制器,操作系统是Windows。
让我们拜访那些应该知道的人
1) 微软 条
带大小是 RAID 组中每个磁盘的数据分布单位。条带大小也称为块大小。
http://technet.microsoft.com/en-us/library/ee832792.aspx
每个磁盘,因此 64k 条带在每个磁盘上将是 64k。
2) Intel 论坛
...如果您有一个 32KB 的集群。假设 RAID 控制器上的条带大小为 64KB,并且假设它是顺序写入。第一个文件将写入第一个磁盘上条带的前 32KB。然后,第二个文件的前 32KB 将写入第一个磁盘上条带的其余 32KB。
https://communities.intel.com/thread/17622?start=0&tstart=0
表示将整个块条带大小分割到 2 个磁盘。例如,64k 条带将有 32k 分配给每个磁盘。
我需要事实,网络上的许多领域都以两种不同的方式讨论这个问题。条带大小是多少?
答案1
数据条带化:
在计算机数据存储中,数据条带化是一种对逻辑上连续的数据(例如文件)进行分段的技术,以便将连续的段存储在不同的物理存储设备上。
-维基百科
另请参阅法医数据恢复课程中的 RAID 恢复详细信息(Youtube视频)
讨论数据条带化时使用的术语
条纹/块状:
条带是 RAID 阵列中可寻址的最小数据块,在上图中,A1 的大小将被视为条带大小,此大小范围为 4-256KB(这些不是硬性限制,只是常见的应用)
条纹宽度:
条带宽度是数据条带阵列中驱动器数量的测量值,如上所示 - 条带宽度 = 2
如果我们向阵列添加另外 2 个驱动器,则会导致 - Stripe-Width = 4
逻辑驱动器:
您的逻辑驱动器是所有条带的总值。
条纹大小:
从我所做的研究来看,这是一个非常模糊的术语。然而,对于英特尔南桥 ICH7R、ICH8R 和 ICH9R,这指的是单个条带或单个驱动器
现在,您可以从自己的研究中发现,有些人会使用 Stripe-Size 来指代条纹的大小,而其他人会将其称为条纹的大小乘以条纹宽度
由于没有中央控制,互联网上语言的使用存在很多误用,语言;由于注册的数据条带化变体非常多,如果没有中央控制,我们就不可能对此进行定义
资料来源:
- http://tldp.org/HOWTO/LVM-HOWTO/recipethreescsistripe.html
- https://communities.intel.com/thread/39472
- http://www.tomshardware.com/reviews/RAID-SCALING-CHARTS,1735-4.html
- http://docs.oracle.com/cd/E19168-01/817-3337-18/appa_raid_basic.html
- http://en.wikipedia.org/wiki/Data_striping
- http://en.wikipedia.org/wiki/RAID
- http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=%22Data+striping%22&x=-920&y=-184
脚注
OP 引用的英特尔文章没有像 Stack Exchange 网站上那样经过同行评审,而且答案被一个名声不佳的人接受
答案2
简单的想法:想象一个拥有三个成员磁盘的 RAID 0(这是一个完全有效的设置)。如果条带大小是馈送到磁盘组的块的总大小,条带大小为 64 KiB,则每个磁盘都需要写入21845.33
字节,这根本不可能。
答案3
我认为您引用的两个来源之间没有冲突,因为条带大小与扇区大小不同。
操作系统知道扇区大小,并且扇区是磁盘上可为一个文件分配的最小单位。
Strip-size 是 RAID 控制器已知的,也是一次读/写操作中可以读/写的最小单位。
因此,如果条带大小为 64K 而扇区大小为 32K,则每个条带中有两个扇区,并且操作系统可能会将两个扇区中的每一个分配给两个不同的文件,让 RAID 控制器处理细节。
因此答案是,64K 的条带大小在每个磁盘上都是 64K。总而言之,当文件相对较小时,条带大小应该等于扇区大小。较大的条带大小仅对大文件和顺序读写操作或大块的随机访问更有效。