版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PAGE 2p. PAGE 2技术白皮书SUSE Enterprise Storage安装配置手册目录 TOC o 1-3 h HYPERLINK #_Toc465050108 1 SUSE Enterprise Storage 简介3 HYPERLINK #_Toc465050109 2 系统需求4 HYPERLINK #_Toc465050110 3 基本的Ceph集群安装4 HYPERLINK #_Toc465050111 4 旧版本升级16 HYPERLINK #_Toc465050112 5 操作Ceph集群22 HYPERLINK #_Toc465050113 6 Cephx 验
2、证35 HYPERLINK #_Toc465050114 7 数据管理46 HYPERLINK #_Toc465050115 8 缓存分层54 HYPERLINK #_Toc465050116 9 纠删码59 HYPERLINK #_Toc465050117 10 使用ceph作为后端的QEMU KVM实例61 HYPERLINK #_Toc465050118 11 在ceph下使用libvirt64 HYPERLINK #_Toc465050119 12 快照68 HYPERLINK #_Toc465050120 13 Ceph RADOS Gateway73 HYPERLINK #_Toc
3、465050121 14 Ceph iSCSI Gateway94 HYPERLINK #_Toc465050122 15 集群文件系统119 HYPERLINK #_Toc465050123 16 常见问题及解决方案122 HYPERLINK #_Toc465050124 词汇表153 HYPERLINK #_Toc465050125 A Salt State (SLS) 文件样例154 HYPERLINK #_Toc465050126 B 手动安装Ceph的步骤样例161p. PAGE 164 SUSE Enterprise Storage 简介1.1 简介Ceph 是分布式存储解决方案,
4、具有扩展性,可靠性和高性能。与传统的使用分配表存取数据的方式不同,Ceph使用pseu-random data distribution功能存储数据,可以减少存储中要求的查询次数。数据存储在智能的对象存储设备(OSDs)上,它可以自动执行数据管理任务,如数据分配,数据复制,故障点监测和恢复。Ceph 具有自动管理和自动修复功能,可以降低管理和预算成本。Ceph系统具有如下功能:Controlled, Scalable, Decentralized Placement of replicated Data using CRUSHCeph使用CRUSH(Controlled Replication
5、 Under Scalable Hashing)map算法,可以有效的将数据分配在OSDs上。与传统的数据分配表查询不同,该算法产生分配数据偏移量来定位数据存储位置,可以减少存储和client之间的通信。client可以根据CRUSHmap和元数据(如对象名称,字节偏移量)将数据存储在OSD上。CRUSH维护设备结构和复制归置策略。当添加新设备时,原有节点上的数据迁移到新设备上,通过优化数据分配来均衡工作负载和数据可恢复性。作为复制归置策略的一部分,CRUSH可以增加设备weight,所以一部分设备具有比其他设备更高的优先级。为取得总体更佳的性能,可以提高固态设备(SSD)的weight,降低
6、传统硬盘的weight。SCRUSH诣在优化分配存储数据,有效利用存储设备。SCRUSH支持如下数据分配方式:N-way 复制(mirroring)RAID parity schemes纠删码Hybrid方式,如RAID-10Reliable Autonomic Distributed Object Storage (RADOS)OSDs可以智能的自动执行数据复制,自动管理,和自动恢复。写入Ceph存储的数据默认会在OSDs间进行复制。复制的级别和类型是可以配置的。为防止故障,CRUSHmap会更新,数据写进新的(复制的)OSDs中。OSDs可以智能的进行数据复制,数据迁移,故障点监控和恢复。
7、这些任务可以自动的,自主的执行。OSDs也允许为不同的I/O创建资源池。Replicated Monitor Servers监控服务器会监测系统中所有的设备,管理CRUSHmap。任何一个OSD发生了故障,CRUSH map会重新产生映射表,将数据分配给其他的OSD设备。通常,建议配置多台监控服务器,以提高冗余性和可恢复性。1.2 附加信息Ceph作为社区项目,有自己的在线文档。对于本文未提及的主题,可参考 /docs/master/ 系统需求存储节点和monitor节点的推荐配置如下2.1 存储节点的最小配置每个OSD 2GB RAM每个OSD 1.5GHz core独立的10GbE网络OS
8、D磁盘配置成JBODOSD磁盘由SUSE Enterprise Storage专用分配给操作系统的专用磁盘(SSD),推荐RAID1配置如果使用缓存分层,需要额外的4GB RAM2.2 monitor节点的最小配置推荐3个monitor节点每个存储节点 2GB RAMSSD或高速硬盘,配置成RAID1如果部署少于7个节点,控制节点可以安装在OSD节点的磁盘上考虑到性能因素,节点要求是裸的,没有虚拟化的不支持把控制节点安装在混合OSDs或者有实际工作负载的节点上推荐的配置会根据性能需求和个体容量而变化,经常会超出绑定的网卡接口做冗余2.3 命名规则Ceph 配置文件,资源池命名里,以及用户命名等
9、通常不支持non-ASCII。配置Ceph集群时,推荐使用简单的字符(A-Z,a-z,0-9)和最小的连接符(.,-,_)。 基本的Ceph集群安装ceph集群的步骤。当前支持如下两种方式的部署:3.1节,用ceph-deploy部署3.2节,用Crowbar部署3.1 用Ceph-deploy部署3.1.1 Ceph布局对于测试环境,最小的Ceph集群可以部署在一个单独的节点上。然而,对于生产环境,推荐最少4个节点的配置:1个管理节点和3个集群节点,每个集群节点上运行1个监控进程和若干OSD进程(OSDs)图3.1:最小的Ceph配置提示:尽管ceph节点可以使用虚拟机,但在生产环境下强烈推
10、荐使用真实的物理机3.1.2 网络建议运行Ceph的理想网络环境,是绑定至少2个网卡接口做冗余,并在逻辑上使用vlan技术划分为公共网络(public)和内部网络(internal)。推荐使用Bonding模式 802.3ad,以提供最大带宽和可恢复性。Public VLAN用于向client提供服务,internal VLAN用于Ceph集群内部网络通信。主要原因是尽管ceph有验证和保护机制,可配置/产生keys的消息流是公开并且脆弱的。提示:用DHCP配置节点如果使用DHCP配置存储节点,在默认的超时时间范围内,也许不能保证ceph守护进程启动之前配置好网络,那么Ceph的MONs和OS
11、Ds将不能正确启动(运行 systemctl status ceph* 会报出“unable to bind”错误),Calamari 也许不能够显示图形。为避免这样的问题发生,推荐提高DHCP的超时时间,使得存储集群中每个节点的超时时间达到至少30秒。在每个节点上,按照下面的方式修改配置:在/etc/sysconfig/network/dhcp里设置在/etc/sysconfig/network/config里设置3.1.3 准备每个Ceph节点部署Ceph集群之前,使用root用户在每个ceph节点上执行如下步骤:1. 安装SUSE Linux Enterprise 12 SP1, 并安装
12、 SUSE Enterprise Storage extension。它提供了运行ceph所需软件的软件库。关于extension安装的更多信息,参考/documentation/sles-12/book_sle_deployment/data/cha_add-ons.html重要:使用Ceph 用户和组执行ceph命令SUSE Enterprise Storage version 3.0里,使用Ceph用户和组来执行ceph命令,默认UID/GID 167。如果UID/GID 167在集群中不存在,需要手动创建一个ceph 用户和组。更多信息,参考4.2.1节 “ceph 用户和组”。2.
13、检查防火墙状态如果防火墙开启,用如下指令关闭防火墙或者,如果要保持防火墙开启,使能特定的端口。详情参考16.13.2节 “ceph防火墙设置”。3. 确保网络设置正确:每个ceph节点可以路由到所有其他的ceph节点,并且每个ceph节点要能够通过短主机名(没有域名后缀)解析其他ceph节点。如果这两个条件不满足,ceph失败。4. 安装并设置NTP-时间同步工具。强烈推荐在ceph集群中使用NTP工具。原因是ceph守护进程传送重要消息给其它节点,该过程必须在守护进程达到超时阈值之前完成。如果ceph monitor节点中的时钟不同步,会导致异常,如守护进程武略到收到的消息。尽管使用了NTP
14、也可能会发生时钟漂移,但不影响ceph运行。使用如下命令安装NTP配置NTP,YaSTNetwork ServicesNTP Configuration。确保启动NTP服务。5. 安装SSH服务。Ceph使用SSH登录所有集群节点。确保SSH安装 (zypper in openssh)并启动(systemctl enable sshd.service & systemctl start sshd.service)。6. 添加cephadm用户,并设置密码。管理节点会使用cephadm用户登录ceph节点7. 管理节点需要使用SSH免密码登录到所有ceph节点。当ceph-deploy使用cep
15、hadm用户登录到1个ceph节点中时,这个用户必须拥有免密码sudo权限。编辑/etc/sudoers文件(visudo),给cephadm用户添加sudo权限提示:执行ceph-deploy命名也许会收到报错。如果默认设置了quiretty,停掉它,执行sudo visudo 并定位到 Default requiretty。修改为Defaults:cephadm !requiretty ,确保ceph-deploy可以使用cephadm用户执行sudo 命令。8. 在管理节点上,使用cephadm用户,并免密码SSH登录到所有其他ceph 节点:按照默认答案回答问题即可。把key复制到每个
16、ceph节点上:提示:使用其他用户而非cephadm运行ceph-deploy,也是可行的。但需要在/.ssh/config文件中设置SSH别名。修改之后,ssh ceph-node1。3.1.4 清除之前的ceph环境在部署ceph过程中遇到问题,需要重新部署ceph的时候,或者想确保之前所有ceph的配置都已经移除,使用cephadm用户执行下面指令来清除之前ceph的配置。警告:清除之前的ceph安装会销毁存储的数据和访问设置。3.1.5 运行ceph-deploy按照3.1.3节准备好每个ceph节点后,准备从管理节点用ceph-deploy命令部署ceph。注意,ceph-deplo
17、y不支持在之前已经被使用的磁盘上安装OSD,除非先“zap”它们。小心“zapping”会删除整个磁盘上的内容:1. 安装ceph和ceph-deploy:2.停止IPv6。打开/etc/sysctl.conf,修改如下,并重启管理节点3. 不推荐使用root用户运行ceph-deploy,切换到cephadm用户:4. 运行ceph-deploy在每个节点上安装ceph:提示:ceph-deploy生成的重要文件都存放在当前目录下。最好在一个空目录下运行ceph-deploy。5. 设置monitor节点。创建keys和本地配置。keys用于验证和保护ceph节点之间的通信。在这步中,cep
18、h-deploy创建了本地配置文件。推荐检查当前目录下的配置文件。提示:不同网段下的monitor节点如果monitor节点不在同一个网段,需要修改ceph.conf文件。例如,如果节点IP如下:在ceph.conf的global section中添加下面一行可能会遭遇IPv6网络问题,修改IPv6 mon_host设置,例如插入IPv4网址6. 在已经创建的monitor节点上创建初始的monitor服务:7. 每一个需要运行ceph命名行工具的节点都需要复制一份admin的keyring。复制admin的keyring到一个或者一组节点,运行重要:由于client.admin的keyrin
19、g文件只有root用户可读,需要使用sudo运行ceph命令。8. 检查防火墙状态如果防火墙关闭,检查它的配置并开启防火墙创建OSD守护进程。尽管使用一个目录作为存储节点,但推荐创建一个单独的磁盘分配给ceph节点。查询这个磁盘设备名称,执行如下命令其中vdb磁盘没有分区,最有可能是新创建的磁盘。配置该磁盘:提示:如果磁盘已经使用了,添加zap选项注意zapping会清除整个磁盘的内容。提示:OSDs默认并且唯一支持的文件系统是xfs激活OSD:提示:合并ceph-deploy osd prepare和ceph-deploy osd activate两个功能,使用ceph-deploy osd
20、 create测试集群性能,执行:提示:用ceph-deploy安装集群如果不使用默认的集群名字(cluster),需要用选项cluster指明,然后在每个ceph-deploy命令中指明关联的集群提示:SUSE不支持使用非默认的集群名字3.2 用Crowbar部署Crowbar是创建部署的一个框架,可以在短时间内将裸机基点集成到集群中。部署过程包括:1. 安装并配置crowbar 管理节点;2. 用它来部署OSD/监控节点。3.2.1 安装并配置crowbar管理节点Crowbar管理服务器是一个独立的主机,安装SUSE Enterprise 12 SP1系统,并且与要部署的ceph存储/监
21、控节点处于同一网络。配置crowbar管理服务器,通过TFTP协议和PXE网络启动,向ceph集群提供软件库。1. 在crowbar管理服务器上安装并注册SUSE Enterprise 12 SP1。同时,也可以安装SUSE Enterprise Storage 3 extension软件。提示:crowbar管理服务器不需要图形接口。为节省系统资源和磁盘空间,安装最小的系统即可。如果要安装SUSE Enterprise Storage 3 extension,需要从software selection和system tasks中安装SUSE Enterprise Storage Crowba
22、r组件。如果要跟SMT同步软件库,还需要添加Subscription Management Tool组件。2. 为crowbar管理服务器配置网络。要分配给管理服务器一个静态的IP地址,和一个包括域名在内的全主机名(例如)。用hostname -f检验主机名是否正确解析。由于crowbar管理服务器使用自己的dhcp,所以需要停掉集群所处的本地网络中的DHCP服务器。提示:crowbar管理服务器默认IP地址为0。如果采用默认IP地址,后面的网络配置中会方便一些。3. 配置NTP,保持服务器同步。4. 确保SSH已经处于使能并且启动的状态。5. 安装并注册 SUSE Enterprise St
23、orage 3 extension(如果在步骤1中没有做)。在YaST中安装SUSE Enterprise Storage Crowbar组件,也可以用命令行,执行sudo zipper in -t pattern ses_admin6. 挂载ceph节点部署时所需的软件库。7. 如果需要进一步定制化crowbar管理服务器的配置,参考”crowbar 配置”章节。8. 执行 install-ses-admin脚本来完成crowbar管理服务器的配置。这个脚本会输出很多信息到文件/var/log/crowbar/install.log中,可以辅助查错。考虑安全性,可以在screen环境中执行这
24、个脚本,因为在脚本运行过程中可能会因为网络重新配置而中断。9. 脚本运行成功后,可以通过浏览器来登录crowbar管理服务器。(默认是 HYPERLINK 0 0 ) 准备软件库Crowbar管理服务器需要给ceph节点提供几个软件库,ceph节点才能通过PEX启动的方式安装所需的补丁包。这些软件库需要挂载/同步到目录/srv/tftpboot/suse-12.1。基于X86_64架构的描述如下。提示:同步软件库。有若干方式提供软件库。例如,可以运行本机SMT实例,同步软件库,通过NFS或者挂载的方式输出到crowbar管理服务器。/srv/tftpboot/suse-12.1/x86_64/
25、install这个目录需要包含SLES 12 SP1 DVD #1的内容。Ceph节点需要它来安装基本的SLES 12 SP1。可以采用挂载.iso文件的方式,或者用rsync拷贝。/srv/tftpboot/suse-12.1/x86_64/repos/SLES12-SP1-PoolSLES 12 SP1的基本软件库。/srv/tftpboot/suse-12.1/x86_64/repos/SLES12-SP1-UpdatesSLES 12 SP1的更新软件库。/srv/tftpboot/suse-12.1/x86_64/repos/SUSE-Enterprise-Storage-3-Poo
26、lSES3的基本软件库。/srv/tftpboot/suse-12.1/x86_64/repos/SUSE-Enterprise-Storage-3-UpdatesSES3的更新软件库。3.3.2 部署ceph节点关于部署OSD和监控节点的综述,参考SUSE OpenStack Cloud Deployment Guide 文档中的Installing the OpenStack Nodes章节。提示:在crowbar web界面中,与SUSE OpenStack Cloud不同,可以通过Barclamps SUSE Enterprise Storage访问ceph barclamp。用它来部
27、署ceph。3.3 用salt部署警告:技术预览。Salt作为技术预览,在SUSE Enterprise Storage 3中并不支持。Salt是一组辅助部署和管理服务器基础设施的组件,具有可扩展性,快速,运行简单的特点。 在使用salt部署集群之前,考虑如下问题:Salt master是控制整个集群部署的主机。管理分配所有salt master服务的主机资源。不要在运行salt master的主机上安装cephSalt minions 是被Salt master控制的节点。在ceph环境中,Salt minion是一个典型的OSD或者monitor。Salt minions要能够解析salt
28、 master的主机名称。默认的,寻找salt作为主机名。因此,推荐设置salt master的主机名为salt。用salt 部署ceph集群的步骤:1. 集群的每一个节点都要安装SUSE Linux Enterprise Server 12 SP1和SUSE Enterprise Storage 3 extension。2. 安装salt master:3. 给每个想加入到ceph集群的节点安装salt minions4. 将所有salt minions连接到Salt master。如果salt master通过DNS名字salt不可达,需要在每个salt minion节点上修改/etc/s
29、alt/minion文件,如下5. 设置saltkeysa. 启动所有salt minionsb. 启动salt masterc. 接受来自minions的keys提示:salt minions和salt master都有一个keys来做基于对称keys的通信。Master必须接受携带该该对称keys的minions,拒绝带有其他keys的minions6. 安装salt-ceph软件包7. 将ceph的运行接口分配给minions提示:使用*表示所有可控的minionsCeph目录会同步到其他所有节点。测试结果:如果无返回结果,检查并重复测试步骤。8. 在salt master上创建一个目录
30、9. 将ceph.conf拷贝到新目录/srv/salt/osceph/中。注意monitor主机名和IP地址的顺序很重。10. 在client节点上安装ceph11. 在指定节点上安装RADOS GATEWAYS12. 为集群中的每种服务类型创建keys,如OSD,monitors,或者MDS,并且在SLS文件中使用它们:13. 提示:salt 使用salt state文件。SLS文件使用特殊的简单语法。可以使用一个通用文文件,或者分割不同的逻辑部分,并在主文件中包含它们。将一个SLS文件样例按需求修改,并拷贝到/srv/salt目录:14. 按照修改的SLS文件配置ceph。提示:如果在这
31、一步遇到问题,可能是设置的原因,如果磁盘数量。可以尝试编辑cluster_buildup.sls文件现在应该有一套在运行的ceph了。提示:卸载ceph。将cluster_teardown.sls文件拷贝到/srv/salt中回到/srv/salt中,运行3.4 安装CalamariCalamari是ceph存储集群的管理监控系统,提供web通信界面,使得ceph集群监控更加简单。安装calamari,使用root用户运行下面命令:1. 安装calamari的client部分2. 初装calamari,会提示输入superuser的用户名和密码。该用户名和密码用于之后登陆web界面。3. 检查
32、防火墙状态如果防火墙关闭,检查配置并开启防火墙4. 提示:确保calamari正常工作,需要在每个monitor节点上安装admin keyring:mon1, mon2, or mon3 是monitor的主机名打开web浏览器,输入安装calamari服务器的IP地址/主机名,输入用户名和密码,一个欢迎界面出现,指导你输入ceph-deploy calamari connect命令。在calamari主机上开启一个终端,输入如下命令。-master选项指明了所有集群节点需要连接到的calamari服务器的主机名。命令运行成功后,重载web浏览器。现在你可以监控ceph 集群,OSD,poo
33、ls,等重要:calamari表盘界面显示当前集群的状态。周期性更新,所以集群状态的任何变化,例如一个节点下线了,会在几秒钟之内在表盘里显示出来。Health版面有一个计时器显示calamari最后一次监控到心跳信息到现在的时间。通常,不会超过一分钟,但在某种故障情况下,网络故障或集群故障(超过一半的监控节点宕机),calamari将不再决定集群状态。这种情况下,health版面会显示距离最后一次更新超过1分钟。太久没有更新之后,calamari在界面顶端发出告警“Cluster Updates Are Stale. The Cluster is not updating Calamari”。
34、这种情况下,calamari展示的其他状态信息也是错误的,需要进一步排查故障。提示:也许会有之前安装calamari的残留。如果登录进calamari,发现一些节点已经加入或者注册了,在calamari主机运行下面指令,触发salt运行,可以清除残留。也推荐从之前安装的calamari中删除文件,如状态文件,配置文件,或者数据库文件等。最少删除下面这些目录的文件:/etc/calamari/etc/salt/etc/graphite/var/*/salt/var/lib/graphite/var/lib/pgsql/ 旧版本升级本章节主要介绍了从SUSE Enterprise Storage从
35、纠版本升级到新版本的步骤。4.1 通用升级步骤在升级ceph集群之前,需要将新版本的SUSE Enterprise Storage软件添加进操作系统,并在集群的每个节点将软件升级到最新版本。可以在线升级集群中的守护进程。特定类型的守护进程依赖于其他的守护进程。例如Ceph RADOS Gateways依赖于Ceph monitors和Ceph OSD daemons。推荐如下升级顺序:1. Ceph monitors. 2. Ceph OSD daemons. 3. Ceph RADOS Gateways.提示:推荐升级某一类型的所有守护进程 。例如,所有monitor的的守护进程或者所有OS
36、D的收据进程。按顺序确保它们都在相同的发布版。推荐在将集群中所有的守护进程升级后,在尝试版本的新功能。确保所有的监控节点在升级之后都加入到集群中:确保所有集群的OSD守护进程在升级之后都加入到集群中:1.检查是否最新的补丁已经安装在SUSE Linux Enterprise服务器上。2.安装SUSE Enterprise Storage extension,YaST Software Add-On Products Add3.添加新产品后,更新安装的软件库。4.将软件升级到最新版5. 最后一个集群节点升级后,检查集群状态 4.2 从SUSE Enterprise Storage 2.1升级到3
37、本章介绍了从SUSE Enterprise Storage 2.1升级到3的步骤。基本的升级步骤是安装ses-upgrade-helper软件包,在每个ceph节点(管理节点除外)用root用户运行upgrade-to-ses3.sh脚本。脚本可以在线运行。升级过程中会触发一些告警。4.2.1 ceph用户和组SUSE Enterprise Storage 3,ceph守护进程(MON, OSD, MDS, RGW)是在在非特权用户ceph下运行的。这跟之前的版本比较是一个重要的变化,之前的版本(除了RGW)都是在root下运行的。由于ceph用户可能在当前的节点上存在,所以在安装SUSE E
38、nterprise Storage 3之前需要删除或重命名这个用户。推荐在所有节点包括管理节点重命名为cephadm。在集群节点上,upgrade-to-ses3.sh脚本会检查这个问题。在管理节点上,可以手动执行:在产品升级过程中,一个新的ceph用户和组会创建,默认UID/GID为167.吐过GID/UID167不存在,那么第一个GID/UID就是你在创建ceph用户和组的时候产生的。这会造成节点间OSD磁盘移动的复杂性,最好在集群层面为ceph用户和组创建一个GID/UID。但这仅限于GID/UID 167被其他的用户组占用。4.2.2 修改/var/lib/ceph属主Ceph守护进程
39、在/var/lib/ceph中保存它们的状态。在SUSE Enterprise Storage 1,2和2.1中,守护进程属主为root,/var/lib/ceph的属主也是root。从之前任何一个版本升级到版本3,都需要改变属主,以确保升级后的守护进程可以访问目录树。在升级ceph相关的软件包之前,确保在/etc/sysconfig/ceph中CEPH_AUTO_RESTART_ON_UPGRADE 设置为no。升级ceph相关的软件包之后,不要重启ceph.target。在每个节点上执行下面步骤:1. 停止SUSE Enterprise Storage 2.1守护进程2. 修改/var/l
40、ib/ceph属主3.启动SUSE Enterprise Storage3守护进程提示:如果使用ses-upgrade-helper软件包里的upgrade-to-ses3.sh脚本,则不需要执行上面的步骤。4.2.3 修改RADOS Gateway实例名字在SUSE Enterprise Storage 2.1或者之前,ceph-deploy用radosgw作为RADOS Gateway实例的前缀,并且这个前缀作为硬代码写在systemd文件中。在SUSE Enterprise Storage 3中,这个前缀不再作为硬代码写在systemd文件中。为确保平滑升级,升级前有必要停止RADOS
41、Gateway服务(没有前缀的实例名字),升级之后使用完整实例名字启动它。换句话,升级RADOS Gateway节点之前,升级之后:如果使用ses-upgrade-helper包中的upgrade-to-ses3.sh,这个脚本会解析ceph.conf文件,并自动执行上面的指令。4.2.4 RADOS Gateway日志文件在SUSE Enterprise Storage 2.1,每个RADOS Gateway实例有个一命名段client.radosgw.instance_name在文件/etc/ceph/ceph.conf中,其中instance_name就是RADOS Gateway实例的
42、名字。这个段包含了RADOS Gateway特殊配置参数,其中之一是:SUSE Enterprise Storage 3中,RADOS Gateway不再将日志记录在/var/log/ceph-radosgw中,而是跟其它ceph守护进程的日志一起记录在/var/log/ceph中。upgrade-to-ses3.sh升级脚本从/etc/ceph/ceph.conf删除了这一行。如果你手动升级,需要执行上面的修改。升级之后,RADOS Gateway实例在/var/log/ceph中记录日志,跟其它的ceph守护进程一样。它们的日志文件保存机制在/etc/logrotate.d/ceph中。4
43、.2.5 CRUSH Tunables在升级过程中,集群可能会变成HEALTH_WARN状态,并提示legacy tunables。可以忽略,SUSE Enterprise Storage 3集群运行时可以恢复。如果SUSE Enterprise Storage 3集群运行后,仍然提示legacy tunables。有如下3个选择:选择1:抑制这个告警。可以保持legacy tunables,并抑制告警。在ceph.conf mon段:重启monitor,使其生效。或者:选择2:保守调整tunables。调整tunables会导致一些数据移动,会影响集群性能。选在在集群负载不大的时候,执行:但
44、这也许不是最终最好的,一些client和内核也许会跟新的tunables不兼容。选择3:优化tunables设置警告:不推荐,有风险如果确定所有的client和内核支持最新的tunables,可以迁移集群:提示:由于调整CRUSH tunables会引起严重的数据移动,因此在集群负载较低的时候执行。4.2.6 Calamari服务器升级升级Calamari服务器:1.在calamari所在的节点上停止salt master2.检查没有死掉的salt-master进程:3.启动salt master4.2.7 iSCSI Gateway的更新rbd_name是后向兼容的选项。从SUSE Ente
45、rprise Storage 3开始,默认使用新安装时不要使用下面的选项:类似,wwn_generate会使用原来的目标模板和镜像名字来设置vpn_unit_serial。当前默认使用新安装时不要使用下面选项:更多信息,查阅/usr/share/doc/lrbd/README.migration。4.3 从SUSE Enterprise Storage 1升级到24.3.1 从Apache到Civetweb的迁移SUSE Enterprise Storage 1.0使用Apache作为应用服务器供RADOS Gateway的client/服务器通信,SUSE Enterprise Storag
46、e 2引入新的应用服务器叫Civetweb。Civetweb是轻量级嵌入式web服务器,简化RADOS Gateway的配置。SUSE Enterprise Storage 2的RADOS Gateway依然可以使用APACHE,会在未来结束。可以手动迁移到Civetweb,或使用ceph-deploy。1.检查apache是否在运行2.停止apache3. 停止apache自动启动的功能4.编辑/etc/ceph/ceph.conf,添加:5. 重启RADOS Gateway:使用ceph-deploy做迁移:1.列出RADOS Gateway实例,获取实例名字2.删除要迁移的存在的RADO
47、S Gateway实例3.创建基于RADOS Gateway实例的新的CivetWeb提示:如果需要部署基于RADOS Gateway的apache,添加cgi选项提示:Apache默认监听80端口。如果要部署在其他端口,需要手动修改。编辑/etc/apache2/listen.conf,注掉Listen 80这一行,重启服务 操作Ceph集群本章介绍了集群的基本操作,如启动停止ceph服务,监控集群状态,使用修改crush map,管理pool。5.1 操作ceph服务Ceph相关的服务由systemctl命令操作。操作发生在当前登录的节点,需要使用root权限操作ceph服务。所有的cep
48、h服务都支持下面的子命令:可以一次操作所有ceph服务,或者某种类型所有的ceph服务(例如OSD或者monitor),或者指明实例名字的服务。5.1.1 操作所有的ceph服务同时操作所有的ceph服务,运行:提示:systemctl不能操作没使能,没标识以及从未启动过的服务。查看节点上所有呈现的服务,使用rcceph5.1.2 操作某种类型的所有ceph服务可以操作某种特定类型的ceph服务,如OSD,monitors,或者RADOS Gateway打印所有monitor服务的状态启动所有OSD服务停止所有RADOS Gateway服务5.1.3 操作某种类型的ceph服务如果在一个节点上
49、操作一个单独的服务,需要知道它的实例的名字。可以用systemctl status ceph* 查看。打印实例名字带有0的所有OSD服务的状态5.2 确认集群状态可以使用ceph工具监控集群。决定集群状态通常会包含检查OSD状态,monitor状态,归置组状态和元数据服务器状态。提示:通信模式下运行ceph工具,输入ceph。在同一行输入更多ceph命令,通信模式更简洁。如:5.2.1 检查集群健康启动集群后,读写数据前,检查集群健康状态。如果没有默认指定的配置文件或keyring的位置,需要手动指定:启动集群,可能会遇到警告如HEALTH_WARN XXX num placement gro
50、ups stale。等几分钟后再检查。当集群正常运行时,ceph health会返回HEALTH_OK。这个时候,集群才是正常的。5.2.2 监控集群监控集群发生的事件,打开一个终端,输入:Ceph会打印出每个事件。如,一个小集群包括1个monitor,2个OSDs,也许会输出:输出了如下信息:集群ID集群健康状态monitor map和monitor状态OSD map和OSD状态归置组映射版本归置组和资源池数量理论数据量和对象数量总的数据存储量提示:cpeh如何计算数据使用量。Used反应的是实际的数据存储量。xxx GB / xxx GB指集群中可用的存储空间。理论值指的是存储的数据在复制
51、,克隆或者做快照之前的值。因此,数据总量通常会超过理论值,因为ceph创建数据复制,也许还会使用空间容量做克隆和快照。5.2.3 查看集群使用量状态查看集群数据量和数据分配,可以使用df选项。GLOBAL段显示了集群存储使用量的一个概况。SIZE:总的集群存储量AVAIL:集群中可用的存储空间RAW USED:原始数据占用的空间%RAW USED:原始数据占用空间的比例POOL段显示一组pool和每个pool的理论可用值。输出不反应复制,克隆或者快照。例如,你村一个1MB的数据,理论占用空间为1MB,单实际占用空间也许是2MB或者更多,取决于复制克隆和快照的数量。NAME:pool名字ID:p
52、oolIDUSED:数据占用空间的理论值。默认单位为KB%USED:每个资源池数据占用空间的比例OBJECT:每个资源池存储对象的理论数量提示:POOL段中的数字都是理论的。它们不包括复制,快照或者克隆。5.2.4 检查集群状态检查集群状态通信模式,输入status,回车Ceph会打印集群状态。如,1个集群,包括1个monitor和2个OSDs5.2.5 检查OSD状态检查OSD状态查看OSD在 CRUSH map中的位置5.2.6 检查monitor状态如果集群中有多个Monitor,在启动集群后读写数据前,要检查monitor数量状态。多个monitors运行,必须能看到monitor的数
53、量。可以周期性的检查monitor,确保运行正常。查看monitor状态查看monitor数量5.2.7 查看归置组状态归置组从对象映射到OSDs。当监控归置组时,要保证他们是active和clean的。更多信息,参考Monitoring OSDs and Placement Groups. ( HYPERLINK /docs/master/rados/operations/monitoring-osd-pg /docs/master/rados/operations/monitoring-osd-pg)5.2.8 使用Admin SocketCeph Admin Socket允许通过sock
54、et接口查询守护进程。默认的,ceph socket在/var/run/ceph。通过socket接口访问守护进程,登录到运行该进程的节点:查看admin socket详细指令Ceph Admin Socket指令可以实时显示和修改配置。你实时设置配置参数。5.3 管理pool初始部署集群,ceph使用默认pool存储数据。pool可以提供:组织在pool的数据,可以创建,列出和删除pool。可以查看每个pool的使用量。5.3.1 操作pool 列出pool 创建pool创建副本pool创建纠删码池创建一个pool,设置配置组一个合理的值。考虑每个OSD的配置组数量。配置组会影响性能,所以配
55、置组的设置也取决于OSD的性能。 设置pool的容量可以设置pool的容量,最大字节数,或者最大对象数删除容量值,可以设置为0. 删除pool如果在创建的pool的时候也创建了rule和rulesets,这些相关的rule和ruleset都会被删除。 重命名pool如果这个pool对应相关权限的用户,需要更新用户对这个新pool的权限。 展示pool数据 为pool创建快照 删除pool快照 设置pool值也可以设置如下参数:5.3.10 获取pool值可以在中获取key列表,以及如下值:1 设置对象复制数在一个复制pool中设置对象复制数重要:num-replicas包括对象自己。例如,想得
56、到一个对象和两个拷贝。莹白设置3。例如:提示:对象也许可以接受比pool size更小的降级模式的I/O。为I/O设置可以接受最小的副本数,使用min_size。例如:2 获得对象复制数Ceph会列出pool,replicated size会标亮。默认为1个对象创建2个副本。 Cephx 验证为验证client以及防止攻击,ceph提供了cephx验证系统。这里的client指的时用户如管理员,或者ceph相关的服务/守护进程,如OSDs, monitors,或者RADOS Gateways。注意:cephx协议在传输中不会对数据加密,像SSL/TLS等6.1 验证架构Cephx使用共享key
57、s做验证,client和监控集群有一份client的keys。提供了相互验证的机制,集群确认每个用户拥有keys,用户确认集群也有keys的拷贝。Ceph的keys扩展功能可以避免对ceph对象存储的集中接口。Cephclient可以直接跟OSDs通信。为保护数据,ceph提供了cephx验证系统,验证client。每个monitor可以验证client并分配keys,使用cephx没有单点故障或瓶颈。Monitor返回一个验证数据结构,包括在获取ceph服务中使用的key。这个key本身是用client永久secret key加密的,所以client只能从ceph monitor中请求服务。
58、Client 使用session keys从monitor中请求服务,monitor提供一个ticket来验证从client到OSDs。Ceph monitor和OSDs共享secret,client使用ticket跟OSD或者metadata server通信。Cpehx tickets过期,攻击正不能使用一个过期的ticket或者session key。使用cephx,管理员必须先建立client/users。下图中,client.admin用户调用ceph auth get-or-create-key来产生用户名和secret key。Ceph de auth子系统产生用户名和key,存
59、档monitor的拷贝,并返回用户的secret给client.admin用户。Client和monitor共享一个secret key。Client 将用户名传递给monitor做验证。Monitor产生一个session key并用用户名相关的secret key加密,并回送这个加密的ticket给client。Client用共享的secret检索session key。这个session key在当前的会话中鉴别用户。Client请求一个用户相关的ticket,由session key签字。Monitor 产生一个ticket,用用户的secret key加密,并回送给client。Cl
60、ient 解密这个ticket,使用它访问OSD和metadata server。Cephx 协议验证client和ceph server之间的通信。每条通信信息都会使用一个monitor,OSDs,和metadata server能验证的ticket。重要:ceph client 和ceph server之间通过验证提供了保护机制。验证不能超越ceph client。如果用户访问ceph client从远程主机,ceph验证不适用。6.2 keys管理本章描述了ceph client与client存储之间的验证和授权。用户是指向应用程序这样的终端,使用ceph client 跟ceph 存储
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福州产发园区运营管理有限公司项目运营合同制用工招聘3人备考题库(完整版)附答案详解
- 2026浙江宁波东钱湖旅游度假区某国有企业招聘派遣制工作人员备考题库及完整答案详解(历年真题)
- 2026新疆博尔塔拉蒙古自治州华棉棉业有限责任公司招聘1人备考题库含完整答案详解【必刷】
- 2026上半年北京事业单位统考市人力资源和社会保障局招聘5人备考题库【考点梳理】附答案详解
- 2026江苏南京师范大学专业技术人员招聘10人备考题库带答案详解(达标题)
- 2026云南玉溪市计划生育协会城镇公益性岗位招聘1人备考题库及参考答案详解(达标题)
- 汉江实验室2026届校园招聘备考题库含答案详解(综合卷)
- 成都市大邑县2026年公开考试招聘中小学教师(44人)考试参考试题及答案解析
- 2026中国电信福建公司春季校园招聘备考题库【b卷】附答案详解
- 西南证券股份有限公司2026届春季校园招聘备考题库及参考答案详解(夺分金卷)
- 公路施工路基、桥梁施工台账模板
- 地质灾害与防治课件
- 世界水日中国水周知识竞赛试题及答案,世界水日中国水周线上答题活动答案
- 安徽医学高等专科学校2021年校考真题
- GB/T 42195-2022老年人能力评估规范
- YS/T 1018-2015铼粒
- GB/T 4450-1995船用盲板钢法兰
- GB/T 19812.3-2017塑料节水灌溉器材第3部分:内镶式滴灌管及滴灌带
- 110kV瓮北变110kV间隔扩建工程施工组织设计
- 听力检查及结果分析
- 电极的植入技巧-OK课件
评论
0/150
提交评论