中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

磁盘配置

磁盘规划

在Hadoop类环境中,基本为单盘做数据盘,因此存在两种选项:JBOD和单盘RAID 0。

环境上若使用的是LSI 3108/3408/3508系列RAID控制卡,推荐组建单盘RAID 0,充分利用RAID控制卡的Cache(LSI 3508卡为2GB),提高读写速率。

Cache策略

使用storcli工具修改RAID组的Cache设置,Read Policy设置为Read ahead,使用RAID控制卡的Cache做预读;Write Policy设置为Write back,使用RAID控制卡的Cache做回写,而不是Write through透写;IO policy设置为Cached IO,使用RAID控制卡的Cache缓存IO。

在实测中,RAWBD与RAWBC之间会有3~5%的端到端性能差异,使用RAWBC(无超级电容)/RWBC(有超级电容)性能更佳。

配置命令如下:

1
2
3
./storcli /c0/vx set rdcache=RA
./storcli /c0/vx set wrcache=WB/AWB
./storcli /c0/vx set iopolicy=Cached

./storcli /c0/vx set wrcache=WB/AWB #命令中的WB/AWB取决于RAID控制卡是否有超级电容,无超级电容使用AWB。

块设备配置

主要涉及scheduler、sector_size、read_ahead_kb配置。

  • 根据实测,scheduler应使用deadline性能最优。
    1
    cat /sys/block/sdx/queue/scheduler
    

  • 块设备的sector_size应与物理盘的扇区大小进行匹配。可通过hw_sector_size、max_hw_sectors_kb、max_sectors_kb三者进行匹配,前两者是从硬件中读取出来的值,第三者是内核块设备的聚合最大块大小,推荐与硬件保持一致,即后两者参数保证一致。
    1. 查看三者参数。
      1
      2
      3
      cat /sys/block/sdx/queue/hw_sector_size
      cat /sys/block/sdx/queue/max_hw_sectors_kb
      cat /sys/block/sdx/queue/max_sectors_kb
      

    2. 修改参数并查看是否修改成功。

  • 块设备的预读推荐设置为4M,读性能更佳,默认值一般为128KB。
    1. 查看预读设置值。
      1
      /sbin/blockdev --getra /dev/sdb
      

    2. 设置并检验。
      1
      /sbin/blockdev --setra 4096 /dev/sdb