美文网首页linux tools
从零开始安装Ceph分布式存储|Ubuntu环境

从零开始安装Ceph分布式存储|Ubuntu环境

作者: SunnyZhang的IT世界 | 来源:发表于2019-05-23 18:56 被阅读102次

    版本信息

    具体安装之前对操作系统做如下限制,其它版本的操作系统不保证能够安装成功。

    操作系统:Ubuntu 14.04.3
    Ceph版本号:Hammer V0.94.5

    设备信息

    本安装教程假设有4台服务器(或者虚拟机),1台作为管理节点,另外3台作为存储节点。当然,也可以用存储节点中的一台作为管理节点。具体地址和主机名称如图所示。

    图1 环境部署拓扑

    需要在各个服务器上添加解析,方法是打开hosts文件,添加如下内容:

    192.168.1.100 ceph-u0-l0
    192.168.1.101 ceph-u0-m0
    192.168.1.102 ceph-u0-r0
    192.168.1.50 admin
    

    安装ceph-deploy

    ceph-deploy是Ceph的远程部署工具,可以在管理节点实现分布式部署。
    1. 配置Ceph安装源

    wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
    

    2. 将源信息加入repo,更新软件源,并按照ceph-deploy

    echo deb http://ceph.com/debian-hammer/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
    apt-get update
    apt-get install ceph-deploy
    

    安装NTP
    安装NTP,用于集群节点的时间同步。

    apt-get install ntp
    

    确保SSH服务已被安装
    可能需要安装SSH服务,如果已经安装则忽略该步骤。

    sudo apt-get install openssh-server
    

    创建ceph部署账户
    在每个存储节点上创建ceph账户及ssh访问
    每个节点上创建ceph用户

    sudo useradd -d /home/cephd -m cephd
    sudo passwd cephd
    

    确保具有sudo权限

    echo "cephd ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephd
    sudo chmod 0440 /etc/sudoers.d/cephd
    

    配置无密码访问
    配置管理节点可以实现对其它节点的无密码访问,在管理节点执行如下命令。

    ssh-keygen
    

    所有提示采用默认配置,直接回车。

    生成公钥/私钥对,并拷贝到其它节点

    ssh-copy-id cephd@ceph-u0-m0
    ssh-copy-id cephd@ceph-u0-r0
    ssh-copy-id cephd@ceph-u0-l0
    

    ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中(~/.ssh/authorized_keys)
    默认采用cephd用户,修改(新建)/root/.ssh/config文件,增加如下内容:

    Host ceph-u0-l0
     Hostname ceph-u0-l0
     User cephd
    Host ceph-u0-m0
     Hostname ceph-u0-m0
     User cephd
    Host ceph-u0-r0
     Hostname ceph-u0-r0
     User cephd
    

    通过ssh命令测试一下,是否可以无密码访问。

    ssh ceph-u0-m0
    

    创建集群

    创建ceph集群

    本集群部署情况,为ceph-u0-m0部署一个monitor节点,同时在ceph-u0-l0和ceph-u0-r0上各部署一个osd节点。

    在管理节点的/root目录下执行:

    mkdir my-cluster
    cd my-cluster
    

    如果需要(新安装的系统通常不需要),部署之前确保ceph每个节点没有ceph数据包(先清空之前所有的ceph数据,如果是新装不用执行此步骤,如果是重新部署的话也执行下面的命令)

    [root@ceph-deploy]# ceph-deploy purge ceph-deploy ceph-u0-m0 ceph-u0-l0 ceph-u0-r0
    [root@ceph-deploy]# ceph-deploy purgedata ceph-deploy ceph-u0-m0 ceph-u0-l0 ceph-u0-r0
    [root@ceph-deploy]# ceph-deploy forgetkeys
    

    如果是干净环境,直接执行如下命令,该命令在my-cluster文件夹生成集群必须的文件。

    ceph-deploy new ceph-u0-l0
    

    修改ceph.conf配置文件

    [global]
    fsid = c70a17e3-f677-46cb-8744-b628592d69d6
    mon_initial_members = ceph-u0-l0
    mon_host = 192.168.32.2
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    filestore_xattr_use_omap = true
    osd pool default size = 3
    public network = 192.168.1.0/24
    [osd]
    osd journal size = 20000
    

    安装软件包

    更改国内源
    新部署的物理服务器缺少源信息,在/etc/apt/source.list.d/ 下面新建文件aliyun.list,并添加如下内容:

    deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    

    admin节点向各节点安装ceph

    ceph-deploy install ceph-u0-l0 ceph-u0-m0 ceph-u0-r0 --repo-url=http://eu.Ceph.com/debian-hammer/ --gpg-url=http://eu.ceph.com/keys/release.asc
    

    添加初始监控节点并收集密钥

    ceph-deploy mon create-initial
    

    此时,查看my-cluster目录多了下面几个文件

    ceph.bootstrap-mds.keyring
    ceph.bootstrap-osd.keyring
    ceph.bootstrap-rgw.keyring
    ceph.client.admin.keyring
    

    添加osd节点

    OSD是存储数据的单元,新建完集群后需要添加OSD节点

    ceph-deploy osd prepare ceph-u0-l0:sdb ceph-u0-m0:sdb ceph-u0-r0:sdb

    ceph-deploy osd activate ceph-u0-l0:sdb1 ceph-u0-m0:sdb1 ceph-u0-r0:sdb1

    复制ceph配置文件及密钥到mon、osd节点

    ceph-deploy admin ceph-u0-l0 ceph-u0-m0 ceph-u0-r0
    

    确保有正确的ceph.client.admin.keyring权限

    sudo chmod +r /etc/ceph/ceph.client.admin.keyring
    

    查看集群运行状态

    ceph -s
    

    状态大致如图所示,根据实际配置略有不同。

    从零开始安装Ceph分布式存储|Ubuntu环境

    关注微信公众号,获取信息更及时: itworld123

    相关文章

      网友评论

        本文标题:从零开始安装Ceph分布式存储|Ubuntu环境

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