ceph部署及简单使用

四台机器为例:

主机地址               主机名称           主机角色

192.168.100.30    ceph-admin       admin
192.168.100.31     stor-01             mon, osd, mgr, mds
192.168.100.32     stor-02             mon, osd, mgr
192.168.100.33     stor-03             mon, osd, rgw

Ceph分布式存储系列 一 Ceph工作原理及架构浅析梳理

 

每台主机进行A记录的配置:

[root@server-0 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.30 ceph-admin
192.168.100.31 stor-01 mon-01 osd-01 mgr-01 mds
192.168.100.32 stor-02 mon-02 osd-02 mgr-02
192.168.100.33 stor-03 mon-03 osd-03 rgw


 

一、使各主机时钟同步(采用admin同步网络时钟,其他同步admin时钟)

管理节点:

# vim /etc/chrony.conf

 其他节点:
# vim /etc/chrony.conf

重启服务:systemctl restart chronyd.service
统一执行date看时间是否统一
关闭防火墙等:
~]# systemctl stop firewalld.service
~]# systemctl stop iptables.service
~]# systemctl disable firewalld.service
~]# systemctl disable iptables.service

二、进行源的配置:
# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# yum clean all
# yum makecache
在所有节点下生成mimic相关配置仓库:
# rpm -ivh https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm
 

三、在各节点以管理员的身份创建一个专用于ceph-deploy的特定用户账号:

# useradd cephadm
# echo "123456" | passwd --stdin cephadm

给予用户cephadm无密码运行sudo命令的权限

# echo "cephadm ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephadm
# chmod 0440 /etc/sudoers.d/cephadm

ceph-deploy命令不支持运行中途的密码输入,因此,必须在管理节点(ceph-admin.magedu.com)上生成SSH密
钥并将其公钥分发至Ceph集群的各节点上。下面直接以cephadm用户的身份生成SSH密钥对:
~]$ su cephadm
~]$ cd ~
~]$ ssh-keygen -t rsa -P ""
而后即可把公钥拷贝到各Ceph节点:
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadm@stor-01
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadm@stor-02
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadm@stor-03

四、在管理节点安装ceph-deploy

# yum install ceph-deploy python-setuptools python2-subprocess32

五、部署RADOS存储集群

初始化RADOS集群

1.首先在管理节点上以cephadm用户创建集群相关的配置文件目录:

~]$ mkdir ceph-cluster

~]$ cd ceph-cluster

2. 初始化第一个MON节点,准备创建集群:

[cephadm@ceph-admin ceph-cluster]$ ceph-deploy new stor-01
 

 3. 编辑生成ceph.conf配置文件,在[global]配置段中设置Ceph集群面向客户端通信时使用的IP地址所在的网络,即公网网络地址:

4. 安装Ceph集群

[cephadm@ceph-admin ceph-cluster]$ ceph-deploy install ceph-admin stor-01 stor-02 stor-03
提示:若需要在集群各节点独立安装ceph程序包,其方法如下:
# yum install -y https://download.ceph.com/rpm-mimic/el7/noarch/ceph-release-1-0.el7.noarch.rpm
# yum install ceph ceph-radosgw

5. 配置初始MON节点,并收集所有密钥:

[cephadm@ceph-admin ceph-cluster]$ ceph-deploy mon create-initia

6. 把配置文件和admin密钥拷贝Ceph集群各节点,以免得每次执行”ceph“命令行时不得不明确指定MON节点地址
和ceph.client.admin.keyring:

[cephadm@ceph-admin ceph-cluster]$ ceph-deploy admin stor-01 stor-02 stor-03
而后在Ceph集群中需要运行ceph命令的的节点上(或所有节点上)以root用户的身份设定用户cephadm能够读
取/etc/ceph/ceph.client.admin.keyring文件:
~]$ setfacl -m u:cephadm:r /etc/ceph/ceph.client.admin.keyring

7. 配置Manager节点,启动ceph-mgr进程(仅Luminious+版本):

[cephadm@ceph-admin ceph-cluster]$ ceph-deploy mgr create stor01

8. 在Ceph集群内的节点上以cephadm用户的身份运行如下命令,测试集群的健康状态:

[cephadm@stor01 ~]$ ceph health

六、向RADOS集群添加OSD

列出并擦净磁盘

[cephadm@ceph-admin ceph-cluster]$ ceph-deploy disk zap stor-01 /dev/sdb
[cephadm@ceph-admin ceph-cluster]$ ceph-deploy disk zap stor-02 /dev/sdb
[cephadm@ceph-admin ceph-cluster]$ ceph-deploy disk zap stor-03 /dev/sdb

添加OSD

[cephadm@ceph-admin ceph-cluster]$ ceph-deploy osd create stor-01 --data /dev/sdb
[cephadm@ceph-admin ceph-cluster]$ ceph-deploy osd create stor-02 --data /dev/sdb
[cephadm@ceph-admin ceph-cluster]$ ceph-deploy osd create stor-03 --data /dev/sdb

管理员也可以使用ceph命令查看OSD的相关信息:
~]$ ceph osd stat
3 osds: 3 up, 3 in; epoch: e15

从RADOS集群中移除OSD的方法

1. 停用设备:ceph osd out {osd-num}
2. 停止进程:sudo systemctl stop ceph-osd@{osd-num}
3. 移除设备:ceph osd purge {id} --yes-i-really-mean-it

测试上传/下载数据对象

~]$ ceph osd pool create mypool 16
pool 'mypool' created

~]$ rados put issue /etc/issue --pool=mypool
~]$ rados ls --pool=mypool
issue

ceph osd map”命令可以获取到存储池中数据对象的具体位置信息:
]$ ceph osd map mypool issue
osdmap e26 pool 'mypool' (1) object 'issue' -> pg 1.651f88da (1.a) -> up ([2,1,0], p2)
acting ([2,1,0], p2)

删除数据对象,“rados rm”命令是较为常用的一种方式:
~]$ rados rm issue --pool=mypool

删除存储池命令存在数据丢失的风险,Ceph于是默认禁止此类操作。管理员需要在ceph.conf配置文件中启用支持删
除存储池的操作后,方可使用类似如下命令删除存储池。

~]$ ceph osd pool rm mypool mypool --yes-i-really-really-mean-it

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值