centos
step 1
环境准备
三台服务器:
ceph1 192.168.6.140
ceph2 192.168.6.141
ceph3 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/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.140 ceph1
192.168.6.141 ceph2
192.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 $basearch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://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=1
type=rpm-md
gpgkey=http://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=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc
priority=1
-----
hammer
---------
[ceph]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-hammer/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc
----------
repo的配置信息:
添加完更新缓存
[root@bogon ceph1]# yum makecache
sudo yum update
sudo 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] 段下)
// 副本数为2
osd 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 c6
ceph-deploy mon create-initial
//配置初始 monitor(s)、并收集所有密钥
# ceph-deploy mon create-initial
创建osd
ceph-deploy disk zap c6 /dev/sdb
ceph-deploy osd create --data /dev/sdb c5
ceph-deploy --overwrite-conf osd create --data /dev/sdb c5
如果包含journal节点,则需要手动添加
# ceph-deploy osd create ceph-node0 --data /dev/sdc --journal /dev/sdb1
ceph-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*