首页 > 编程知识 正文

查看ceph集群中的认证用户,ceph集群最少需要几台

时间:2023-05-06 15:19:43 阅读:51748 作者:138

Ceph的初步理解和Ceph集群构建测试常用的分布式文件系统hadoopfastdfsCephglusterfslustre (太旧) Ceph概述ceph是分布式文件系统

具有高扩展、高可用性(3358www.Sina.com/)、高性能(默认3副本存储数据 一个挂了还有两个)的特点

Ceph提供PB级别的存储容量。 此外,基于计算的平面地址设计使Ceph客户端能够直接与服务端的任何节点进行通信,从而避免了访问热点带来的性能瓶颈

Ceph的主要目标是设计为无单点故障的基于POSIX的分布式文件系统,以提供数据容错和无缝复制

Ceph是一个统一存储系统,支持传统的分布式存储数据 并发存储和读取,如SAN和NAS。 还支持块、文件存储协议,包括S3和Swift

Ceph块存储对象存储协议

块存储是存储区域网络中使用的一个数据存储类别

数据作为块存储在卷上,卷连接到节点。 由这些块形成的卷映射到操作系统,由文件系统层控制的Ceph引入了新的RBD协议(Ceph块设备)。 RBD为客户端提供可靠、分布式、高性能的块存储,并受Linux内核支持。 此外,完整增量的快照、紧凑的配置、写复制克隆和完整内存提供了磁盘阵列硬盘的优点,磁盘阵列硬盘用于缓存典型设备,并通过Raid和LVM等手段保护数据提高读写效率的缺点使用SAN体系结构构建网络时,docker容器、虚拟机磁盘存储分配日志存储文件存储… Ceph

直接在本地分区格式化出数据

Ceph文件系统直接挂载来用 通过本地Linux内核的功能或者Ceph社区提供的ceph-fuse驱动是与POSIX兼容的文件系统,使用Ceph存储群集存储用户数据。 Linux内核驱动程序支持CephFSCephFS分别存储http://www.Sina.com/和http://www.Sina.com/, Ceph文件系统库(http://www.Sina.com/)运行在RADOS库(http://www.Sina.com/)上,可为上层APP应用程序提供高性能和可靠性在http://www.Sinn群集节点上至少配置一个Ceph元数据服务器(也可使用第三方开源程序:NFS的ganesha和SMB/CIFS的Samba),其中客户机可以通过多种方式使用CephFS的典型设备——FTP和NFS服务器使用一台机器上容易共享文件的缺点读写速度低传输速度慢的场景日志存储目录结构的文件存储… Ceph对象存储Ceph是分布式对象存储系统,它是其对象网关,也就是说RADOS网关利用一个名为librgw(rados网关库)和librados (rgw )的库,允许APP应用程序连接到Ceph对象存储。 Ceph通过CephFS, 提供可访问且最稳定的多租户对象存储解决方案之一的RADOS网关接口(rest风格的API )为兼容性swift3360openstackswiftAPI提供的对象,满足以下特点要访问zons3API提供的对象存储功能Ceph的对象存储系统,还可以绕过RADOS网关层。 使用librados软件库,用户的APP应用程序可以通过c、c、Java、Python和PHP, Ceph对象存储的常见设备具有分布式服务器(s3 )优势块存储的读写共享高速文件存储等特性,具有内置大容量硬盘…使用场景图像存储视频… Ceph组件ossoftware radosgateway(rgw )对象存储网关MDSs文件系统元数据(对象存储和块存储方案不需要此组件) Client ceph客户端objectpgggs

测试前次级方案主机名IP地址client192.168.4.10/24客户端node1192.168.4.5/24存储节点服务器node2192.168.4.100/24压力

存储节点服务器

除client外将Ceph光盘挂载到/myceph目录下 都有20+20G的额外硬盘

