0
点赞
收藏
分享

微信扫一扫

ceph mds 热备服务搭建#yyds干货盘点#

1、简介

本文只描述 如何基于 systemctl mds热备服务的搭建,至于其相关概念不做任何描述


1.1 系统环境

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial


1.2 存储环境

# ceph -v
ceph version 12.2.11 (26dc3775efc7bb286a1d6d66faee0ba30ea23eee) luminous (stable)


2、搭建

2.1 实例创建

2.1.1 手动创建实例

## 软件安装(安装方式很多,本文采用在线安装 -- 需要注意版本)
# apt-get install ceph-mds
## 目标机器上创建mds目录
# mkdir -p /var/lib/ceph/mds/ceph-{mds_name}
## 生成mds的keyring,并将其写入/var/lib/ceph/mds/ceph-{mds_name}/keyring文件中
## mds 'allow' 不能写成mds 'allow *',要不然会报错
# ceph auth get-or-create mds.{mds_name} mon 'allow rwx' osd 'allow *' mds 'allow' -o /var/lib/ceph/mds/ceph-{mds_name}/keyring
## 端口号 默认 6789
# ceph-mds --cluster ceph -i {mds_name} -m xxx.xxx.xxx.xxx:6789
## 创建 systemctl 链接
## systemctl enable ceph-mds@{mds_name}.service


2.1.2 ceph-deploy 创建实例

## 自动创建实例,并拉起服务
# ceph-deploy mds create ${host}:${mds_name}


2.2 创建 数据池(副本池)

这边暂时 描述 副本池 进行创建 文件系统,也可以 将纠删码池 作为文件系统的数据池 使用(需要为纠删码池添加 一个 缓冲池方可使用)

## 创建 数据池,一般情况下,会创建单独的两个数据池 供fs使用
## 一个为 "metadata" 状态的数据池,用于存储 元数据信息
## 一个为 "data" 状态的数据池,用于存储 数据
# ceph osd pool create {metadata_name} {pg_num}
# ceph osd pool create {data_name} {pg_num}


2.3 创建 文件系统

## 创建 文件系统
# ceph fs new {fs_name} {metadata_name} {data_name}


3、热备

3.1 创建实例

热备搭建,需要再次创建一个实例 作为当前 mds服务的 热备服务(与上述创建实例过程一样)


3.2 热备配置修改

3.2.1 修改 systemctl

# cat /etc/systemd/system/ceph-mds.target.wants/ceph-mds@mds0.service 
[Unit]
Description=Ceph metadata server daemon
After=network-online.target local-fs.target time-sync.target
Wants=network-online.target local-fs.target time-sync.target
PartOf=ceph-mds.target
[Service]
LimitNOFILE=1048576
LimitNPROC=1048576
EnvironmentFile=-/etc/default/ceph
Environment=CLUSTER=ceph
#ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
## 添加 --hot-standby 0
ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph --hot-standby 0
ExecReload=/bin/kill -HUP $MAINPID
PrivateDevices=yes
ProtectHome=true
ProtectSystem=full
PrivateTmp=true
TasksMax=infinity
Restart=on-failure
StartLimitInterval=30min
StartLimitBurst=3
[Install]
WantedBy=ceph-mds.target


3.2.2 加载配置

# systemctl daemon-reload


3.2.3 重启服务

## /usr/bin/ceph-mds --cluster ${CLUSTER} --id {mds_name} --setuser ceph --setgroup ceph --hot-standby 0
# systemctl start ceph-mds@{mds_name}.service




举报

相关推荐

0 条评论