centos

step 1

  1. 环境准备
  2. 三台服务器:
  3. ceph1 192.168.6.140
  4. ceph2 192.168.6.141
  5. ceph3 192.168.6.142
  1. 分别在3台虚拟机上面执行如下命令修改hostname
  2. [root@bogon ceph1]# hostnamectl set-hostname ceph1
  3. [root@bogon ceph2]# hostnamectl set-hostname ceph2
  4. [root@bogon ceph3]# hostnamectl set-hostname ceph3
  1. 修改/etc/hosts文件,并测试网络是否联通 ,保证联通进行下一步。
  2. [root@bogon ceph1]# cat /etc/hosts
  3. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  4. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  5. 192.168.6.140 ceph1
  6. 192.168.6.141 ceph2
  7. 192.168.6.142 ceph3
  1. 关闭Selinux
  2. [root@bogon ceph1]# setenforce 0
  3. [root@bogon ceph1]# vim /etc/selinux/config
  4. [root@bogon ceph1]# cat /etc/selinux/config | grep disabled
  5. # disabled - No SELinux policy is loaded.
  6. SELINUX=disabled
  1. 安装ntp时间同步服务,采用默认配置。
  2. [root@bogon ceph1]# yum install ntp ntpdate ntp-doc
  1. 分别这三个节点上存储创建用户且赋予它root权限(本人这里用 ytcwd
  2. 执行
  3. # sudo useradd -d /home/ceph -m ceph
  4. # sudo passwd ceph( 输入密码这里建议三台服务器密码设为一致)
  5. //授予无密码sudo权限
  6. #echo "ceph ALL = (root) NOPASSWD:ALL" >> /etc/sudoers.d/ceph
  7. #sudo chmod 0440 /etc/sudoers.d/ceph
  1. 允许无密码 SSH 登录 因为 ceph-deploy 不支持输入密码,你必须在管理节点上生成 SSH 密钥并把其公钥分发到各 Ceph 节点。 ceph-deploy 会尝试给初始 monitors 生成 SSH 密钥对。生成SSH 密钥对,使用创建的用户不要用 sudo root
  2. # ssh-keygen(提示 “Enter passphrase” 时,直接回车,口令即为空如下)
  3. //把公钥拷贝到各 Ceph 节点上
  4. #ssh-copy-id ytcwd@node1
  5. #ssh-copy-id ytcwd@node2
  6. #ssh-copy-id ytcwd@node3

Ceph安装与部署

  1. 配置Ceph, luminous版本的国内安装源。
  2. 修改 /etc/yum.repos.d/ceph.repo文件,添加如下内容
  3. jewel
  4. -----
  5. [Ceph]
  6. name=Ceph packages for $basearch
  7. baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64
  8. enabled=1
  9. gpgcheck=1
  10. type=rpm-md
  11. gpgkey=http://mirrors.163.com/ceph/keys/release.asc
  12. priority=1
  13. [Ceph-noarch]
  14. name=Ceph noarch packages
  15. baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch
  16. enabled=1
  17. gpgcheck=1
  18. type=rpm-md
  19. gpgkey=http://mirrors.163.com/ceph/keys/release.asc
  20. priority=1
  21. [ceph-source]
  22. name=Ceph source packages
  23. baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
  24. enabled=1
  25. gpgcheck=1
  26. type=rpm-md
  27. gpgkey=http://mirrors.163.com/ceph/keys/release.asc
  28. priority=1
  29. -----
  30. hammer
  31. ---------
  32. [ceph]
  33. name=Ceph noarch packages
  34. baseurl=http://mirrors.163.com/ceph/rpm-hammer/el7/x86_64/
  35. enabled=1
  36. gpgcheck=1
  37. type=rpm-md
  38. gpgkey=http://mirrors.163.com/ceph/keys/release.asc
  39. ----------
  40. repo的配置信息:
  41. 添加完更新缓存
  42. [root@bogon ceph1]# yum makecache
  43. sudo yum update
  44. sudo yum install ceph-deploy

安装部署工具

  1. ceph1上面操作,
  2. [root@bogon ceph1]# yum install -y ceph-deploy
  3. [root@bogon ceph]# mkdir /etc/ceph
  4. [root@bogon ceph]# cd /etc/ceph/
  5. [root@bogon ceph]# ceph-deploy new ceph1
  1. 在管理节点nod1上进行安装准备(使用ceph用户)
  2. //新建文件夹ceph-cluster
  3. $cd ~
  4. $mkdir ceph-cluster
  5. $cd ceph-cluster
  1. 安装ceph创建集群
  2. //若安装ceph后遇到麻烦可以使用以下命令进行清除包和配置
  3. -----
  4. #ceph-deploy purge c4 c5 c6
  5. #ceph-deploy purgedata c4 c5 c6
  6. #ceph-deploy forgetkeys
  7. 全部重做:
  8. rm -rf /etc/ceph/*
  9. rm -rf /var/lib/ceph/*/*
  10. rm -rf /var/log/ceph/*
  11. rm -rf /var/run/ceph/*
  12. yum -y remove ceph*
  13. ------
  14. //进入到创建ceph-cluster文件夹下,执行命令
  15. // 创建集群
  16. #ceph-deploy new c4 c5 c6
  17. //在生成的ceph.conf中加入(写入[global] 段下)
  18. // 副本数为2
  19. osd pool default size = 2
  20. //如果你有多个网卡,可以把 public network 写入 Ceph 配置文件的 [global] 段下
  21. #public network = {ip-address}/{netmask}
  22. //安装ceph
  23. #ceph-deploy install c4 c5 c6
  24. ## 安装指定版本
  25. ceph-deploy install --release jewel c4
  26. (3)在 ceph1 上执行以下命令创建 MON 集群
  27. # 考虑到高可用性,生产集群应该至少有 3 个监视器。
  28. ## ceph-deploy new c{4,5,6}
  29. ceph-deploy mon create c4 c5 c6
  30. ceph-deploy mon create-initial
  31. //配置初始 monitor(s)、并收集所有密钥
  32. # ceph-deploy mon create-initial

创建osd

  1. ceph-deploy disk zap c6 /dev/sdb
  2. ceph-deploy osd create --data /dev/sdb c5
  3. ceph-deploy --overwrite-conf osd create --data /dev/sdb c5
  4. 如果包含journal节点,则需要手动添加
  5. # ceph-deploy osd create ceph-node0 --data /dev/sdc --journal /dev/sdb1
  6. ceph-deploy osd create c4 --data /dev/sdb --journal /dev/sdc

mgr
Ceph Manager Daemon,简称ceph-mgr。 该组件的主要作用是分担和扩展monitor的部分功能,减轻monitor的负担,让更好地管理ceph存储系统ceph

  1. ceph-deploy mgr create ceph-node0:ceph-node0 ceph-node1:ceph-node1 ceph-node2:ceph-node2

安装过程中出现的问题:

  1. Error: Package: 1:ceph-common-10.2.10-0.el7.x86_64 (Ceph)
  2. Requires: libbabeltrace.so.1()(64bit)
  3. Error: Package: 1:librados2-10.2.10-0.el7.x86_64 (Ceph)
  4. Requires: liblttng-ust.so.0()(64bit)
  5. Error: Package: 1:librgw2-10.2.10-0.el7.x86_64 (Ceph)
  6. Requires: libfcgi.so.0()(64bit)
  7. Error: Package: 1:librbd1-10.2.10-0.el7.x86_64 (Ceph)
  8. Requires: liblttng-ust.so.0()(64bit)
  9. Error: Package: 1:ceph-common-10.2.10-0.el7.x86_64 (Ceph)
  10. Requires: libbabeltrace-ctf.so.1()(64bit)

解决方案:

  1. 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*