ceph-deploy 常用命令详解

命令

描述

ceph-deploy new [mon-node ...]

指定node(s)为monitor,开始部署一个新的ceph集群,并且在当前目录创建ceph.conf和keyring文件,一共创建了3个文件:ceph.conf、ceph-deploy-ceph.log 和 ceph.mon.keyring. 生成的ceph.conf 文件里包含了命令行的monitor参数,内容为mon_initial_members=[monitor]

ceph-deploy install [host …]

在指定的远程host(admin-node/osd-node/mon-node)上安装Ceph相关的包,如果安装找不到stable 的 ceph 版本,需要手动修改admin-node节点上的/etc/apt/sources.list.d/ceph.list文件

ceph-deploy mon [CMD …]

进行ceph monitor daemon 管理

ceph-deploy mon create-initial

部署并初始化已经定义好的mon_initial_members=[monitor]成员,并等待他们形成仲裁,然后收集密钥keys,会在当前目录下生成几个key,报告进程中monitor的状态。如果monitor不构成仲裁,命令最终将超时。

ceph-deploy osd

使用路径,先prepare 后 activate

prepare [node:/dir …]

从管理节点(admin-node)执行 ceph-deploy 来准备 OSD 。参数可以是文件或者磁盘,例如,文件:ceph-deploy osd prepare node1:/var/local/osd0

磁盘:ceph-deploy osd prepare node1:sdb1:sdc

activate [node:/dir …]

激活已经准备好的 OSD。 参数可以是文件或者磁盘,例如,文件:ceph-deploy osd activate node1:/var/local/osd0

磁盘:ceph-deploy osd activate node1:sdb1:sdc

使用磁盘或者日志,用 `create` 参数将 自动完成prepare 和 activate

create

例1:使用filestore采用journal模式(每个节点数据盘需要两块盘或两个分区)

1)创建逻辑卷.

vgcreate data /dev/sdb

lvcreate --size 00G --name log data

2)创建OSD

ceph-deploy osd create  --filestore   --fs-type xfs --data /dev/sdc  --journal data/log   storage1

例2:使用bluestore

1)创建逻辑卷

vgcreate cache /dev/sdb

lvcreate --size 100G --name db-lv-0 cache

vgcreate cache /dev/sdb

lvcreate --size 100G --name wal-lv-0 cache

2)创建OSD(--block-db 对应配置参数:bluestore_block_db_path;--block-wal对应配置参数bluestore_block_wal_path)

ceph-deploy osd create   --bluestore storage1 --data /dev/sdc --block-db cache/db-lv-0 --block-wal cache/wal-lv-0

ceph-deploy admin [admin- node] [osd-node mon-node …]

把配置文件和 admin 密钥拷贝到管理节点(admin-node)和 Ceph 节点(monitor/osd)的/etc/ceph/目录下

ceph-deploy mgr create [node]

指定node为部署ceph-mgr节点的hostname,并开始mgr 部署。

ceph-deploy disk zap [osd-node]:[disk-name}

擦除指定node的磁盘分区表及其内容,实际上它是调用sgdisk –zap-all来销毁GPT和MBR, 所以磁盘可以被重新分区。可以配合命令ceph-deploy osd prepare/active一起使用

ceph-deploy mds create {host-name}[:{daemon-name}][{host-name}[:{daemon-name}]...]

例如:ceph-deploy --overwrite-conf mds create server1:mds-daemon-1,在server1上创建名为mds-daemon-1的mds后台进程,即server1为CephFS元数据服务器
ceph-deploy --overwrite-conf admin {mon} {osd}

更新mon及osd的ceph.conf配置文件
ceph-deploy --overwrite-conf admin ubuntu-sebre ubuntu
sudo chmod +066 /etc/ceph/ceph.client.admin.keyring

重启服务才能生效
sudo systemctl restart ceph\*.target  //重启所有

也可以重启指定的部分sudo systemctl restart ceph-mon.target ceph-osd.target

ceph命令

命令

描述

ceph -s

查看ceph 集群的状态

ceph df

