这篇文章主要讲解了“分布式存储Ceph的快速安装方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分布式存储Ceph的快速安装方法”吧!
环境准备
系统CentOS 7.3
文件系统XFS
集群节点数量3
总共3台机器,mon和osd每个节点都进行部署,其中node0节点同时作为管理节点通过ceph-deploy部署自身节点和其他节点。
安装 ceph-deploy
在所有节点执行下列命令
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*
修改ceph的yum源为163
sudo vim /etc/yum.repos.d/ceph.repo
ceph.repo改为如下
[ceph]
name=ceph
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
priority=1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc
priority=1
更新软件库并安装 ceph-deploy
sudo yum update && sudo yum install ceph-deploy
Ceph节点安装
所有节点安装NTP
sudo yum install ntp ntpdate ntp-doc
确保在各 Ceph 节点上启动了 NTP 服务,并且要使用同一个 NTP 服务器,详情见 NTP 。
所有节点安装 SSH 服务器
sudo yum install openssh-server
创建部署 Ceph 的用户
ceph-deploy 工具必须以普通用户登录 Ceph 节点,且此用户拥有无密码使用 sudo 的权限,因为它需要在安装软件及配置文件的过程中,不必输入密码。
1. 在各Ceph 节点创建新用户,创建一个work的用户
sudo useradd -d /home/work -m work
sudo passwd work
2. 确保各 Ceph 节点上新创建的用户都有 sudo 权限
echo "work ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/work
sudo chmod 0440 /etc/sudoers.d/work
允许无密码 SSH 登录
正因为 ceph-deploy 不支持输入密码,你必须在管理节点上生成 SSH 密钥并把其公钥分发到各 Ceph 节点。 ceph-deploy 会尝试给初始 monitors 生成 SSH 密钥对。
1. 用work用户生成 SSH 密钥对。提示 “Enter passphrase” 时,直接回车,口令即为空
ssh-keygen
2. 把公钥拷贝到各 Ceph 节点,公钥在node0生成的拷贝到node1和node2节点
ssh-copy-id work@node1
ssh-copy-id work@node2
开放所需端口
Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300 这个范围内的端口通信。 Ceph OSD 能利用多个网络连接进行与客户端、monitors、其他 OSD 间的复制和心跳的通信。
关闭防火墙和selinux
systemctl stop firewalld && systemctl disable firewalld && setenforce 0 && sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
优先级/首选项
sudo yum install yum-plugin-priorities
在work用户下创建文件夹
mkdir my-cluster && cd my-cluster
创建集群
创建monitor集群
ceph-deploy new node0 node1 node2
这里我们node0,node1,node2都作为monitor集群节点,命令执行完后会生成应 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。
Ceph 配置文件里
osd pool default size 为副本数量默认为3,如果你有多个网卡,可以把 public network 写入 Ceph 配置文件的 [global] 段下。public network = {ip-address}/{netmask},例子如下:
public network = 10.112.101.0/24
安装 Ceph
ceph-deploy install node0 node1 node2
配置初始 monitor(s)、并收集所有密钥
ceph-deploy mon create-initial
添加OSD
添加3个OSD
sudo mkdir /var/local/osd0
ssh node1
sudo mkdir /var/local/osd1
exit
ssh node2
sudo mkdir /var/local/osd2
exit
修改目录权限
chmod 777 /var/local/osd0/ | chmod 777 /var/local/osd0/* | chmod 777 /var/local/osd1/ |chmod 777 /var/local/osd1/* | chmod 777 /var/local/osd2/ |chmod 777 /var/local/osd2/*
从管理节点执行 ceph-deploy 来准备 OSD
ceph-deploy osd prepare node0:/var/local/osd0 node1:/var/local/osd1 node2:/var/local/osd2
激活OSD
ceph-deploy osd activate node0:/var/local/osd0 node1:/var/local/osd1 node2:/var/local/osd2
用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点,这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了。
ceph-deploy admin node0 node1 node2
确保你对 ceph.client.admin.keyring 有正确的操作权限。
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
查看集群状态
ceph -s
至此快速搭建集群完成!
感谢各位的阅读,以上就是“分布式存储Ceph的快速安装方法”的内容了,经过本文的学习后,相信大家对分布式存储Ceph的快速安装方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是天达云,小编将为大家推送更多相关知识点的文章,欢迎关注!