OpenStack-Queens详细安装部署(十)Ceph集群

  • A+
所属分类:OpenStack

分布式存储Ceph
3mon在controller节点
4osd在compute节点上

1. 设置yum源 (所有MON&OSD节点操作) (我这边使用的是ceph的mimic版本)

[root@DT_Node-172_17_7_1 ~]# curl -Lk https://github.com/xiaoyawl/centos_init/raw/master/ceph.repo > /etc/yum.repos.d/ceph.repo
[root@DT_Node-172_17_7_1 ~]# yum clean all
[root@DT_Node-172_17_7_1 ~]# yum makecache
[root@DT_Node-172_17_7_1 ~]# yum repolist 

2. 环境
基础环境,如hosts,时间同步ntp,开放端口iptables等相关操作

3. 设置ssh的config (Deploy节点操作)

[root@DT_Node-172_17_7_1 ~]# cat ~/.ssh/config 
Host controller1
   Hostname controller1
   User cephde
   Port 22992
Host controller2
   Hostname controller2
   User cephde
   Port 22992
Host controller3
   Hostname controller3
   User cephde
   Port 22992
Host compute1
   Hostname compute1
   User cephde
   Port 22992
Host compute2
   Hostname compute2
   User cephde
   Port 22992
Host compute3
   Hostname compute3
   User cephde
   Port 22992
Host compute4
   Hostname compute4
   User cephde
   Port 22992
[root@DT_Node-172_17_7_1 ~]# 

4.准备环境 (所有MON&OSD节点操作)

[root@DT_Node-172_17_7_1 ~]# yum -y install yum-plugin-priorities
[root@DT_Node-172_17_7_1 ~]# yum install -y yum-utils snappy leveldb gdiskpython-argparse gperftools-libs ntpdate
[root@DT_Node-172_17_7_1 ~]# echo 'kernel.pid_max = 4194303' >> /etc/sysctl.conf && sysctl -p

5. 清理环境(Deploy节点操作)

[root@DT_Node-172_17_7_1 ~]# yum install -y ceph-deploy
[root@DT_Node-172_17_7_1 ~]# mkdir -p /data/ceph/deploy && cd /data/ceph/deploy
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# echo 'alias ceph-deploy="ceph-deploy --username root"' >> /etc/profile #因为是基于root用户安装的,所以为了后面的命令执行方便这里这个命令别名
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# source /etc/profile

6. 清理环境(Deploy节点操作)

