zoukankan      html  css  js  c++  java
  • Ceph基础命令总结

    Ceph基础命令总结

    命令总结

    参考:https://blog.51cto.com/michaelkang/1698287

    # 集群 ###################################################################
    ceph -s 				# 查看ceph集群状态
    ceph df					# 查看存储空间使用情况
    
    # monitor ################################################################
    ceph mon stat			 # 查看 monitor状态
    ceph mon dump			 # 查看mon的映射信息
    ceph quorum_status -f json-pretty	          	# 查看 mon 的法定人数状态
    
    # osd ###################################################################
    ceph osd tree			  # 查看osd列表
    ceph osd perf 			  # 查看数据延迟
    ceph osd df 			  # 列出集群每块磁盘的使用情况,包括大小、权重、使用多少空间、使用率等等
    ceph osd down 0 		  # down掉一个osd硬盘
    ceph osd rm 0			  # 在集群中删除一个osd硬盘
    ceph osd reweight 3 0.5 或  ceph osd crush reweight osd.1 1.0	 	# 设置osd的权重
    ceph osd out osd.3:		  # 把一个osd节点逐出集群
    ceph osd in osd.3		  # 把逐出的osd加入集群
    
    # pool ##################################################################
    ceph osd lspools		  # 列出osd存储池
    ceph osd pool ls		  # 列出osd存储池
    rados df				 # 查看存储池统计信息
    ceph osd pool create {pool-name} {pg-num} {pgp-num} 		# 创建osd存储池
    ceph osd pool set-quota {pool-name} [max_objects {objects-counts}] [max_bytes {bytes}]#osd存储池配额
    ceph osd pool mksnap {pool-name} {snap-name}	# 创建pool 存储池快照
    rados lssnap -p {poolname}					   # 查看pool 存储池快照
    ceph osd pool rmsnap {pool-name} {snap-name}	# 删除pool 存储池快照
    
    # mds ####################################################################
    ceph mds add_data_pool <poolname>  		# 创建mds存储池
    mds cluster_down 			# 关闭mds集群
    mds cluster_up			    # 启动mds集群
    ceph mds set max_file_size 1024000000000  	# 设置cephfs文件系统存储方式最大单个文件尺寸
    ceph fs rm <fsname> --yes-i-really-mean-it	# 删除mds文件系统
    
    
    # auth ####################################################################
    ceph auth ls				# 查看ceph集群中的认证用户及相关的key
    
    ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.admin.keyring	 # 为ceph创建一个admin用户并为admin用户创建一个密钥,把密钥保存到/etc/ceph目录下
    
    ceph auth get-or-create client.kube mon 'allow r' osd 'allow class-read object_prefix rbd_children,allow rwx pool=mypool'     # 创建用户
    
    ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring 		# 为osd.0创建一个用户并创建一个key
    
    ceph auth get-or-create mds.nc3 mon 'allow rwx' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mds/ceph-cs1/keyring			# 为mds.nc3创建一个用户并创建一个key
    
    ceph auth import   /var/lib/ceph/mds/ceph-cs1/keyring 	# 导入key信息
    
    ceph auth del osd.0			# 删除集群中的一个认证用户
    
    # rbd #########################################################################
    rbd create -p test --size 10000 kjh	# 在test池中创建一个命名为kjh的10000M的镜像
    rbd ls -p <poolname>				   # 查看指定pool的所有镜像
    rbd info -p <poolname> <imagename>		# 查看指定池的指定image信息
    rbd rm -p <poolname> <imagename>		# 删除指定pool的指定image
    rbd resize -p <poolname> --size 20000 <imagename>	# 调整一个镜像的尺寸
    rbd snap create <poolname>/<imagename>@snapname   # 创建快照 
    rbd snap ls <poolname>/<imagename>		# 查看快照
    rbd snap rollback <poolname>/<imagename>@<snapname> 	# 回滚快照
    rbd snap rm <poolname>/<imagename>@<snapname> 			# 删除快照
     							报(rbd: snapshot 'snapshot-xxxx' is protected from removal.)写保护 ,使用 rbd snap unprotect volumes/snapshot-xxx 解锁,然后再删除
    
    rbd export <poolname>/<imagename> /tmp/xxx.img 			# 导出镜像
    rbd import /tmp/xxx.img <poolname>/<imagename> --image-format 2  # 导入镜像
    
    # rados #######################################################################
    rados lspools  同  ceph osd pool ls	# 查看ceph集群中有多少个pool
    rados mkpool <poolname>			    # 创建一个pool
    rados create <objectname> -p <poolname>  # 创建一个对象object 
    rados -p <poolname> ls				# 查看对象文件
    rados rm <objectname> -p <poolname>  #  删除一个对象
    rados rmpool <poolname> <poolname> –yes-i-really-really-mean-it  # 删除foo池 (和它所有的数据)
    rados ls -p <poolname> | more        # 查看ceph pool中的ceph object (这里的object是以块形式存储的)
    rados -p <poolname> mksnap <snapname>  # 为poolname 创建快照
    rados -p <poolname> lssnap		# 列出指定池的快照
    rados -p <poolname> rmsnap <snapname>	# 删除快照
    
    ###使用rados 进行性能测试########################################################
    rados bench 600 write  rand -t 100 -b 4K -p datapool
    选项解释:
    测试时间 :600
    支持测试类型:write/read ,加rand就是随机,不加就是顺序
    并发数( -t选项):100 
    pool的名字是:datapool
    

    一、集群

    查看ceph集群状态

    [root@ceph-1 ceph]# ceph -s
      cluster:
        id:     746cd5aa-feb3-4676-9203-783792f72da3
        health: HEALTH_WARN
                application not enabled on 1 pool(s)
     
      services:
        mon: 3 daemons, quorum ceph-1,ceph-2,ceph-3
        mgr: ceph-2(active), standbys: ceph-3, ceph-1
        osd: 4 osds: 3 up, 3 in
        rgw: 1 daemon active
     
      data:
        pools:   5 pools, 40 pgs
        objects: 273 objects, 141MiB
        usage:   3.41GiB used, 11.6GiB / 15.0GiB avail
        pgs:     40 active+clean
    

    查看存储空间使用情况

    [root@ceph-1 ceph]# ceph df
    GLOBAL:
        SIZE        AVAIL       RAW USED     %RAW USED 
        15.0GiB     11.6GiB      3.41GiB         22.77 
    POOLS:
        NAME                    ID     USED        %USED     MAX AVAIL     OBJECTS 
        .rgw.root               1      1.09KiB         0       3.61GiB           4 
        default.rgw.control     2           0B         0       3.61GiB           8 
        default.rgw.meta        3           0B         0       3.61GiB           0 
        default.rgw.log         4           0B         0       3.61GiB         207 
        mypool                  8       141MiB      3.67       3.61GiB          54
    

    二、monitor

    查看 monitor状态

    [root@ceph-1 ceph]# ceph mon stat
    e3: 3 mons at {ceph-1=192.168.1.50:6789/0,ceph-2=192.168.1.51:6789/0,ceph-3=192.168.1.52:6789/0}, election epoch 74, leader 0 ceph-1, quorum 0,1,2 ceph-1,ceph-2,ceph-3
    

    查看mon的映射信息

    [root@ceph-1 ceph]# ceph mon dump
    dumped monmap epoch 3
    epoch 3
    fsid 746cd5aa-feb3-4676-9203-783792f72da3
    last_changed 2020-04-10 00:32:27.725764
    created 2020-04-09 03:28:02.213868
    0: 192.168.1.50:6789/0 mon.ceph-1
    1: 192.168.1.51:6789/0 mon.ceph-2
    2: 192.168.1.52:6789/0 mon.ceph-3
    

    查看 mon 的法定人数状态

    [root@ceph-1 ceph]# ceph quorum_status -f json-pretty
    
    {
        "election_epoch": 74,
        "quorum": [
            0,
            1,
            2
        ],
        "quorum_names": [
            "ceph-1",
            "ceph-2",
            "ceph-3"
        ],
        "quorum_leader_name": "ceph-1",
        "monmap": {
            "epoch": 3,
            "fsid": "746cd5aa-feb3-4676-9203-783792f72da3",
            "modified": "2020-04-10 00:32:27.725764",
            "created": "2020-04-09 03:28:02.213868",
            "features": {
                "persistent": [
                    "kraken",
                    "luminous"
                ],
                "optional": []
            },
            "mons": [
                {
                    "rank": 0,
                    "name": "ceph-1",
                    "addr": "192.168.1.50:6789/0",
                    "public_addr": "192.168.1.50:6789/0"
                },
                {
                    "rank": 1,
                    "name": "ceph-2",
                    "addr": "192.168.1.51:6789/0",
                    "public_addr": "192.168.1.51:6789/0"
                },
                {
                    "rank": 2,
                    "name": "ceph-3",
                    "addr": "192.168.1.52:6789/0",
                    "public_addr": "192.168.1.52:6789/0"
                }
            ]
        }
    }
    

    三、Pool

    列出存储池

    [root@ceph-1 ceph]# ceph osd lspools
    1 .rgw.root,2 default.rgw.control,3 default.rgw.meta,4 default.rgw.log,8 mypool,
    
    [root@ceph-1 ceph]# ceph osd pool ls
    .rgw.root
    default.rgw.control
    default.rgw.meta
    default.rgw.log
    mypool
    

    查看存储池统计信息

    [root@ceph-1 ceph]# rados df
    POOL_NAME           USED    OBJECTS CLONES COPIES MISSING_ON_PRIMARY UNFOUND DEGRADED RD_OPS RD      WR_OPS WR     
    .rgw.root           1.09KiB       4      0     12                  0       0        0     27   18KiB      4   4KiB 
    default.rgw.control      0B       8      0     24                  0       0        0      0      0B      0     0B 
    default.rgw.log          0B     207      0    621                  0       0        0  56639 55.1MiB  37700     0B 
    default.rgw.meta         0B       0      0      0                  0       0        0      0      0B      0     0B 
    mypool               141MiB      54      0    162                  0       0        0    696 2.57MiB     95 130MiB 
    
    total_objects    273
    total_used       3.41GiB
    total_avail      11.6GiB
    total_space      15.0GiB
    

    创建存储池

    [root@ceph-1 ceph]# ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-ruleset-name] [expected-num-objects]
    	
    [root@ceph-1 ceph]# ceph osd pool create {pool-name} {pg-num} {pgp-num} erasure [erasure-code-profile] [crush-ruleset-name] [expected_num_objects]
    

    参数含义:
    ● {pool-name} :存储池名称,必须唯一。
    ● {pg_num} : 存储池的 PG 数目。
    ● {pgp_num} : 存储池的 PGP 数目,此值应该和 PG 数目相等。
    ● {replicated | erasure} :存储池类型,可以是副本池(保存多份对象副本,以便从丢失的 OSD 恢复)或纠删池(获得类似 RAID5 的功能)。多副本存储池需更多原始存储空间,但已实现所有 Ceph 操作;纠删存储池所需原始存储空间较少,但目前仅实现了部分 Ceph 操作。

    ● [crush-ruleset-name] :此存储池所用的 CRUSH 规则集名字。指定的规则集必须存在。对于多副本( replicated )存储池来说,其默认规则集由 osd pool default crush replicated ruleset 配置决定,此规则集必须存在。 对于用 erasure-code 编码的纠删码( erasure )存储池来说,不同的 {pool-name} 所使用的默认( default )纠删码配置是不同的,如果它不存在的话,会显式地创建它。

    ● [erasure-code-profile=profile] :仅用于纠删存储池。指定纠删码配置文件,此配置必须已由 osd erasure-code-profile set 定义。

    ● [expected-num-objects] :为这个存储池预估的对象数。设置此值(要同时把 filestore merge threshold 设置为负数)后,在创建存储池时就会拆分PG 文件夹,以免运行时拆分文件夹导致延时增大。

    存储池配额

    存储池配额可设置最大字节数、和/或每个存储池最大对象数。

    ceph osd pool set-quota {pool-name} [max_objects {objects-counts}] [max_bytes {bytes}]
    如:
    ceph osd pool set-quota data max_objects 10000
    # 取消配额,设置为 0 即可
    

    创建pool 存储池快照

    ceph osd pool mksnap {pool-name} {snap-name}
    

    查看pool 存储池快照

    rados lssnap -p {poolname}
    

    删除pool 存储池快照

    ceph osd pool rmsnap {pool-name} {snap-name}
    
  • 相关阅读:
    python移动文件,将一个文件夹里面的文件移动到另一个文件夹
    python中的os.path.join, os.path.splitext, os.path.split, split()函数用法
    python遍历目录下的所有目录和文件, python解析json文件, python-opencv截取子图
    Python对文件进行批量重命名
    python遍历目录下的所有目录和文件,并用opencv从mp4文件中抽帧得到图片
    python中的os.walk()方法学习
    ubuntu16.04 安装caffe时出现 .build_release/tools/caffe: error while loading shared libraries: libcudart.so.10.0: cannot open shared object file: No such file or directory
    caffe编译过程中的错误: nvcc fatal : Unsupported gpu architecture 'compute_20'
    Java字符串为""和null的区别
    一次docker中的nginx进程响应慢问题定位记录
  • 原文地址:https://www.cnblogs.com/Smbands/p/12688143.html
Copyright © 2011-2022 走看看