CEPH篇 CEPH部署(在线和离线 Centos 7)

引入

  这篇只记录部署,若是须要概念理解,则前往其余篇章查看。暂时不包含MDS的部署,由于不许备使用文件系统,因此不须要元数据服务器html

  在线部署和离线部署差异只在包的下载,若是在线部署过了,那么资源包能够放入U盘,下次就能够离线部署。linux

正文

部署准备

关闭防火墙和selinux

systemctl stop firewalld systemctl disable firewalld setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

修改主机名

各个机器下分别执行以下命令vim

hostnamectl set-hostname host145 hostnamectl set-hostname host146 hostnamectl set-hostname  host147

修改后在每台机器上修改/etc/hosts文件centos

10.1.12.145 host145 10.1.12.146 host146 10.1.12.147  host147

配置SSH互信

选择一台部署主机,这边选择host146,在root用户下开启SSH互信操做api

在部署节点上, 使用这个命令ssh-keygen 一路回车 ,生成公钥。 而后经过命令ssh-copy-id -i  ~/.ssh/id_rsa.pub {hostname} 把公钥复制到部署须要设计的主机上。 Ssh hostname测试是否成功。

配置yum(分为在线和离线)

在线
#连接阿里云的配置 rm -rf /etc/yum.repo.d/ *.repo #CentOS 7 源设置 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 #epel 仓库源 wget -O /etc/yum.repos.d/epel.repo  http://mirrors.aliyun.com/repo/epel-7.repo

编辑 Ceph.repo源:缓存

[ceph-nautilus] name=ceph-nautilus baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/ enabled=1 gpgcheck=0 [ceph-nautilus-noarch] name=ceph-nautilus-noarch baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/ enabled=1 gpgcheck=0 
#生成缓存 yum  clean all, yum makecache #生成包 yum install ceph-14.2.2-0.el7   ceph-deploy
离线
#安装 createrepo rpm包 yum install httpd #开启httpd服务: systemctl start httpd #复制全部的ceph和第三方的rpm包到(包已经提早准备好,若是没有包则使用在线部署) 10.1.12.146: /var/www/html/ceph/ #执行命令 createrepo /var/www/html/ceph/ #在须要安装的客户端配置 repo 文件 /etc/yum.repos.d/ceph.repo [ceph_local] name=ceph baseurl=http://10.1.12.146/ceph/ 
gpgcheck=0 #将此ceph.repo 复制到每一个主机 /etc/yum.repo.d/目录中。 scp ceph.repo  root@host145:/etc/yum.repos.d/
scp ceph.repo  root@host147:/etc/yum.repos.d/

NTP安装

#安装 yum install ntp #执行 最好在局域网内,创建本身的时间同步源。其中ntpdate 是客户端命令, 链接时间同步服务器,修改本身的时间。 必定要同步时间, ntpdate -s time-b.nist.gov

修改配置文件安全

#修改 /etc/ntp.conf文件 #注释下面4行 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst

服务器节点修改以下服务器

server 127.127.1.0 fudge  127.127.1.0 stratum 10

验证下负载均衡

ntpq –p –-查看ceph-admin的ntp服务器是否为自身 remote refid st t when poll reach delay offset jitter ==========================================================================
*LOCAL(0)        .LOCL.          10 l  28   64  377   0.000    0.000   0.000 这样的输出证实已经配置成功了。

配置其余节点ssh

#其余服务器都链接admin节点,其中段: server 210.72.145.44 iburst Server 10.1.12.146 -----------–为ceph-admin的IP fudge  127.127.1.0 stratum 11

重启后检查

systemctl restart ntpd systemctl enable ntpd #查看是否为ceph-admin ntpq –p #结果以下 remote refid st t when poll reach delay offset jitter ===========================================================================
*ceph-admin      LOCAL(0)        11 u  13   64    1   1.236   -0.700   0.000 Remote :*ceph-admin Refid :LOCAL(0) 若是是其余的,如:refid:init就为配置不成功,按此步骤在其余节点进行配置。

部署CEPH

部署ceph和ceph-deploy  

在全部上都安装ceph,主节点上额外安装ceph-deploy

#每一个主机安装 ceph yum install ceph #Admin节点安装 yum install ceph-deploy

