Ceph 安装部署

Ceph 安装部署

为保证一个干净的安装环境,需要重置workstation的网络环境,并重新设置nat和hostonly网卡的ip范围。

在这里插入图片描述

安装环境:

VMware Workstation 虚拟机
CentOS 7

安装准备

本次实验仅安装1台管理机和1台存储。

Ceph-Mon:向客户端提供集群的完整视图

Ceph-Osd:ceph集群中最多的节点,存储节点

网络规划

Public 网段 192.168.200.101-102 ,nat网卡(ens33),供客户端使用
Cluster 网段 192.168.100.101-102 ,hostonly网卡(ens34),供ceph内部通信

初始虚拟机配置

在这里插入图片描述

  • 虚拟机准备两块网卡,默认的NAT+HostOnly

  • 设置网卡,然后删除掉网卡配置中的UUID属性

    #vi /etc/sysconfig/network-scripts/ifcfg-ens33
    ...
      BOOTPROTO=static
    ...
      ONBOOT=yes
      IPADDR=192.168.200.100
      NETMASK=255.255.255.0
      GATEWAY=192.168.200.2
      DNS1=114.114.114.114
      DNS2=8.8.8.8
    
    # vi /etc/sysconfig/network-scripts/ifcfg-ens34
    ...
      BOOTPROTO=static
    ...
      DEVICE=ens34
      ONBOOT=yes
      IPADDR=192.168.100.100
      NETMASK=255.255.255.0  
    
  • 关闭防火墙与SeLinux

    systemctl status firewalld.service #查看防火墙状态
    systemctl stop firewalld.service #关闭防火墙
    systemctl disable firewalld.service # 防止开机后防火墙启动
    
    getenforce # 查看selinux状态
    # vi /etc/sysconfig/selinux # 把文件中的SELINUX=enforcing 改为 disabled 即可
    setenforce 0 # 关闭当前selinux
    
  • 配置ceph源

    #vi /etc/yum.repos.d/ceph.repo
    [Ceph]
    name=Ceph packages for $basearch
    baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/$basearch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    
    [Ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    
    [ceph-source]
    name=Ceph source packages
    baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    
  • 配置EPEL源

    #vi /etc/yum.repos.d/epel.repo
    
    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    baseurl=http://mirrors.aliyun.com/epel/7/$basearch
    failovermethod=priority
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    
    [epel-debuginfo]
    name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
    baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
    failovermethod=priority
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    gpgcheck=0
    
    [epel-source]
    name=Extra Packages for Enterprise Linux 7 - $basearch - Source
    baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
    failovermethod=priority
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    gpgcheck=0
    
    
  • 配置完源之后,执行

    yum clean all 
    yum repolist
    yum makecache #生成缓存
    
  • 添加 cepher 用户,并添加sudo权限

    useradd cepher
    echo '12345678' | passwd --stdin cepher #设置cepher密码
    echo "cepher ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cepher #sudo无需密码
    chmod 0440 /etc/sudoers.d/cepher #不可删除该用户
    

    完毕后关闭基础虚拟机,进入后续步骤。

开始

准备工作

  1. 克隆虚拟机。
 > 克隆前请关闭虚拟机
  1. 编辑虚拟机设置,给克隆后的虚拟机添加两块100G的磁盘,将来用作OSD管理的磁盘

  2. 用cepher用户登录

  3. 修改克隆后的虚拟机IP地址和hostname

    sudo hostnamectl set-hostname ceph-mon1 # 设置主机名
    exec bash -l #使之即时生效
    # vi /etc/hosts # 编辑主机名称,重启后依然生效
    192.168.100.101 ceph-mon1
    192.168.100.102 ceph-osd2
    192.168.200.101 ceph-mon1
    192.168.200.102 ceph-osd2
    
  4. 在管理节点(此处的管理节点即mon1)上以root用户的身份来做各节点ssh免密登录

su - root
ssh-keygen -t rsa -P ''
ssh-copy-id root@ceph-mon1
ssh-copy-id root@ceph-osd2
  1. 在管理节点(此处的管理节点即mon1)上以cepher用户的身份来做各节点ssh免密登录
su - cepher
ssh-keygen -t rsa -P ''
ssh-copy-id cepher@ceph-mon1
ssh-copy-id cepher@ceph-osd2
  1. 管理节点安装ceph-deploy
# 安装ceph
sudo yum update -y 
sudo yum install -y ceph-deploy python-setuptools python2-subprocess32 ceph-common --nogpgcheck
  1. 在管理节点以cepher用户身份家目录建立ceph-cluster目录
~~~
mkdir ceph-cluster
cd ceph-cluster
~~~

MON 服务

在管理节点以cepher用户运行运行:

ceph-deploy new ceph-mon1 --cluster-network 192.168.100.0/24  --public-network 192.168.200.0/24 #mon节点,可以写第一个,也可以写多个

在所有节点安装:

sudo yum install ceph ceph-radosgw -y --nogpgcheck

在管理节点以cepher用户运行

cd ceph-cluster
ceph-deploy install --no-adjust-repos ceph-mon1 ceph-osd2

在管理节点以cepher用户运行

ceph-deploy mon create-initial #这一步其实是在生成keyring文件

在管理节点以cepher用户运行

ceph-deploy admin ceph-mon1 ceph-osd2
#将配置和client.admin秘钥环推送到远程主机。
#每次更改ceph的配置文件,都可以用这个命令推送到所有节点上
#此时要求输入root密码 - 如果做了root免密登录即可避免这点中断

在所有节点以root的身份运行

sudo setfacl -m u:cepher:r /etc/ceph/ceph.client.admin.keyring 
#ceph.client.admin.keyring文件是 ceph命令行 所需要使用的keyring文件
#不管哪个节点,只要需要使用cephadm用户执行命令行工具,这个文件就必须要让cephadm用户拥有访问权限,就必须执行这一步
#这一步如果不做,ceph命令是无法在非sudo环境执行的。

Mgr 服务

在管理节点执行:

cd ceph-cluster
ceph-deploy mgr create ceph-mon1

sudo cp {ceph.client.admin.keyring,ceph.conf} /etc/ceph/
ceph -s #健康检查

OSD 服务

在管理节点执行,列出osd节点上的所有可用磁盘

ceph-deploy disk list ceph-mon1 ceph-osd2
#要以cepher 用户在~/ceph-cluster/目录下执行

在管理节点执行,清空osd节点上用来作为osd设备的磁盘

sudo ceph-deploy disk zap ceph-mon1 /dev/sdb /dev/sdc
sudo ceph-deploy disk zap ceph-osd2 /dev/sdb /dev/sdc

在管理节点执行,创建OSD

ceph-deploy osd create ceph-mon1 --data /dev/sdb 
ceph-deploy osd create ceph-osd2 --data /dev/sdb
ceph-deploy osd create ceph-mon1 --data /dev/sdc
ceph-deploy osd create ceph-osd2 --data /dev/sdc

查看集群状态

ceph -s
#到这一步其实已经基本能用了

在这里插入图片描述
在管理节点执行,创建一个存储池,要想使用ceph的存储功能,必须先创建存储池

ceph osd pool create data-pool 64 64  #创建存储池
ceph osd pool ls #用ceph osd查看
rados lspools # 用rados查看

简单测试

rados put issue /etc/issue -p data-pool #上传一个文件
rados get issue my_issue -p data-pool #下载一个文件
rados rm issue -p data-pool #删除一个文件
rados ls -p data-pool #列出pool中有哪些文件
ceph osd map data-pool issue # 查看文件在Ceph集群内是怎样做映射的
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值