ubuntu ceph部署

ubuntu ceph部署

参考文档:http://docs.ceph.org.cn/start/

节点配置

1个mon节点,3个osd节点

安装前准备

安装ceph-deploy

  • 添加 release key
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
  • 添加Ceph软件包源,例如15.2.13版本
echo deb http://download.ceph.com/debian-15.2.13/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

注:需要在每个节点上执行这2步

  • 更新你的仓库,并安装 ceph-deploy
sudo apt-get update && sudo apt-get install ceph-deploy

注: 此步如果出错,请手动安装需要的包例如此前已经安装过,没有卸载干净所以需要手动安装
sudo dpkg -i --force-overwrite /var/cache/apt/archives/ceph-deploy_2.0.1-0ubuntu1_all.deb
如果还是出错,则运行sudo apt-get install -f强制修复受损的包

安装NTP 服务

ntp服务用数据服务器时间同步,建议在所有的ceph节点安装ntp服务(特别是 Ceph Monitor 节点)以避免时钟飘逸故障

#安装ntp
sudo apt-get install ntp

#配置ntp
vi /etc/ntp.conf
#启动ntp服务

安装ceph

#添加待安装的host hostname到控制机/etc/hosts文件中
#将ceph版本号打进环境变量,确保安装指定版本的ceph
#初始化host,并在部署目录生成ceph.conf(初始化配置,携带有fsid),创建mon前必须要这一步
ssh {hostname} "wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -"
ssh {hostname} "echo deb http://download.ceph.com/debian-15.2.13/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list"
ssh {hostname} "sudo apt-get update"
ceph-deploy install {hostname}

注:如果install错了版本,可以执行ceph-deploy uninstall {hostname}来卸载
报错1:

[ceph_deploy][ERROR ] RuntimeError: AttributeError: module 'platform' has no attribute 'linux_distribution'

原因:
python3.5 之后就废弃了linux_distribution函数,我们的机器默认是python3.8
解决:
修改 /usr/lib/python3/dist-packages/ceph_deploy/hosts/remotes.py 脚本,采用distro.linux_distribution 替换platform.linux_distribution
import distro as dist
dist.linux_distribution
报错2:
sudo apt-get install -f修复包时报错(依赖的包有问题)

dpkg: error processing archive /var/cache/apt/archives/ceph-base_15.2.13-1focal_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man8/ceph-deploy.8.gz', which is also in package ceph-deploy 2.0.1-0ubuntu1
Errors were encountered while processing:
 /var/cache/apt/archives/ceph-base_15.2.13-1focal_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决:
尝试修复对应包

sudo dpkg -i --force-overwrite {filename}

然后执行

sudo apt update && sudo apt upgrade

再重新ceph-deploy install {hostname}就ok了

初始化秘钥

#修改配置ceph.conf. 完成后再初始化好ceph-mon
#部署并启动mon,完成后部署目录会出现集群各节点密钥信息,同时mon节点的/etc/ceph/ceph.conf生成
ceph-deploy mon create-initial

会产生密钥,和在各个节点上部署好ceph-mon 和ceph-crash

拷贝配置文件到各个节点

#该步骤将部署目录的ceph.client.admin.keyring拷贝到远程node的/etc/ceph目录下
ceph-deploy admin  node1 node2 node3
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
#这样每个节点都可以使用ceph命令了
#查看状态
ceph health

状态warn 解决

cluster:
    id:     75e147c1-b2a4-4f54-8c11-0ee3ef9fc46e
    health: HEALTH_WARN
            mon is allowing insecure global_id reclaim
#执行,禁用不安全模式!            
ceph config set mon auth_allow_insecure_global_id_reclaim false

添加OSD

#初始化SSD磁盘,先格式化磁盘
mkfs.xfs /dev/sdm1
wipefs -a /dev/sdm1 
#出生化HDD磁盘
mkfs.xfs /dev/sdb1
wipefs -a /dev/sdb1

#创建lv
pvcreate /dev/sdm1
#创建name=ceph-db-0的volume group,可通过vgdisplay查看
vgcreate ceph-db-0 /dev/sdm1
#创建一个64G的name=db-sdb的lv用来做bluestore osd的db文件,可通过lvdisplay查看
lvcreate -n db-sdb -L 64g ceph-db-0

