ceph运维常用指令
一、集群
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
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 | less
13、查看集群健康状态细节
[root@admin ~]# ceph health detail
14、查看ceph log日志所在的目录
[root@node1 ~]# ceph-conf --name mon.node1 --show-config-value log_file
二、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,为二进制mon.bin
[root@node3 ~]# ceph mon getmap -o mon.bin
6、查看上面获得的map
[root@node3 ~]# monmaptool --print mon.bin
[root@node3 ~]#
7、把上面的mon map注入新加入的节点
ceph-mon -i node4 --inject-monmap mon.bin
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
removed osd.0
6、在集群中删除一个osd 硬盘 crush map
[root@node1 ~]# ceph osd crush rm osd.0
7、在集群中删除一个osd的host节点
[root@node1 ~]# ceph osd crush rm node1
removed item id -2 name 'node1' from crush map
查看最大osd的个数
[root@node1 ~]# ceph osd getmaxosd
max_osd = 4 in epoch 514 #默认最大是4个osd节点
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
reweighted item id 3 name 'osd.3' to 1 in crush map
[root@admin ~]# ceph osd tree
10、设置osd的权重
[root@admin ~]# ceph osd reweight 3 0.5
11、把一个osd节点逐出集群
[root@admin ~]# ceph osd out osd.3
12、把逐出的osd加入集群
[root@admin ~]# ceph osd in osd.3
13、暂停osd (暂停后整个集群不再接收数据)
[root@admin ~]# ceph osd pause
set pauserd,pausewr
14、再次开启osd (开启后再次接收数据)
[root@admin ~]# ceph osd unpause
unset pauserd,pausewr
15、查看一个集群osd.2参数的配置
ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | less
16、如果osd坏了,进程还在的话
ceph tell osd. bench #往osd.1740写数据,进程就会kill 自己了
17、调整osd的恢复优先级
ceph daemon /var/run/ceph/ceph-osd.$id.asok config set osd_max_backfills 10
五、PG组
1、1、查看pg组的映射信息
[root@client ~]# ceph pg dump
dumped all in format plain
version 1164
stamp 2014-06-30 00:48:29.754714
last_osdmap_epoch 88
last_pg_scan 73
full_ratio 0.95
nearfull_ratio 0.85
pg_stat objects mip degr unf bytes log disklog state state_stamp v reported up up_primary acting acting_primary last_scrub scrub_stamp last_deep_scrudeep_scrub_stamp
0.3f 39 0 0 0 163577856 128 128 active+clean 2014-06-30 00:30:59.193479 52'128 88:242 [0,2] 0 [0,2] 0 44'25 2014-06-29 22:25:25.282347 0'0 2014-06-26 19:52:08.521434
下面部分省略
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
v1164: 448 pgs: 448 active+clean; 10003 MB data, 23617 MB used, 37792 MB / 61410 MB avail
4、查询一个pg的详细信息
[root@client ~]# ceph pg 0.26 query
5、查看pg中stuck的状态
[root@client ~]# ceph pg dump_stuck unclean
ok
[root@client ~]# ceph pg dump_stuck inactive
ok
[root@client ~]# ceph pg dump_stuck stale
ok
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 testpool testpool --yes-i-really-really-mean-it #集群名字需要重复两次
5、显示集群中pool的详细信息
[root@admin ~]# rados df
[root@admin ~]#
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 data-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'
pool 2 'rbd' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 owner 0 flags hashpspool stripe_width 0
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 | less
rbd_data.348f21ba7021.0000000000000866
rbd_data.32562ae8944a.0000000000000c79
(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 volumes
(2)、查看ceph pool中一个镜像的信息
[root@node-44 ~]# rbd info -p images --image test
(3)、在test池中创建一个命名为test2的10000M的镜像
[root@node-44 ~]# rbd create -p test --size 10000 test2
(4)、删除一个镜像
[root@node-44 ~]# rbd rm -p test test2
(5)、调整一个镜像的尺寸
[root@node-44 ~]# rbd resize -p test --size 20000 test3
Resizing image: 100% complete...done.
(6)、给一个镜像创建一个快照
[root@node-44 ~]# rbd snap create test/test3@snap1 #池/镜像@快照
[root@node-44 ~]# rbd snap ls -p test test3
[root@node-44 ~]#
[root@node-44 ~]# rbd info test/test3@snap1
(7)、查看一个镜像文件的快照
[root@os-node101 ~]# rbd snap ls -p volumes test
(8)、删除一个镜像文件的一个快照快照
快照所在的池/ 快照所在的镜像文件 @ 快照
[root@os-node101 ~]# rbd snap rm volumes/test3@snap1
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/test3@snap1
[root@os-node101 ~]# rbd snap rm volumes/test3@snap1
(9)删除一个镜像文件的所有快照
[root@os-node101 ~]# rbd snap purge -p volumes test3
Removing all snapshots: 100% complete...done.
(10)、把ceph pool中的一个镜像导出
导出镜像
[root@node-44 ~]# rbd export -p images --image test
2014-05-24 17:16:15.197695 7ffb47a9a700 0 -- :/1020493 >> 10.49.101.9:6789/0 pipe(0x1368400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x1368660).fault
Exporting image: 100% complete...done.
导出云硬盘
[root@node-44 ~]# rbd export -p volumes --image volume-470fee37-b950-4eef-a595-d7def334a5d6 /var/lib/glance/ceph-pool/volumes/test-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 运维常用指令
集群 启动一个ceph 进程 启动mon进程 service ceph start mon.node1 启动msd进程 service ceph start mds.node1 启动osd进程 ser ...
- Hadoop集群-HDFS集群中大数据运维常用的命令总结
Hadoop集群-HDFS集群中大数据运维常用的命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简单涉及到滚动编辑,融合镜像文件,目录的空间配额等运维操作简介.话 ...
- Linux运维常用150个命令
Linux运维常用150个命令 转载自:www.cnblogs.com/bananaaa/p/7774467.html 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更 ...
- Nginx-Tomcat 等运维常用服务的日志分割-logrotate
目录 一 .Nginx-Tomcat 等常用服务日志分析 Nginx 日志 Tomcat日志 MongoDB 日志 Redis 日志 二 .日志切割服务 logrotate 三.日志切割示例 Ngin ...
- Linux运维常用的几个命令介绍【转】
Linux运维常用的几个命令介绍 1. 查看系统内核版本 [root@funsion geekxa]# cat /etc/issue CentOS release 6.5 (Final) Kerne ...
- centos 7 查看系统/硬件信息及运维常用命令+联想Y430P无线网卡驱动安装
centos 7 查看系统/硬件信息及运维常用命令 当前环境:联想Y430P CentOS 7.3 [root@yan-001 ~] # uname -a # 查看内核/操作系统/CPU信息的Li ...
- 14-redis运维常用命令
一:运维常用的server端命令 TIME 查看时间戳与微秒数 DBSIZE 查看当前库中的key数量 BGREWRITEAOF 后台进程重写AOF BGSAVE 后台保存rdb快照 ...
- Zookeeper运维常用四字命令
Zookeeper运维常用四字命令 echo stat|nc 127.0.0.1 2181 查看哪个节点被选择作为follower或者leader 使用echo ruok|nc 127.0.0.1 2 ...
- 盘点Linux运维常用工具(一)-web篇之httpd
#前言:想把自己学的各种服务进行分类归档起来,于是就写了盘点Linux运维常用工具,Linux方面使用到的web应用服务有httpd(apache).nginx.tomcat.lighttpd,先了解 ...
随机推荐
- __x__(29)0908第五天__高度塌陷 问题
高度塌陷 在文档流中,父元素的高度默认是被子元素撑开的. 但是当为 子元素 设置 float 时,子元素会完全脱离文档流,无法再撑开父元素,导致父元素高度塌陷...以致于布局混乱 变成 BFC块级格式 ...
- idea 常用快捷键
=============intellij idea 快捷键============= ctrl+] 诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处 ctrl+[ 同上,快速跳至代码 ...
- 十、JSTL标签库
l JSTL标签库(重点) l 自定义标签(理解) l MVC设计模式(重点中的重点) l Java三层框架(重点中的重点) JSTL标签库 1 什么是JSTL JSTL是apache对EL表达式 ...
- less 基础+ flex
1.less 中的变量 @ 符号 引入 /*普通变量*/ @color:pinker; .styles{ color:@color; } /*选择器变量*/ @I:img; @{I}{ width: ...
- 1 开发环境 eclipse oomph版本 jdk1.8 lucene 6.6.0,luke6.6.0
第一个jar 是分词器,后面的是lucene 解压出来的 路径如下: lucene-analyzers-common-6.6.0.jar:lucene-6.6.0/common/ lucene-a ...
- Java自学笔记
1.标识符:字母,数字,下划线,美元符组成,不可以已数字开头,并且严格区分大小写 2.变量 有三个元素描述变量,变量类型,变量名,变量值 如何命名变量:首字母为 字母:下划线:“$“符号,其余部分为 ...
- laravel的日志权限
命令行脚本运行时报错 UnexpectedValueException : The stream or file "/Data/PMS/storage/logs/laravel-2019- ...
- 工作流JBPM
jbpm3 共分为12种节点 1.node节点:如果该节点没有定义ACTION,则流转到该节点时不会停留,会继续往下走,如果定义ACTION,执行完ACTION后会停在该节点上,调用 token.si ...
- MYSQL 事务和用户权限
一. 什么是事务:简单说,所谓事务就是一组操作,要么操作都成功要么都不成功. 二.事务的使用流程 1. 第一步:开启一个事务,start transaction; 2. 第二步:正常的SQL语句操作, ...
- python数据分析算法(决策树2)CART算法
CART(Classification And Regression Tree),分类回归树,,决策树可以分为ID3算法,C4.5算法,和CART算法.ID3算法,C4.5算法可以生成二叉树或者多叉树 ...