ceph分布式存储

ceph特点

Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储

是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。

特点
    1. 统一存储
        虽然 ceph 底层是一个分布式文件系统,但由于在上层开发了支持对象和块的接口。所以在开源存储软件中,能够一统江湖。至于能不能千秋万代,就不知了。
    2. 高扩展性
        扩容方便、容量大。能够管理上千台服务器、EB 级的容量。
    3. 可靠性强
        支持多份强一致性副本,EC。副本能够垮主机、机架、机房、数据中心存放。所以安全可靠。存储节点可以自动管理、自动修复。无单点故障,容错性强。
    4. 高性能
        因为是多个副本,因此在读写操作时候能够做到高度并行化。理论上,节点越多,整个集群的 IOPS和吞吐量越高。另外一点 ceph 客户端读写数据直接与存储设备(osd) 交互。

搭建ceph准备工作(四台都要操作)

环境拓扑
    centos1
        monitor
        osd
        192.168.115.3


    centos2
        osd
        192.168.115.4


    centos3
        osd
        192.168.115.5


    centos4
        Client
        192.168.115.6

环境

关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service 

关闭网络图形管理器

systemctl stop NetworkManager
systemctl disable NetworkManager

关闭Selinux


    setenforce 0

主机名修改


    hostnamectl set-hostname centos{1..4}

修改ssh配置
    sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
    systemctl restart sshd

ceph分布式存储_第1张图片

修改hosts文件

vim /etc/hosts
    192.168.115.3   centos1
    192.168.115.4    centos2
    192.168.115.5    centos3
    192.168.115.6    centos4

ceph分布式存储_第2张图片

ssh免密

ssh-keygen

ssh-copy-id 192.168.115.3

for i in3 4 5 6; do ssh-copy-id [email protected].$i;done

ceph分布式存储_第3张图片

时间同步


    在centos1上开启时间同步服务器
    安装        yum install -y ntp
    配置        vim /etc/ntp.conf

ceph分布式存储_第4张图片
        server 127.127.1.0
            定义时间服务器
        fudge 127.127.1.0 stratum 8
            定义时间层次


    启动
        systemctl start ntpd
        systemctl enable ntpd


    客户端对时
        for i in 4 5 ;do ssh 192.168.115.$i  ntpdate 192.168.115.3;done

添加磁盘

ceph分布式存储_第5张图片
热扫描磁盘
    echo "- - -" > /sys/class/scsi_host/host0/scan
    for i in 4 5;do ssh 192.168.115.$i  echo "- - -" > /sys/class/scsi_host/host0/scan && lsblk;done
格式化
    mkfs.xfs /dev/sdb

ceph分布式存储_第6张图片

ceph安装(只在centos1执行)

yum install epel-release -y

ceph分布式存储_第7张图片
yum install lttng-ust -y

ceph分布式存储_第8张图片

添加ceph安装源

ceph分布式存储_第9张图片

[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[Ceph-noarch]
name=Ceph noarch packages
# 清华源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

 yum -y install ceph ceph-deploy 

集群构建


    创建集群目录


        mkdir -p /usr/local/soft/cephcluster
        cd /usr/local/soft/cephcluster


    创建集群


        ceph-deploy new centos1 centos2 centos3

ceph分布式存储_第10张图片
  

 修改配置文件

#对外开放网段
public network = 192.168.115.0/24
# 设置pool池默认分配数量
osd pool default size = 2
# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘
mgr modules = dashboard


    安装


        ceph-deploy install centos1 centos2 centos3
 

   初始化monitor


        ceph-deploy mon create-initial


    同步管理信息


        ceph-deploy admin  centos1 centos2 centos3


    安装mgr(管理守护进程)


        ceph-deploy mgr create  centos1 centos2 centos3


    安装rgw


        ceph-deploy rgw create centos1 centos2 centos3


    创建mds服务


        ceph-deploy mds create centos1 centos2 centos3


    OSD安装


        创建OSD
            ceph-deploy osd create --data /dev/sdb centos1
            ceph-deploy osd create --data /dev/sdb centos2
            ceph-deploy osd create --data /dev/sdb centos3

    查看集群状态


        ceph -s

dashboard安装

 开启dashboard模块


    ceph mgr module enable dashboard
  

   生成签名


    ceph dashboard create-self-signed-cert
      

 创建目录  


    mkdir -p /usr/local/jx/cephcluster/mgr-dashboard
      
    cd /usr/local/jx/cephcluster/mgr-dashboard
    openssl req -new -nodes -x509   -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650   -keyout dashboard.key -out dashboard.crt -extensions v3_ca

启动服务  

 ceph mgr module disable dashboard
    ceph mgr module enable dashboard

设置访问地址与端口


    ceph config set mgr mgr/dashboard/server_addr 192.168.115.128
    ceph config set mgr mgr/dashboard/server_port 9001
  

 关闭https

 ceph config set mgr mgr/dashboard/ssl false


      
    ceph mgr services
    ceph dashboard set-login-credentials jx123 123.com
    https://192.168.115.3:8443


  ceph文件系统创建


    创建存储池

( 少于5个OSD可把pg_num设置为128,OSD数量在5到10,可以设置pg_num为512,OSD数量在10到50,可以设置pg_num为4096,OSD数量大于50,需要计算pg_num的值)
        ceph osd pool create cephfs_data 128
        ceph osd pool create cephfs_metadata 64
        
           
    查看存储池            ceph osd lspools


    创建文件系统        ceph fs new  fs_test  cephfs_metadata cephfs_data


    查看文件系统        ceph fs ls


    查看mds状态        ceph mds stat

客户端挂载


    在centos1中


        安装            ceph-deploy install centos4


        同步管理信息          ceph-deploy admin  centos4


        非集群节点,/var/run/ceph 无内容


    在centos4


        yum install -y ceph-fuse

    查看信息


        ls  /etc/ceph
        ceph.client.admin.keyring


    创建挂载目录


        mkdir /ceph


    挂载ceph文件系统


        ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.115.128:6789 /ceph

你可能感兴趣的:(ceph,分布式)