部署监控节点(mon)

添加节点

#在管理节点上 cd /root/ceph ceph-deploy new host146 host145 host147 #修改这个文件,添加: overwrite_conf = true vim / root/.cephdeploy.conf

部署mon

mkdir  -p /etc/ceph/  
mkdir /var/lib/ceph #ceph用户是ceph的默认用户,不要去新建哦 chown  ceph:ceph -R /var/lib/ceph #(必须当前目录有ceph.mon.keyring) ceph-deploy  --overwrite-conf  mon create-initial

重启命令

#host是主机 systemctl restart/start/stop  ceph-mon@host

部署mgr

ceph-deploy mgr create host146 ps -ef | grep ceph 查找host #重启 systemctl restart/start/stop  ceph-mgr@host

部署OSD

先要有挂载磁盘,用系统盘也能够,可是并不安全,这里有两个方案

  1.找几台新机器,OSD挂载的目录反正随便定,新机器上的数据都无所谓

  2.额外挂载磁盘,能够对挂载磁盘作虚拟化,LVM,能够部署更多OSD

能够执行lsblk命令查看,若是磁盘已经被挂载,则会报错哦

#新版本ceph默认是 bluetore .使用以下命令 ceph-deploy --overwrite-conf   osd create  --data /dev/vdb $HOSTNAME #查看 集群硬盘树编号。(部署节点) 须要拷贝配置文件(ceph.conf)到/etc/ceph/!!!不然会链接不到集群 ceph osd tree #重启 systemctl restart/start/stop  ceph-osd@0, 1, 2,3,

部署RGW

#单机的只须要在一台服务器上安装, 若是负载均衡,能够安装3台服务器。S 如今安装在146 yum  install  ceph-radosgw #或者 ceph-deploy install  --rgw   wn

启动

ceph-deploy   --overwrite rgw create host173(主机名) #查看启动端口为7480 #检查服务是否启动 ps aux|grep radosgw #重启 这个id能够经过查看rados进程,查看名称获得,例如rgw.host146 systemctl restart/start/stop  ceph-radosgw@id

桶分片

# 若是每一个桶中对象数量较少,好比小于10000, 能够不操做此步骤, 大于10万对象,必定要设置下面的参数。 #若是设计方案中,一个桶中存储对象数量大于几千万,须要关闭动态分片, 同时设置最大分片数量。 #在 radosgw 进程所在的服务器。 vi  /etc/ceph.conf #桶动态分片默认开启 rgw_dynamic_resharding = false #桶中最大分片的数量 , rgw_override_bucket_index_max_shards=16 #重启服务。(rgw)

创建帐号(S3)

# system参数是为了使用dashboard,该帐号能够再页面上看到数据 radosgw-admin user create --uid testid --display-name 'M. Tester'  --system #记住这两个东西 "access_key": "secret_key":
#部署失败返回错误的处理方法: #只有创建 bucket , 上传一个对象后, 才能出现 default.rgw.buckets.data池, 而后调整pg num . #这个时候,解决pg/osd 太少的警报。 #部署时候若是遇到 rgw 失败,现实的日志为: # 0 ext_mime_map_init failed to open file=/etc/mime.types : (2) No such file or ##directory #7f709e8c48c0 -1 ERROR: unable to initialize rgw tools #这是由于没有 /etc/mime.types #须要安装 yum install mailcap #若是启动失败, 有时候须要将 /var/lib/ceph/radosgw 的用于 root 改为 ceph . chown ceph:ceph –R  *

部署dashboard

yum install ceph-mgr-dashboard ceph dashboard create-self-signed-cert #写上帐号和密码 ceph dashboard set-login-credentials  admin admin

打开页面后长这样:

这时候你有可能(就是如此)在object gateway里面看不到bucket内容,须要再添加一个命令:

$ ceph dashboard set-rgw-api-access-key <access_key> $ ceph dashboard set-rgw-api-secret-key <secret_key>

若是你忘记了你的帐户,或者须要新建一个帐户:

$ radosgw-admin user create --uid=<user_id> --display-name=<display_name> \ --system

若是是忘了两个key

$ radosgw-admin user info --uid=<user_id>

这样就能够啦,完

相关文章
相关标签/搜索