ceph部署

作者: Joening | 来源:发表于2022-03-02 10:38 被阅读0次

ceph存储部署

1.环境准备

1.1系统准备与检查

系统版本 主机名称 IP地址 roles
Centos 7.5 JD-SH-LAMDBA-TEST-NODE-03 10.0.0.95 ceph-deploy、monitor、Managers、
Centos 7.5 JD-SH-LAMDBA-TEST-NODE-01 10.0.0.96 mds
Centos 7.5 JD-SH-LAMDBA-TEST-NODE-02 10.0.0.97 mds
  • 每个系统上存放一个200G的硬盘 提供ceph使用
[root@JD-SH-LAMDBA-TEST-NODE-03 ~]# lsblk
NAME                                                                           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdb                                                                            253:16   0  200G  0 disk 
└─ceph--5a4ee94d--6e7a--4474--8012--d9833b3c9c73-osd--block--3b251a6b--d8d7--4ffd--b2b1--07ee2f8d338f
                                                                               252:0    0  200G  0 lvm  
vda                                                                            253:0    0   40G  0 disk 
└─vda1                                                                         253:1    0   40G  0 part /

2.系统初始化

2.1 关闭selinux 及防火墙

systemctl stop firewalld 
systemctl disable firewalld 
# systemctl status firewalld #检查防火墙是否关闭

setenforce 0 
sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/sysconfig/selinux

2.2 修改主机名称

hostnamectl set-hostname  JD-SH-LAMDBA-TEST-NODE-01
cat /etc/hostname #确认是否修改成功

2.3 配置主机名称与IP地址解析

cat >> /etc/hosts << EOF
192.168.20.10 pod4-core-20-10
192.168.20.5 pod4-core-20-5
192.168.20.6 pod4-core-20-6
EOF

2.4 调整最大可打开文件数

mv /etc/security/limits.conf{,.bak}
cat > /etc/security/limits.conf  << EOF
*                -       nofile          650000
*                -       memlock         unlimited
*                -       stack           655360
*                -       nproc           unlimited
EOF

执行此操作后,需要重新打开终端,才可生效。

2.5 配置yum源

  • 基础环境yum源,可忽略

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
yum clean all && yum makecache fast
  • ceph源
cat > /etc/yum.repos.d/ceph.repo << "EOF"
[ceph-norch]
name=ceph-norch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
enabled=1
gpgcheck=0
[ceph-x86_64]
name=ceph-x86_64 
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
enabled=1
gpgcheck=0
EOF
yum -y clean all
yum makecache 
yum makecache fast

3.部署ceph集群

接下来所有操作步骤, 都在JD-SH-LAMDBA-TEST-NODE-03 第一个节点执行

3.1 安装基础工具

 yum -y install python-setuptools ceph-deploy
 ceph-deploy --version     # 确保ceph-deploy版本为2.0.1
2.0.1

3.2 配置免密登录到其他节点

ssh-keygen #一路回车
scp -rp /root/.ssh/id_rsa.pub  root@JD-SH-LAMDBA-TEST-NODE-01 
scp -rp /root/.ssh/id_rsa.pub  root@JD-SH-LAMDBA-TEST-NODE-02

3.3 部署admin

mkdir my-cluster && cd my-cluster
$ ceph-deploy new JD-SH-LAMDBA-TEST-NODE-03
ls    # 命令执行成功后,会生成配置文件、日志文件、秘钥文件
ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring
$ cat ceph.conf        # 生成的配置文件内容如下
# 如果有错误之处,可以根据自己实际情况修改
[root@JD-SH-LAMDBA-TEST-NODE-03 ~]# cat /etc/ceph/ceph.conf 
[global]
fsid = 21c5f8c7-eaba-464e-a1f0-1a1ddfe42a04
mon_initial_members = JD-SH-LAMDBA-TEST-NODE-03
mon_host = 10.0.0.95
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd_pool_default_size = 2

3.4 安装ceph软件包 所有节点

yum -y install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds

3.5 初始化monitor

接下来所有操作, 都在JD-SH-LAMDBA-TEST-NODE-03执行

