设为首页 收藏本站
查看: 1253|回复: 0

[经验分享] ceph的mds与cephx

[复制链接]

尚未签到

发表于 2019-2-1 13:20:35 | 显示全部楼层 |阅读模式

  •      在CEPH中,块和对象是不用MDS的,在其文件系统中,元数据服务器MDS才是必不可少的。Ceph MDS为基于POSIX文件系统的用户提供了一些基础命令,例如ls、find等命令。Ceph FS(Ceph File System)中引入了MDS(Metadata Server),主要是为兼容POSIX文件系统提供元数据,一般都是当做文件系统来挂载。
     对于完全分布式的系统,数据迁移和扩容是值得关注的痛点,那么Metadata Server是很需要避免单点故障和数据瓶颈的问题。
  

Ceph cephx认证配置
认证
  注:当更新的时候,建议把认证的注解掉,然后在升级,一旦升级接收就激活认证。
默认情况下cephx协议是打开的,同时认证服务是要一定的计算资源的,如果你的网络环境很安全,你不想使用认证,你也可以把它关掉,但是不建议关掉。如果关闭认证,你就很有可能受到中间人***篡改client/server消息,这会导致严重的安全问题。
  部署情景:
  有两种主要的部署方式,一个是使用ceph-deploy工具,第一次部署最普遍使用的方式,也是最简单的,另一个是使用第三方的部署工具(chef,juju,puppet,etc。。。)在这个中情况下你就需要手动的执行或者配置你的部署工具来引导monitors。
  Ceph-deploy
  使用ceph-deploy部署集群,你不需要手动引导monitors或者创建client.admin用户或者钥匙环。这些在你执行ceph-deploy的时候都会帮你创建好的。
当你执行ceph-deploy new {initial-monitors},ceph会帮你创建monitor 钥匙环和生成一个ceph配置文件,里面有认证设置,默认是启用的。:
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
当执行ceph-deploy mon create-initial,ceph会引导初始化monitors,为client.admin用户检索包含key的ceph.client.admin.keyring文件。另外它也会检索给ceph-deploy和ceph-disk使用程序预备和激活osds和metadata 服务的钥匙环。
当执行ceph-deploy admin {node-name}(ceph必须在此之前安装)它会把配置文件和ceph.client.admin.keyring文件推送到每个节点的/etc/ceph目录下。这样你就可以在节点的命令行上以root用户执行ceph管理员的功能。
  Manual deploy
  当你手动部署集群的时候,你需要手动的引导monitors和创建用户和钥匙环。这里不做详细。
启用/禁用cephx
使用cephx认证就需要你为monitors,osd和metadata server提供一个key。如果你只是做启用或者禁用cephx的操作,则就没有必要重复引导过程。
启用cephx,ceph就会在默认的路径下寻找keyring,/etc/ceph/cluster.name.keyring.可以在配置文件ceph.conf的[global]部分的使用keyring选项来更改这个地址。但是不建议这么做。
执行下面的程序可以把cephx从禁用状态转到启用状态。如果你已经有key了,可以跳过创建key的步骤。
1.创建用户client.admin的key,并为客户端保存key的副本
Ceph auth get-or-create client.admin mon ‘allow ’ mds ‘allow ’ osd ‘allow *’ –o /etc/ceph/ceph.client.admin.keyring
注:如果/etc/ceph/ceph.client.admin.keyring已经存在,就不要再执行这一步。
2.为monitors集群产生一个keyring,并生成一个monitors 秘钥。
ceph-authtool –create-keyring /tmp/ceph.mon.keyring –gen-key –n mon. –cap mon ‘allow *’
3.把keyring拷贝到每一个mon data路径下,如:拷贝到mon.a路径下:
cp /tmp/ceph.mon.keyring /var/lib/ceph/mon/ceph-a/keyring
4.为每个osd生成一个key,{id}时osd的编号。  
ceph auth get-or-create osd.{id} mon ‘allow rwx’ osd ‘allow *’ –o /var/lib/ceph/osd/ceph-{id}/keyring  
5.为每个mds生成一个key,{id}是mds的号
ceph auth get-or-create mds.{id} mon ‘allow rwx’ osd ‘allow *’ mds ‘allow *’ –o /var/lib/ceph/mds/ceph-{id}/keyring
6.通过设置[global]下的这几个选项来启用cephx.
Auth cluster required =cephx
auth service require = cephx
Auth client required = cephx
7.启动或者重启ceph集群。
  禁用cephx
  禁用cephx认证时非常简单的。
1.禁用cephx,在配置文件ceph.conf中的[global]部分设置下面几个参数。
auth cluster required = none
auth service required =none
auth client required =none
2.启动或者重启ceph集群
Keys
Key是用于集群中用户认证的。如果启用了cephx认证系统,就需要key;否则,不需要。一般key的默认保存路径在/etc/ceph目录下。给管理员或者client提供key的普遍方式是把可包含在/etc/ceph/目录下的keyring文件中(对于使用ceph-deploy部署工具)。文件格式通常是$cluster.client.admin.keyring;如果放在/etc/ceph目录下,则就不需要再在ceph的配置文件中指定keyring参数,如果没有则需要在ceph配置文件中指定keyring参数。
注:确保keyring文件的权限合适。
你可以在ceph配置文件中指定key,或者使用keyring指定key的路径。
参数:
Keyring:keyring文件的路径
Key:key的值
Keyfile:key文件路径
进程keyring
管理员用户或者部署工具(ceph-deploy)也会跟普通用户生成keyring方式一样,生成一个守护进程keyring。一般情况下,守护进程的keyring是在他们数据目录里面。默认Keyring位置和capabilities对于守护进程的功能来说是必须的。
  ceph-mon