ceph osd tree

ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated]     [crush-rule-name] [expected-num-objects]

例如,ceph osd pool create rbd 256,创建名为rbd的ceph pool,等同于命令:rados mkpool pool

通常在创建pool之前,需要覆盖默认的pg_num,官方推荐:

  • 若少于5个OSD, 设置pg_num为128。
  • 5~10个OSD,设置pg_num为512。
  • 10~50个OSD,设置pg_num为4096。
  • 超过50个OSD,可以参考pgcalc计算。

ceph osd pool create {pool-name} {pg-num}  {pgp-num}   erasure      [erasure-code-profile] [crush-rule-name] [expected_num_objects]

同上,提供的是EC容错

ceph osd lspools

查看集群的pools

ceph osd pool ls detail 查看pool的详细信息,例如:ceph> osd pool ls detail
pool 14 'rbd' replicated size 1 min_size 1 crush_rule 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 125 flags hashpspool stripe_width 0
ceph osd pool set {pool-name} size {num} 设置指定pool的副本数为{num}。例如,sudo ceph osd pool set rbd size 1
sudo ceph osd pool set rbd min_size 1

ceph osd pool get {pool-name} size

查看指定pool的副本数,例如:$ ceph osd pool get rbd size
size: 3。其详细命令:

osd pool get <poolname> size|min_size|crash_replay_interval|pg_num|pgp_num|crush_rule|hashpspool|nodelete|nopgchange|  get pool parameter <var>
 nosizechange|write_fadvise_dontneed|noscrub|nodeep-scrub|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|use_
 gmt_hitset|auid|target_max_objects|target_max_bytes|cache_target_dirty_ratio|cache_target_dirty_high_ratio|cache_
 target_full_ratio|cache_min_flush_age|cache_min_evict_age|erasure_code_profile|min_read_recency_for_promote|all|min_
 write_recency_for_promote|fast_read|hit_set_grade_decay_rate|hit_set_search_last_n|scrub_min_interval|scrub_max_
 interval|deep_scrub_interval|recovery_priority|recovery_op_priority|scrub_priority|compression_mode|compression_
 algorithm|compression_required_ratio|compression_max_blob_size|compression_min_blob_size|csum_type|csum_min_block|
 csum_max_block|allow_ec_overwrites

ceph osd pool delete {pool-name} {pool-name} --yes-i-really-really-mean-it

删除某个pool,需要配置/etc/ceph/ceph.conf的[mon] mon allow pool delete = true。

然后重启ceph mon,命令:sudo systemctl restart ceph-mon.target

再删除命令,ceph osd pool delete rbd rbd --yes-i-really-really-mean-it

ceph osd dump | grep 'replicated size' 查看OSD日志,例如:$ceph osd dump | grep 'replicated size'
pool 9 'rbd' replicated size 1 min_size 1 crush_rule 0 object_hash rjenkins pg_num 100 pgp_num 100 last_change 68 flags hashpspool stripe_width 0
 
ceph osd set noscrub 设置不做scrub一致性检查,防止影响性能。设置不做深度scrub检查:ceph osd set nodeep-scrub
ceph osd getcrushmap -o {compiled-crushmap-filename} 将集群的CRUSH Map输出到指定文件,该文件是编译过的文件
crushtool -d {compiled-crushmap-filename} -o {decompiled-crushmap-filename} 反编译集群里导出的 CRUSH Map 文件,反编译后为文本文件
crushtool -c {decompiled-crushmap-filename} -o {compiled-crushmap-filename} 编译 CRUSH Map 文本文件

ceph -n {nodename.id} –show-config

显示当前的ceph节点的配置,可以指定某个节点,例如:

ceph -n osd.0 --show-config

ceph -n mon.node1 --show-config

ceph mds stat

查看CephFS元数据服务器运行状态

ceph fs new <fs_name> <metadata_pool> <data_pool>

用指定的元数据池和数据池新建一个CephFS文件系统

ceph fs ls

查看cephfs列表,$ sudo  ceph fs ls

