创建Bcache设备
Bcache盘分为数据盘和Cache盘,一般采用HDD作为数据盘,SDD作为Cache盘。

以下操作需在3个Ceph节点均执行一遍,脚本中的“/dev/sda-/dev/sdl” 12块硬盘均为Bcache设备的数据盘,将NVMe中大小为400G的分区作为Cache盘。本例中以“/dev/nvme0n1p$n”与“/dev/nvme1n1p$n”为例,n的取值为{7..12},这里的数值与创建磁盘分区分区中的Cache盘对应。
实际情况中可能会遇到OS硬盘位于HDD盘中的情况,例如系统盘安装到了“/dev/sda”,则不能使用以下脚本直接运行,否则部署到make-bcache --wipe-bcache -B /dev/sda时会报错。此时需要重新调整脚本,避免脚本中包含数据盘以外的如OS盘、做DB/WAL分区的SSD盘等。
因此在操作前需先执行以下命令查看磁盘分区情况。
1
|
lsblk |
如图1所示,sda盘为系统盘。
操作步骤
- 创建一个用于创建bcache设备的Shell脚本。
- 创建“create_bcache.sh”文件。
vi create_bcache.sh
- 按“i”进入编辑模式,新增如下内容。
#!/bin/bash n=7 for disk in {a..f} do sudo make-bcache -B /dev/sd${disk} -C /dev/nvme0n1p${n} ((n = $(( $n + 1 )))) done n=7 for disk in {g..l} do sudo 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”,缓存设备为“nvme0n1p7”
make-bcache -B /dev/sdb -C /dev/nvme0n1p7
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 创建“create_bcache.sh”文件。
- 执行脚本。
1 2
chmod 700 create_bcache.sh bash create_bcache.sh
- 查看Bcache设备是否创建成功。
lsblk
Bcache设备可找到对应的数据盘和相对应的Cache盘,则创建成功。
父主题: Ceph使能智能写Cache