1. 部署构造
虚拟机创立三台服务器,CENTOS 版本为 7.6,IP 网端 10.10.20.0/24。三台主机名称为:
- CENTOS7-1: IP 为 10.10.20.11,既做治理节点,又做子节点。
- CENTOS7-2: IP 为 10.10.20.12,子节点。
- CENTOS7-2: IP 为 10.10.20.13,子节点。
2. 系统配置
系统配置工作,三台节点顺次执行:
-
批改主机名称
[root@CENTOS7-1 ~]# vi /etc/hostnameCENTOS7-1
-
编辑 hosts 文件
10.10.20.11 CENTOS7-1 10.10.20.12 CENTOS7-2 10.10.20.13 CENTOS7-3
留神,这外面的主机名称要和节点名称保持一致,否则装置的时候会呈现问题
-
批改 yum 源
vi /etc/yum.repos.d/ceph.repo,为防止网速过慢问题,这里采纳的是清华镜像源:[Ceph] name=Ceph packages for $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/ enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc [Ceph-noarch] name=Ceph noarch packages # 官网源 #baseurl=http://download.ceph.com/rpm-mimic/el7/noarch # 清华源 baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/ enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc [ceph-source] name=Ceph source packages baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/ enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc
-
装置 ceph 与 ceph-deploy 组件
yum update && yum -y install ceph ceph-deploy
装置实现,如果执行 ceph-deploy 呈现 ImportError: No module named pkg_resources
装置 python2-pip:yum -y install python2-pip
-
装置 NTP 工夫同步工具
yum install ntp ntpdate ntp-doc -y
确保时区是正确,设置开机启动:
systemctl enable ntpd
并将工夫每隔 1 小时主动校准同步。编辑 vi /etc/rc.d/rc.local 追加:
/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
配置定时工作, 执行 crontab -e 退出:
0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
3. 免明码 SSH 登陆
-
官网倡议不必零碎内置用户,创立名为 ceph_user 用户,明码也设为 ceph_user:
useradd -d /home/ceph_user -m ceph_user passwd ceph_user
-
设置 sudo 权限
echo "ceph_user ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph_user sudo chmod 0440 /etc/sudoers.d/ceph_user
1、2 两个步骤顺次在三台机器上执行。
接下来在主节点,继续执行:
-
生成密钥:
切换用户:su ceph_user
执行 ssh-keygen,始终按默认提醒点击生成 RSA 密钥信息。
-
散发密钥至各机器节点
ssh-copy-id ceph_user@CENTOS7-1 ssh-copy-id ceph_user@CENTOS7-2 ssh-copy-id ceph_user@CENTOS7-3
-
批改治理节点上的
~/.ssh/config
文件,简化 SSH 近程连贯时的输出信息:治理节点是会有 root 和 ceph_user 多个用户,ssh 近程连贯默认会以以后用户身份进行登陆,
如果咱们是 root 身份进行近程连贯,还是须要输出明码,咱们想简化,该怎么解决?
切换 root 身份,
su root
批改~/.ssh/config 文件
Host CENTOS7-1 Hostname CENTOS7-1 User ceph_user Host CENTOS7-2 Hostname CENTOS7-2 User ceph_user Host CENTOS7-3 Hostname CENTOS7-3 User ceph_user
留神批改文件权限,不能采纳 777 最大权限:
chmod 600 ~/.ssh/config
进行 ssh 近程连贯时,Host 的主机名称是辨别大小写的,所以要留神配置文件的主机名称。
-
凋谢端口,非生产环境,能够间接禁用防火墙:
systemctl stop firewalld.service systemctl disable firewalld.service
-
SELINUX 设置
SELinux 设为禁用:
setenforce 0
永恒失效:
编辑 vi /etc/selinux/config 批改:SELINUX=disabled
4. 集群搭建配置
采纳 root 身份进行装置
-
在治理节点创立集群配置目录,cd /usr/local:
mkdir ceph-cluster cd ceph-cluster
留神:此目录作为 ceph 操作命令的基准目录,会存储解决配置信息。
-
创立集群,蕴含三台机器节点:
ceph-deploy new CENTOS7-1 CENTOS7-2 CENTOS7-3
创立胜利后,会生一个配置文件。
-
如果接下来集群的装置配置呈现问题,能够执行以下命令革除,再重新安装:
ceph-deploy purge CENTOS7-1 CENTOS7-2 CENTOS7-3 ceph-deploy purgedata CENTOS7-1 CENTOS7-2 CENTOS7-3 ceph-deploy forgetkeys
将三台节点的 mon 信息也删除
rm -rf /var/run/ceph/
-
批改配置文件,有些配置前面需用到:
vi /usr/local/ceph-cluster/ceph.conf
退出:
[global] public network = 10.10.20.0/24 # 设置 pool 池默认调配数量 osd pool default size = 2 # 容忍更多的时钟误差 mon clock drift allowed = 2 mon clock drift warn backoff = 30 # 容许删除 pool mon_allow_pool_delete = true [mgr] # 开启 WEB 仪表盘 mgr modules = dashboard
第一项为正本数,设为 2 份。
第二项为对外 IP 拜访网段,留神依据理论 IP 批改网段。
第三、四项为容许肯定工夫的漂移误差。
-
执行装置:
ceph-deploy install CENTOS7-1 CENTOS7-2 CENTOS7-3
如果呈现谬误:
ceph_deploy][ERROR] RuntimeError: Failed to execute command: ceph --version
能够在各节点上独自进行装置:
yum -y install ceph
如果没有仓库文件 ceph.repo,按下面的步骤手工创立。
-
初始 monitor 信息:
ceph-deploy mon create-initial
执行实现后,会生成以下文件:
-
同步治理信息:
下发配置文件和治理信息至各节点:
ceph-deploy admin CENTOS7-1 CENTOS7-2 CENTOS7-3
-
装置 mgr(治理守护过程),大于 12.x 版本需装置,咱们装的是最新版,需执行:
ceph-deploy mgr create CENTOS7-1 CENTOS7-2 CENTOS7-3
-
装置 OSD(对象存储设备)
留神:新版本的 OSD 没有 prepare 与 activate 命令。
这里须要新的硬盘作为 OSD 存储设备,敞开虚拟机,减少一块硬盘,不必格式化。
重启,fdisk -l 查看新磁盘名称:
执行创立 OSD 命令:
ceph-deploy osd create --data /dev/sdb CENTOS7-1
三台节点都需别离顺次执行。
-
验证节点:
输出 ceph health 或 ceph - s 查看,呈现 HEALTH_OK 代表失常。通过虚拟机启动, 如果呈现谬误:
[root@CENTOS7-1 ~]# ceph -s cluster: id: 0ec99aa9-e97e-43d3-b5b9-90eb21c4abff health: HEALTH_WARN 1 filesystem is degraded 1 osds down 1 host (1 osds) down Reduced data availability: 41 pgs inactive Degraded data redundancy: 134/268 objects degraded (50.000%), 22 pgs degraded, 87 pgs undersized 39 slow ops, oldest one blocked for 2286 sec, daemons [osd.0,mon.CENTOS7-2,mon.CENTOS7-3] have slow ops. clock skew detected on mon.CENTOS7-2, mon.CENTOS7-3 services: mon: 3 daemons, quorum CENTOS7-1,CENTOS7-2,CENTOS7-3 mgr: centos7-1(active), standbys: centos7-3, centos7-2 mds: fs_test-1/1/1 up {0=centos7-1=up:replay} osd: 3 osds: 1 up, 2 in data: pools: 9 pools, 128 pgs objects: 134 objects, 64 KiB usage: 1.0 GiB used, 19 GiB / 20 GiB avail pgs: 32.031% pgs unknown 134/268 objects degraded (50.000%) 65 active+undersized 41 unknown 22 active+undersized+degraded
在各节点执行命令, 确保工夫同步统一:
ntpdate ntp1.aliyun.com
5. 装置治理后盾
-
开启 dashboard 模块
ceph mgr module enable dashboard
-
生成签名
ceph dashboard create-self-signed-cert
-
创立目录
mkdir mgr-dashboard
[root@CENTOS7-1 mgr-dashboard]# pwd /usr/local/ceph-cluster/mgr-dashboard
-
生成密钥对
cd /usr/local/ceph-cluster/mgr-dashboard
openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
[root@CENTOS7-1 mgr-dashboard]# ll total 8 -rw-rw-r-- 1 ceph_user ceph_user 1155 Jul 14 02:26 dashboard.crt -rw-rw-r-- 1 ceph_user ceph_user 1704 Jul 14 02:26 dashboard.key
-
启动 dashboard
ceph mgr module disable dashboard ceph mgr module enable dashboard
-
设置 IP 与 PORT
ceph config set mgr mgr/dashboard/server_addr 10.10.20.11 ceph config set mgr mgr/dashboard/server_port 18843
-
敞开 HTTPS
ceph config set mgr mgr/dashboard/ssl false
-
查看服务信息
[root@CENTOS7-1 mgr-dashboard]# ceph mgr services {"dashboard": "https://10.10.20.11:8443/"}
-
设置治理用户与明码
ceph dashboard set-login-credentials admin admin
-
拜访
通过后盾拜访能够看到整个集群的运行状态和节点数量等信息,HEALTH_OK 代表处于失常。
本文由 mirson 创作分享,如需进一步交换,请加 QQ 群:19310171 或拜访 www.softart.cn