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) |