建设网站目的微信里的小程序在哪
news/
2025/10/9 7:31:23/
文章来源:
建设网站目的,微信里的小程序在哪,微信云开发平台,移动端商城网站开发存储基础
存储设备 DAS#xff1a;IDE、SATA、SCSI、SAS、USBNAS#xff1a;NFS、CIFSSAN#xff1a;SCSI、FC SAN、iSCSI 存储内容包括元数据和数据#xff0c;名称节点#xff08;NameNode#xff09;存放元数据#xff0c;数据节点#xff08;DataNode#xff09…存储基础
存储设备 DASIDE、SATA、SCSI、SAS、USBNASNFS、CIFSSANSCSI、FC SAN、iSCSI 存储内容包括元数据和数据名称节点NameNode存放元数据数据节点DataNode存放实体数据。 元数据节点通常将随机IO转换为顺序IO进行存取参考redis的AOF机制。 高可用 主从复制或者冗余备份
Ceph
Ceph是一个对象式存储系统它把每一个待管理的数据流切分为一到多个固定大小的对象数据并以其为原子单元完成数据存取。对象数据的底层存储服务是由多个主机组成的存储集群该集群也被称之为RADOSReliable Automatic Distributed Object Store存储集群即可靠、自动化、分布式对象存储系统。librados是RADOS存储集群的API支持C、C、Java、Python、Ruby和PHP等编程语言。Ceph uniquely delivers object, block, and file storage in one unified system. (RaodsGW、RBD、CephFS)
osd (Object Storage Device)
mon (Monitor)维护集群元数据
mgr (Manager)维护查询类操作
将整个存储空间切分为区每个分区就是存储池存储池的大小取决于磁盘大小
SP (Storage Pool)rados cluster抽象而成的存储池
PG (Placement Group)存储池中可以映射到osd上的归置组便于管理
存储过程
对象名称进行一致性hash计算映射到PG上根据存储池类型和冗余副本数量找到足量的osd进行存储。
Monitors
ceph-mon 维护集群图的状态包括monitor、manager、OSD、CRUSHCephX认证协议负责维护认证信息并实行认证任何组件间都需要认证通常至少需要三个monitors用于冗余和高可用
Managers
ceph-mgr跟踪ceph集群运行时的指标数据包括存储空间利用率、当前性能指标、系统负载可利用基于python的插件对于mgr进行功能扩展本身支持网络面板以及REST API通常至少需要俩个managers用于高可用
RADOS 组件
Ceph OSDs OSD守护进程ceph-osd存储数据、数据复制、恢复、重新均衡并提供监视信息给mon和mgr通过心跳检查其他守护进程至少需要三个OSDs用于高可用 MDSs MDS存储Ceph文件系统的元数据允许POSIX文件系统用户执行基本的命令
数据抽象接口
LIBRADOS 用户可通过支持的编程语言开发自定义客户端程序通过RADOS协议与存储系统进行交互 CephFS 使用POSIX规范文件系统在Ceph集群存放数据依赖于独立运行的守护进程ceph-mds向客户端提供服务 Ceph Block Device (RBD) 拥有RADOS的功能如快照、复制、一致性并使用内核模块或librbd库与OSD进行交互与内核模块、KVMs和云计算系统的交互均可以展现无限伸缩的高性能无须依赖于特定的守护进程内建了librbd库 Ceph Object GateWay (RadosGW) 在librados基础上提供对REST形式的对象存储功能依赖于守护进程ceph-radosgw其是一个用于与Ceph集群交互的HTTP服务器
管理节点
常用的管理接口是一组命令行工具程序例如rados、ceph、rbd等命令管理员可以从某个特定的MON节点执行管理操作也可使用专用的管理节点专用的管理节点有助于在Ceph相关的程序升级或硬件维护期间为管理员提供一个完整的、独立的并隔离于存储集群之外的操作环境从而避免因重启或意外中断而导致维护操作异常中断
文件存储方式 FileStore将文件分割成对象OSD格式化成了XFS文件系统需要先将对象转换成文件属组文件级元数据放在元数据区对象自己的元数据放在levelDB中。 BlueStoreOSD就是裸设备不进行格式化levelDBRocksDB配合BlueFS存放元数据其他地方直接存放并管理数据。
部署
ceph-deploy (primary, run on admin-host) 只用于Ceph部署并且不会处理客户端配置 ceph-ansible (recommand)ceph-chefpuppet-ceph
集群拓扑及网络
每个节点使用两个网卡 一个与客户端交互public network, mandatory一个与集群其它节点交互private network, optional
部署准备
设备前提
ifconfig
fdisk -l /dev/vd*
cat /etc/hosts
系统设置
设定时钟同步 若可直接访问互联网启动chronyd服务并设定随系统启动 systemctl start chronyd.service systemctl enable chronyd.service 配置本地时间服务器当存在可用本地服务器时修改节点的/etc/crhony/conf配置文件 server CHRONY-SERVER-NAME-OR-IP iburst 主机名称解析 ip hostname name… 关闭iptables或firewalld服务 在不确定具体启动状态的前提下同时关闭并禁用二者即可 systemctl stop firewalld.service systemctl stop iptables.service systemctl disable firewalld.service systemctl disable iptables.service yum仓库配置 在ceph-admin节点上安装生成所需版本的yum仓库配置 rpm -ivh https://mirrors.aliyun.com/ceph/rom-xxx/xx/xxx/xxxx.rpm cd /etc/yum.repos.d/ cat ceph.repo yum install epel-release // 相关依赖库 创建Ceph特定用户账号
ceph-deploy必须以普通用户登录到各目标节点且此用户需要拥有无密码使用sudo命令的权限以便在安装软件及生成配置文件的过程中无需中断配置过程。新版ceph-deploy支持使用–username {username}选项提供可无密码使用sudo命令的用户名指定的用户需要能够通过SSH协议自动认证并连接到各个节点 在各个节点创建新用户并设置密码magedu useradd cephadm echo “magedu” | passwd --stdin cephadm 确保无密码执行sudo命令 (可直接编辑/etc/sudoers.d/cephadm) echo “cephadm ALL (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/cephadm chmod 0440 /etc/sudoers.d/cephadm sudo -l su - cephadm 配置用户基于密钥的ssh认证 使用cephadm用户生成密钥 ssh-keygen -t rsa -P ‘’ ssh-copy-id -i .ssh/id_rsa.pub cephadmlocalhost ssh-copy-id -i .ssh/id_rsa.pub cephadmstore01 [scp -rp .ssh/ cephadmstore01:/home/cephadm] // 或者直接copy文件夹 为了方便操作可修改~/.ssh/config文件设定访问其它节点默认使用的用户名 Host store01 Hostname store01.magedu.com User cephadm … 配置其他节点sudo权限 scp -rp /etc/sudoers.d/cephadm store01:/etc/sudoers.d/ 管理节点安装ceph-deploy yum update yum install ceph-deploy python-setuptools python2-subprocess32 部署RADOS集群
初始化 创建集群相关配置文件目录 mkdir ceph-cluster cd ceph-cluster 初始化第一个MON节点 ceph-deploy new {initial-monitor-node(s)} // 名称必须与节点当前使用的主机名称保存一致 编辑生成ceph.conf配置文件在[global]配置段中设置面向客户端通信使用的IP地址所在网络 public network 172.20.0.0/16 安装Ceph集群 ceph-deploy install {ceph-node}[{ceph-node}…] 配置初始MON节点手机所有密钥 ceph-deploy mon create-install 将配置文件和admin密钥拷贝到各节点上以免每次执行需要指定MON节点和amdin.keyring ceph-deploy admin store01 … 在需要运行ceph命令的节点上以root身份设定cephadm可以读取keyring文件 setfacl -m u:cephadm:r /etc/ceph/ceph.client.admin.keyring 配置manager节点启动mgr进程 ceph-deploy mgr create store01 在Ceph集群的各节点上以cephadm用户测试集群的状态 ceph health ceph -s 向RADOS集群添加OSD 整理磁盘 ceph-deploy disk list {osd-server-name} … ceph-deploy disk zap {osd-server-name} {disk-name} 【如果对应节点的设备有数据需要以root身份执行ceph-volumn lvm zap --destroy {DEVICE}】 添加OSD ceph-deploy osd create {node} --data {data-disk} ceph-deploy osd list {node} … ceph osd stat 或者 ceph osd {dump / ls} 移除OSD ceph osd out {osd-num} sudo systemctl stop ceph-osd{osd-num} ceph osd rm {osd-num} 上传/下载数据对象 ceph osd pool create {pool-name} [rule-num] {PG-num} rados put object-name {obj-location} --pool{pool-name} // 或者使用-p 指定存储池 rados ls --pool {pool-name} ceph osd map {pool-name} {object} // 获取在存储池中数据对象的具体位置信息 rados rm {object-name} --pool {pool-name} ceph osd pool rm {pool-name} {pooll-name} --yes-i-really-really-mean-it // 需要先启用存储池删除配置 扩展Ceph集群
扩展Monitor节点 ceph-deploy mon add {ceph-nodes} // 最好是奇数个节点 ceph quorum_status --format json-query 扩展Manager节点 ceph-deploy mgr create {ceph-nodes} ceph -s 访问接口
Ceph块设备接口 创建存储池并启用rbd功能进行初始化 ceph osd pool create {pool-name} {PG-num} ceph osd pool application enable {pool-name} rbd rbd pool init -p pool-name 按需创建映像将映像文件作为块设备使用 rbd create {image-name} --size {size} --pool {pool-name} rbd info // 获取相关信息
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932267.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!