您的位置:首页 > 其它

ceph 存储安装部署

2017-03-03 10:15 344 查看

环境准备

1.三台服务器

cephnode01 192.168.254.83

cephnode02 192.168.254.84

cephnode03 192.168.254.85

2.基本环境配置

设置主机名

#192.168.254.83

hostnamectl set-hostname cephnode01

#192.168.254.84

hostnamectl set-hostname cephnode02

#192.168.254.85

hostnamectl set-hostname cephnode03


添加hosts绑定

在每个服务器上添加host绑定,确保可以通过域名进行访问


192.168.254.83 cephnode01

192.168.254.84 cephnode02

192.168.254.85 cephnode03


关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service


禁用selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0


时间更新同步

yum install ntpdate -y

ntpdate asia.pool.ntp.org


做免密钥认证

在管理节点上生成密钥,并复制到其他节点

安装ceph

安装ceph管理工具ceph-deploy

yum install -y ceph-deploy


创建工作目录

mkdir /ceph ; cd /ceph


安装ceph客户端

在每台主机上安装ceph

yum install -y ceph

或者 在管理节点上之行

ceph-deploy install cephnode01 cephnode02 cephnode03


在管理主机上操作

启动一个新的ceph集群,并设置初始监控节点

ceph-deploy new cephnode01 cephnode02 cephnode03     建议是奇数

激活监控节点

ceph-deploy mon create-initial

磁盘操作

ceph-deploy disk zap cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1   #擦出盘所有数据

ceph-deploy osd prepare  cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1        #格式化盘

ceph-deploy osd activate  cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1    #激活盘

也可以使用create完成,但是有bug

ceph-deploy osd create node4:sdb node2:sdb node4:sdc node2:sdc node3:sdb node3:sdc

确认集群状态,显示OK则正常

ceph -s


创建相关的池

ceph osd pool create image 64

ceph建好后默认有个rbd池,可以考虑删除

ceph osd pool delete rbd rbd --yes-i-really-really-mean-it

创建一个镜像,-p参数指定池的名称,-size单位为M

rbd create test --size 1024 -p image

如果安装中途有什么问题,可以推到重来

ceph-deploy purge 节点1 节点2 ....

ceph-deploy purgedata 节点1 节点2 ....

ceph-deploy forgetkeys

参考:http://docs.ceph.org.cn/

其他命令

rados lspools 查看池子

ceph -s 或 ceph status 查看集群状态

ceph -w 观察集群健康状态

ceph quorum_status --format json-pretty 检查ceph monitor仲裁状态

ceph df 检查集群使用情况

ceph mon stat 检查monitor状态

ceph osd stat 检查osd状态

ceph pg stat 检查pg配置组状态

ceph pg dump 列出PG

ceph osd lspools 列出存储池

ceph osd tree 检查osd的crush map

ceph auth list 列出集群的认证密钥

ceph 获取每个osd上pg的数量

ceph pg dump | awk '

/^pg_stat/ { col=1; while($col!="up") {col++}; col++ }

/^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;

up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }

for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}

}

END {

printf("\n");

printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");

for (i in poollist) printf("--------"); printf("----------------\n");

for (i in osdlist) { printf("osd.%i\t", i); sum=0;

for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; poollist[j]+=array[i,j] }; printf("| %i\n",sum) }

for (i in poollist) printf("--------"); printf("----------------\n");

printf("SUM :\t"); for (i in poollist) printf("%s\t",poollist[i]); printf("|\n");

}'

启动osd服务:

/usr/bin/systemctl start ceph-osd@0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: