携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情
1.Ceph集群搭建
Ceph集群结构如上图,server1作为主节点(Dashbaord、mon、mds、rgw、mgr、osd),server2和server3作为子节点(mon、mds、rgw、mgr、osd)。
节点中的信息说明:
dashbaord:Ceph可视化管理界面。
rgw:RADOSGW,Ceph对象网关,使客户端能够利用标准对象存储API来访问Ceph集群。
mgr:ceph-mgr,主要目标实现 ceph 集群的管理,为外界提供统一的入口。
节点信息:
server1:192.168.19.131
server2:192.168.19.132
server3:192.168.19.133
1.1准备工作
1)机器名称修改(131、132、133都执行)
我们给每台机器一个别名192.168.19.131->CENTOS1,192.168.19.132->CENTOS2,192.168.19.133->CENTOS3。
修改192.168.19.131/etc/hostname,添加CENTOS1
修改192.168.19.132/etc/hostname,添加CENTOS2(同上)
修改192.168.19.133/etc/hostname,添加CENTOS3(同上)
配置名字解析IP:分别修改131、132、133的/etc/hosts文件,添加如下映射:
192.168.19.131 CENTOS1
192.168.19.132 CENTOS2
192.168.19.133 CENTOS3
2)YUM源修改(131、132、133都执行) 这里采用清华镜像源,提升加载速度。
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=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
3)ceph与ceph-deploy安装(131)
更新yum源,并安装ceph和ceph-deploy,这个过程非常耗时间,执行如下命令:
yum update && yum -y install ceph ceph-deploy
注意:yum update和yum -y install python2-pip最好在每台机器都更新下yum。
安装过程中, 如果执行ceph-deploy出现ImportError: No module named pkg_resources,则需要安装python2-pip,执行yum -y install python2-pip安装即可。
如果遇到如下错误,安装下epel即可。
操作命令:(最好先执行该命令)
yum install epel-release -y
yum install lttng-ust -y
4)NTP时间同步工具(131执行) 为了保证时间同步,我们需要安装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
5)免密配置(131、132、133都执行) 官方建议不用系统内置用户, 创建名为cuser用户, 密码也设为cuser:
useradd -d /home/cuser -m cuser
passwd cuser
设置sudo权限:(免密+只读权限)
echo "cuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cuser
sudo chmod 0440 /etc/sudoers.d/cuser
6)生成秘钥:(131执行) 切换用户: su cuser
执行ssh-keygen,一直按默认提示点击生成RSA密钥信息。 分发密钥至各机器节点
ssh-copy-id cuser@CENTOS1
ssh-copy-id cuser@CENTOS2
ssh-copy-id cuser@CENTOS3
修改管理节点上的 ~/.ssh/config (当前用户目录下的.ssh/config)文件, 简化SSH远程连接时的输入信息:
管理节点是会有root和cuser多个用户, ssh远程连接默认会以当前用户身份进行登陆, 如果我们是root身份进行远程连接, 还是需要输入密码,我们可以修改配置 使用root远程连接时也不用输入密码。
切换root身份,
su root
编辑config
vi ~/.ssh/config
添加如下内容:
Host CENTOS1
Hostname CENTOS1
User cuser
Host CENTOS2
Hostname CENTOS2
User cuser
Host CENTOS3
Hostname CENTOS3
User cuser
修改文件权限:
chmod 600 ~/.ssh/config
禁用SELINUX:
vi /etc/selinux/config
SELINUX=disabled
总结:本篇主要介绍了一下Ceph集群搭前的准备工作。