美文网首页
Ceph单节点部署

Ceph单节点部署

作者: crj1998 | 来源:发表于2021-06-08 15:46 被阅读0次

    以下内容均在华为云ECS Centos7.4上测试。

    修改主机名,后面使用到的节点名称就是对应的主机名称

    # 把主机名称修改为ceph1
    hostnamectl  set-hostname ceph1
    

    关闭selinux和firewall

    setenforce 0
    sed -i  "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
    systemctl disable firewalld.service
    systemctl stop firewalld.service
    

    修改hosts文件

    首先使用$ ip addr查看主机的内网IP地址,结果如下图示,主机内网IP地址为192.168.0.119/24,此IP地址非常重要,之后频繁使用。

    查看内网IP.png
    然后将IP地址和主机名称写入hosts文件
    # 192.168.0.119 为内网IP,ceph1为节点名称
    echo "192.168.0.119 ceph1" >> /etc/hosts
    

    安装ceph-deploy

    首先配置 ceph 源,可以自己编写,也可使用如下阿里云提供的源:

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
    cat <<END >/etc/yum.repos.d/ceph.repo
    [norch]
    name=norch
    baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
    enabled=1
    gpgcheck=0
    
    [x86_64]
    name=x86_64
    baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
    enabled=1
    gpgcheck=0
    END
    
    

    配置源后,开始安装

    yum -y install  ceph-deploy  && yum -y install ceph ceph-radosgw python-setuptools python2-subprocess32
    

    运行Ceph

    创建配置文件目录,后续命令都是在该目录下执行

    mkdir ~/ceph
    cd ~/ceph
    

    初始化ceph集群

    ceph-deploy new ceph1
    
    ceph deploy new

    修改ceph.conf配置文件为单节点:

    echo "osd pool default min_size = 1" >>ceph.conf
    echo "osd pool default size = 1" >>ceph.conf
    echo "public_network =192.168.0.119/24" >>ceph.conf
    

    初始化ceph的监控,启动mon 进程。目录下会新生成ceph.client.admin.keyring 等5个配置文件

    ceph-deploy mon create-initial
    
    ceph deploy mon

    将ceph.client.admin.keyring拷贝到各个节点上

    ceph-deploy admin ceph1
    
    ceph deploy admin

    启动mgr进程

    ceph-deploy mgr create ceph1
    
    ceph deploy mgr create

    $ ceph -s 查看集群状态,如图所示,HEALTH_OK, HEALTH_WARN都表明ceph集群安装成功可以使用了

    ceph s

    准备数据盘

    fdisk -l
    
    fdisk -l
    上图表明主机已经有一块系统盘/dev/vda还有一块/dev/vdb未分区
    我们对/dev/vdb进行分区并作为数据盘使用。
    fdisk  /dev/vdb
    

    在键盘上依次输入

    # 添加一个分区
    n
    # 主分区
    P
    # 第一个回车指是开始的磁盘扇区大小
    ENTER
    # 第二个回车指是结束的磁盘扇区大小
    ENTER
    # 写入磁盘
    w
    

    此时数据盘被分好了。


    fdisk -l

    格式化磁盘

    mkfs.ext4 /dev/vdb
    
    mkfs4

    创建osd

    ceph-deploy osd create --data  /dev/vdb ceph1
    

    启动rgw

    启动rgw对象存储进程

    ceph-deploy rgw create ceph1
    

    输入以下命令,查看集rgw是否正常启动。RGW服务默认启动的7480端口

    curl 192.168.0.119:7480
    curl 公网IP:7480
    

    出现如下结果表示RGW进程正常启动


    rgw

    设置pool 和 pgs的值:

    ceph osd pool set .rgw.root pg_num 64
    ceph osd pool set .rgw.root pgp_num 64
    

    利用s3创建 桶来测试,先输入以下命令,创建用户,并赋予读写权限 :

    radosgw-admin user create --uid="admin" --display-name="administrator"
    radosgw-admin caps add --uid="admin" --caps="users=read, write; usage=read,write; buckets=read,write"
    

    查看用户信息,记录access_key和secret_access_key的值

    radosgw-admin user info --uid="admin"
    
    key

    输入以下命令,利用python脚本来验证 桶是否创建成功:

    yum install python-boto -y
    vi s3.py
    
    import boto
    import boto.s3.connection
    host =  '192.168.0.119'
    access_key = ''
    secret_key = ''
    conn = boto.connect_s3(
        aws_access_key_id = access_key,
        aws_secret_access_key = secret_key,
        host =host, port=7480,
        is_secure=False,
        calling_format = boto.s3.connection.OrdinaryCallingFormat()
    )
    bucket = conn.create_bucket('py-first')
    for bucket in conn.get_all_buckets():
        print "{name}\t{created}".format(name = bucket.name, created = bucket.creation_date)
    
    
    test

    出现上述内容说明ceph部署成功。之后可以使用python操作ceph。推荐boto3。


    [Reference]:
    Centos--单节点Ceph对象存储部署
    单节点Ceph对象存储简单部署(1)
    Centos挂载硬盘完整图文教程(查看、分区、格式化、挂载)磁盘

    相关文章

      网友评论

          本文标题:Ceph单节点部署

          本文链接:https://www.haomeiwen.com/subject/rpqjeltx.html