ceph-deploy mon create-initial

3.6 拷贝admin的秘钥文件

ceph-deploy admin JD-SH-LAMDBA-TEST-NODE-03 JD-SH-LAMDBA-TEST-NODE-01 JD-SH-LAMDBA-TEST-NODE-02

3.7 部署manager

ceph-deploy mgr create  JD-SH-LAMDBA-TEST-NODE-03

3.8 创建三个OSD

ceph-deploy osd create --data /dev/vdb JD-SH-LAMDBA-TEST-NODE-03
ceph-deploy osd create --data /dev/vdb JD-SH-LAMDBA-TEST-NODE-01
ceph-deploy osd create --data /dev/vdb JD-SH-LAMDBA-TEST-NODE-02

3.9 扩容monitor节点

ceph-deploy mon add JD-SH-LAMDBA-TEST-NODE-01
ceph-deploy mon add JD-SH-LAMDBA-TEST-NODE-02

3.10 部署mds服务

ceph-deploy mds create JD-SH-LAMDBA-TEST-NODE-01
ceph-deploy mds create JD-SH-LAMDBA-TEST-NODE-02
 ceph mds stat #查看状态

3.11 检查状态

[root@JD-SH-LAMDBA-TEST-NODE-03 ~]# ceph -s
  cluster:
    id:     21c5f8c7-eaba-464e-a1f0-1a1ddfe42a04
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum JD-SH-LAMDBA-TEST-NODE-03,JD-SH-LAMDBA-TEST-NODE-01,JD-SH-LAMDBA-TEST-NODE-02 (age 16h)
    mgr: JD-SH-LAMDBA-TEST-NODE-03(active, since 16h)
    mds: test:1 {0=JD-SH-LAMDBA-TEST-NODE-01=up:active} 1 up:standby
    osd: 3 osds: 3 up (since 16h), 3 in (since 16h)
 
  data:
    pools:   2 pools, 256 pgs
    objects: 24 objects, 41 KiB
    usage:   3.0 GiB used, 597 GiB / 600 GiB avail
    pgs:     256 active+clean
 

4.创建ceph文件系统

4.1 创建文件系统

[root@JD-SH-LAMDBA-TEST-NODE-03 ceph]# ceph fs ls   #创建之前
No filesystems enabled
创建存储池
[root@JD-SH-LAMDBA-TEST-NODE-03 ceph]# ceph osd pool create cephfs_data <pg_num> 
[root@JD-SH-LAMDBA-TEST-NODE-03 ceph]# ceph osd pool create cephfs_metadata <pg_num>
其中:<pg_num> = 128 ,
关于创建存储池
确定 pg_num 取值是强制性的,因为不能自动计算。下面是几个常用的值:
  *少于 5 个 OSD 时可把 pg_num 设置为 128
  *OSD 数量在 5 到 10 个时,可把 pg_num 设置为 512
  *OSD 数量在 10 到 50 个时,可把 pg_num 设置为 4096
  *OSD 数量大于 50 时,你得理解权衡方法、以及如何自己计算 pg_num 取值
  *自己计算 pg_num 取值时可借助 pgcalc 工具
随着 OSD 数量的增加,正确的 pg_num 取值变得更加重要,因为它显著地影响着集群的行为、以及出错时的数据持久性(即灾难性事件导致数据丢失的概率)。

4.2 .挂载Ceph文件系统

[root@JD-SH-LAMDBA-TEST-NODE-03 ceph]# mkdir /opt #创建挂载点
存储密钥(如果没有在管理节点使用ceph-deploy拷贝ceph配置文件)
cat /etc/ceph/ceph.client.admin.keyring
将key对应的值复制下来保存到文件:/etc/ceph/admin.secret中。
挂载
[root@JD-SH-LAMDBA-TEST-NODE-03 ceph]# mount -t ceph 10.10.10.67:6789:/ /opt -o name=admin,secretfile=/etc/ceph/admin.secret
取消挂载
[root@JD-SH-LAMDBA-TEST-NODE-03 ceph]# umount /opt

相关文章

网友评论

    本文标题:ceph部署

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