zoukankan      html  css  js  c++  java
  • 002.Ceph安装部署

    一 前期准备

    1.1 配置规格

    005
    节点
    类型
    IP
    CPU
    内存
    ceph-deploy
    部署管理平台
    172.24.8.71
    2 C
    4 G
    node1
    Monitor OSD
    172.24.8.72
    2 C
    8 G
    node2
    OSD
    172.24.8.73
    2 C
    8 G
    node3
    OSD
    172.24.8.74
    2 C
    8 G
    Ceph版本:mimic
    OS:CentOS 7.5
    kernel:4.20.2
    关闭防火墙和SELinux;
    提示:
    Ceph Monitors之间默认使用6789端口通信,OSD之间默认用6800:7300范围内的端口通信。Ceph OSD能利用多个网络连接进行与客户端、monitors、其他OSD间的复制和心跳的通信。若需要开启防火墙则必须同时放通相应规则,具体操作见:http://docs.ceph.org.cn/rados/configuration/network-config-ref/

    1.2 前置准备

    • 所有节点NTP安装及配置,具体操作略;
    • 所有节点更新环境:
      1 yum -y update
    • deploy节点安装pip环境:
      1 [root@deploy ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      2 [root@deploy ~]# python get-pip.py
     
    • 配置国内yum源:
      1 [root@node1 ~]# rm /etc/yum.repos.d/* -rf
      2 [root@node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      3 [root@node1 ~]# yum -y install epel-release
      4 [root@node1 ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
      5 [root@node1 ~]# mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
      6 [root@node1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
     
    提示:以上操作需要在所有节点操作,工具会默认安装(采用)国外官方源,国内环境建议EPEL和CEPH都替换为国内源。
    • 部署节点配置主机名:
      1 [root@deploy ~]# vi /etc/hosts
      2 172.24.8.71 deploy
      3 172.24.8.72 node1
      4 172.24.8.73 node2
      5 172.24.8.74 node3
     
    提示:主机名应该能正确解析主机名,若管理节点同时也是一个Ceph节点,也要确认能正确解析自己的主机名和IP地址。
    • 配置deploy节点到所有OSD node节点的免秘钥登录:
      1 [root@deploy ~]# useradd manager
      2 [root@deploy ~]# echo manager | passwd --stdin manager		#创建非root的管理用户
      3 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'useradd -d /home/cephuser -m cephuser; echo "cephuser" | passwd --stdin cephuser'; done		        #所有OSD node节点创建cephuser用户
      4 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser'; done
      5 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'chmod 0440 /etc/sudoers.d/cephuser'; done
      6 [root@deploy ~]# su - manager
      7 [manager@deploy ~]$ ssh-keygen -f ~/.ssh/id_rsa -N ''
      8 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.72
      9 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.73
     10 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.74
     
    提示:管理节点必须能够通过SSH无密码地访问各Ceph节点,建议使用非root用户;
    用户名 “ceph” 保留给了Ceph守护进程。若Ceph节点上已经存在“ceph”用户,升级前必须先删掉这个用户。
      1 [manager@deploy ~]$ vi ~/.ssh/config	        #修改ceph-deploy管理节点上~/.ssh/config文件
      2 Host node1
      3    Hostname node1
      4    User cephuser
      5 Host node2
      6    Hostname node2
      7    User cephuser
      8 Host node3
      9    Hostname node3
     10    User cephuser
     11 [manager@deploy ~]$ chmod 600 .ssh/config
     12 [manager@deploy ~]$ ssh node1			#测试
     13 [cephuser@node1 ~]$ exit
     
    提示:修改config后deploy节点所建的用户名登录Ceph节点无需每次指定 --username cephuser ,简化了ssh和scp的用法。

    1.3 部署需求

    首先创建一个Ceph存储集群,它有一个Monitor和三个OSD守护进程,Monitor节点也作为OSD节点。

    二 正式部署

    2.1 部署deploy节点

      1 [root@deploy ~]# cat << EOM > /etc/yum.repos.d/ceph.repo
      2 [ceph-noarch]
      3 name=Ceph noarch packages
      4 baseurl=https://download.ceph.com/rpm-mimic/el7/noarch
      5 enabled=1
      6 gpgcheck=1
      7 type=rpm-md
      8 gpgkey=https://download.ceph.com/keys/release.asc
      9 EOM
    提示:国内也可采用阿里源,参考如下:
      1 [root@deploy ~]# vi /etc/yum.repos.d/ceph.repo
      2 [ceph-noarch]
      3 name=Ceph noarch packages
      4 baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
      5 enabled=1
      6 gpgcheck=1
      7 type=rpm-md
      8 gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
      1 [root@deploy ~]# yum install -y ceph-deploy

    2.2 创建集群

      1 [root@deploy ~]# su - manager
      2 [manager@deploy ~]$ mkdir my-cluster
      3 [manager@deploy ~]$ cd my-cluster/
      4 [manager@deploy my-cluster]$ ceph-deploy new node1
      5 [manager@deploy my-cluster]$ ll
     
    006
    提示:该目录存在一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。

    2.3 安装Ceph

      1 [manager@deploy my-cluster]$ ceph-deploy install node1 node2 node3
    007
    提示:ceph-deploy将在各节点安装Ceph,若部署过程出现异常,可通过以下命令清除相应配置,从而重新部署:
    ceph-deploy purgedata node1 node2 node3
    ceph-deploy forgetkeys
    rm ceph.*
    或用以下命令将安装包也一并清除:
    ceph-deploy purge node1 node2 node3
    注意:如果你执行过 ceph-deploy purge ,你必须重新执行这一步来安装Ceph;
    若出现以下报错,可能是版本不兼容,可通过yum -y remove ceph-release卸载后重新执行install。
    008
    注意:若使用ceph-deploy部署的时候出现安装包无法下载,可在部署时候指定ceph.repo为国内源:
      1 ceph-deploy install node1 node2 node3 --repo-url=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc

    2.4 初始化monitor

      1 [manager@deploy my-cluster]$ ceph-deploy mon create-initial	#初始monitor、并收集所有密钥
      2 [manager@deploy my-cluster]$ ll
     
    009

    2.5 部署MGR

      1 [manager@deploy my-cluster]$ ceph-deploy mgr create node1 node2 node3
    提示:ceph12版本之后,就需要为集群部署mgr服务,Ceph-Mgr将作为Ceph集群的管理进程,负责整个集群的管理操作和监控。

    2.6 复制key

      1 [manager@deploy my-cluster]$ ceph-deploy admin node1 node2 node3
    提示:为方便后期deploy节点管理node1、node2、node3,在CLI中使用命令中简化相关key的输出,可将key复制至相应节点。

    2.7 添加OSD

      1 [manager@deploy my-cluster]$ ceph-deploy disk list node1 node2 node3	        #列出磁盘
      2 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node1
      3 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node2
      4 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node3
     
    提示:生产环境强烈强烈不建议在单分区单硬盘上运行多个OSD;
    强烈不建议在运行OSD的单分区硬盘上同时运行监视器或元数据服务器,即OSD建议采用独立的硬盘,且OSD及其日志使用独立硬盘或分区。
    当前官方似乎已经不支持指定不同目录弄多个OSD节点的形式。

    2.8 检测健康状态

      1 [manager@deploy my-cluster]$ ssh node1 sudo ceph health
      2 [manager@deploy my-cluster]$ ssh node1 sudo ceph -s
     
    010
    提示:若出现如下mgr没有active的warn提示,是因为没有添加mgr,集群处于WARN状态。可参考2.5步骤部署MGR。

    2.9 开启dashboard

      1 [root@node1 ~]# ceph mgr module enable dashboard			#开启dashboard模块
      2 [root@node1 ~]# ceph dashboard create-self-signed-cert
     
    提示:默认情况下,dashboard的所有HTTP连接均使用SSL/TLS进行保护。以上内置命令可快速生成并安装自签名证书。
      1 [root@node1 ~]# ceph dashboard set-login-credentials admin admin	#创建管理员
      2 [root@node1 ~]# ceph mgr services					#确认验证
     
    011
    提示:以上操作在node1节点操作即可。
    浏览器访问:https://172.24.8.72:8443
    012
    参考官方文档:http://docs.ceph.org.cn/start/quick-start-preflight/
  • 相关阅读:
    219. Contains Duplicate II
    189. Rotate Array
    169. Majority Element
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
    88. Merge Sorted Array
    53. Maximum Subarray
    CodeForces 359D Pair of Numbers (暴力)
  • 原文地址:https://www.cnblogs.com/itzgr/p/10275863.html
Copyright © 2011-2022 走看看