想找一个共享存储的代替用于安装oracle rac,看到redhat 官方在大力推荐ceph,宣传如何如何厉害,要不试一下:
1.环境说明
ceph-mon1 用于监控及管理服务器 192.168.0.170
ceph-osd1 osd1 192.168.0.171 20g /dev/sdb
ceph-osd2 osd2 192.168.0.172 30g /dev/sdb
ceph-osd3 osd3 192.168.0.173 40g /dev/sdb
ceph-oracle 客户端,用于测试存储的使用 192.168.0.175
2.本次安装使用的操作系统
看ceph宣传的,今后不支持rhel7以前的版本,因此,找了一个才发布的操作系统来安装.
操作系统 centos 7.4
4个机器都安装好 centos 7.4,
由于是虚拟机,因此,只需要安装一个,其他全部拷贝.
并修改每台机器的名字,并作ip解析。
3.启用yum
在各节点上安装启用软件仓库,启用可选软件库
# yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm /etc/yum.repos.d/dl.fedoraproject.org*
# yum install yum-plugin-priorities
4.对系统作一些配置
关闭 SELINUX
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# setenforce 0
打开Ceph需要的端口
# firewall-cmd --zone=public --add-port=6789/tcp --permanent
# firewall-cmd --zone=public --add-port=6800-7100/tcp --permanent
# firewall-cmd --reload
也可直接关闭
# systemctl stop firewalld.service
# systemctl disable firewalld.service
安装 EPEL 软件源:
# rpm -Uvh https://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
# yum -y update
# yum -y upgrade
安装 ntp 同步时间
# yum -y install ntp ntpdate ntp-doc
# ntpdate 0.us.pool.ntp.org
# hwclock --systohc
# systemctl enable ntpd.service
# systemctl start ntpd.service
5.配置对等性
在 ceph-adm(这里是ceph-mon1) 上运行 ssh-keygen 生成 ssh key 文件,注意 passphrase 是空,把 ssh key 拷贝到每一个 Ceph 节点上:
# mkdir ~/.ssh
# ssh-keygen -t rsa
Generatingpublic/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty forno passphrase):
Enter same passphrase again:
# ssh-copy-id root@ceph-osd1
# ssh-copy-id root@ceph-osd2
# ssh-copy-id root@ceph-osd3
# ssh-copy-id root@ceph-oracle
确实不在需要密码
# ssh root@ceph-osd1
# ssh root@ceph-osd2
# ssh root@ceph-osd3
# ssh root@ceph-oracle
6.配置每个节点的ceph yum源
在个节点上创建ceph 源(本人这里选择的jewel,这里推荐使用网易或阿里的ceph源)
在 /etc/yum.repos.d/目录下创建 ceph.cepo然后写入以下内容
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1
7.在管理节点上进行安装准备(这里ceph-mon1代理了管理和监控职能,因此在ceph-mon1上执行)
//新文件夹ceph-cluster
# cd ~
# mkdir ceph-cluster
# cd ceph-cluster
//安装ceph-deploy
# yum update && yum install ceph-deploy
//若安装ceph后遇到麻烦可以使用以下命令进行清除包和配置
#ceph-deploy purge node1 node2 node3
#ceph-deploy purgedata node1 node2 node3
#ceph-deploy forgetkeys
8.初始化集群
初始化集群,告诉 ceph-deploy 哪些节点是监控节点,(我们这里只有一个监控节点,官方推荐有3个)
命令成功执行后会在 ceps-cluster 目录下生成 ceph.conf, ceph.log, ceph.mon.keyring 等相关文件:
# ceph-deploy new ceph-mon1
9.在每个 Ceph 节点上都安装 Ceph:
# ceph-deploy install ceph-mon1 ceph-osd1 ceph-osd2 ceph-osd3 ceph-oracle
10.初始化监控节点:
# ceph-deploy mon create-initial
11.初始化 Ceph 硬盘,然后创建 osd 存储节点
查看一下 Ceph 存储节点的硬盘情况:
# ceph-deploy disk list ceph-osd1
# ceph-deploy disk list ceph-osd2
# ceph-deploy disk list ceph-osd3
擦出盘所有数据,注意,这里是磁盘,不是分区
# ceph-deploy disk zap ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb
格式化盘 ,注意,这里是磁盘,不是分区
# ceph-deploy osd prepare ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb
激活盘 ,注意,这里是分区,不是磁盘
#ceph-deploy osd activate ceph-osd1:/dev/sdb1 ceph-osd2:/dev/sdb1 ceph-osd3:/dev/sdb1
12. 最后,我们把生成的配置文件从 ceph-adm 同步部署到其他几个节点,使得每个节点的 ceph 配置一致:
# ceph-deploy --overwrite-conf admin ceph-osd1 ceph-osd2 ceph-osd3
13.验证ceph集群
ceph health
[root@ceph-mon1 ~]# ceph health
HEALTH_OK
获取详细信息
ceph -s
[root@ceph-mon1 ceph-cluster]# ceph -s
cluster efd3abff-a83f-4ba8-805f-f6c6a6c0231c
health HEALTH_OK
monmap e1: 1 mons at {ceph-mon1=192.168.0.170:6789/0}
election epoch 8, quorum 0 ceph-mon1
osdmap e112: 3 osds: 3 up, 3 in
flags sortbitwise,require_jewel_osds
pgmap v13601: 248 pgs, 2 pools, 2695 MB data, 705 objects
5458 MB used, 71298 MB / 76756 MB avail
248 active+clean
client io 35220 B/s rd, 24163 B/s wr, 13 op/s rd, 15 op/s wr
至此,ceph集群搭建成功。
|