centos
step 1
环境准备三台服务器:ceph1 192.168.6.140ceph2 192.168.6.141ceph3 192.168.6.142
分别在3台虚拟机上面执行如下命令修改hostname[root@bogon ceph1]# hostnamectl set-hostname ceph1[root@bogon ceph2]# hostnamectl set-hostname ceph2[root@bogon ceph3]# hostnamectl set-hostname ceph3
修改/etc/hosts文件,并测试网络是否联通 ,保证联通进行下一步。[root@bogon ceph1]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.6.140 ceph1192.168.6.141 ceph2192.168.6.142 ceph3
关闭Selinux[root@bogon ceph1]# setenforce 0[root@bogon ceph1]# vim /etc/selinux/config[root@bogon ceph1]# cat /etc/selinux/config | grep disabled# disabled - No SELinux policy is loaded.SELINUX=disabled
安装ntp时间同步服务,采用默认配置。[root@bogon ceph1]# yum install ntp ntpdate ntp-doc
分别这三个节点上存储创建用户且赋予它root权限(本人这里用 ytcwd)执行# sudo useradd -d /home/ceph -m ceph# sudo passwd ceph( 输入密码这里建议三台服务器密码设为一致)//授予无密码sudo权限#echo "ceph ALL = (root) NOPASSWD:ALL" >> /etc/sudoers.d/ceph#sudo chmod 0440 /etc/sudoers.d/ceph
允许无密码 SSH 登录 因为 ceph-deploy 不支持输入密码,你必须在管理节点上生成 SSH 密钥并把其公钥分发到各 Ceph 节点。 ceph-deploy 会尝试给初始 monitors 生成 SSH 密钥对。生成SSH 密钥对,使用创建的用户不要用 sudo 或 root 。# ssh-keygen(提示 “Enter passphrase” 时,直接回车,口令即为空如下)//把公钥拷贝到各 Ceph 节点上#ssh-copy-id ytcwd@node1#ssh-copy-id ytcwd@node2#ssh-copy-id ytcwd@node3
Ceph安装与部署
配置Ceph, luminous版本的国内安装源。修改 /etc/yum.repos.d/ceph.repo文件,添加如下内容jewel-----[Ceph]name=Ceph packages for $basearchbaseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64enabled=1gpgcheck=1type=rpm-mdgpgkey=http://mirrors.163.com/ceph/keys/release.ascpriority=1[Ceph-noarch]name=Ceph noarch packagesbaseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=http://mirrors.163.com/ceph/keys/release.ascpriority=1[ceph-source]name=Ceph source packagesbaseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMSenabled=1gpgcheck=1type=rpm-mdgpgkey=http://mirrors.163.com/ceph/keys/release.ascpriority=1-----hammer---------[ceph]name=Ceph noarch packagesbaseurl=http://mirrors.163.com/ceph/rpm-hammer/el7/x86_64/enabled=1gpgcheck=1type=rpm-mdgpgkey=http://mirrors.163.com/ceph/keys/release.asc----------repo的配置信息:添加完更新缓存[root@bogon ceph1]# yum makecachesudo yum updatesudo yum install ceph-deploy
安装部署工具
在ceph1上面操作,[root@bogon ceph1]# yum install -y ceph-deploy[root@bogon ceph]# mkdir /etc/ceph[root@bogon ceph]# cd /etc/ceph/[root@bogon ceph]# ceph-deploy new ceph1
在管理节点nod1上进行安装准备(使用ceph用户)//新建文件夹ceph-cluster$cd ~$mkdir ceph-cluster$cd ceph-cluster
安装ceph创建集群//若安装ceph后遇到麻烦可以使用以下命令进行清除包和配置-----#ceph-deploy purge c4 c5 c6#ceph-deploy purgedata c4 c5 c6#ceph-deploy forgetkeys全部重做:rm -rf /etc/ceph/*rm -rf /var/lib/ceph/*/*rm -rf /var/log/ceph/*rm -rf /var/run/ceph/*yum -y remove ceph*------//进入到创建ceph-cluster文件夹下,执行命令// 创建集群#ceph-deploy new c4 c5 c6//在生成的ceph.conf中加入(写入[global] 段下)// 副本数为2osd pool default size = 2//如果你有多个网卡,可以把 public network 写入 Ceph 配置文件的 [global] 段下#public network = {ip-address}/{netmask}//安装ceph#ceph-deploy install c4 c5 c6## 安装指定版本ceph-deploy install --release jewel c4(3)在 ceph1 上执行以下命令创建 MON 集群# 考虑到高可用性,生产集群应该至少有 3 个监视器。## ceph-deploy new c{4,5,6}ceph-deploy mon create c4 c5 c6ceph-deploy mon create-initial//配置初始 monitor(s)、并收集所有密钥# ceph-deploy mon create-initial
创建osd
ceph-deploy disk zap c6 /dev/sdbceph-deploy osd create --data /dev/sdb c5ceph-deploy --overwrite-conf osd create --data /dev/sdb c5如果包含journal节点,则需要手动添加# ceph-deploy osd create ceph-node0 --data /dev/sdc --journal /dev/sdb1ceph-deploy osd create c4 --data /dev/sdb --journal /dev/sdc
mgr
Ceph Manager Daemon,简称ceph-mgr。 该组件的主要作用是分担和扩展monitor的部分功能,减轻monitor的负担,让更好地管理ceph存储系统ceph
ceph-deploy mgr create ceph-node0:ceph-node0 ceph-node1:ceph-node1 ceph-node2:ceph-node2
安装过程中出现的问题:
Error: Package: 1:ceph-common-10.2.10-0.el7.x86_64 (Ceph)Requires: libbabeltrace.so.1()(64bit)Error: Package: 1:librados2-10.2.10-0.el7.x86_64 (Ceph)Requires: liblttng-ust.so.0()(64bit)Error: Package: 1:librgw2-10.2.10-0.el7.x86_64 (Ceph)Requires: libfcgi.so.0()(64bit)Error: Package: 1:librbd1-10.2.10-0.el7.x86_64 (Ceph)Requires: liblttng-ust.so.0()(64bit)Error: Package: 1:ceph-common-10.2.10-0.el7.x86_64 (Ceph)Requires: libbabeltrace-ctf.so.1()(64bit)
解决方案:
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 -f /etc/yum.repos.d/dl.fedoraproject.org*
