首页 > 其他分享 >ceph octups 15.2.1部署

ceph octups 15.2.1部署

时间:2023-01-16 12:11:28浏览次数:44  
标签:octups sudo keyring 15.2 ceph mgr mon osd

目录

互信和解析

编辑/etc/hosts文件把集群各节点的ip和主机名解析写入
创建一套ssh key复制到每个节点

时钟

使用chrony进行时钟同步

配置源

由于国外源比较慢,本文采用了清华的源仓库

  • 导入key
$ sudo wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -

或者添加key: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E84AC2C0460F3994

  • 添加源
$ sudo apt-add-repository "deb https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-octopus/ $(lsb_release -sc) main"
或者
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-octopus/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph.list
  • 更新缓存
$ sudo apt update

安装包

  • 每个节点安装ceph的包
sudo apt-get update && sudo apt-get install ceph ceph-mds

部署mon

  • 生成一个集群使用的uuid
uuidgen
  • 新建并编辑ceph.conf
sudo vim /etc/ceph/ceph.conf
添加如下内容
[global]
fsid = {UUID}    // uuidgen生成的id
mon initial members = {hostname}[,{hostname}]
mon host = {ip-address}[,{ip-address}]
  • 创建mon的秘钥并写入keyring文件/tmp/ceph.mon.keyring
sudo ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
  • 创建一个管理秘钥(admin用户)并写入/etc/ceph/ceph.client.admin.keyring
sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
  • 创建一个启动osd的用户并写入/var/lib/ceph/bootstrap-osd/ceph.keyring
sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
  • 将admin和bootstrap-osd的key导入到mon的key文件中
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring

mon就拥有了admin和bootstrap-osd的权限

  • 修改ceph.mon.keyring的所属权限
sudo chown ceph:ceph /tmp/ceph.mon.keyring
  • 生成monmap文件
monmaptool --create --add {hostname} {ip-address} --fsid {uuid} /tmp/monmap
  • 创建mon目录
sudo mkdir /var/lib/ceph/mon/{cluster-name}-{hostname}

cluster-name没有指定的话一般为ceph

  • 修改mon目录的权限
sudo chown -R ceph.ceph  /var/lib/ceph/mon/ceph-cargo-cluster-21
  • 初始化mon目录,把monmap和mon的keyring写入mon目录
sudo -u ceph ceph-mon [--cluster {cluster-name}] --mkfs -i {hostname} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
  • 修改ceph.conf
[global]
fsid = {cluster-id}
mon initial members = {hostname}[, {hostname}]
mon host = {ip-address}[, {ip-address}]
public network = {network}[, {network}]
cluster network = {network}[, {network}]
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = {n}  # 默认: 1024
osd pool default size = {n}  # pool默认副本数
osd pool default min size = {n} # 最小对外提供服务的副本数
osd pool default pg num = {n} # pool缺省pg数
osd pool default pgp num = {n} # pool缺省pgp数
osd crush chooseleaf type = {n} # 默认为:1
  • 启动mon服务并设置开机启动
sudo systemctl start ceph-mon@{id}
sudo systemctl enable ceph-mon@{id}

如果ceph.conf里写了多个mon地址,启动服务时其他mon没有启动则此时可能mon服务也起不来,可以把ceph.conf里只保留当前mon的地址


部署osd

本次部署采用bluestore lvm方式部署

  • 复制/var/lib/ceph/bootstrap-osd/ceph.keyring 到osd节点的/var/lib/ceph/bootstrap-osd/ceph.keyring
  • 在osd节点执行ceph-volume命令创建osd的Lvm分区
sudo ceph-volume lvm create --data {data-path} 

{data-path}: 数据盘/dev/sdx
也可以分成两步
sudo ceph-volume lvm prepare --data {data-path} {metadata-path}
sudo ceph-volume lvm list // 查看要添加的lvm的id
sudo ceph-volume lvm activate {id} {集群ID}

  • 修改osd目录的属主属组
chown -R ceph:ceph /var/lib/ceph/osd/ceph-{id}

  • 启动服务
systemctl enable ceph-osd@{id}
systemctl start ceph-osd@{id}

