54SA.COM|专注于系统运维管理,为中国SA提供动力!
Getting online shouldn't be tough. $7.99 .COMs
系统管理员之家Banner
当前位置: 主页 > 信息化 > 存储 >

ZFS RAID模式介绍 高性能ZFS RAID10&Z0

时间:2011-10-25 10:45来源:未知 编辑:admin

为进一步扩大在存储行业创新领导地位,甲骨文公司收购SUN之后推出了新一代Sun ZFS存储产品线(Sun ZFS Storage Appliance product line)。在RAID方面有一些奇特的地方。我们都知道ZFS 有几种基本的RAID 模式:

  丰富多彩的RAID模式

  1.RAID 0 (不指定RAID 选项)
  zpool create poolname c8t1d0 c8t2d0

  2.RAID 1 ( mirror)

  a.基本的2个盘的 RAID 1
  zpool create poolname mirror c8t1d0 c8t2d0

  b. 超过2个盘的 RAID1,目前大多数的廉价HBA (比如LSI SAD-9211-8i) 都只支持2个盘的mirror,Windows 的逻辑卷管理,LVM 也是只支持2个盘的RAID 1 卷,而ZFS可以轻易突破这个限制!
  zpool create poolname mirror c8t1d0 c8t2d0 c8t3d0

  3.RAID Z (RAIDZ1) 相当于RAID5

  a.2个盘的RAIDZ (相当于mirror (RAID1))
  zpool create poolname raidz c8t1d0 c8t2d0

  b.2个盘以上的RAIDZ
   zpool create poolname raidz c8t1d0 c8t2d0 c8t3d0

  RAID Z 还有2种更高安全等级的扩展模式 RAID Z2 和RAID Z3,RAID Z2 相当于RAID 6

  c.3个盘的RAID Z2 (相当于3个盘的mirror (RAID1))
  zpool create poolname raidz2 c8t1d0 c8t2d0 c8t3d0

  d.3个盘以上的RAID Z2
  zpool create poolname raidz2 c8t1d0 c8t2d0 c8t3d0 c8t4d0 c8t5d0

  RAID Z3

  e.4个盘的RAID Z3 (相当于4个盘的mirror (RAID1))
  zpool create poolname raidz3 c8t1d0 c8t2d0 c8t3d0 c8t4d0

  f.3个盘以上的RAID Z3
  zpool create poolname raidz3 c8t1d0 c8t2d0 c8t3d0 c8t4d0 c8t5d0 c8t6d0 c8t8d0

  基于以上3种基本的ZFS RAID 模式,我们可以组合出丰富多彩的ZFS RAID 模式,比如高性能的ZFS RAID 10 和

  ZFS RAID Z0 。

  6个盘的ZFS RAID 10

  a.2*3 模式
  zpool create poolname mirror c8t1d0 c8t2d0 mirror c8t3d0 c8t4d0 mirror c8t5d0 c8t6d0

  b.3*2 模式
  zpool create poolname mirror c8t1d0 c8t2d0 c8t3d0 mirror c8t4d0 c8t5d0 c8t6d0

  6个盘的ZFS RAID Z0 (相当于RAID 50,60)
  zpool create poolname raidz c8t1d0 c8t2d0 c8t3d0 raidz c8t4d0 c8t5d0 c8t6d0

 

 不同RAID性能比较

  下面来看一组测试数据:20个1TB SATA ZFS RAID10 PK 20个1TB SATA ZFS RAID Z0

不同RAID性能比较
20个1TB SATA ZFS RAID10 PK 20个1TB SATA ZFS RAID Z0

    100G 的数据往RAID 10 上写,总共要写入200G数据,每个磁盘要写入10GB,花费3分38秒。所以是200*1000MB/218秒=917.43MB/s,平均到每个磁盘是45.87MB/s。而实际有效数据的吞吐量是917.43/2=458MB/s。

  100G 的数据往RAID 50上写 ,首先分成四份,每一份数据是25GB,每个RAID5磁盘组是5个盘,即4份数据+1份校验,所以实际每个RAID5磁盘组要写入25*1.25 31.25 GB的数据,平均到每个磁盘是6.5GB的数据,整个盘阵实际要写入125GB的数据,花费2分29秒,即125*1000MB/149 秒=838.92MB/s ,平均到每个磁盘是41.94MB/s.而有效数据的吞吐量是838.92/1.25(4份数据+1份校验)=669MB/s

  RAID10相比RAIDZ0是读的快,写的慢?

  对的,从理论上来说,因为同样写入100GB的数据,RAID 10 要比RAID 50 多写入75G的数据(很夸张吧),所以虽然RAID 10 实际每个盘的写入速率比RAID50 高几个MB/s,但总的数据写入时间还是慢了69秒。但是,本身连续写100G数据,这种情况应该也比较极端吧!

  很明显RAID 10 的IOPS 要高过RAID 50 50%!如果连续写入1GB的数据,RAID 10 只需要2.18秒,而RAID 50是1.49秒,连续写入100MB的数据,RAID10 是0.22秒,RAID 50 是0.15秒。在小规模数据写入的情况下,RAID 10 相对RAID 50的写入延时,可以忽略不计。

  总结:

  写入:RAID 50 (Z0) 因为实际写入的数据只有RAID 10 的62.5% ,所以时间上要快过48%。

  读取:RAID 10 的高IOPS 有大概34%的性能优势!

  但是RAIDZ0 的CPU占用率是RAID10的175%,所以,用ZFS RAIDZ0 对CPU的性能要求要高出ZFS RAID 10 不少。(本文来自:IT168)

[责任编辑:admin]


------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名:
最新评论 进入详细评论页>>