ceph命令应用

记录:337

场景:在CentOS 7.9操作系统上,在ceph集群中,使用ceph命令查看ceph集群信息,以及mon、mgr、mds、osd、rgw等组件信息。

版本:

操作系统:CentOS 7.9

ceph版本:ceph-13.2.10

名词:

ceph:ceph集群的工具命令。

1.基础环境

在规划集群主机上需安装ceph-deploy、ceph、ceph-radosgw软件。

(1)集群主节点安装软件

安装命令:yum install -y ceph-deploy ceph-13.2.10

安装命令:yum install -y ceph-radosgw-13.2.10

解析:集群中主节点安装ceph-deploy、ceph、ceph-radosgw软件。

(2)集群从节点安装软件

安装命令:yum install -y ceph-13.2.10

安装命令:yum install -y ceph-radosgw-13.2.10

解析:集群中从节点安装ceph、ceph-radosgw软件。

2.命令应用

ceph命令,在集群主节点的/etc/ceph目录下使用。

(1)查看ceph版本

命令:ceph --version

解析:查的当前主机安装ceph的版本。

(2)查看集群状态

命令:ceph -s

解析:查看集群状态,使用频率高。

ceph命令应用_第1张图片

(3)查看集群实时状态

命令:ceph -w

解析:查看集群实时状态,使用命令时,控制台实时监控集群变化。

(4)查看mgr服务

命令:ceph mgr services

解析:命令会打印出:"dashboard": "https://app162:18443/";使用浏览器就能登录dashboard。

(5)查看mon 状态汇总信息

命令:ceph mon stat

解析:汇总mon状态。

(6)查看mds状态汇总信息

命令:ceph mds stat

解析:汇总mds状态。

(7)查看osd状态汇总信息

命令:ceph osd stat

解析:汇总osd状态。

(8)创建pool

命令:ceph osd pool create hz_data 16

解析:创建一个存储池,名称hz_data,分配16个pg。

(9)查看存储池

命令:ceph osd pool ls

解析:能看到存储列表。

(10)查看pool的pg数量

命令:ceph osd pool get hz_data pg_num

解析:查看pool的pg_num数量。

(11)设置pool的pg数量

命令:ceph osd pool set hz_data pg_num 18

解析:设置pool的pg_num数量。

(12)删除pool

命令:ceph osd pool delete hz_data hz_data --yes-i-really-really-mean-it

解析:删除pool时,pool的名称需要传两次。

(13)创建ceph文件系统

命令:ceph fs new hangzhoufs xihu_metadata xihu_data

解析:使用ceph fs new创建ceph文件系统;文件系统名称:hangzhoufs;存储池xihu_data和xihu_metadata。

(14)查ceph文件系统

命令:ceph fs ls

解析:查看ceph文件系统,打印文件系统名称和存储池。

(15)查ceph文件系统状态

命令:ceph fs status

解析:查ceph文件系统状态,打印文件系统的Pool的信息、类型等。

(16)删除ceph文件系统

命令:ceph fs rm hangzhoufs --yes-i-really-mean-it

解析:hangzhoufs是已创建的ceph文件系统名称。

(17)查看服务状态

命令:ceph service status

解析:查看服务状态,查看服务最后一次反应时间。

(18)查看节点quorum状态

命令:ceph quorum_status

解析:查看节点quorum状态。

(19)查看pg状态

命令:ceph pg stat

解析:查看pg状态;pg,placement group。

(20)查看pg清单

命令:ceph pg ls

解析:列出所有pg。

(21)查看osd磁盘信息

命令:ceph osd df

解析:打印osd磁盘信息,包括容量,可用空间,已经使用空间等。

3.命令帮助手册

(1)ceph帮助命令

命令:ceph --help

解析:查看ceph支持全部命令和选项,在实际工作中,查看这个手册应该是必备之选。

 General usage: 
 ==============
