Ceph-原理-安装-维护-Centos7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ceph在存储中的层次
第一层:物理存储介质。
a.LUN:通常将硬件生成生成的虚拟磁盘叫LUN, 比如raid卡生成的虚拟磁盘。
b.Volume:通常将软件层次生成的虚拟磁盘叫做卷,比如LVM生成的逻辑卷。
c.Disk:就是物理磁盘
第二层:内核层次的文件系统,维护文件到磁层磁盘的映射关系。(用户一般不需要管)
第三层:应用层次的文件系统(需要用户自己手工安装应用程序,启动应用进程)
第四层:网络文件访问系统NFS, CIFS(服务器端装Server,客户端装Client,挂载目录远程访问) Ceph原理
1.Ceph存储系统的逻辑结构
2.Rados的系统逻辑结构
3.Ceph寻址流程
4.ceph部署网络拓扑
备注:Cluster Network可选,但是最好建议有该网络,用于OSD扩展时,后端网络传输数据用。
在实际工作中时,深有体会,如果只有public network,在OSD扩展时,由于ceph需要重新“搬运”数据,导致升级长达5个小时。如果有专门的集群网络(万兆交换机+光钎),几分钟升级完成。
Ceph安装(ceph-deploy)
1.环境准备以及各ceph节点初始化
➢部署逻辑架构
节点安装组件备注
该章节的操作均通过root执行且在各个ceph节点均要执行
➢修改/etc/hostname
#vi /etc/hostname #如果为其他节点调整为其他节点的名称
ceph{number} #如ceph1
#hostname -F /etc/hostname #立即生效,断开shell重新登录
➢创建安装用户irteam且该用户不需要tty
#useradd -d /home/irteam -k /etc/skel -m irteam
#sudo passwd irteam
#echo " irteam ALL = (root) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/irteam
#chmod 0440 /etc/sudoers.d/irteam
修改/etc/sudoers,irteam用户不需要tty
#chmod 755 /etc/sudoers
#vi /etc/sudoers #添加如下配置,而不是将原来的Default requiretty注释掉
Defaults:irteam !requiretty
#chmod 440 /etc/sudoers
➢yum源以及ceph源设置
#yum clean all
#rm -rf /etc/yum.repos.d/*.repo
#wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo #wget -O /etc/yum.repos.d/epel.repo /repo/epel-7.repo
#sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
#sed -i 's/$releasever/7.2.1511/g' /etc/yum.repos.d/CentOS-Base.repo
#vi /etc/yum.repos.d/ceph.repo #增加ceph源
[ceph]
name=ceph
baseurl=/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
➢安装ceph
#yum makecache
#yum install -y ceph
#ceph --version #版本查看
ceph version 10.2.2 (45107e21c568dd033c2f0a3107dec8f0b0e58374)
➢关闭selinux & firewalld
#sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
#setenforce 0
#systemctl stop firewalld
#systemctl disable firewalld
➢同步时间节点(rdate & ntp均可以)
#timedatectl set-timezone Asia/Shanghai #设置时区
#yum install -y rdate
#rdate -s #选个可用且权威的服务器
#echo "00 0 1 * * root rdate -s " >> /etc/crontab #加入调度
2.部署Ceph集群
备注:以下操作均在admin-node节点执行,在本文中,由于admin-node与ceph1共享,所以在ceph1执行就可以了,统一用用户:irteam执行
➢修改/etc/hosts
#sudo vi /etc/hosts
192.168.11.119 ceph1
192.168.11.124 ceph2
192.168.11.112 ceph3
➢生成密钥对& 复制秘钥到各节点(防止部署输入密码,即无密码验证)
#sudo su - irteam
#ssh-keygen
Generating public/private key pair.
Enter file in which to save the key (/irteam/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /irteam/.ssh/id_rsa.
Your public key has been saved in /irteam/.ssh/id_rsa.pub.
#ssh-copy-id irteam@ceph1
#ssh-copy-id irteam@ceph2
#ssh-copy-id irteam@ceph3
➢用户配置,防止部署时输入用户名
#sudo su - irteam #如果当前登录用户是irteam,则忽略该步骤
#vi ~/.ssh/config