zoukankan      html  css  js  c++  java
  • 部署ceph

    一、部署准备:

    4台虚拟机(linux系统为centos7.6版本)

    dlp:192.168.88.50

    node1:192.168.88.55

    node2:192.168.88.56

    node3:192.168.88.57

    clip_image001

    (1)所有ceph集群节点(包括客户端)设置静态域名解析;

    [root@dlp ~]# vim /etc/hosts

    clip_image002

    (2)所有集群节点(包括客户端)创建cent用户,并设置密码,后执行如下命令:

    1. 添加cent用户:

    useradd cent && echo "123" | passwd

    clip_image003

    2.赋予sudo权限:

    echo -e 'Defaults:cent !requiretty cent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph

    clip_image004

    3. 修改权限

    chmod 440 /etc/sudoers.d/ceph

    (3)在部署节点切换为cent用户,设置无密钥登陆各节点包括客户端节点

    [root@dlp ~]# su - cent

    [cent@dlp ~]$ ssh-keygen

    [cent@dlp ~]$ ssh-copy-id node1

    [cent@dlp ~]$ ssh-copy-id node2

    [cent@dlp ~]$ ssh-copy-id node3

    [cent@dlp ~]$ ssh-copy-id dlp

    (4)在部署节点切换为cent用户,在cent用户家目录,设置如下文件:vi~/.ssh/config# create new ( define all nodes and users )

    [cent@dlp ~]$ ls -a

    clip_image005

    [cent@dlp ~]$ cd .ssh/

    [cent@dlp .ssh]$ vim config #config是新建的文件,下面是配置内容

    Host dlp

    Hostname dlp

    User cent

    Host node1

    Hostname node1

    User cent

    Host node2

    Hostname node2

    User cent

    Host node3

    Hostname node3

    User cent

    [cent@dlp .ssh]$ chmod 600 ~/.ssh/config

    二、所有节点配置国内ceph源:

    (1)all-node(包括客户端)在/etc/yum.repos.d/创建 ceph-yunwei.repo

    [cent@dlp ~]$ cat /etc/redhat-release #查看系统版本

    clip_image006

    (2)到国内ceph源中https://mirrors.aliyun.com/centos/7.6.1810/storage/x86_64/ceph-jewel/下载如下所需rpm包。注意:红色框中为ceph-deploy的rpm,只需要在部署节点安装,下载需要到https://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/中找到最新对应的ceph-deploy-xxxxx.noarch.rpm 下载

    [cent@dlp ~]$ ls

    clip_image007

    [cent@dlp ~]$ cd cephjrpm/

    clip_image008

    (3)将下载好的rpm拷贝到所有节点,并安装。注意ceph-deploy-xxxxx.noarch.rpm 只有部署节点用到,其他节点不需要,部署节点也需要安装其余的rpm

    [root@dlp cephjrpm]# yum localinstall ceph-deploy-1.5.39-0.noarch.rpm -y

    [root@dlp cephjrpm]# ceph-deploy --version # 查看 ceph-deploy版本号

    clip_image009

    [root@dlp cephjrpm]# mv ceph-deploy-1.5.39-0.noarch.rpm /root/

    [root@dlp cephjrpm]# yum localinstall -y ./*

    在node1,2,3节点上安装除了ceph-deploy-1.5.39-0.noarch.rpm外的所以软件包

    (4)在部署节点(cent用户下执行):安装 ceph-deploy,在root用户下,进入下载好的rpm包目录,执行:

    yum localinstall -y ./*

    创建ceph工作目录

    [root@dlp ~]# su - cent

    [cent@dlp ~]$ mkdir ceph

    [cent@dlp ~]$ cd ceph/

    [cent@dlp ceph]$ pwd

    /home/cent/ceph

    (5)在部署节点(cent用户下执行):配置新集群

    [cent@dlp ceph]$ pwd

    /home/cent/ceph

    [cent@dlp ceph]$ ceph-deploy new node1 node2 node3 #在ceph工作目录下

    clip_image010

    [cent@dlp ceph]$ vim ceph.conf

    [global]

    fsid = 062e2b8a-2fb6-4982-aab2-3440d01d2b2c

    mon_initial_members = node1, node2, node3

    mon_host = 192.168.88.55,192.168.88.56,192.168.88.57

    auth_cluster_required = cephx

    auth_service_required = cephx

    auth_client_required = cephx

    osd_pool_default_size = 1 # 保存副本数量

    mon_clock_drift_allowed = 2 # 至少由两个节点正常,集群才为正常状态

    <br>mon_clock_drift_warn_backoff = 3 # 每3秒做一次ceph集群的健康检查

    可选参数如下:

    public_network = 192.168.254.0/24

    cluster_network = 172.16.254.0/24

    osd_pool_default_size = 3

    osd_pool_default_min_size = 1

    osd_pool_default_pg_num = 8

    osd_pool_default_pgp_num = 8

    osd_crush_chooseleaf_type = 1

    [mon]

    mon_clock_drift_allowed = 0.5

    [osd]

    osd_mkfs_type = xfs

    osd_mkfs_options_xfs = -f

    filestore_max_sync_interval = 5

    filestore_min_sync_interval = 0.1

    filestore_fd_cache_size = 655350

    filestore_omap_header_cache_size = 655350

    filestore_fd_cache_random = true

    osd op threads = 8

    osd disk threads = 4

    filestore op threads = 8

    max_open_files = 655350

    (6)在部署节点执行,所有节点安装ceph软件

    [cent@dlp ceph]$ ceph-deploy install dlp node1 node2 node3 #在工作目录下进行操作

    (7)在部署节点初始化集群(cent用户下执行):

    [cent@dlp ceph]$ ceph-deploy mon create-initial #工作目录

    查看启动状态

    [root@node1 cephjrpm]# systemctl status ceph-mon@node1 ceph-mon.target

    [root@node2 cephjrpm]# systemctl status ceph-mon@node2 ceph-mon.target

    [root@node3 cephjrpm]# systemctl status ceph-mon@node3 ceph-mon.target

    (8)每个节点将第二块硬盘做分区,并格式化为xfs文件系统挂载到/data:

    [root@node1 ~]# fdisk /dev/sdb

    clip_image011

    clip_image012

    [root@node2 ~]# fdisk /dev/sdb

    clip_image013

    [root@node3 ~]# fdisk /dev/sdc

    clip_image014

    (9)准备Object Storage Daemon:

    [cent@dlp ceph]$ ceph-deploy osd prepare node1:/dev/sdb1

    [cent@dlp ceph]$ ceph-deploy osd prepare node2:/dev/sdb1

    [cent@dlp ceph]$ ceph-deploy osd prepare node3:/dev/sdc1

    clip_image015

    (10)激活Object Storage Daemon:

    [cent@dlp ceph]$ ceph-deploy osd activate node1:/dev/sdb1 node2:/dev/sdb1 node3:/dev/sdc1

    clip_image016

    (11)在部署节点transfer config files

    [cent@dlp ceph]$ ceph-deploy admin dlp node1 node2 node3

    [cent@dlp ceph]$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

    [root@node1 ~]# sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

    [root@node2 ~]# sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

    [root@node3 ~]# sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

    (12)在ceph集群中任意节点检测:

    [cent@dlp ceph]$ ceph -s

    [cent@dlp ceph]$ ceph osd tree

    clip_image017

  • 相关阅读:
    洛谷 P3391 文艺平衡树
    [ZJOI2008]杀蚂蚁 Solution
    POJ P3667 Hotel——solution
    洛谷 P2469 [SDOI2010]星际竞速 解题报告
    POJ P2318 TOYS与POJ P1269 Intersecting Lines——计算几何入门题两道
    【linux】基础知识学习
    【linux】打包压缩命令
    【python】类file文件处理
    【python】使用asyncore进行异步通信
    【python】命令行解析工具getopt用法
  • 原文地址:https://www.cnblogs.com/liangzb310/p/11140039.html
Copyright © 2011-2022 走看看