美文网首页
ceph12.2.5部署记录

ceph12.2.5部署记录

作者: 深海幽蓝形若风 | 来源:发表于2018-07-04 17:09 被阅读0次

    版本1.0

    撰写时间:2018-5-31

    Author:李松杉

    环境:

    192.168.8.196 node1

    192.168.8.197  node2(admin server)

    192.168.8.199  node3

    1、更改主机名,增加主机对应关系

    192.168.8.196 node1

    192.168.8.197 node2

    192.168.8.199 node3

    hostnamectl set-hostnamenode1

    hostnamectl set-hostnamenode2

    hostnamectl set-hostnamenode3

    2、无秘钥

    node2:

        ssh-keygen

    ssh-copy-id node1

    ssh-copy-id node3

    3、更新yum源

    yum install -yhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    4、添加ceph源

    [Ceph]

    name=Ceph packages for$basearch

    baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/$basearch

    enabled=1

    priority=1

    gpgcheck=1

    gpgkey=https://download.ceph.com/keys/release.asc

    [Ceph-noarch]

    name=Ceph noarch packages

    baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/noarch

    enabled=1

    priority=1

    gpgcheck=1

    gpgkey=https://download.ceph.com/keys/release.asc

    [ceph-source]

    name=Ceph source packages

    baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/SRPMS

    enabled=0

    priority=1

    gpgcheck=1

    gpgkey=https://download.ceph.com/keys/release.asc

    5、安装ceph-deploy

    yum -yinstallpython-setuptools ceph-deploy

    6、安装ceph

    先在所有server上部署yuminstall-y deltarpm

    在node2

    ceph-deployinstall--release=luminous node1 node2 node3

    二、建立ceph集群

    1、创建ceph-deploy执行过程中生成控制文件的目录

    node2:

    mkdir/etc/test-ceph-deploy

    cdmkdir/etc/test-ceph-deploy

    2、创建集群:1mon+1mgr

    2.1 创建一个monitor

    node2:

    ceph-deploynewnode2

    配置ceph网络

    注:如果一开始没有配置网络(ceph集群使用两个网络:public network和cluster network。前者用于服务client;后者用于集群内部通信,例如osd之间迁移数据。另外,两个网络上都有heartbeat。)后面在扩展mon节点时会报错

    解决方案增加ceph.conf中网络配置,并且推送到所有节点

    node2:

    ceph-deploy --overwrite-conf config push node1 node2 node3

    2.2 获取密钥

    node2:

    ceph-deploy mon create-initial

    2.3 分发密钥

    node2:

    ceph-deployadminnode1 node2 node3

    2.4 部署initial monitor

    node2:

    ceph-deploy moncreatenode2

    2.5创建mgr

    node2:

    ceph-deploy mgr createnode2

    检查

    2.6 添加osd

    1)、添加node1上的osd.1

    node2:

    ceph-deploy osd create node1 --data /dev/sdb

        2)、添加node2上的osd.2

    node2:

    ceph-deploy osd create node2 --data /dev/sdb

    3)、添加node3上的osd.3

    node2:

    ceph-deploy osd create node3 --data /dev/sdb

    检查状态

    2.7添加两个mon+添加两个mgr

    node2:

    ceph-deploy monaddnode1

    ceph-deploy monaddnode3

    ceph-deploy mgr create node1

    ceph-deploy mgr create node3

    检查

    注:检查提示 node2和node3 时间不一致,集群异常,处理方法同步时间

    node1、node2、node3:

    配置时间管理工具chrony

                  2.7 增加一个mds

    node2:

    ceph-deploy mds createnode2

    如下,我们通过ceph -s看不到mds服务。直到创建ceph filesystem的时候,mds才进入active状态(见4.1节)。

        至此,ceph集群就完全部署起来了。下面,我们为ceph集群增加一些client。

    3 增加rgw(在node2,管理端操作)

    我们可以使用ceph集群之外的server来部署rgw。部署之前,需要保证默认端口(7480)没有被防火墙禁止。并且需要安装ceph-radosgw包机器依赖:

    ceph-deploy install --rgw []

    为了方便起见,我们复用集群内的node1和node3来部署rgw。(可以在node1和node3上ps查看,并且可以通过http访问)

    ceph-deploy rgw createnode1node3

    node2上http访问

        4、增加cephfs

    ceph filesystem需要mds,并且有两种方式来挂载:ceph fuse和ceph kernel driver。

    在这一节,我们:

    创建一个ceph filesystem

    通过ceph fuse挂载

    通过ceph kernel driver挂载

    4.1 创建ceph filesystem (在集群内任意主机皆可)

    1)、创建所需的pool

    ceph osd pool create cephfs_data 80

    ceph osd pool create cephfs_metadata 40

    2)、创建ceph filesystem

    ceph fsnewmycephfscephfs_metadata cephfs_data

    创建filesystem 后mds就会active

      4.2 通过ceph fuse挂载(在任意客户端机器,这里复用了node2)

    和rgw一样,原则上我们在ceph集群之外的某台server上挂载ceph filesystem。但为了方便起见,我们还是在node2上挂载。

    1)、部署ceph fuse包;

    yum -yinstallceph-fuse

        2)、创建一个挂载点,就可以挂载了。注意ceph-fuse使用admin权限,所以通过-k选项传入admin的key。

    [root@node2~]# mkdir /mnt/cephfs

    [root@node2~]# ceph-fuse -k /etc/ceph/ceph.client.admin.keyring  -m node1:6789 /mnt/cephfs

    这时候,一个全新的ceph filesystem就可以使用了。注意:这时cephfs_data是空的,但cephfs_metadata不空:

    ceph df

    创建文件后cephfs_data也有数据

    5.增加rbd

    5.1 准备rbd pool

    在集群内的任意server上创建一个pool:

    ceph osd pool create rbd_pool 10 10

    5.2 创建块设备

    首先我们尝试在集群内的 一个server(node1)上创建块设备

    需要先安装ceph-common

    yum-y install ceph-common

    创建块设备

    1、将admin的key独立保存admin.secret文件

    rbd create foo --size4906--image-feature layering -m192.168.8.196-K admin.secret -p rbd_pool

    rbd map foo --name client.admin -m192.168.8.196-K admin.secret -p rbd_pool

    错误:

    此错误是因为内核版本低造成,需要升级内核版本

    石墨链接:

    https://shimo.im/docs/aQqL932X2R4rrMpo/ 点击链接查看「ceph12.2.5部署记录」

    关注链接:

    http://cephnotes.ksperis.com

    http://docs.ceph.org.cn/

    https://ceph.com/

    相关文章

      网友评论

          本文标题:ceph12.2.5部署记录

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