CentOS7.5 安装Ceph
时间:2019-01-14 17:11 来源:未知 作者:IT
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)
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) |