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

磁盘分区

Ceph14.2.10采用了BlueStore作为后端存储引擎,没有了Jewel版本的Journal盘分区的划分,而是变成DB分区(元数据分区)和WAL分区。这两个分区分别存储BlueStore后端产生的元数据和日志文件,这样整个存储系统通过元数据对数据的操作效率极高,同时通过日志事务来维持系统的稳定性。

在集群部署时,每个Ceph节点配置12块4TB数据盘和2块3.2TB的NVMe盘。每个4TB数据盘作为bcache设备的数据盘,每块NVMe盘作为6个OSD的DB、WAL分区和Bcache的cache磁盘。一般WAL分区大于10GB就足够使用,Ceph官方文档建议每个DB分区不小于每个数据盘容量的4%,其cache盘容量推荐占数据盘容量的5%-10%,具体可根据NVMe盘容量灵活设置。

在本方案中,以WAL分区设置为15GB、DB分区设置为30GB、cache盘大小为400GB(占数据盘容量10%)为例进行说明。

以下操作在3个Ceph节点均执行一遍,此处以有两块NVMe(分别为/dev/nvme0n1、/dev/nvme1n1)为例进行分区,若有多块NVMe SSD,只需要在参数j中加入对应的盘符即可。若所需大小变化,更改命令end=`expr $start + 30`的数字大小为自己所需大小即可。

  1. 创建一个partition.sh脚本。
    vi partition.sh
  2. 添加如下内容:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #/bin/bash
    for j in {0..1}
    do
        parted -s /dev/nvme${j}n1  mklabel gpt
        start=0
    # 划分为6个30GB分区
        end=`expr $start + 30`
        parted /dev/nvme${j}n1 mkpart primary 2048s ${end}GiB
        start=$end
        for i in {1..5}
        do
            end=`expr $start + 30`
            parted /dev/nvme${j}n1 mkpart primary ${start}GiB ${end}GiB
            start=$end
        done
    # 划分为6个15GB分区
        for i in {1..6}
        do
            end=`expr $start + 15`
            parted /dev/nvme${j}n1 mkpart primary ${start}GiB ${end}GiB
            start=$end
        done
    # 划分为6个400GB分区
        for i in {1..6}
        do
            end=`expr $start + 400`
            parted /dev/nvme${j}n1 mkpart primary ${start}GiB ${end}GiB
            start=$end
        done
    done
    

    此脚本内容只适用于当前硬件配置,其他硬件配置可参考此脚本。

  3. 执行脚本。
    1
    bash partition.sh
    
  4. 查看分区是否创建成功。
    1
    lsblk
    

    创建成功的回显如下图所示: