searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

虚拟机搭建ceph实战案例

2023-10-18 03:16:42
54
0

环境准备

  1. 至少三台虚拟机作为ceph节点
  2. 一台部署机(可以虚拟机)
  3. 部署机可免密登录三台ceph节点虚拟机,三台ceph节点虚拟机之间可免密登录。
  4. 三台虚拟机上分配需要的磁盘容量。
  5. 虚拟机和部署机可连接公网或局域网内有软件包源。

部署流程

1. 部署机和ceph节点都需要执行的操作

 

## yum 源配置

 

```

vim /etc/yum.repos.d/ceph.repo

[ceph-nautilus-noarch]

name = ceph nautilus noarch

baseurl = file://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/

gpgcheck = 0

enabled = 1

 

[ceph-nautilus]

name = ceph nautilus $basearch

baseurl = file://mirrors.aliyun.com/ceph/rpm-nautilus/el7/$basearch/

gpgcheck = 0

enabled = 1

 

wget -O /etc/yum.repos.d/epel.repo file://mirrors.aliyun.com/repo/epel-7.repo

 

yum makecache

```

源路径需自行校对

 

## hosts 配置

 

```

vim /etc/hosts

192.168.10.11  ceph-192e168e10e11

192.168.10.12  ceph-192e168e10e12

192.168.10.13  ceph-192e168e10e13

```

 

## ssh 免密配置

 

```

vim /root/.ssh/config

Host *

StrictHostKeyChecking no

Host ceph-192e168e10e11

    Hostname ceph-192e168e10e11

    User root

    Port 22

Host ceph-192e168e10e12

    Hostname ceph-192e168e10e12

    User root

    Port 22

Host ceph-192e168e10e13

    Hostname ceph-192e168e10e13

    User root

    Port 22

```

 

2. ceph 节点执行的操作

所有ceph节点均执行如下操作:

## 关闭防火墙、关闭selinux

 

```

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenfore 0

```

 

## 时间同步配置

 

```

vim /etc/chrony.conf  ## 注释其他 ntp server

server ntp.aliyun.com iburst

 

systemctl start chronyd

systemctl enable chronyd

```

 

## 分区

 

```

# 采用filestore方式部署osd,需要指定osd的数据存放位置和日志存放位置,生产环境日志存放位置应为ssd,根据生产环境实际情况分区

parted /dev/sda

```

 

## 安装 ceph

 

```

yum install -y librados2-14.2.8

yum install -y ceph-14.2.8

```

 

3. 部署机执行的操作

 

## 安装 ceph-deploy

 

```

yum install ceph-deploy

```

 

## 创建 mon

 

```

ceph-deploy mon new --cluster-network 192.168.10.0/24 --public-network 192.168.10.0/24 ceph-192e168e10e11 ceph-192e168e10e12 ceph-192e168e10e13

ceph-deploy mon create-initial

```

 

## 分发 admin keyring 至 mon 节点

 

```

ceph-deploy admin ceph-192e168e10e11 ceph-192e168e10e12 ceph-192e168e10e13

```

 

## 创建 mgr

 

```

ceph-deploy mgr create ceph-192e168e10e11 ceph-192e168e10e12 ceph-192e168e10e13

```

 

## 创建 osd

 

```

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb1 --journal /dev/sdb6

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb2 --journal /dev/sdb7

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb3 --journal /dev/sdb8

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb4 --journal /dev/sdb9

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb5 --journal /dev/sdb10

 

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda1 --journal /dev/sda6

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda2 --journal /dev/sda7

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda3 --journal /dev/sda8

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda4 --journal /dev/sda9

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda5 --journal /dev/sda10

 

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda1 --journal /dev/sda6

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda2 --journal /dev/sda7

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda3 --journal /dev/sda8

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda4 --journal /dev/sda9

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda5 --journal /dev/sda10

```

 

4. ceph 节点执行的操作

以下操作ceph节点,任意一个节点执行即可。

## 创建资源池

 

```

ceph osd pool create volumes 1024 1024

ceph osd pool create images 32 32

ceph osd pool create backups 32 32

ceph osd pool application enable volumes rbd

ceph osd pool application enable images rbd

ceph osd pool application enable backups rbd

ceph osd set-require-min-compat-client luminous

ceph balancer mode upmap

```

 

## 生成服务使用的keyring

 

```

ceph auth get-or-create client.cinder mon 'profile rbd' osd 'profile rbd pool=volumes ,profile rbd pool=images' > ceph.client.cinder.keyring

ceph auth get-or-create client.glance mon 'profile rbd' osd 'profile rbd pool=images' > ceph.client.glance.keyring

ceph auth get-or-create client.cinder-backup mon 'profile rbd' osd 'profile rbd pool=backups' > ceph.client.cinder-backup.keyring

```

 

生产环境和虚拟机环境差异

  1. 生产环境日志是放在ssd上,一般单台服务器是12块磁盘, 12 个osd,等于每个osd单独使用一个磁盘。集群5个mon,5个mgr
  2. 生产环境需配置防火墙规则
  3. 生产环境需配置调整磁盘的io调度策略、磁盘的预读取缓存、网卡中断、CPU绑定等优化策略。
0条评论
0 / 1000
张****猛
3文章数
0粉丝数
张****猛
3 文章 | 0 粉丝
张****猛
3文章数
0粉丝数
张****猛
3 文章 | 0 粉丝
原创

