---
title: 创建磁盘分区
description: "在集群部署时，每个Ceph节点配置12块4TB数据盘和2块3.2TB的 NVMe 盘。每个4TB数据盘作为Bcache设备的数据盘，每块NVMe盘作为6个OSD的DB分区和Bcache的Cache磁盘。"
url: https://www.hikunpeng.com/document/detail/zh/boostsds/smartwc/kunpengswc_20_0014.html
sourcePath: /source/zh/boostsds/smartwc/kunpengswc_20_0014.html
indexId: 201cb7659e03311d4761e3b904dd0b150e8b98ba71c0923456c1d227dfd4b97a51
---
# 创建磁盘分区

在集群部署时，每个Ceph节点配置12块4TB数据盘和2块3.2TB的 NVMe 盘。每个4TB数据盘作为Bcache设备的数据盘，每块NVMe盘作为6个OSD的DB分区和Bcache的Cache磁盘。

Ceph官方文档建议每个DB分区不小于每个数据盘容量的4%，其Cache盘容量推荐占数据盘容量的5%~10%，具体可根据NVMe盘容量灵活设置。

在本方案中，以DB分区设置为30GB、Cache盘大小为400GB（占数据盘容量10%）为例进行说明。

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


#### 操作步骤

1. 创建一个用于分区的Shell脚本。

  a. 创建“partition.sh”。

```
vi partition.sh
```


  b. 按“i”进入编辑模式，添加如下内容。
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #/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个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

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

  c. 按“Esc”键退出编辑模式，输入:wq!后按“Enter”键保存并退出文件。
2. 执行脚本。
  1 2 chmod 777 partition.sh bash partition.sh

3. 查看分区是否创建成功。
  1 lsblk

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