Location: mondata/keyringCapabilities:mon‘allow′cephosdLocation:osd_data/keyring
Capabilities: mon ‘allow profile osd’ osd ‘allow *’
ceph-mds
Location: mdsdata/keyringCapabilities:mds‘allow′mon‘allowprofilemds′osd‘allowrwx′radosgwLocation:rgw_data/keyring
Capabilities: mon ‘allow rwx’ osd ‘allow rwx’
守护进程的默认数据路径格式是:
/var/lib/ceph/type/cluster-$id
签名
在ceph Bobtail和以后的版本中我们都倾向于对所有的消息使用签名,使用session key来建立初始话认证,然而Ceph Argonaut和更早的版本确没有对消息做认证,为了保持兼容性,消息签名默认是关闭的。如果你是Bobtail或者更新的版本可以打开。
在认证上,Ceph提供了细粒度的控制,所以你可以在client和ceph的消息上启用或者禁用签名,也可以在对ceph进程之间的消息做启用或者禁用消息签名,这些可以使用下面的参数来配置:
cephx requite signatures :决定是否对client和ceph storage cluster,及ceph的守护进程之间的消息做数字签名,默认是false。
cephx cluster require signatures:决定是否对ceph的进程之间的消息签名,默认是false。
cephx service require signature :决定是否对client和ceph storage cluster之间的消息做认证,默认是false。
cephx sign messegs:如果ceph的版本支持消息签名,ceph将对所有的消息签名,默认是true。
  存活时间
  auth service ticket ttl:当ceph storage cluster发送给client一个ticket,这个选项用来定义这个ticket的存活时间(有效时间),默认是60*60。
  

  
Ceph集群中如何摘除一个包含mon、osd和mds的节点

  步骤如下:
  1、摘除mon
  [root@bgw-os-node153 ~]# ceph mon remove bgw-os-node153
  removed mon.bgw-os-node153 at 10.240.216.153:6789/0, there are now 2 monitors
  2、摘除此节点上所有的osd
  1)、查看此节点的osd
  [root@bgw-os-node153 ~]# ceph osd tree
  -4      1.08                    host bgw-os-node153
  8       0.27                            osd.8   up      1
  9       0.27                            osd.9   up      1
  10      0.27                            osd.10  up      1
  11      0.27                            osd.11  up      1
  2)、把上面的节点的osd进程停掉
  [root@bgw-os-node153 ~]# /etc/init.d/ceph stop osd
  === osd.10 ===
  Stopping Ceph osd.10 on bgw-os-node153...kill 2251...done
  === osd.9 ===
  Stopping Ceph osd.9 on bgw-os-node153...kill 2023...kill 2023...done
  === osd.8 ===
  Stopping Ceph osd.8 on bgw-os-node153...kill 1724...kill 1724...done
  === osd.11 ===
  Stopping Ceph osd.11 on bgw-os-node153...kill 1501...done
  3)、再次查看ceph osd状态
  [root@bgw-os-node153 ~]# ceph osd tree
  -4      1.08                    host bgw-os-node153
  8       0.27                            osd.8   down    1
  9       0.27                            osd.9   down    1
  10      0.27                            osd.10  down    1
  11      0.27                            osd.11  down    1
  4)、删除所有的osd
  [root@bgw-os-node153 ~]# ceph osd rm 8
  removed osd.8
  [root@bgw-os-node153 ~]# ceph osd rm 9
  removed osd.9
  [root@bgw-os-node153 ~]# ceph osd rm 10
  ^[[Aremoved osd.10
  [root@bgw-os-node153 ~]# ceph osd rm 11
  removed osd.11
  5)、删除所有osd的crush map
  [root@bgw-os-node153 ~]# ceph osd crush rm osd.8
  removed item id 8 name 'osd.8' from crush map
  [root@bgw-os-node153 ~]# ceph osd crush rm osd.9
  removed item id 9 name 'osd.9' from crush map
  [root@bgw-os-node153 ~]# ceph osd crush rm osd.10
  ^[[Aremoved item id 10 name 'osd.10' from crush map
  [root@bgw-os-node153 ~]# ceph osd crush rm osd.11
  removed item id 11 name 'osd.11' from crush map
  6)、删除所有osd的认证
  [root@bgw-os-node153 ~]# ceph auth del osd.8
  updated
  [root@bgw-os-node153 ~]# ceph auth del osd.9
  updated
  [root@bgw-os-node153 ~]# ceph auth del osd.10
  updated
  [root@bgw-os-node153 ~]# ceph auth del osd.11
  updated
  7)、在ceph osd tree中删除此机器host的crush map
  [root@bgw-os-node153 ~]# ceph osd crush rm  bgw-os-node153
  removed item id -4 name 'bgw-os-node153' from crush map
  8)、卸载所有挂载在osd的硬盘
  [root@bgw-os-node153 ~]# umount /var/lib/ceph/osd/ceph-8
  [root@bgw-os-node153 ~]# umount /var/lib/ceph/osd/ceph-9
  [root@bgw-os-node153 ~]# umount /var/lib/ceph/osd/ceph-10
  [root@bgw-os-node153 ~]# umount /var/lib/ceph/osd/ceph-11
  

  3、摘掉mds
  1、直接关闭此节点的mds进程
  [root@bgw-os-node153 ~]# /etc/init.d/ceph stop mds
  === mds.bgw-os-node153 ===
  Stopping Ceph mds.bgw-os-node153 on bgw-os-node153...kill 4981...done
  [root@bgw-os-node153 ~]#
  2、删除此mds的认证
  [root@bgw-os-node153 ~]# ceph auth del mds.bgw-os-node153
  updated




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670484-1-1.html 上篇帖子: kolla 部署 ceph 下篇帖子: Ceph与OpenStack整合(与glance整合)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表