#添加osd
ceph-deploy osd create node1 --data /dev/sdb1 --block-db ceph-db-0/db-sdb --bluestore
##bulustore 添加wal db,自动初始化hdd磁盘
ceph-deploy osd create node2 --data /dev/sde1 --block-db ceph-db-0/db-sde --block-wal ceph-db-0/wal-sde --bluestore

注:推荐上面的方式(即wal和db放在一起)

#采取同样的办法多添加几个OSD
#查看OSD状态
ceph osd tree

安装mgr

ceph-deploy mgr create node1 node2 node3

开启dashboard

#需要安装 ceph-mgr-dashboard, 需要在mgr的机器上都安装dashboard才行
apt install ceph-mgr-dashboard -y
#启动dashboard
ceph mgr module enable dashboard
#禁用SSL,如果不禁用得添加证书
ceph config set mgr mgr/dashboard/ssl false
#创建用户
echo "admin123" > passwd.txt
ceph dashboard ac-user-create admin administrator -i passwd.txt
#设置端口
ceph config set mgr mgr/dashboard/server_port 8080
#注意: 不要设置server_addr, 一旦设置了server_addr, 当mgr主切换的时候,mgr中的module中服务的IP不会自动更新
#查看服务
ceph mgr services
-----
{
    "dashboard": "http://ceph-node2:8080/"
}

安装rgw

#安装3台
ceph-deploy install --rgw ceph-node1 ceph-node2 ceph-node3
#安装rgw
ceph-deploy rgw create ceph-node1 ceph-node2 ceph-node3

#创建用户及配置dashboard
#创建用户,会返回用户配置信息 --system表示系统用户
radosgw-admin user create --uid=ceph_dashboard --display-name=ceph-dashboard  --system

#添加access_key 和 secret_key
vi ak
vi sk
#添加用户证
ceph dashboard set-rgw-api-access-key -i ak
ceph dashboard set-rgw-api-secret-key -i sk
ceph dashboard set-rgw-api-ssl-verify False
ceph dashboard set-rgw-api-scheme http
#完成之后在dashboard的ObjectGetway里就有配置了
#可以在dashboard上执行创建用户,bucket等操作

安装cephfs

#安装mds, 3个mds,1主2从
#此时可以修改ceph.conf 通过--overwrite-conf跟新配置
ceph-deploy --overwrite-conf mds create node1 node2 node3
#创建pool
ceph osd pool create cephfs_data 2056
ceph osd pool create cephfs_metadata 64
#创建fs,每个集群只能创建一个fs?
ceph fs new cephfs cephfs_metadata cephfs_data

#客户端需要安装ceph-fuse 和ceph-comm

相关推荐

  1. FastDFS部署

    2024-07-09 18:42:03       64 阅读
  2. 部署zabbix

    2024-07-09 18:42:03       42 阅读
  3. Postgresql部署

    2024-07-09 18:42:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 18:42:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 18:42:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 18:42:03       58 阅读
  4. Python语言-面向对象

    2024-07-09 18:42:03       69 阅读

热门阅读

  1. TPC数据库评测基准四兄弟:C/H/E/DS

    2024-07-09 18:42:03       26 阅读
  2. Mercer 条件的基本概念及证明

    2024-07-09 18:42:03       29 阅读
  3. Python考前复习

    2024-07-09 18:42:03       23 阅读
  4. PLSQL Day4

    2024-07-09 18:42:03       23 阅读
  5. PXIe-8862

    2024-07-09 18:42:03       24 阅读
  6. token无感刷新方法

    2024-07-09 18:42:03       29 阅读
  7. 8-阿里云服务器 ECS配置R及Studio Server

    2024-07-09 18:42:03       27 阅读
  8. Stable Diffusion 的 `/sdapi/v1/img2img` 接口参数定义

    2024-07-09 18:42:03       25 阅读
  9. React Hooks 深度解析

    2024-07-09 18:42:03       31 阅读
  10. 【从0到1 在AMD显卡的win上安装stable-diffusion】

    2024-07-09 18:42:03       20 阅读
  11. go语言并发编程2-runtime

    2024-07-09 18:42:03       25 阅读
  12. AIGC学习笔记—LLM(前言)

    2024-07-09 18:42:03       29 阅读
  13. 【Spring Boot】thymeleaf模板引擎

    2024-07-09 18:42:03       26 阅读
  14. SpringBoot Mybatis-Plus 日志带参数

    2024-07-09 18:42:03       25 阅读
  15. 测试绩效评估

    2024-07-09 18:42:03       23 阅读