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

配置bcache

以下以sdb盘为例说明操作步骤,读者请根据实际盘号操作。

为数据盘创建bcache盘

  1. 删除磁盘上原有的数据,创建bcache盘,格式化bcache盘为ext4文件系统格式。
    wipefs -a /dev/sdb --force
    make-bcache -B /dev/sdb --wipe-bcache
    mkfs.ext4 /dev/[bcache]
  2. 修改bcache盘参数。
    1. 获取max_sectors_kb(设备允许的最大请求大小)实际参数。
      cat /sys/block/sdb/queue/max_sectors_kb

      回显结果为数据盘最大扇区数量,示例如下:

      1024
    2. 获取read_ahead_kb(预读数据大小)实际参数。
      cat /sys/block/sdb/queue/read_ahead_kb
      回显结果为数据盘预读数量,示例如下:
      128
    3. 根据获取到的实际参数配置max_sectors_kb和read_ahead_kb。
      echo 数据盘最大扇区数量 > /sys/block/[bcache]/queue/max_sectors_kb
      echo 数据盘预读数量 > /sys/block/[bcache]/queue/read_ahead_kb

      针对以上步骤命令中涉及的[数据盘最大扇区数量][数据盘预读数量][bcache]有如下两条说明。

      • [数据盘最大扇区数量][数据盘预读数量]以具体的数据盘的值为准,不同的数据盘,其参数可能不一样。
      • 具体[bcache]值需根据“/sys/block/”目录下内容进行设置,该目录下所有[bcache]设备都需要按此处理。

为Ramdisk缓存盘创建bcache盘

  1. 创建Ramdisk盘。
    modprobe brd rd_nr=12 rd_size=$((1048576))

    命令中,12表示缓存盘数量;1048576表示缓存盘大小为1G,具体大小请根据业务自己配置,一般大数据场景配置1G大小即可。

  2. 将缓存盘格式化为bcache盘。
    make-bcache --wipe-bcache -b 262144 -C /dev/ram0

    命令中,262144表示缓存盘block大小为256K。

  3. 挂载缓存盘到对应的bcache盘。
    echo $uuid > /sys/block/[bcache]/bcache/attach
    命令中的$uuid值取其结果的cset.uuid对应的uuid值,查看$uuid值。
    bcache-super-show /dev/ram0
  4. 修改bcache策略。
    echo writearound > /sys/block/[bcache]/bcache/cache_mode
    echo 1 > /sys/block/[bcache]/bcache/clear_stats
    echo 0 > /sys/block/[bcache]/bcache/readahead
    echo 10 > /sys/block/[bcache]/bcache/writeback_percent
    echo 0 > /sys/block/[bcache]/bcache/cache/congested_read_threshold_us
    echo 0 > /sys/block/[bcache]/bcache/cache/congested_write_threshold_us
    echo 1 > /sys/block/[bcache]/bcache/read_bypass
    echo lru > /sys/block/[bcache]/bcache/cache/cache0/cache_replacement_policy

    命令中涉及的具体[bcache]值需根据“/sys/block/”目录下内容进行设置,该目录下所有[bcache]设备都需要按此处理。

创建完Ramdisk缓存盘后,系统会划分对应的内存给bcache使用,如果运行的业务需要使用大量内存,建议调整业务内存资源配置,以免业务运行因为内存不足而失败。比如Spark Kmeans,应用会消耗大量内存,此时需要调整Yarn的内存资源配置,确保业务不会因为内存不足而失败。

为SSD缓存盘创建bcache盘

  1. 确保有空闲的SSD缓存盘。

    举例说明:

  2. 格式化缓存盘为bcache盘。
    make-bcache --wipe-bcache -b 262144 -C /dev/nvme0n1p1
    echo /dev/nvme0n1p1 > /sys/fs/bcache/register

    262144表示缓存盘block大小为256K。

  3. 挂载缓存盘到对应的bcache盘。
    echo $uuid > /sys/block/[bcache]/bcache/attach
    命令中的$uuid值取其结果的cset.uuid对应的uuid值,查看$uuid值。
    bcache-super-show /dev/nvme0n1p1
  4. 修改bcache策略。
    echo writeback > /sys/block/[bcache]/bcache/cache_mode
    echo 1 > /sys/block/[bcache]/bcache/clear_stats
    echo 0 > /sys/block/[bcache]/bcache/readahead
    echo 10 > /sys/block/[bcache]/bcache/writeback_percent
    echo 0 > /sys/block/[bcache]/bcache/cache/congested_read_threshold_us
    echo 0 > /sys/block/[bcache]/bcache/cache/congested_write_threshold_us
    echo 0 > /sys/block/[bcache]/bcache/cache/read_bypass
    echo 0 > /sys/block/[bcache]/bcache/sequential_cutoff
    echo lru > /sys/block/[bcache]/bcache/cache/cache0/cache_replacement_policy
  5. 修改bcache的queue目录参数。
    在以下命令中,根据后端盘修改max_sectors_kb的参数为适合值。
    echo 1024 > /sys/block/[bcache]/queue/max_sectors_kb

    命令中涉及的具体[bcache]值需根据“/sys/block/”目录下内容进行设置,该目录下所有[bcache]设备都需要按此处理。

挂载数据盘对应的bcache盘

创建完成bcache磁盘后,原先“/etc/fstab”中的操作系统默认启动挂载数据盘的配置需要删除,以免重启服务器后数据盘被重新格式化成非bcache盘。

手动装载bcache盘对应的数据盘,请根据实际数据盘目录配置[bcache][data]
mount /dev/[bcache]/ data/[data]
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词