鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

创建Bcache设备

Bcache盘分为数据盘和cache盘,一般采用HDD作为数据盘,SDD作为cache盘。以下操作在3个ceph节点均执行一遍,脚本中的/dev/sda-/dev/sdl 12块硬盘均为Bcache设备的数据盘,将NVMe中分区大小为400G的作为Cache盘。本例中以/dev/nvme0n1p$n为例,n的取值为{13..18},这里的数值与上述分区之后的数值对应。

实际情况中可能会遇到OS硬盘位于HDD盘中的情况,例如系统盘安装到了/dev/sda,则不能直接使用以下脚本直接运行,否则部署到make-bcache --wipe-bcache -B /dev/sda时会报错。此时需要重新调整脚本,避免脚本中包含数据盘以外的如OS盘、做DB/WAL分区的SSD盘等。

因此在操作前先查看磁盘分区情况。

1
lsblk

图1所示,sda盘为系统盘。

图1 lsblk
  1. 创建一个create_bcache.sh脚本。
    vi create_bcache.sh
    添加如下内容:
    #!/bin/bash 
    n=13 
    for disk in {a..f} 
    do 
            make-bcache -B /dev/sd${disk} -C /dev/nvme0n1p${n} 
            ((n = $(( $n + 1 )))) 
    done 
    n=13 
    for disk in {g..l} 
    do 
            make-bcache -B /dev/sd${disk} -C /dev/nvme1n1p$n 
            ((n = $(($n + 1)))) 
    done

    make-bcache -B /dev/sd${disk} -C /dev/nvme0n1p${n}中的参数含义为:

    • -B:指定后端磁盘设备,即数据盘。
    • -C:指定缓存设备,用于加速数据盘。

    举例:后端磁盘为“sdb”,缓存设备为“nvme0n1p13”

    make-bcache -B /dev/sdb -C /dev/nvme0n1p13

  2. 执行脚本。
    1
    bash create_bcache.sh
    
  3. 查看Bcache设备是否创建成功。
    lsblk

    Bcache设备可找到对应的数据盘和相对应的cache盘,则创建成功。