[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph-deploy purge controller1 controller2 controller3 compute1 compute2 compute3 compute4  #清理安装包
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph-deploy purgedata controller1 controller2 controller3 compute1 compute2 compute3 compute4    #清理数据
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph-deploy forgetkeys    #清理秘钥文件
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# \rm -rf ceph.* && >ceph-deploy-ceph.log  #删除配置文件

7、安装环境(Deploy节点操作)

[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph-deploy install --no-adjust-repos controller1 controller2 controller3 compute1 compute2 compute3 compute4
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph-deploy new --cluster-network 172.17.0.0/21 --public-network 172.17.0.0/21 controller1 controller2 controller3
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# echo '# 默认保护机制不允许删除pool,根据情况设置
mon_allow_pool_delete = true' >> ceph.conf

8、添加防火墙规则 (所有MON&OSD节点操作)

-A INPUT -s 172.17.0.0/21                 -p tcp -m tcp -m state --state NEW -m multiport --dports 6789  -m comment --comment "Ceph_MON_Port" -j ACCEPT
-A INPUT -s 172.17.0.0/21                 -p tcp -m tcp -m state --state NEW -m multiport --dports 6800:7300  -m comment --comment "Ceph_OSD_Port" -j ACCEPT

9、初始化

#初始化monitor
[root@DT_Node-172_17_7_1 ~]# ceph-deploy --overwrite-conf mon create-initial
#查看状态
[root@DT_Node-172_17_7_1 ~]# for i in 1 2 3;do ssh root@controller$i "systemctl status ceph-mon@controller$i.service";done

OpenStack-Queens详细安装部署(十)Ceph集群

10、分发ceph.conf与秘钥

[root@DT_Node-172_17_7_1 ~]# ceph-deploy --overwrite-conf admin controller1 controller2 controller3 compute1 compute2 compute3 compute4

OpenStack-Queens详细安装部署(十)Ceph集群

11、安装mgr

[root@DT_Node-172_17_7_1 ~]# ceph-deploy mgr create controller1:controller1_mgr controller2:controller2_mgr controller3:controller3_mgr
[root@DT_Node-172_17_7_1 ~]# for i in 1 2 3;do ssh root@controller$i "systemctl status ceph-mgr@controller${i}_mgr";done   #查看状态
# 使用ceph -s命令确认mgr的active状态在哪个节点上 然后去那个节点上netstat -tunlp | grep mgr看端口监听情况
# 如果想更换mgractive状态节点 只需要systemctl stop ceph-mgr@controller3_mgr ceph-mgr.target就可以做状态转移,然后再启用服务就可以了
[root@DT_Node-172_17_7_1 ~]# ceph mgr module enable dashboard #启用mgr的dashboard
[root@DT_Node-172_17_7_1 ~]# ceph dashboard create-self-signed-cert  #给dashboard签发一个证书
[root@DT_Node-172_17_7_1 ~]# ceph config-key set mgr/dashboard/server_addr 0.0.0.0  #指定dashboard绑定到0.0.0.0 IP上
[root@DT_Node-172_17_7_1 ~]# ceph mgr module disable dashboard && ceph mgr module enable dashboard  #重启dashboard服务
[root@DT_Node-172_17_7_1 ~]# ceph dashboard set-login-credentials admin admin   #配置dashboard的登录账户密码
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph config dump  #查看刚才修改的配置

OpenStack-Queens详细安装部署(十)Ceph集群
OpenStack-Queens详细安装部署(十)Ceph集群
OpenStack-Queens详细安装部署(十)Ceph集群
OpenStack-Queens详细安装部署(十)Ceph集群

12. 创建osd(存储)
# 创建osd存储

[root@DT_Node-172_17_7_1 ~]# ceph-deploy osd create compute1 --data /dev/sdb && \
ceph-deploy osd create compute1 --data /dev/sdc && \
ceph-deploy osd create compute1 --data /dev/sdd && \
ceph-deploy osd create compute1 --data /dev/sde && \
\
ceph-deploy osd create compute2 --data /dev/sdb && \
ceph-deploy osd create compute2 --data /dev/sdc && \
ceph-deploy osd create compute2 --data /dev/sdd && \
ceph-deploy osd create compute2 --data /dev/sde && \
\
ceph-deploy osd create compute3 --data /dev/sdb && \
ceph-deploy osd create compute3 --data /dev/sdc && \
ceph-deploy osd create compute3 --data /dev/sdd && \
ceph-deploy osd create compute3 --data /dev/sde && \
\
ceph-deploy osd create compute4 --data /dev/sdb && \
ceph-deploy osd create compute4 --data /dev/sdc && \
ceph-deploy osd create compute4 --data /dev/sdd && \
ceph-deploy osd create compute4 --data /dev/sde

OpenStack-Queens详细安装部署(十)Ceph集群

# 查看osd状态

[root@DT_Node-172_17_7_1 /data/ceph/deploy]# for i in 1 2 3 4;do ceph-deploy osd list compute$i 2>&1|egrep '^\[compute.]\[DEBUG ] [= ]{1,}';done

OpenStack-Queens详细安装部署(十)Ceph集群

# 在管理节点查看osd状态等

[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph osd stat
[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph osd tree

OpenStack-Queens详细安装部署(十)Ceph集群
# 在管理节点查看容量及使用情况

[root@DT_Node-172_17_7_1 /data/ceph/deploy]# ceph df

OpenStack-Queens详细安装部署(十)Ceph集群

# 在osd节点查看

[root@DT_Node-172_17_7_4 ~]# lsblk 
[root@DT_Node-172_17_7_4 ~]# pvs
[root@DT_Node-172_17_7_4 ~]# vgs
[root@DT_Node-172_17_7_4 ~]# lvs
[root@DT_Node-172_17_7_4 ~]# 

OpenStack-Queens详细安装部署(十)Ceph集群

# ceph-osd进程,根据启动顺序,每个osd进程有特定的序号

[root@DT_Node-172_17_7_4 ~]# systemctl status ceph-osd@0

OpenStack-Queens详细安装部署(十)Ceph集群

# osd进程端口号;

# 或:ps aux | grep osd | grep -v grep
[root@DT_Node-172_17_7_4 ~]# netstat -tunlp | grep osd

OpenStack-Queens详细安装部署(十)Ceph集群

lookback

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: