美文网首页
Ceph在CentOS上安装单机客户端

Ceph在CentOS上安装单机客户端

作者: shaofeng_c | 来源:发表于2018-11-14 14:41 被阅读0次

    ## Ceph在CentOS上安装单机客户端

    ### 环境描述

    >Linux 版本:CentOS Linux release 7.2 (Final)

    CEPH版本:ceph version 11.2.0

    内网无法连接到官网地址,因此可以通过两种方式进行安装

    A)部署内部YUM源站点,通过ceph-deploy工具指定URL

    B)下载RPM包并上传到服务器,手工安装

    这里采用第二种安装方式

    ### RPM依赖安装

    1、通过官方网站下载最新版RPM包

    2、解决依赖关系

    安装之前,先检查下列包是否存在,不同的Linux内核版本会有一些差异

    ```shell

    yum install -y junit boost gdisk fcgi xmlstarlet java-devel snappy cryptsetup

    yum install python-flask-0.10.1-4.el7.noarch

    yum install gperftools-libs-2.2.1-1.2.x86_64.rpm

    yum install libbabeltrace-1.2.4-3.el7.x86_64.rpm

    yum install lttng-ust-2.4.1-1.el7.1.x86_64.rpm

    yum install userspace-rcu-0.7.16-1.el7.x86_64.rpm

    yum install python-requests

    yum install python-setuptools

    yum install glibc.i686

    ```

    ### 安装准备

    3、Jewel版本之后默认用户为ceph,安装之前先创建ceph用户并授权

    ```shell

    adduser -d /home/ceph -m ceph

    passwd ceph

    # 设置用户权限

    echo "ceph ALL =(root) NOPASSWD:ALL" | tee /etc/sudoers.d/ceph

    chmod 0440 /etc/sudoers.d/ceph

    ```

    4、requiretty准备

    ```shell

    visudo

    # 注释掉Defaults requiretty

    # Defaults requiretty修改为 #Defaults requiretty, 表示不需要控制终端。

    # 否则会出现sudo: sorry, you must have a tty to run sudo

    ```

    5、防火墙设置

    根据公司安全策略决定是否关闭防火墙,如果不关闭,多台机器间的通讯可能会出现端口不通的情况

    ```shell

    systemctl stop firewalld.service

    systemctl disable firewalld.service

    setenforce 0

    ```

    6、修改别名

    ceph.conf中可以通过配置别名进行多个监控服务之间的通讯,修改hosts中的别名,或者通过hostnamectl设置

    ```shell

    vi /etc/hosts

    # xxx.xxx.xxx.xxx ceph-node1

    ```

    ### 安装CEPH RPM包

    ```shell

    rpm -ivh libbabeltrace-1.2.1-1.fc20.x86_64.rpm

    rpm -ivh libbabeltrace-1.2.1-1.fc20.x86_64.rpm

    rpm -ivh leveldb-1.12.0-5.el7.1.x86_64.rpm

    rpm -ivh leveldb-devel-1.12.0-5.el7.1.x86_64.rpm

    rpm -ivh selinux-policy-3.13.1-60.el7_2.9.noarch.rpm

    rpm -ivh selinux-policy-targeted-3.13.1-60.el7_2.9.noarch.rpm

    # 下载并解压CEPH安装包

    rpm -ivh *

    #  1:librados2-1:11.1.0-6896.g2aab144.################################# [  3%]

    #  2:librbd1-1:11.1.0-6896.g2aab144.el################################# [  6%]

    #  3:libcephfs2-1:11.1.0-6896.g2aab144################################# [  9%]

    #  4:python-rados-1:11.1.0-6896.g2aab1################################# [ 13%]

    #  5:librados-devel-1:11.1.0-6896.g2aa################################# [ 16%]

    #  6:librgw2-1:11.1.0-6896.g2aab144.el################################# [ 19%]

    #  7:libradosstriper1-1:11.1.0-6896.g2################################# [ 22%]

    #  8:python-rgw-1:11.1.0-6896.g2aab144################################# [ 25%]

    #  9:python-cephfs-1:11.1.0-6896.g2aab################################# [ 28%]

    # 10:python-rbd-1:11.1.0-6896.g2aab144################################# [ 31%]

    # 11:ceph-common-1:11.1.0-6896.g2aab14################################# [ 34%]

    # 12:ceph-selinux-1:11.1.0-6896.g2aab1################################# [ 38%]

    # 13:ceph-base-1:11.1.0-6896.g2aab144.################################# [ 41%]

    # 14:libcephfs_jni1-1:11.1.0-6896.g2aa################################# [ 44%]

    # 15:ceph-mds-1:11.1.0-6896.g2aab144.e################################# [ 47%]

    # 16:ceph-mgr-1:11.1.0-6896.g2aab144.e################################# [ 50%]

    # 17:ceph-mon-1:11.1.0-6896.g2aab144.e################################# [ 53%]

    # 18:ceph-osd-1:11.1.0-6896.g2aab144.e################################# [ 56%]

    # 19:ceph-1:11.1.0-6896.g2aab144.el7  ################################# [ 59%]

    # 20:cephfs-java-1:11.1.0-6896.g2aab14################################# [ 63%]

    # 21:libcephfs_jni-devel-1:11.1.0-6896################################# [ 66%]

    # 22:ceph-radosgw-1:11.1.0-6896.g2aab1################################# [ 69%]

    # 23:ceph-test-1:11.1.0-6896.g2aab144.################################# [ 72%]

    # 24:rbd-mirror-1:11.1.0-6896.g2aab144################################# [ 75%]

    # 25:python-ceph-compat-1:11.1.0-6896.################################# [ 78%]

    # 26:libradosstriper-devel-1:11.1.0-68################################# [ 81%]

    # 27:librgw-devel-1:11.1.0-6896.g2aab1################################# [ 84%]

    # 28:libcephfs-devel-1:11.1.0-6896.g2a################################# [ 88%]

    # 29:librbd-devel-1:11.1.0-6896.g2aab1################################# [ 91%]

    # 30:rbd-fuse-1:11.1.0-6896.g2aab144.e################################# [ 94%]

    # 31:rbd-nbd-1:11.1.0-6896.g2aab144.el################################# [ 97%]

    # 32:ceph-fuse-1:11.1.0-6896.g2aab144.################################# [100%]

    ```

    ### 配置ceph.conf文件

    ```shell

    ceph --version

    # ceph version 11.1.0-6896-g2aab144 (2aab1443fa28e47e81add9a5aa999c5f7dc39e70)

    # 将服务端的配置拷贝到客户段

    cd /etc/ceph

    vi ceph.client.admin.keyring

    [client.admin]

            key = AQDeBDFZCNYwDxAAwyhHxRK6Cd7OMDm==

            auid = 0

            caps mds = "allow"

            caps mon = "allow *"

            caps osd = "allow *"

    ```

    ```shell     

    vi ceph.conf

    #添加以下内容

    fsid = deeade81-2e18-4d1e-a37a-1154

    mon_initial_members = ser-node1,ser-node2,ser-node3

    mon_host = xxx.xxx.xxx,xxx.xxx.xxx,xxx.xxx.xxx

    auth_cluster_required = none

    auth_service_required = none

    auth_client_required = none

    mon_allow_pool_delete = true

    mon clock drift allowed = 2

    mon clock drift warn backoff = 30

    #enable_experimental_unrecoverable_data_corrupting_features = ms-type-async

    ms_type = async

    ms_async_op_threads = 4

    osd_find_best_info_ignore_history_les = true

    mon_pg_warn_max_per_osd = 1000

    max_open_files = 1000000

    throttler_perf_counter = false

    debug_lockdep = 0/0

    debug_context = 0/0

    debug_crush = 0/0

    debug_mds = 0/0

    debug_mds_balancer = 0/0

    debug_mds_locker = 0/0

    debug_mds_log = 0/0

    debug_mds_log_expire = 0/0

    debug_mds_migrator = 0/0

    debug_buffer = 0/0

    debug_timer = 0/0

    debug_filer = 0/0

    debug_striper = 0/0

    debug_objecter = 0/0

    debug_rados = 0/0

    debug_rbd = 0/0

    debug_rbd_mirror = 0/0

    debug_rbd_replay = 0/0

    debug_journaler = 0/0

    debug_objectcacher = 0/0

    debug_client = 0/0

    debug_osd = 0/0

    debug_optracker = 0/0

    debug_objclass = 0/0

    debug_filestore = 0/0

    debug_journal = 0/0

    debug_ms = 0/0

    debug_mon = 0/0

    debug_monc = 0/0

    debug_paxos = 0/0

    debug_tp = 0/0

    debug_auth = 0/0

    debug_crypto = 0/0

    debug_finisher = 0/0

    debug_heartbeatmap = 0/0

    debug_perfcounter = 0/0

    debug_rgw = 0/0

    debug_civetweb = 0/0

    debug_javaclient = 0/0

    debug_asok = 0/0

    debug_throttle = 0/0

    debug_refs = 0/0

    debug_xio = 0/0

    debug_compressor = 0/0

    debug_bluestore = 0/0

    debug_bluefs = 0/0

    debug_bdev = 0/0

    debug_kstore = 0/0

    debug_rocksdb = 0/0

    debug_leveldb = 0/0

    debug_memdb = 0/0

    debug_kinetic = 0/0

    debug_fuse = 0/0

    debug_mgr = 0/0

    debug_mgrc = 0/0

    debug_dpdk = 0/0

    debug_eventtrace = 0/0

    osd_pool_default_size = 1

    #ms_crc_data = false

    #ms_crc_header = false

    #ms_async_op_threads = 5

    osd_op_num_threads_per_shard = 3

    osd_op_num_shards = 6

    osd_enable_op_tracker = false

    filestore_wbthrottle_enable = false

    filestore_queue_max_ops = 10240

    filestore_queue_max_bytes = 1024000000

    filestore_op_threads = 6

    filestore_fd_cache_size = 1024

    filestore_fd_cache_shards = 32

    filestore_ondisk_finisher_threads = 4

    filestore_apply_finisher_threads = 4

    rbd cache = false

    rbd_enable_alloc_hint = false

    rbd_op_threads = 4

    rbd_cache_writethrough_until_flush = false

      ```

    ## 创建POOL

    分配700G,3副本的空间

    计算最佳pg数量的公式

    = osd数*100/3

    ```shell

    # 400个pg

    ceph osd pool create poolname 400 400

    # 3副本

    ceph osd pool set poolname size 3

    # 700G空间,数据共享模式

    rbd create poolname/poolname-data --image-shared -s 700000 --stripe-count 24 --stripe-unit 64K

    # 挂载

    rbd-nbd map poolname/poolname-data

    lsb lk

    # NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

    # nbd0    43:0    0 683.6G  0 disk

    ```

    相关文章

      网友评论

          本文标题:Ceph在CentOS上安装单机客户端

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