name: test_cephfs1, metadata pool: cephfs_metadata, data pools: [cephfs_data ]

ceph daemon <mon/osd/mds>.<id> config set <参数名> <参数值> 动态调整参数命令,只能在本地设置本地实例的参数
ceph tell <mon/osd/mds>.<id> injectargs '--<参数名> <参数值>' 动态调整参数命令,可以通过'*'的方式设置所有的实例的参数
   

参考:http://docs.ceph.com/docs/master/rados/operations/pools/

ceph-conf命令

命令

描述

ceph-conf --name mon.node1 --show-config-value log_file

查看ceph monitor 的日志路径。例如:~$ ceph-conf --name mon.node1 --show-config-value log_file

/var/log/ceph/ceph-mon.node1.log。其实monitor节点的/var/log/ceph/目录下有很多类型的log,ceph-mgr、ceph-mon、ceph、ceph-client、ceph.audit

ceph-conf --name osd.0 --show-config-value log_file

查看ceph osd 的日志路径

rados命令

命令

描述

rados lspools

查看ceph 集群的pool

rados mkpool <pool-name>

创建名为<pool-name>的ceph pool

rados ls

列出叫rbd的pool里的objects

rbd命令

命令

描述

rbd create image1 --size 60G

默认在rbd pool下创建一个名为image1, 大小为1G的image,等同于rbd create rbd/image1 --size 60G --image-format 2

rbd list

列出所有的块设备image

rbd info image1

查看某个具体的image的信息。例如:

$ rbd info image1

rbd image 'image1':

size 1GiB in 256 objects

order 22 (4MiB objects)

block_name_prefix: rbd_data.10356b8b4567

format: 2

features: layering, exclusive-lock, object-map, fast-diff, deep-flatten

flags:

create_timestamp: Wed Jun 19 16:05:40 2019

rbd feature disable image1 exclusive-lock, object-map, fast-diff, deep-flatten

关掉image1的一些feature

rbd map image1

把test_image块设备映射到操作系统,例如:h$ sudo rbd map image1

/dev/rbd0

rbd showmapped

显示已经映射的块设备,例如:$ rbd showmapped

id pool image  snap device

0  rbd  image1 -    /dev/rbd0

rbd unmap image1

取消映射

rbd rm image 删除一个rbd image

后续会继续添加常用命令。。。

参考

1. ceph-deploy命令详解

2. ceph -help 的manual

$ ceph-deploy -h
usage: ceph-deploy [-h] [-v | -q] [--version] [--username USERNAME]
                   [--overwrite-conf] [--cluster NAME] [--ceph-conf CEPH_CONF]
                   COMMAND ...

Easy Ceph deployment

