ceph 最新版安装

Ceph 安装
参考文献:
1、 https://blog.csdn.net/jfengamarsoft/article/details/77683930
2、 https://blog.csdn.net/zcc_heu/article/details/79017624
3、 Ceph 官方下载地址http://download.ceph.com/rpm-luminous/el7/x86_64/
4、 Cephfs使用手册http://docs.ceph.org.cn/(配额必须先配额再让客户端挂载)
5、ceph官网https://docs.ceph.com/docs/master/

useradd -d /home/cephd -m cephd
passwd cephd

添加sudo权限:
echo “cephd ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/cephd
sudo chmod 0440 /etc/sudoers.d/cephd

命令:ceph --show-config
ceph osd dump | grep ‘replicated size’
ceph fs flag set enable_multiple true(用来启用多cephfs)
删除默认的源,国外的比较慢
yum clean all
rm -rf /etc/yum.repos.d/*.repo
下载阿里云的base源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下载阿里云的epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
修改里面的系统版本为7.3.1611,当前用的centos的版本的的yum源可能已经清空了
sed -i ‘/aliyuncs/d’ /etc/yum.repos.d/CentOS-Base.repo
sed -i ‘/aliyuncs/d’ /etc/yum.repos.d/epel.repo
sed -i ‘s/$releasever/7.4.1708/g’ /etc/yum.repos.d/CentOS-Base.repo
添加ceph源
vim /etc/yum.repos.d/ceph.repo

[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-{ceph-release}/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-{ceph-release}/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-{ceph-release}/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md

添加
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md

vi /etc/yum.repos.d/ceph.repo

添加
cat </etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://download.ceph.com/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://download.ceph.com/rpm-luminous/el7/noarch/
gpgcheck=0
[ceph-source]
name=cephsource
baseurl=http://download.ceph.com/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-radosgw]
name=cephradosgw
baseurl=http://download.ceph.com/rpm-luminous/el7/x86_64/
gpgcheck=0
EOF

进行yum的makecache
yum makecache

安装ceph集群
硬件环境准备


由于条件限制,本文所有实验机器全是虚拟机,共准备了3台虚拟机,其中1台做监控节点(master),2台做存储节点(slave1,slave2)。
Ceph要求必须是奇数个监控节点,而且最少3个(自己玩玩的话,1个也是可以的),ceph-adm是可选的,可以把ceph-adm放在monitor上,只不过把ceph-adm单独拿出来架构上看更清晰一些。当然也可以把mon放在 osd上,生产环境下是不推荐这样做的。
o ADM 服务器硬件配置比较随意,只是用来操作和管理 Ceph;
o MON 服务器1块硬盘用来安装操作系统;
o OSD 服务器上用1块1GB的硬盘做Ceph存储,每个osd对应1块硬盘,每个osd需要1个Journal,所以1块硬盘需要1个Journal,如果多个硬盘的话,可以每个区分别对应一个osd硬盘的journal.
软件环境准备


所有Ceph集群节点采用CentOS-7.3.1611版本,所有文件系统采用Ceph官方推荐的xfs。
安装完CentOS后我们需要在每个节点上(包括master)做一点基础配置,比如关闭SELINUX、关闭防火墙、同步时间等。
关闭 SELINUX

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

setenforce 0

关闭iptables

systemctl stop firewalld

systemctl disable firewalld

同步时间

yum -y ntp

ntpdate asia.pool.ntp.org

修改/etc/hosts

cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.63.128 master
192.168.63.130 slave1
192.168.63.131 slave2
在每台osd服务器上对1块硬盘进行分区,创建XFS文件系统,对1块用作journal的硬盘分1个区,每个区对应一块硬盘,不需要创建文件系统,留给Ceph自己处理。

分别关闭虚拟机【slave1,slave2】并挂载2块1G的硬盘
#parted -a optimal --script /dev/sdb – mktable gpt
#parted -a optimal --script /dev/sdb – mkpart primary xfs 0% 100%
#mkfs.xfs -f /dev/sdb1

**生产环境实际上只需要裸盘或者裸分区,然后对裸盘或者裸分区执行xfs文件系统。比如:mkfs.xfs -f /dev/sdb1**

Ceph部署

比起在每个Ceph节点上手动安装Ceph,用ceph-deploy工具统一安装要方便得多,登录master:

yum install ceph-deploy -y

创建一个ceph工作目录,以后的操作都在这个目录下面进行:
[root@master ~]# mkdir ~/ceph-cluster
[root@master ~]# cd ceph-cluster/
初始化集群,告诉ceph-deploy哪些节点是监控节点,命令成功执行后会在ceph-cluster目录下生成ceph.conf,ceph.log,ceph.mon.keyring等相关文件:
如果遇到问题:ImportError: No module named pkg_resources可:
wget https://pypi.python.org/packages/source/d/distribute/distribute-0.7.3.zip --no-check-certificate
unzip distribute-0.7.3.zip
cd distribute-0.7.3
python setup.py install

#创建单个monitor集群
[root@master ceph-cluster]# ceph-deploy new master
在每个Ceph节点上都安装Ceph:即可
[root@master ceph-cluster]# ceph-deploy install master slave1 slave2
或#ceph-deploy install --release luminous master
如install未成功,亦可手动安装:
在每个节点单独运行安装ceph软件:yum install ceph -y
osd节点: yum install ceph-radosgw -y

此处可能出现类似如下错误:
[master][ERROR ] File “/usr/lib64/python2.7/subprocess.py”, line 1327, in _execute_child
[master][ERROR ] raise child_exception
[master][ERROR ] OSError: [Errno 2] No such file or directory
[master][ERROR ]
[master][ERROR ]
[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph --version
解决方法是在报错的节点上执行下面的命令:
[root@master ceph-cluster]# yum install argparse -y
初始化监控节点:

#创建多个monitor:
#ceph-deploy new ceph0 ceph1 ceph2
#ceph-deploy mon create ceph0 ceph1 ceph2

#上一步执行,则下一步可省略
[root@master ceph-cluster]# ceph-deploy mon create-initial
查看一下Ceph存储节点的硬盘情况:
[root@master ceph-cluster]# ceph-deploy disk list slave1
[root@master ceph-cluster]# ceph-deploy disk list slave2
初始化Ceph硬盘,然后创建osd存储节点,存储节点:单个硬盘:对应的journal分区,一一对应:
• 接下来,我们就可以执行prepare操作了,prepare操作会在上述的两个osd0和osd1目录下创建一些后续activate激活以及osd运行时所需要的文件。
最新版ceph:ceph-deploy osd create node3 --data /dev/sdb1即可,ceph-deploy osd –h

最后,我们把生成的配置文件从master同步部署到其他几个节点,使得每个节点的ceph配置一致:
[root@master ceph-cluster]# ceph-deploy --overwrite-conf admin master slave1 slave2
测试
重置环境:
yum -y remove ceph ceph-release ceph-common ceph-radosgw
rm -rf --one-file-system – /var/lib/ceph
rm -rf --one-file-system – /etc/ceph/
yum install ceph ceph-radosgw -y

使用:
无论使用rbd或者cephfs可参考官网资料:ceph中文官网简书
mount -t ceph 109.105.30.166:6789,109.105.30.167:6789,109.105.30.168:6789:/test1 /lyf -o name=admin,secret=AQB3bvpapKs+LRAAs1PH+Mo4loOcAvTDfHg3vg==

ceph的基础安装包(可以下载这些安装包然后做个yun仓库,方便以后集群加入新的节点,也能固定ceph版本):
ceph-radosgw.x86_64 2:12.2.5-0.el7

作为依赖被安装:
ceph-base.x86_64 2:12.2.5-0.el7 ceph-common.x86_64 2:12.2.5-0.el7 ceph-selinux.x86_64 2:12.2.5-0.el7
—> 软件包 ceph.x86_64.2.12.2.5-0.el7 将被 安装
–> 正在处理依赖关系 ceph-osd = 2:12.2.5-0.el7,它被软件包 2:ceph-12.2.5-0.el7.x86_64 需要
–> 正在处理依赖关系 ceph-mon = 2:12.2.5-0.el7,它被软件包 2:ceph-12.2.5-0.el7.x86_64 需要
–> 正在处理依赖关系 ceph-mgr = 2:12.2.5-0.el7,它被软件包 2:ceph-12.2.5-0.el7.x86_64 需要
–> 正在处理依赖关系 ceph-mds = 2:12.2.5-0.el7,它被软件包 2:ceph-12.2.5-0.el7.x86_64 需要

问题:cephfs有几点挂载的情况下不可删除cephfs,需要都umount掉
删除pool
root@ceph-mon1 ~]# systemctl stop ceph-mds@mds-daemon-1

[root@ceph-mon1 ~]# ceph fs rm cephfs --yes-i-really-mean-it
[root@ceph-mon1 ~]# ceph osd pool delete metadata metadata --yes-i-really-really-mean-it

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ceph是一个基于对象存储技术的分布式存储系统,可用于存储海量数据,具有高可靠性、高可扩展性等特点。下面是Ceph的详细安装教程: 1. 安装依赖包 在安装Ceph之前,需要安装一些依赖包。以CentOS 7为例,执行以下命令: ``` sudo yum install -y epel-release sudo yum install -y wget vim net-tools sudo yum install -y python-setuptools python-setuptools-devel sudo yum install -y gcc autoconf automake make ``` 2. 下载安装下载Ceph安装包,可以从官网 https://ceph.io/ 下载最新版本的安装包。以Ceph Jewel版本为例,执行以下命令: ``` wget -c https://download.ceph.com/tarballs/ceph-jewel.tar.gz tar -xzf ceph-jewel.tar.gz cd ceph-jewel ``` 3. 编译安装 执行以下命令编译安装Ceph: ``` ./install-deps.sh ./autogen.sh ./configure make -j4 sudo make install ``` 4. 配置Ceph 创建Ceph的配置文件/etc/ceph/ceph.conf,内容如下: ``` [global] fsid = ceph-cluster-uuid mon initial members = ceph-mon1 mon host = 192.168.1.101 auth cluster required = cephx auth service required = cephx auth client required = cephx osd journal size = 1024 osd pool default size = 2 osd pool default min size = 1 osd pool default pg num = 128 osd pool default pgp num = 128 osd crush chooseleaf type = 1 ``` 其中,fsid为Ceph集群的UUID,mon initial members为Ceph Monitor的名称,mon host为Ceph Monitor的IP地址,auth cluster/service/client required为认证方式,osd journal size为OSD日志大小,osd pool default size为数据副本数,osd pool default min size为最小副本数,osd pool default pg num/pgp num为PG数量,osd crush chooseleaf type为CRUSH算法类型。 5. 初始化Ceph集群 执行以下命令初始化Ceph集群: ``` sudo mkdir /var/lib/ceph/mon/ceph-mon1 sudo ceph-mon --mkfs -i ceph-mon1 --monmap /tmp/monmap sudo ceph-mon -i ceph-mon1 ``` 其中,/var/lib/ceph/mon/ceph-mon1为Ceph Monitor的存储路径,ceph-mon1为Ceph Monitor的名称,/tmp/monmap为Monitor的IP地址和名称映射文件。 6. 创建OSD 执行以下命令创建OSD: ``` sudo mkdir /var/lib/ceph/osd/ceph-0 sudo ceph-osd --mkfs -i 0 --osd-data /var/lib/ceph/osd/ceph-0 --osd-journal /var/lib/ceph/osd/ceph-0/journal sudo ceph-osd -i 0 ``` 其中,/var/lib/ceph/osd/ceph-0为OSD的存储路径,0为OSD的ID。 7. 创建RADOS对象池 执行以下命令创建RADOS对象池: ``` sudo ceph osd pool create rados-pool 128 128 ``` 其中,rados-pool为RADOS对象池的名称,128为PG数量,128为PGP数量。 至此,Ceph安装和配置完成。可以使用rados命令测试RADOS对象池是否正常: ``` sudo rados -p rados-pool bench 10 write ``` 以上命令将在rados-pool对象池中写入10M的数据,可以通过rados命令查看对象池中的数据: ``` sudo rados -p rados-pool ls ``` 如果能够正常列出对象池中的数据,则Ceph已经安装和配置成功了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值