虚拟机搭建ceph实战案例

2023-10-18 03:16:42
54
0

环境准备

  1. 至少三台虚拟机作为ceph节点
  2. 一台部署机(可以虚拟机)
  3. 部署机可免密登录三台ceph节点虚拟机,三台ceph节点虚拟机之间可免密登录。
  4. 三台虚拟机上分配需要的磁盘容量。
  5. 虚拟机和部署机可连接公网或局域网内有软件包源。

部署流程

1. 部署机和ceph节点都需要执行的操作

 

## yum 源配置

 

```

vim /etc/yum.repos.d/ceph.repo

[ceph-nautilus-noarch]

name = ceph nautilus noarch

baseurl = file://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/

gpgcheck = 0

enabled = 1

 

[ceph-nautilus]

name = ceph nautilus $basearch

baseurl = file://mirrors.aliyun.com/ceph/rpm-nautilus/el7/$basearch/

gpgcheck = 0

enabled = 1

 

wget -O /etc/yum.repos.d/epel.repo file://mirrors.aliyun.com/repo/epel-7.repo

 

yum makecache

```

源路径需自行校对

 

## hosts 配置

 

```

vim /etc/hosts

192.168.10.11  ceph-192e168e10e11

192.168.10.12  ceph-192e168e10e12

192.168.10.13  ceph-192e168e10e13

```

 

## ssh 免密配置

 

```

vim /root/.ssh/config

Host *

StrictHostKeyChecking no

Host ceph-192e168e10e11

    Hostname ceph-192e168e10e11

    User root

    Port 22

Host ceph-192e168e10e12

    Hostname ceph-192e168e10e12

    User root

    Port 22

Host ceph-192e168e10e13

    Hostname ceph-192e168e10e13

    User root

    Port 22

```

 

2. ceph 节点执行的操作

所有ceph节点均执行如下操作:

## 关闭防火墙、关闭selinux

 

```

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenfore 0

```

 

## 时间同步配置

 

```

vim /etc/chrony.conf  ## 注释其他 ntp server

server ntp.aliyun.com iburst

 

systemctl start chronyd

systemctl enable chronyd

```

 

## 分区

 

```

# 采用filestore方式部署osd,需要指定osd的数据存放位置和日志存放位置,生产环境日志存放位置应为ssd,根据生产环境实际情况分区

parted /dev/sda

```

 

## 安装 ceph

 

```

yum install -y librados2-14.2.8

yum install -y ceph-14.2.8

```

 

3. 部署机执行的操作

 

## 安装 ceph-deploy

 

```

yum install ceph-deploy

```

 

## 创建 mon

 

```

ceph-deploy mon new --cluster-network 192.168.10.0/24 --public-network 192.168.10.0/24 ceph-192e168e10e11 ceph-192e168e10e12 ceph-192e168e10e13

ceph-deploy mon create-initial

```

 

## 分发 admin keyring 至 mon 节点

 

```

ceph-deploy admin ceph-192e168e10e11 ceph-192e168e10e12 ceph-192e168e10e13

```

 

## 创建 mgr

 

```

ceph-deploy mgr create ceph-192e168e10e11 ceph-192e168e10e12 ceph-192e168e10e13

```

 

## 创建 osd

 

```

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb1 --journal /dev/sdb6

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb2 --journal /dev/sdb7

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb3 --journal /dev/sdb8

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb4 --journal /dev/sdb9

ceph-deploy osd create ceph-192e168e10e11 --filestore --data /dev/sdb5 --journal /dev/sdb10

 

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda1 --journal /dev/sda6

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda2 --journal /dev/sda7

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda3 --journal /dev/sda8

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda4 --journal /dev/sda9

ceph-deploy osd create ceph-192e168e10e12 --filestore --data /dev/sda5 --journal /dev/sda10

 

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda1 --journal /dev/sda6

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda2 --journal /dev/sda7

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda3 --journal /dev/sda8

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda4 --journal /dev/sda9

ceph-deploy osd create ceph-192e168e10e13 --filestore --data /dev/sda5 --journal /dev/sda10

```

 

4. ceph 节点执行的操作

以下操作ceph节点,任意一个节点执行即可。

## 创建资源池

 

```

ceph osd pool create volumes 1024 1024

ceph osd pool create images 32 32

ceph osd pool create backups 32 32

ceph osd pool application enable volumes rbd

ceph osd pool application enable images rbd

ceph osd pool application enable backups rbd

ceph osd set-require-min-compat-client luminous

ceph balancer mode upmap

```

 

## 生成服务使用的keyring

 

```

ceph auth get-or-create client.cinder mon 'profile rbd' osd 'profile rbd pool=volumes ,profile rbd pool=images' > ceph.client.cinder.keyring

ceph auth get-or-create client.glance mon 'profile rbd' osd 'profile rbd pool=images' > ceph.client.glance.keyring

ceph auth get-or-create client.cinder-backup mon 'profile rbd' osd 'profile rbd pool=backups' > ceph.client.cinder-backup.keyring

```

 

生产环境和虚拟机环境差异

  1. 生产环境日志是放在ssd上,一般单台服务器是12块磁盘, 12 个osd,等于每个osd单独使用一个磁盘。集群5个mon,5个mgr
  2. 生产环境需配置防火墙规则
  3. 生产环境需配置调整磁盘的io调度策略、磁盘的预读取缓存、网卡中断、CPU绑定等优化策略。
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0