Ceph 命令
引用自:
https://www.cnblogs.com/schangech/p/8036161.html
一、集群
1、启动一个ceph 进程
启动mon进程
service ceph start mon.node1
启动msd进程
service ceph start mds.node1
启动osd进程
service ceph start osd.0
2、查看机器的监控状态
[root@client ~]# ceph health
HEALTH_OK
3、查看ceph的实时运行状态
[root@client ~]# ceph -w
4、检查信息状态信息
[root@client ~]# ceph -s
ceph health detail
ceph -w
5、查看ceph存储空间
[root@client ~]# ceph df
6、删除一个节点的所有的ceph数据包
[root@node1 ~]# ceph-deploy purge node1
[root@node1 ~]# ceph-deploy purgedata node1
7、为ceph创建一个admin用户并为admin用户创建一个密钥,把密钥保存到/etc/ceph目录下:
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.admin.keyring
或
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.admin.keyring
8、为osd.0创建一个用户并创建一个key
ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring
9、为mds.node1创建一个用户并创建一个key
ceph auth get-or-create mds.node1 mon 'allow rwx' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mds/ceph-node1/keyring
10、查看ceph集群中的认证用户及相关的key
ceph auth list
11、删除集群中的一个认证用户
ceph auth del osd.0
12、查看集群的详细配置
[root@node1 ~]# ceph daemon mon.node1 config show | more
13、查看集群健康状态细节
[root@admin ~]# ceph health detail
14、查看ceph log日志所在的目录
[root@node1 ~]# ceph-conf --name mon.node1 --show-config-value log_file
/var/log/ceph/ceph-mon.node1.log
二、mon
1、查看mon的状态信息
[root@client ~]# ceph mon stat
2、查看mon的选举状态
[root@client ~]# ceph quorum_status
3、查看mon的映射信息
[root@client ~]# ceph mon dump
4、删除一个mon节点
[root@node1 ~]# ceph mon remove node1
5、获得一个正在运行的mon map,并保存在1.txt文件中
[root@node3 ~]# ceph mon getmap -o 1.txt
6、查看上面获得的map
[root@node3 ~]# monmaptool --print 1.txt
7、把上面的mon map注入新加入的节点
ceph-mon -i node4 --inject-monmap 1.txt
8、查看mon的amin socket
root@node1 ~]# ceph-conf --name mon.node1 --show-config-value admin_socket
9、查看mon的详细状态
[root@node1 ~]# ceph daemon mon.node1 mon_status
10、删除一个mon节点
[root@os-node1 ~]# ceph mon remove os-node1
三、msd
1、查看msd状态
[root@client ~]# ceph mds stat
2、查看msd的映射信息
[root@client ~]# ceph mds dump
3、删除一个mds节点
[root@node1 ~]# ceph mds rm 0 mds.node1
四、osd
1、查看ceph osd运行状态
[root@client ~]# ceph osd stat
2、查看osd映射信息
[root@client ~]# ceph osd dump
3、查看osd的目录树
[root@client ~]# ceph osd tree
4、down掉一个osd硬盘
[root@node1 ~]# ceph osd down 0 #down掉osd.0节点
5、在集群中删除一个osd硬盘
[root@node4 ~]# ceph osd rm 0
6、在集群中删除一个osd 硬盘 crush map
[root@node1 ~]# ceph osd crush rm osd.0
7、在集群中删除一个osd的host节点
[root@node1 ~]# ceph osd crush rm node1
查看最大osd的个数
[root@node1 ~]# ceph osd getmaxosd
8、设置最大的osd的个数(当扩大osd节点的时候必须扩大这个值)
[root@node1 ~]# ceph osd setmaxosd 10
9、设置osd crush的权重为1.0
ceph osd crush set {id} {weight} [{loc1} [{loc2} ...]]
例如:
[root@admin ~]# ceph osd crush set 3 3.0 host=node4
set item id 3 name 'osd.3' weight 3 at location {host=node4} to crush map
[root@admin ~]# ceph osd tree
或者用下面的方式
[root@admin ~]# ceph osd crush reweight osd.3 1.0
[root@admin ~]# ceph osd tree
10、设置osd的权重
[root@admin ~]# ceph osd reweight 3 0.5
11、把一个osd节点逐出集群
[root@admin ~]# ceph osd out osd.3
osd.3的reweight变为0了就不再分配数据,但是设备还是存活的
12、把逐出的osd加入集群
[root@admin ~]# ceph osd in osd.3
[root@admin ~]# ceph osd tree
13、暂停osd (暂停后整个集群不再接收数据)
[root@admin ~]# ceph osd pause
14、再次开启osd (开启后再次接收数据)
[root@admin ~]# ceph osd unpause
15、查看一个集群osd.2参数的配置
ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | less
五、PG组
1、1、查看pg组的映射信息
[root@client ~]# ceph pg dump
2、查看一个PG的map
[root@client ~]# ceph pg map 0.3f
osdmap e88 pg 0.3f (0.3f) -> up [0,2] acting [0,2] #其中的[0,2]代表存储在osd.0、osd.2节点,osd.0代表主副本的存储位置
3、查看PG状态
[root@client ~]# ceph pg stat
4、查询一个pg的详细信息
[root@client ~]# ceph pg 0.26 query
5、查看pg中stuck的状态
[root@client ~]# ceph pg dump_stuck unclean
[root@client ~]# ceph pg dump_stuck inactive
[root@client ~]# ceph pg dump_stuck stale
6、显示一个集群中的所有的pg统计
ceph pg dump --format plain
7、恢复一个丢失的pg
ceph pg {pg-id} mark_unfound_lost revert
8、显示非正常状态的pg
ceph pg dump_stuck inactive|unclean|stale
六、pool
1、查看ceph集群中的pool数量
[root@admin ~]# ceph osd lspools
0 data,1 metadata,2 rbd,
2、在ceph集群中创建一个pool
ceph osd pool create jiayuan 100 #这里的100指的是PG组
3、为一个ceph pool配置配额
ceph osd pool set-quota data max_objects 10000
4、在集群中删除一个pool
ceph osd pool delete jiayuan jiayuan --yes-i-really-really-mean-it #集群名字需要重复两次
5、显示集群中pool的详细信息
[root@admin ~]# rados df
6、给一个pool创建一个快照
[root@admin ~]# ceph osd pool mksnap data date-snap
created pool data snap date-snap
7、删除pool的快照
[root@admin ~]# ceph osd pool rmsnap data date-snap
removed pool data snap date-snap
8、查看data池的pg数量
[root@admin ~]# ceph osd pool get data pg_num
pg_num: 64
9、设置data池的最大存储空间为100T(默认是1T)
[root@admin ~]# ceph osd pool set data target_max_bytes 100000000000000
set pool 0 target_max_bytes to 100000000000000
10、设置data池的副本数是3
[root@admin ~]# ceph osd pool set data size 3
set pool 0 size to 3
11、设置data池能接受写操作的最小副本为2
[root@admin ~]# ceph osd pool set data min_size 2
set pool 0 min_size to 2
12、查看集群中所有pool的副本尺寸
[root@admin mycephfs]# ceph osd dump | grep 'replicated size'
13、设置一个pool的pg数量
[root@admin ~]# ceph osd pool set data pg_num 100
set pool 0 pg_num to 100
14、设置一个pool的pgp数量
[root@admin ~]# ceph osd pool set data pgp_num 100
set pool 0 pgp_num to 100
七、rados和rbd指令
1、rados命令使用方法
(1)、查看ceph集群中有多少个pool (只是查看pool)
[root@node-44 ~]# rados lspools
(2)、查看ceph集群中有多少个pool,并且每个pool容量及利用情况
[root@node-44 ~]# rados df
(3)、创建一个pool
[root@node-44 ~]#rados mkpool test
(4)、查看ceph pool中的ceph object (这里的object是以块形式存储的)
[root@node-44 ~]# rados ls -p volumes | more
(5)、创建一个对象object
[root@admin-node ~]# rados create test-object -p test
[root@admin-node ~]# rados -p test ls
test-object
(6)、删除一个对象
[root@admin-node ~]# rados rm test-object-1 -p test
2、rbd命令的用法
(1)、查看ceph中一个pool里的所有镜像
[root@node-44 ~]# rbd ls images
[root@node-44 ~]# rbd ls volumes
(2)、查看ceph pool中一个镜像的信息
[root@node-44 ~]# rbd info -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a
(3)、在test池中创建一个命名为zhanguo的10000M的镜像
[root@node-44 ~]# rbd create -p test --size 10000 zhanguo
[root@node-44 ~]# rbd -p test info zhanguo #查看新建的镜像的信息
(4)、删除一个镜像
[root@node-44 ~]# rbd rm -p test lizhanguo
Removing image: 100% complete...done.
(5)、调整一个镜像的尺寸
[root@node-44 ~]# rbd resize -p test --size 20000 zhanguo
Resizing image: 100% complete...done.
[root@node-44 ~]# rbd -p test info zhanguo #调整后的镜像大小
(6)、给一个镜像创建一个快照
[root@node-44 ~]# rbd snap create test/zhanguo@zhanguo123 #池/镜像@快照
[root@node-44 ~]# rbd snap ls -p test zhanguo
[root@node-44 ~]# rbd info test/zhanguo@zhanguo123
(7)、查看一个镜像文件的快照
[root@os-node101 ~]# rbd snap ls -p volumes
(8)、删除一个镜像文件的一个快照快照
快照所在的池/ 快照所在的镜像文件 @ 快照
[root@os-node101 ~]# rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
rbd: snapshot 'snapshot-60586eba-b0be-4885-81ab-010757e50efb' is protected from removal.
2014-08-18 19:23:42.099301 7fd0245ef760 -1 librbd: removing snapshot from header failed: (16) Device or resource busy
上面不能删除显示的报错信息是此快照备写保护了,下面命令是删除写保护后再进行删除。
[root@os-node101 ~]# rbd snap unprotect volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
[root@os-node101 ~]# rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
(9)删除一个镜像文件的所有快照
[root@os-node101 ~]# rbd snap purge -p volumes
(10)、把ceph pool中的一个镜像导出
导出镜像
[root@node-44 ~]# rbd export -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a /root/aaa.img
导出云硬盘
[root@node-44 ~]# rbd export -p volumes --image volume-470fee37-b950-4eef-a595-d7def334a5d6 /var/lib/glance/ceph-pool/volumes/Message-JiaoBenJi-10.40.212.24
2014-05-24 17:28:18.940402 7f14ad39f700 0 -- :/1032237 >> 10.49.101.9:6789/0 pipe(0x260a400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x260a660).fault
Exporting image: 100% complete...done.
(11)、把一个镜像导入ceph中 (但是直接导入是不能用的,因为没有经过openstack,openstack是看不到的)
[root@node-44 ~]# rbd import /root/aaa.img -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a
Importing image: 100% complete...done.
Ceph 命令的更多相关文章
- 使用ceph命令提示handle_connect_reply connect got BADAUTHORIZER
输入命令提示如下错误: [root@node1 ~]# rados -p testpool ls 2017-10-21 06:13:25.743045 7f8f89b6d700 0 -- 192.16 ...
- ceph命令拷屏
常用命令ceph -w ceph df ceph features ceph fs ls ceph fs status ceph fsid ceph health ceph -s ceph statu ...
- ceph命令
chen@admin-node:~$ ceph --help General usage: ============== usage: ceph [-h] [-c CEPHCONF] [-i INPU ...
- Ceph常用命令
目录 [1.环境准备] [2.部署管理] [3.集群扩容] [4.用户管理] [5.密钥环管理] [6.块设备管理] [7.快照管理] [8.参考链接] 简要说明: 最近心血来潮,对分布式存储感兴趣, ...
- 最新ceph集群常用命令梳理
结合网络.官网.手动查询等多方渠道,整理ceph维护管理常用命令,并且梳理常规命令在使用过程中的逻辑顺序.另外整理期间发现ceph 集群的命令体系有点乱,详细情况各自体验. 一:ceph集群启动.重启 ...
- ceph常用命令(转)
原文:http://michaelkang.blog.51cto.com/1553154/1698287 一:ceph集群启动.重启.停止 1:ceph 命令的选项如下: 选项简写描述 --verbo ...
- 理解 OpenStack + Ceph (1):Ceph + OpenStack 集群部署和配置
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- Ubuntu 14.04 部署 CEPH集群
注:下文的所有操作都在admin节点进行 1.准备三台虚拟机,其中一台作为admin节点,另外两台作为osd节点,并相应地用hostname命令将主机名修改为admin,osd0,osd1,最后修改/ ...
- Ceph Jewel 10.2.3 环境部署
Ceph 测试环境部署 本文档内容概要 测试环境ceph集群部署规划 测试环境ceph集群部署过程及块设备使用流程 mon节点扩容及osd节点扩容方法 常见问题及解决方法 由于暂时没有用到对象存储,所 ...
随机推荐
- 浅议极大似然估计(MLE)背后的思想原理
1. 概率思想与归纳思想 0x1:归纳推理思想 所谓归纳推理思想,即是由某类事物的部分对象具有某些特征,推出该类事物的全部对象都具有这些特征的推理.抽象地来说,由个别事实概括出一般结论的推理称为归纳推 ...
- H5_0004:JS设置循环debugger的方法
在HTML页面加上如下代码,则PC打开控制台后,就会循环debugger,防止调试代码. <script>eval(function (p, a, c, k, e, r) { e = fu ...
- 【转】Unity四元数和向量相乘作用及其运算规则
作用:四元数和向量相乘表示这个向量按照这个四元数进行旋转之后得到的新的向量. 比如:向量vector3(0,0,10),绕着Y轴旋转90度,得到新的向量是vector3(10,0,0). 在unity ...
- awk删除重复文件
#!/bin/bash #查找并删除重复文件,每个文件只保留1份 ls -LS --time-style=long-iso | awk 'BEGIN { getline; getline; name1 ...
- R猜拳游戏解释
R猜拳游戏解释 作者:梁 蓉 猜拳游戏大概解释: 搜集齐数据框,for循环在三个随机数里抽俩个,抽出的数据放回,继续抽取剪刀石头布,机器人出剪刀石头布,我出对应压制机器人的方法来赢取胜利,我给机器人发 ...
- vagrant极简教程:快速搭建centos7
作为开发人员,只要你的应用最终是放在linux环境执行,那么最好就是将本地开发环境也线上一致.不管是用windows系统,还是mac系统,即使你本地程序跑得好好的,也经常会出现一上线就各种bug的现象 ...
- BZOJ4314 倍数?倍数!
好神仙啊.... 题意 在$ [0,n) $中选$ k$个不同的数使和为$ n$的倍数 求方案数 $ n \leq 10^9, \ k \leq 10^3$ 题解 k可以放大到1e6的 先不考虑$ k ...
- [系统集成] 基于 elasticsearch 的企业监控方案
注: 2017年10月16日: 使用中发现 es 查询时序数据的性能较差,且 watch 脚本的编写比较麻烦,因此已将监控系统切换到了 influxdb+grafana平台.新监控系统各方面情况比较满 ...
- 基于WebGL/Threejs技术的BIM模型轻量化之图元合并
伴随着互联网的发展,从桌面端走向Web端.移动端必然的趋势.互联网技术的兴起极大地改变了我们的娱乐.生活和生产方式.尤其是HTML5/WebGL技术的发展更是在各个行业内引起颠覆性的变化.随着WebG ...
- 配置ssh无密码登陆Linux
Windows下面的话需要安装git,或者其他能执行shell命令的软件 1.首先要先修改SSH的配置文件 vi /etc/ssh/sshd_config#修改配置文件 #如果被#注释了,就取消#号, ...