> CentOS > CentOS教程 >

CentOS7.5 安装Ceph

CentOS7.5 安装Ceph
目录

CentOS7.5 安装Ceph

1 关闭防火墙

2 更新内核

3 添加epel库

4 添加ceph软件库

5 在admin节点安装ceph-deploy、ntp

6 添加用户(如果使用root用户就不需要操作这步)

7 配置无密钥登录

8 修改ssh配置文件

9确保你的包管理器安装了优先级/首选项包,且已启用

10 新建一个集群目录

11 禁用requiretty

12如果在某些地方碰到麻烦,想从头再来,可以用下列命令清除配置:

13 创建集群

14 修改默认副本

15 如果多块网卡,可以添加public network

16 安装ceph

17 配置初始化monitor(s),并收集所有秘钥:

18 添加两个OSD

19 在admin执行命令上准备OSD

20 激活OSD

21 用ceph-deploy把配置文件和admin秘钥拷贝到其他节点

22 确保当前用户对ceph.client.admin.keyring有正确的操作权限

23 检查集群的健康状况

参考ceph中文文档:http://docs.ceph.org.cn/

环境:

  在物理机上的/etc/hosts/上加入主机映射

  192.168.152.101 admin

  192.168.152.102 node1

1 关闭防火墙
# systemctl stop firewalld

# systemctl disable firewalld

如果使用iptables,要开放Ceph Monitors使用的6789端口和OSD使用的6800:7300端口范围,命令如下:

# sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT

# iptables-save

 

2 更新内核
# yum update –y

更新完成后需要重启

 

3 添加epel库
# 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*

 

4 添加ceph软件库
根据自己的版本修改,将rpm-后面修改成需要的ceph版本,将el7修改成Linux发行版本(如 el6 为 CentOS 6 、 el7 为 CentOS 7 、 rhel6 为 Red Hat 6.5 、 rhel7 为 Red Hat 7 、 fc19 是 Fedora 19 、 fc20 是 Fedora 20)

# vim /etc/yum.repos.d/ceph-deploy.repo         (这里如果是ceph.repo,后面ceph-deploy install 时执行会报错,你可以试试)

[ceph-noarch]

name=Ceph noarch packages

baseurl=http://download.ceph.com/rpm-kraken/el7/noarch

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://download.ceph.com/keys/release.asc

 

5 在admin节点安装ceph-deploy、ntp
# yum install -y ceph-deploy ntp

 

6 添加用户(如果使用root用户就不需要操作这步)
将{username}改为自己的用户

# ssh user@ceph-server

# sudo useradd -d /home/{username} -m {username}

# sudo passwd {username}

# echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}

# sudo chmod 0440 /etc/sudoers.d/{username}

 

7 配置无密钥登录
在admin节点执行

# ssh-keygen

# ssh-copy-id admin

# ssh-copy-id node1

 

8 修改ssh配置文件
# vi ~/.ssh/config

Host node1

   Hostname node1

   User {username}

Host node2

   Hostname node2

   User {username}

Host node3

   Hostname node3

   User {username}

 

这里我只有node1

所以就填

Host node1

   Hostname node1

   User root

 

9确保你的包管理器安装了优先级/首选项包,且已启用
# sudo yum install yum-plugin-priorities

 

 

10 新建一个集群目录
# mkdir my-cluster

# cd my-cluster

 

11 禁用requiretty
在某些发行版(如 CentOS )上,执行 ceph-deploy 命令时,如果你的 Ceph 节点默认设置了 requiretty 那就会遇到报错。可以这样禁用此功能:执行 sudo visudo ,找到 Defaults requiretty 选项,把它改为 Defaults:ceph!requiretty ,这样 ceph-deploy 就能用 ceph 用户登录并使用 sudo 了。

## 这里我没有配置,因为我在配置文件中并没有找到这个选项,并且后面执行也没有报错

 

12如果在某些地方碰到麻烦,想从头再来,可以用下列命令清除配置:
# ceph-deploy purgedata {ceph-node} [{ceph-node}]

# ceph-deploy forgetkeys

用下列命令可以连 Ceph 安装包一起清除:

# ceph-deploy purge {ceph-node} [{ceph-node}]

 

13 创建集群
在my-cluster目录下执行这条命令

# ceph-deploy new admin

在当前目录会出现一个ceph的配置文件,一个monitor米要换和一个日志文件

 

14 修改默认副本
在配置文件中的global下添加    

osd pool default size = 2

官方文档是这样写的,我自己写的是osd_pool_default_size

 

15 如果多块网卡,可以添加public network
public network = {ip-address}/{netmask}

 

16 安装ceph
# ceph-deploy install admin node1

 

如果报这个错误 [ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: ‘Ceph’

可以将ceph.repo改名为ceph-deploy.repo来解决这个问题

 

17 配置初始化monitor(s),并收集所有秘钥:
# ceph-deploy mon create-initial

完成上述操作后,当前目录会出现这些秘钥环

# ls *keying

admin.client.admin.keyring

admin.bootstrap-osd.keyring

admin.bootstrap-mds.keyring

admin.bootstrap-rgw.keyring

(只有在安装 Hammer 或更高版时才会创建 bootstrap-rgw 密钥环)

如果此步失败并输出类似于如下信息 “Unable to find /etc/ceph/ceph.client.admin.keyring”,请确认 ceph.conf 中为 monitor 指定的 IP 是 Public IP,而不是 Private IP。

则需要执行ceph-deploy purge admin node1清除安装,修改public ip,在执行刚刚的操作

 

18 添加两个OSD
这里用的是目录而非整块硬盘

分别在admin和node1节点上给OSD守护进程创建一个目录

并且给予权限(我安装时不给权限报错了)

[root@admin ~]# sudo mkdir /var/local/osd0

[root@admin ~]# chmod 777 /var/local/osd0

[root@node1 ~]# sudo mkdir /var/local/osd1

[root@node1 ~]# chmod 777 /var/local/osd1

 

19 在admin执行命令上准备OSD
# ceph-deploy osd prepare admin:/var/local/osd0 node1:/var/local/osd1

 

20 激活OSD
# ceph-deploy osd activate admin:/var/local/osd0 node1:/var/local/osd1

 

21 用ceph-deploy把配置文件和admin秘钥拷贝到其他节点
这样每次执行ceph命令行时就无需指定monitor地址和ceph.client.admin.keyring

# ceph-deploy admin admin-node node1

 

22 确保当前用户对ceph.client.admin.keyring有正确的操作权限
# sudo chmod +r /etc/ceph/ceph.client.admin.keyring

 

23 检查集群的健康状况
# ceph health



(责任编辑:IT)