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
网友评论