Ceph deployment document
系统环境:centos 6.5
内核:2.6.32()
网卡:一个
硬盘:一个500G
Cpu:Intel(R) Core(TM) i3-4160 CPU @ 3.60GHz 4核
内存:8G
Ceph-deploy是一个部署ceph storage cluster的工具,它可以简化安装过程中的很到细节,在这里,我们使用ceph-deploy来部署ceph storage cluster。
Ceph部署设置:
把ceph库源添加到ceph-deploy管理节点上,然后在安装ceph-deploy。
1.创建源/etc/yum.repos.d/ceph.repo
sudo vim /etc/yum.repos.d/ceph.repo
粘贴下面的代码,用ceph的主要发布版本来替换{ceph-release}(如:firefly);用Linux的发布版本替换{distro}((e.g., el6 for CentOS 6, el7 for CentOS 7, rhel6.5 for Red Hat 6.5, rhel7 for Red Hat 7, and fc19 or fc20 for Fedora 19 or Fedora 20);最后,把内容保存在/etc/yum.repos.d/ceph.rep文件中。
name=Ceph noarch packages
baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
enabled=1
gpgcheck=1
type=rpm=md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
2.更新库然后安装ceph-deploy
sudo yum update && sudo yum install ceph-deploy
Ceph node节点设置:
安装ntp
保证各node节点时间同步,防止时钟漂移。
sudo yum install ntp ntpdate ntp-doc
安装ssh server
在所以节点上执行下面的命令:
sudo yum install openssh-server
创建一个ceph用户
ceph-deploy程序需要以一个拥有sudo权限的用户登录到ceph node中,因为它需要在node中安装软件和修改配置文件。在每个集群节点上都要创建。
1.在每个节点上创建用户:
sudo passwd ceph
2.给每个节点上创建的用户sudo权限:
sudo chmod 0440 /etc/sudoers.d/ceph
注:ceph是你创建的用户,可以根据自己的习惯使用其他名字。
使ssh无密码登陆:
1.在ceph-deploy所在的节点上产生ssh key,不要使用sudo 或者root用户去产生key,passphrase设置空白。
ssh-keygen
2.把public key拷贝到其他集群节点上:
ssh-copy-id ceph@node2
3.修改ceph-deploy节点上的~/.ssh/config文件,使ceph-deploy程序可以以ceph用户的身份登陆到其他节点:
Hostname node1
User ceph
Host node2
Hostname node2
User ceph
.
.
启用网卡,使网卡是可用状态,节点之间通信正常:
ONBOOT 设置为yes(centos)
在/etc/hosts中配置,是主机名能够解析,而不是回环ip(127.0.0.1),如果ceph-deploy节点是集群中的node,则要保证解析出来的不是回环ip。
打开需要的端口:
ceph monitor 使用的默认端口是6789,ceph osds之间通信使用的默认端口是6800:7810,当服务器上使用了防火墙时,要打开这些需要的端口。
对于RHEL7的firewalld
sudo firewall-cmd --zone=public --add-port=6789/tcp –permanent
对于centos上的iptables
sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT
保存设置:
/sbin/service iptables save
另外一个方法:开发所以端口,关闭防火墙。
sudo service stop
TTY
使用 sudo visudo 把Default requiretty修改为Default:ceph !requiretty或者注释掉。
Selinux
sudo setenforce 0
要是这个设置持久化,要修改/etc/selinux/config文件。