usage: ceph [-h] [-c CEPHCONF] [-i INPUT_FILE] [-o OUTPUT_FILE]
            [--setuser SETUSER] [--setgroup SETGROUP] [--id CLIENT_ID]
            [--name CLIENT_NAME] [--cluster CLUSTER]
            [--admin-daemon ADMIN_SOCKET] [-s] [-w] [--watch-debug]
            [--watch-info] [--watch-sec] [--watch-warn] [--watch-error]
            [--watch-channel {cluster,audit,*}] [--version] [--verbose]
            [--concise] [-f {json,json-pretty,xml,xml-pretty,plain}]
            [--connect-timeout CLUSTER_TIMEOUT] [--block] [--period PERIOD]

Ceph administration tool

optional arguments:
  -h, --help            request mon help
  -c CEPHCONF, --conf CEPHCONF
                        ceph configuration file
  -i INPUT_FILE, --in-file INPUT_FILE
                        input file, or "-" for stdin
  -o OUTPUT_FILE, --out-file OUTPUT_FILE
                        output file, or "-" for stdout
  --setuser SETUSER     set user file permission
  --setgroup SETGROUP   set group file permission
  --id CLIENT_ID, --user CLIENT_ID
                        client id for authentication
  --name CLIENT_NAME, -n CLIENT_NAME
                        client name for authentication
  --cluster CLUSTER     cluster name
  --admin-daemon ADMIN_SOCKET
                        submit admin-socket commands ("help" for help
  -s, --status          show cluster status
  -w, --watch           watch live cluster changes
  --watch-debug         watch debug events
  --watch-info          watch info events
  --watch-sec           watch security events
  --watch-warn          watch warn events
  --watch-error         watch error events
  --watch-channel {cluster,audit,*}
                        which log channel to follow when using -w/--watch. One
                        of ['cluster', 'audit', '*']
  --version, -v         display version
  --verbose             make verbose
  --concise             make less verbose
  -f {json,json-pretty,xml,xml-pretty,plain}, --format {json,json-pretty,xml,xml-pretty,plain}
  --connect-timeout CLUSTER_TIMEOUT
                        set a timeout for connecting to the cluster
  --block               block until completion (scrub and deep-scrub only)
  --period PERIOD, -p PERIOD
                        polling period, default 1.0 second (for polling
                        commands only)

 Local commands: 
 ===============

ping            Send simple presence/life test to a mon
                         may be 'mon.*' for all mons
daemon {type.id|path} 
                        Same as --admin-daemon, but auto-find admin socket
daemonperf {type.id | path} [stat-pats] [priority] [] []
daemonperf {type.id | path} list|ls [stat-pats] [priority]
                        Get selected perf stats from daemon/admin socket
                        Optional shell-glob comma-delim match string stat-pats
                        Optional selection priority (can abbreviate name):
                         critical, interesting, useful, noninteresting, debug
                        List shows a table of all available stats
                        Run  times (default forever),
                         once per  seconds (default 1)
    

 Monitor commands: 
 =================
auth add  { [...]}                      add auth info for  from input file, or random key 
                                                             if no input is given, and/or any caps specified in the 
                                                             command
auth caps   [...]                       update caps for  from caps specified in the command
auth export {}                                      write keyring for requested entity, or master keyring if 
                                                             none given
auth get                                            write keyring file with requested key
auth get-key                                        display requested key
auth get-or-create  { [...]}            add auth info for  from input file, or random key 
                                                             if no input given, and/or any caps specified in the command
auth get-or-create-key  { [...]}        get, or add, key for  from system/caps pairs 
                                                             specified in the command.  If key already exists, any 
                                                             given caps must match the existing caps for that key.
auth import                                                 auth import: read keyring file from -i 
auth ls                                                     list authentication state
auth print-key                                      display requested key
auth print_key                                      display requested key
auth rm                                             remove all caps for 
balancer dump                                         Show an optimization plan
balancer eval {