测试 #所有机子 将ceph光盘内容挂载到/cephmkdir /cephvim /etc/fstab======================================....../dev/sr1 /ceph iso9660 defaults 0 0=========================================mount -a #测试#node1ssh-keygen -f /root/.ssh/id_rsa -N '' #生成秘钥for i in client node1 node2 node3 #/etc/hosts配置过了 或者直接打ip 全部都发>do>ssh-copy-id $i #前面不加用户名@ 默认root@>done#随着一串密码输入 发送成功#提示 主机名和/etc/hosts 里面一致vim /etc/hosts=======================....192.168.4.10 client192.168.4.100 node2192.168.4.200 node3192.168.4.5 node1===========================for i in client node1 node2 node3 #测试环境都需要域名解析>do>scp /etc/hosts $i:/etc/>donevim /etc/yum.repos.d/ceph.repo #配置cephyum源 createrepo 使rpm包们生成repodata===============================[mon]name=monbaseurl=file:///myceph/MONgpgcheck=0[osd]name=osdbaseurl=file:///myceph/OSDgpgcheck=0[tools]name=toolsbaseurl=file:///myceph/Toolsgpgcheck=0=================================for i in node1 node2 node3>do>scp /etc/yum.repos.d/ceph.repo $i:/etc/yum.repos.d/>donefor i in node1 node2 node3>do>ssh $i "yum -y install ceph-mon ceph-osd ceph-mds ceph -radosgw">done#到此完成三台节点机器的ceph yum源配置和安装#给client主机配置NTP服务器yum -y install chronyvim /etc/chrony.conf===========================...allow 192.168.4.0/24 #修改26行 运行192.168.4.0网段ip访问local stratum 10 #修改29行.....===========================systemctl restart chronyd #重启服务#node1 node2 node3 #三个节点服务器都要和客户端同步时间 测试中方便同步 实际应连公共的NTP服务器 保持时间同步(时间差距过大ceph会报错 默认0.05s)yum -y install chronyvim /etc/chrony.conf===========================server 192.168.4.10 iburst #配置NTP服务器============================systemctl restart chronydchronyc sources -v #查看下是否成功......^* client 10 6 17 1 -1832ns[ -32us] +/- 161us# ^*应该就成功了#node1 yum -y install ceph-deploy #ceph-deploy脚本 帮忙配置ceph配置文件 启动服务的#ceph-deploy --help ceph-deploy mon --help 来获取帮助mkdir ceph-clustercd ceph-cluster/ #进入工作目录ceph-deploy new node1 node2 node3 #通过ceph-deploy脚本创建ceph集群配置,在当前目录下生成ceph.conf 生成UUID 所以在配置集群之后不能再生成了(UUID唯一 发送出去了 你又重新生成 UUID自然就对不上了)ceph-deploy mon create-initial #拷贝当前目录的配置文件到所有节点的/etc/ceph/目录并启动monitors服务(开机自启)#节点Ip 已经通过上一步 ceph-deploy new xxx 写入到了ceph.conf配置文件中了#特别提示 之前为什么要用node1发送密钥给节点服务器 就是为了ceph-deploy能够正常执行#查看节点服务器服务情况 #node1systemctl status ceph-mon@node1#node2systemctl status ceph-mon@node2#node3systemctl status ceph-mon@node3#贴个node3的结果● ceph-mon@node3.service - Ceph cluster monitor daemon Loaded: loaded (/usr/lib/systemd/system/ceph-mon@.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-12-28 03:37:02 EST; 9min ago Main PID: 11961 (ceph-mon) CGroup: /system.slice/system-cephx2dmon.slice/ceph-mon@node3.service └─11961 /usr/jjdyx/ceph-mon -f --cluster ceph --id node3 --setuser ceph --setgroup cephDec 28 03:37:02 node3 systemd[1]: Started Ceph cluster monitor daemon.Dec 28 03:37:02 node3 systemd[1]: Starting Ceph cluster monitor daemon...Dec 28 03:37:03 node3 ceph-mon[11961]: starting mon.node3 rank 1 at 192.168.4.200:6789/0 mon_data /var/lib/ceph/mon/ceph-node3 fsid 83f5c0eb-3a00-4b8...675b3368fdHint: Some lines were ellipsized, use -l to show in full.#也可以使用start restart stopp status 启动重启关闭 但是30分钟只能启动3次超过会报错#StartLimitInterval=30min StartLimitBurst=3#上面两个参数决定了服务30分钟只能启3次 定义在/usr/lib/systemd/system/ceph-mon@.service里面#修改了上面那个文件 需要执行systemctl daemon-reload重新加载配置#node1 查看集群状态 也可以在node2 node3上查询ceph -s cluster 83f5c0eb-3a00-4b83-96ac-5c675b3368fd health HEALTH_ERR #集群失败了HEALTH_ERR 64 pgs are stuck inactive for more than 300 seconds 64 pgs stuck inactive no osds monmap e1: 3 mons at {node1=192.168.4.5:6789/0,node2=192.168.4.100:6789/0,node3=192.168.4.200:6789/0} election epoch 6, quorum 0,1,2 node1,node2,node3 osdmap e1: 0 osds: 0 up, 0 in flags sortbitwise pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects 0 kB used, 0 kB / 0 kB avail #共享盘为0KB 没有东西共享 64 creating#还缺少OSD提供的共享磁盘#下面开始在node1 node2 node3创建OSD 前置准备添加的40G硬盘#node1ceph-deploy disk zap node1:sdb node1:sdc #初始化磁盘 将磁盘分区格式设置为GPT模式(这条命令没加 但是脚本里面默认是GPT)ceph-deploy disk zap node2:sdb node2:sdc #可以在node1上执行 脚本通过ssh方式操作node2ceph-deploy disk zap node3:sdb node3:sdc #同上 操作node3#zap 清除参数#上面完成分区表 现在开始分区 格式化磁盘 挂载磁盘,启动osd服务共享磁盘 ceph-deploy osd create node1:sdb node1:sdc node2:sdb node2:sdbc node3:sdb node3:sdcdf -Th #查看挂载情况...../dev/sdb1 xfs 15G 35M 15G 1% /var/lib/ceph/osd/ceph-0/dev/sdc1 xfs 15G 34M 15G 1% /var/lib/ceph/osd/ceph-1#可以看见有15G被当成共享磁盘挂载了 因为5G(固定)被用来作为Journal日志缓存 剩余空间为数据盘ceph -s ceph osd tree #两种命令来查看情况 下面这个可以看清楚osd谁的#一般可以查看到health HEALTH_OK 如果HEALTH_WARN可以等等再查 或者检查下NTP服务 总结 先用ceph安装光盘文件在节点服务器上(node1~3)安装ceph-mon ceph-osd ceph-mds ceph-radosgw 四个包 mon监控包 osd存储数据包 mds元数据服务包 radosgwRADOS网关包因为ceph集群需要时间误差在0.05秒以内 所以配置了NTP服务在node1中安装ceph-deploy工具 ceph-deploy脚本需要ssh执行 所以需要发送密钥给所有节点服务器ceph-deploy new 主机名… (域名需要和个节点主机名对应上 所以需要在/etc/hosts写上对应解析 并写每个节点服务器都要设置)来生成ceph.conf配置文件ceph-deploy mon create-initial 命令读取ceph.conf配置文件来获取所有节点信息 拷贝当前目录的ceph.conf到所有节点的/etc/ceph/目录下并启动mon服务 所以UUID就固定了(并且发送出去了) 再生成配置文件就会出错(节点之间对不上)ceph-deploy disk zap 主机名:磁盘名 命令来初始化清空磁盘数据 默认设置为GPT格式ceph-deploy osd create 主机名:磁盘名 命令来创建分区 格式化 挂载 启动osd服务共享磁盘df -Th 验证是否已经挂载共享磁盘 ceph -s 查看集群状态 ceph osd tree 查看osd分别情况

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。