部署mgr

  • 创建mgr用户
sudo ceph auth get-or-create mgr.{id} mon 'allow profile mgr' osd 'allow *' mds 'allow *'

example:

$ sudo ceph auth get-or-create mgr.cargo-cluster-32 mon 'allow profile mgr' osd 'allow *' mds 'allow *'
[mgr.cargo-cluster-32]
        key = AQARIsFjruFaLBAAgTus3ziBPPhE2OwFN4UOig==
  • 创建mgr的目录
sudo mkdir /var/lib/ceph/mgr/${cluster-name}-{id}

example:

sudo mkdir /var/lib/ceph/mgr/ceph-cargo-cluster-32

可以合并成一步

sudo ceph auth get-or-create mgr.cargo-cluster-32 mon 'allow profile mgr' osd 'allow *' mds 'allow *' | sudo tee /var/lib/ceph/mgr/ceph-cargo-cluster-32/keyring
  • 修改mgr目录的属组属组和keyring文件的权限
sudo chown ceph:ceph /var/lib/ceph/mgr/{cluster-name}-{id}/keyring
sudo chmod 600 /var/lib/ceph/mgr/{cluster-name}-{id}/keyring
  • 启动服务
sudo systemctl enable ceph-mgr@cargo-cluster-32
sudo systemctl start ceph-mgr@cargo-cluster-32
  • 查看mgr的模块
sudo ceph mgr module ls
  • 安装dashboard模块
sudo apt install ceph-mgr-dashboard

通过sudo ceph mgr module ls 就会看到这个模块

通过ceph mgr module enable <module>ceph mgr module disable <module> 可以激活和关闭模块:

  • 激活dashboard模块
sudo ceph mgr module enable dashboard
  • 创建https证书
ceph dashboard create-self-signed-cert
  • 配置服务ip地址和端口
ceph config set mgr mgr/dashboard/server_addr 0.0.0.0
ceph config set mgr mgr/dashboard/server_port 8080
ceph config set mgr mgr/dashboard/ssl_server_port 8443
  • 查看服务
ceph mgr services
  • 创建用户
$ vim passfile
cargo1e9

$ ceph dashboard ac-user-create admin -i passfile administrator

部署mds

{id}: 主机名
{cluster-name}: 未指定的情况默认是"ceph"

  • 创建mds的数据目录
sudo mkdir -p /var/lib/ceph/mds/{cluster-name}-{id}
  • 创建一个mds的keyring文件
sudo ceph-authtool --create-keyring /var/lib/ceph/mds/{cluster-name}-{id}/keyring --gen-key -n mds.{id}
  • 导入keyring文件并设置用户cephx权限
sudo ceph auth add mds.{id} osd "allow rwx" mds "allow *" mon "allow profile mds" -i /var/lib/ceph/mds/{cluster}-{id}/keyring
  • 添加mds配置到ceph.conf
[mds.{id}]
host = {id}
  • 修改keyring文件的属主属组为ceph
sudo chown ceph.ceph /var/lib/ceph/mds/{cluster-name}-{id}/keyring
  • 启动mds服务并设置为开机启动
sudo systemctl start ceph-mds@{id}
sudo systemctl enable ceph-mds@{id}

手工启动mds服务的命令: ceph-mds --cluster {cluster-name} -i {id} -m {mon-hostname}:{mon-port} [-f]


文件系统使用

创建fs的库和meta库

ceph osd pool create DATA_POOL
ceph osd pool create METADATA_POOL
ceph osd pool create fs_data
ceph osd pool create fs_metadata

创建库后关闭pg_autoscale_mode
调整到合适的pg和pgp数

ceph osd pool set <pool-name> pg_autoscale_mode off
ceph osd pool set fs_data pg_num 512
ceph osd pool set fs_data pgp_num 512

创建文件系统

ceph fs new FILESYSTEM_NAME METADATA_POOL DATA_POOL

ceph fs new myfs fs_metadata fs_data

其他相关命令

  • 列出fsceph fs ls
  • 检查fs状态ceph fs status

挂载文件系统(内核驱动方法)

  • 在ceph集群为fs创建一个有挂载权限的用户
