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

部署OSD节点

划分OSD分区

以下操作在3个ceph节点均执行一遍,此处以/dev/nvme0n1为例说明,如果有多块NVMe SSD或SATA/SAS接口SSD,只需将脚本中的/dev/nvme0n1盘符替换为对应盘符即可。

NVMe盘划分为12个60GB分区、12个180GB分区,分别对应WAL分区、DB分区:

  1. 创建一个partition.sh脚本。
    1
    vi partition.sh
    
  2. 添加如下内容:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    #!/bin/bash
    
    parted /dev/nvme0n1 mklabel gpt
    
    for j in `seq 1 12`
    do
    ((b = $(( $j * 8 ))))
    ((a = $(( $b - 8 ))))
    ((c = $(( $b - 6 ))))
    str="%"
    echo $a
    echo $b
    echo $c
    parted /dev/nvme0n1 mkpart primary ${a}${str} ${c}${str}
    parted /dev/nvme0n1 mkpart primary ${c}${str} ${b}${str}
    done
    

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

  3. 创建完脚本后执行脚本。
    1
    bash partition.sh
    

部署OSD节点

以下脚本的“/dev/sda-/dev/sdl”12块硬盘均为数据盘,OS安装在“/dev/sdm”上。实际情况中可能会遇到OS硬盘位于数据盘中间的情况,比方说系统盘安装到了“/dev/sde”,则不能直接使用以下脚本直接运行,否则部署到“/dev/sde”时会报错。此时需要重新调整脚本,避免脚本中包含数据盘以外的如OS盘、做DB/WAL分区的SSD盘等。

  1. 确认各个节点各硬盘的sd*。
    1
    lsblk
    

    如图代表/dev/sda是系统盘。

    有一些硬盘可能是以前Ceph集群里的数据盘或者曾经安装过操作系统,那么这些硬盘上很可能有未清理的分区,lsblk命令可以看到各个硬盘下是否有分区。假如/dev/sdb硬盘下发现有分区信息,可用如下命令清除:

    1
    ceph-volume lvm zap /dev/sdb --destroy
    

    必须先确定哪些盘做为数据盘使用,当数据盘有未清理的分区时再执行清除命令。

  2. 在ceph1上创建脚本create_osd.sh,将每台服务器上的12块硬盘部署OSD。
    1
    2
    cd /etc/ceph/
    vi /etc/ceph/create_osd.sh
    

    添加以下内容:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    #!/bin/bash
    
    for node in ceph1 ceph2 ceph3
    do
    j=1
    k=2
    for i in {a..l}
    do
    ceph-deploy osd create ${node} --data /dev/sd${i} --block-wal /dev/nvme0n1p${j} --block-db /dev/nvme0n1p${k}
    ((j=${j}+2))
    ((k=${k}+2))
    sleep 3
    done
    done
    
    • 此脚本内容只适用于当前硬件配置,其他硬件配置可参考此脚本。
    • ceph-deploy osd create命令中:
      • ${node}是节点的hostname。
      • --data选项后面是作为数据盘的设备。
      • --block-db选项后面是DB分区。
      • --block-wal选项后面是WAL分区。

      DB和WAL通常部署在NVMe SSD上以提高写入性能,如果没有配置NVMe SSD或者直接使用NVMe SSD作为数据盘,则不需要--block-db和--block-wal,只需要--data指定数据盘即可。

  3. 在ceph1上运行脚本。
    1
    bash create_osd.sh
    
  4. 创建成功后,查看是否正常,即36个OSD是否都为up。
    1
    ceph -s
    
搜索结果
找到“0”个结果

当前产品无相关内容

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