-^-
   /   \
   |O o|  ceph-deploy v1.5.38
   ).-.(
  '/|||\`
  | '|` |
    '|`

Full documentation can be found at: http://ceph.com/ceph-deploy/docs

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         be more verbose
  -q, --quiet           be less verbose
  --version             the current installed version of ceph-deploy
  --username USERNAME   the username to connect to the remote host
  --overwrite-conf      overwrite an existing conf file on remote host (if
                        present)
  --cluster NAME        name of the cluster
  --ceph-conf CEPH_CONF
                        use (or reuse) a given ceph.conf file

commands:
  COMMAND               description
    new                 Start deploying a new cluster, and write a
                        CLUSTER.conf and keyring for it.
    install             Install Ceph packages on remote hosts.
    rgw                 Ceph RGW daemon management
    mgr                 Ceph MGR daemon management
    mon                 Ceph MON Daemon management
    mds                 Ceph MDS daemon management
    gatherkeys          Gather authentication keys for provisioning new nodes.
    disk                Manage disks on a remote host.
    osd                 Prepare a data disk on remote host.
    admin               Push configuration and client.admin key to a remote
                        host.
    repo                Repo definition management
    config              Copy ceph.conf to/from remote host(s)
    uninstall           Remove Ceph packages from remote hosts.
    purge               Remove Ceph packages from remote hosts and purge all
                        data.
    purgedata           Purge (delete, destroy, discard, shred) any Ceph data
                        from /var/lib/ceph
    calamari            Install and configure Calamari nodes. Assumes that a
                        repository with Calamari packages is already
                        configured. Refer to the docs for examples
                        (http://ceph.com/ceph-deploy/docs/conf.html)
    forgetkeys          Remove authentication keys from the local directory.
    pkg                 Manage packages on remote hosts.

ceph命令系列(一):ceph-deploy/ceph/rados/rbd 常用命令详解相关推荐

  1. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  2. free命令常用参数详解

    free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用"[root@yinzh ...

  3. SQL Server时间粒度系列----第4节季、年时间粒度详解

    本文目录列表: 1.SQL Server季时间粒度 2.SQL Server年时间粒度 3.总结语 4.参考清单列表 SQL Serve季时间粒度   季时间粒度也即是季度时间粒度.一年每3个月是一个 ...

  4. Mysql高手系列 - 第20篇:异常捕获及处理详解(实战经验)

    Mysql高手系列 - 第20篇:异常捕获及处理详解(实战经验) 参考文章: (1)Mysql高手系列 - 第20篇:异常捕获及处理详解(实战经验) (2)https://www.cnblogs.co ...

  5. rstudio查询命令_R语言和RStudio的一些用法,常用命令等

    控制台: Up/down 回忆之前的命令 Ctrl+Up 回顾命令列表(可先输入前缀进行查找) 焦点: ctrl+ 移动焦点到source编辑器 ctrl+ 移动焦点到console ctrl+L 清 ...

  6. 离线强化学习(Offline RL)系列3: (算法篇)策略约束 - BRAC算法原理详解与实现(经验篇)

    论文原文:[Yifan Wu, George Tucker, Ofir Nachum: "Behavior Regularized Offline Reinforcement Learnin ...

  7. Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令

    Linux常用基本命令详解(一) Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令 Linux常用基本命令详解(三) 1.磁盘分区 磁盘分区(系统分区)是使用分区编辑器(part ...

  8. [Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  9. Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)

    Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解) 前言 一:LVM概述 1.1:PV(Physical Volume,物理 ...

最新文章

  1. 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题
  2. 设置Win可远程访问服务器jupyter notebook
  3. className的高效匹配
  4. Win10创意者更新刚发布 夜间模式就出BUG
  5. 对 Accordion 组件使用样式
  6. 51单片机(STC89C52RC) IO扩展实验
  7. 商店购物java程序_java操纵数据库-商店购物管理系统
  8. 这100道Python面试题,你会几道?
  9. 空格分隔输出(信息学奥赛一本通-T1026)
  10. 突发!暂停新用户注册,微信这样回应
  11. c语言 怎么访问64位地址_巧言C语言指针 | 纯干货讲解
  12. 计算机系统缺陷,4.2 缺陷和测试计算机操作系统原理.pdf
  13. 计算机教学的弊端,信息技术在教学中的利弊及解决对策
  14. win10家庭中文版自动更新解决办法
  15. 酷客多接受CCTV2财经频道专访
  16. 3.2 语音和语言处理简史
  17. 理清 NVIDIA,CUDA,cuDNN,nvcc 关系 CUDA 环境安装
  18. 如何在线将CAD图纸文件进行转换成黑白PNG格式?
  19. Unix/Linux编程:解析路径名------realpath()
  20. 将SkeyeVSS综合安防监控视频流媒体云平台监控画面嵌入微信公众号进行直播

热门文章

  1. 你知道什么是 a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z 站吗 ?...
  2. matlab2020a编译环境 MCR 安装步骤(非常实用)
  3. LTE下行物理层传输机制(4)-CCE
  4. Python倒叙的几种方法
  5. 如何为web页面编写一段脚本
  6. Dubbo源码——时间轮算法
  7. 2018数据技术嘉年华-河南站7.13相约!
  8. SDWAN:SD了什么?
  9. 前端HTML5视频_谷粒音乐实战-张晓飞-专题视频课程
  10. 风电场气象服务器是什么系统,风电场气象参数采集与管理系统