ceph fs authorize FS_NAME client.CLIENT_NAME /SPECIFIED_DIRECTORY rw

每个user的权限对象指定的目录

ceph fs authorize myfs client.fsuser / rw
  • 复制/etc/ceph/ceph.conf和用户的keyring文件到客户端.

    scp ceph.conf到client的/etc/ceph/下

    ceph auth get client.UserName -o ceph.client.UserName.keyring

    ceph auth get client.fs -o ceph.client.fsuser.keyring
    将ceph.client.fsuser.keyring复制到客户端/etc/ceph目录下,设置权限为'0644'

  • 挂载时需要ceph客户端即ceph-common包,创建一个挂载目录,sudo mount -t ceph 192.168.100.21:6789,192.168.100.22:6789,192.168.23:6789:/ /mnt/mycephfs -o noatime,nodiratime,name=fsuser,fs=myfs

    mount -t mon1:6789,mon2:6789,mon3:6789:/ /mnt/挂载目录 -o name=用户名,fs=fs名


其他

报错信息及处理

1 monitors have not enabled msgr2

ceph mon enable-msgr2

 mons are allowing insecure global_id reclaim

ceph config set mon auth_allow_insecure_global_id_reclaim false

常用命令

清理osd: ceph osd purge osd.n
查看osd的label信息: ceph-bluestore-tool show-label --path /var/lib/ceph/osd/ceph-0

标签:octups,sudo,keyring,15.2,ceph,mgr,mon,osd
From: https://www.cnblogs.com/ishmaelwanglin/p/17050772.html

相关文章

  • ceph集群添加node节点及OSD
      初始化ceph存储节点  初始化存储节点等于在存储节点安装了ceph及ceph-rodsgw安装包,但是使用默认的官方仓库会因为网络原因导致初始化超时,因此各存储节点推荐......
  • 基于ceph-deploy部署ceph 16.2.x 单节点mon和mgr环境
      ceph的部署方法和要求  部署方式  ceph-ansible:https://github.com/ceph/ceph-ansible #python  ceph-salt:https://github.com/ceph/ceph-salt #python ......
  • ceph的组件介绍
      ceph是一个开源的分布式存储系统,同时支持对象存储、块存储、文件系统   ceph支持EB(1EB=1,000,000,000GB)级别的数据存储,ceph把每一个待管理的数据流(文件等数据)......
  • ceph(一)
    ceph简介Ceph是一个开源的分布式存储系统,同时支持对象存储、块设备、文件系统。 ceph支持EB(1EB=1,000,000,000GB)级别的数据存储,ceph把每一个待管理的数据流(文......
  • ceph添加mon节点
    查看集群[root@node1ceph]#ceph-scluster:id:ad851f5e-edcd-4de6-938a-6f67807da979health:HEALTH_OKservices:mon:2daemons,quorum......
  • ceph-deploy创建osd显示: [node2][WARNIN] No data was received after 300 seconds, d
    创建磁盘错误[root@node1ceph]#ceph-deployosdcreatenode2--data/dev/sdb[ceph_deploy.conf][DEBUG]foundconfigurationfileat:/root/.cephdeploy.conf[ce......
  • 快速利用ceph对象存储与owncloud打造储存“云盘”
        6, 文件上传下载测试 [root@client ~]#s3cmdput/etc/fstabs3://owncloud upload: '/etc/fstab' -> 's3://owncloud/fstab'             ......
  • 自动化部署ceph集群
    1.环境准备1.1机器准备主机名IPstorage0110.0.0.10storage0210.0.0.11storage0310.0.0.12系统Ubuntu22.042.初始化准备2.1安装软件解压......
  • 增加ceph mon节点
    增加cephmon节点随便找一台正在运行的mon节点上修改ceph.conf,增加相应的moninitialmembers与monhost,不再赘述。然后同步到所有节点。可使用如下命令进行远程同步(前提......
  • OpenStack+Ceph实例故障恢复
    1.查看虚拟机状态找到坏的实例对应IDopenstackserverlist2.Ceph虚拟机映射到本地ceph中找到磁盘rbdls$pool|grep虚拟机ID映射磁盘文件到本地rbdm......