一 共享存储 1.1 共享存储作用 Kubernetes对于有状态的容器应用或者对数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机的目录或者emptyDir临时存储卷,而且需要更加可靠的存储来保存应用产生的重要数据 PV是对底层网络共享存储的抽象,将共享存储定义为一种“资源”,比如Node也是一种容器应用可以“消费”的资源。 PV由管理员创建和配置,它与共享存储的具体实现直接相关,例如GlusterFS、iSCSI、RBD或GCE或AWS公有云提供的共享存储,通过插件式的机制完成与共享存储的对接,以供应用访问和使用。 CephFS:一种开源共享存储系统。 FC(FibreChannel):光纤存储设备。 FlexVolume:一种插件式的存储机制。 Flocker:一种开源共享存储系统。 静态模式:集群管理员手工创建许多PV,在定义PV时需要将后端存储的特性进行设置。 动态模式:集群管理员无须手工创建PV,而是通过StorageClass的设置对后端存储进行描述,标记为某种类型。
接上一篇高可用集群Heartbeat配置实践,下面假设两台Web服务器的网站目录文件都是通过NFS共享存储来更新的,如下拓扑图所示 ? 1、首先配置好NFS存储服务器192.168.31.25,可以参考之前的文章 CentOS下NFS网络文件系统服务的部署 1)mkdir -p /data/web_sharefiles/ 2)echo
用Openfiler制作iSCSI添加为vSphere集群的共享存储 实验环境 物理机:DELL IPTIPLEX 990 PC机 I52400处理器支持VT功能 8G内存 千兆网卡 操作系统 7,设置静态IP,要和vSphere集群在同一网段 ? 8,完成 ? 9,存储适配器—配置—添加 ? 10,新加iSCSI属性—网络配置—添加 ? 15,同样方法对另一主机添加网络共享存储,然后就可以在共享存储上新建虚拟机,这样就 可以实现在实验环境下HA,DRS功能
共享集群基于YashanDB内核持续演进,硬件上依赖共享存储实现shared-Disk的架构,同时引入了Cohesive Memory核心技术实现Shared-Cache能力,可在集群数据库多个实例之间协同数据页的读写访问以及各种非数据类资源的并发控制 崖山集群服务(YCS,Yashan Cluster Service)YCS负责管理共享集群数据库,包括集群服务器配置管理,集群资源配置管理,启停、监控服务器以及资源,提供查询服务器资源拓扑状态能力,在各种故障时负责投票仲裁并重组集群 YCS要求在共享存储上划分至少三块盘,是用作配置的[YCR File]和Voting File,所有服务器上的YCS实例和数据库实例均可读写这三块盘。 崖山文件系统(YFS,Yashan File System)YFS是YashanDB的专用并行文件系统,提供存储设备管理、存储高可用、文件系统接口等功能。 此外,YFS采用共享内存技术,以供数据库实例直连访问,从而降低时延。并行文件系统对于元数据修改会在共享集群所有实例上实时同步,所有数据库实例能够访问到一致的目录文件元数据信息。
vSphere 基础物理架构中存储是一个非常关键的部分,没有好的存储,虚拟化也就没有存在的价值,并且它能够决定其系统性能的高低和如vMotion等高级功能能否实现。 所以本次重点介绍vSphere中的存储和vMtion。 一、实验拓扑图: ? 二、实验目标: 通过搭建共享存储,实现虚拟机的迁移与管理。 三、实验步骤: 1、在10.200主机上安装openfiler,之后添加1000G的磁盘,并做相应的配置,实现共享存储功能。 3、通过Webclient,分别在两台esxi主机中通过iscsi连接共享存储。 ? ? ? ? ? ? ? ? ? ? ? ? 4、将10.250主机中vm1虚拟机迁移到共享存储中存储。 ? ?
导语 在TCPS压测平台中,购买集群文件共享存储CFS,用于持久存储脚本、数据文件,购买CFS后需要获取CFS的ip地址,后续会用到。 购买CFS具体步骤 1. 在文件系统页面点击“创建”。 注意,此时存储在CFS上的脚本、数据文件将会丢失。 [sb8hjleq4v.png] [0my7vwqcw8.png]
本文以典型规格(2 台服务器,1 共享存储且包含 3 个及以上 LUN)为例,介绍共享集群部署形态的安装步骤。 yashandb.toml:数据库集群的配置文件。hosts.toml:服务器的配置文件。 为DATA目录,安装后修改也不会生效,除非重新安装 hostid = "host0001" # 服务器标识,安装后修改也不会生效,除非重新安装 role = 1 # 数据库主备角色,共享集群的实例没有主备概念 # 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件$ cd /data/yashan/yasdb_home/yashandb/23.3.1.100
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。 Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。 %m #设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。 admin users = 该共享的管理者 #说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
在构建 YashanDB 共享集群的过程中,我们面临一个关键抉择:底层存储服务到底是选择通用现成方案,还是自研一套更贴合需求的组件? 本文就来讲讲我们为何这么做,又具体做了哪些“重工”来支撑共享集群的存储性能与高可用。为什么要自研共享存储系统? 在共享集群中,多节点需要同时读写同一存储资源,这对底层存储提出了更高的要求:要求节点之间访问一致、数据正确;要求能绕过操作系统缓存,充分利用集群整体内存;要求具备极高的 IO 并发能力;更要在任何故障场景下 市面上的传统文件系统,比如 Ext3/4.并不支持共享存储;而 GFS、NFS 等通用方案又存在性能瓶颈、通信开销大、DB 场景适配性不足等问题。 最后总结YFS 不是对传统文件系统的“简单包装”,而是从底层重新出发,为共享集群量身打造的一套高性能、高可用、高扩展性的文件服务组件。
此外,YFS还提供了管理diskgroup(磁盘组)、failuregroup(故障组)等重要特性,以支持共享集群的存储高可用。图1 YashanDB共享集群总体架构Q.为什么选择自研YFS? 一是YashanDB共享集群作为高性能、高可用集群,对存储组件提出几大高要求:高效访问共享存储。 集群内多节点访问相同的存储设备,存储本身为各节点的临界资源,需要一套机制,协调各节点,高效、正确的读写共享存储资源。支持Bypass操作系统缓存。 二是市面上现有的解决方案无法满足YashanDB共享集群以及集群高可用要求:首先,在项目初期,优先考虑过现有系统是否可以支撑YashanDB集群需求,但Ext3/4等单机文件系统天生不支持共享存储,需要构造特定条件 图7 YFS适用的文件管理命令YFS作为YashanDB共享集群的存储组件,为了满足集群高可用性而研发,提升了集群存储的IO性能、解决集群元数据同步问题、承载集群部分高可用能力。
构建储NFS远程共享存 因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。 NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。 是Unix系统之间共享文件的一种协议 NFS 文件系统仅支持基于 IP 的用户访问控制,NFS 的客户端主要为Linux。 systemctl start nfs [root@nfs-server ~]# systemctl start rpcbind [root@nfs-server ~]# mkdir /nfs-dir #创建存储目录 sync:所有数据在请求时写入共享 root_squash: 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
sync:资料同步写入存储器中。 async:资料会先暂时存放在内存中,不会直接写入硬盘。 insecure:允许从这台机器过来的非授权访问。
在构建 YashanDB 共享集群的过程中,我们决定不依赖通用方案,而是选择自研一套专属的文件系统 —— 崖山集群文件系统(YFS)。这是基于对高可用、高性能需求的深刻理解后,做出的战略选择。 共享集群环境下,存储系统需要满足极高的并发读写效率和一致性要求。市面上的 Ext3/4 是单机文件系统,天生不支持多节点共享。 而 GFS、NFS 虽然提供了共享能力,但在性能、场景匹配度上都无法满足核心交易系统的严苛要求。尝试过多种市面方案后,我们明确了方向:只有自研,才能精准匹配 YashanDB 集群对存储的极致要求。 YFS:为共享集群量身定制的存储引擎YFS 的诞生,不仅解决了传统文件系统在共享集群中的局限,还通过一系列自研技术,提升了整体性能上限和系统稳定性。 未来,YFS 将持续进化,向更智能、更弹性、更可靠的集群存储平台迈进,成为 YashanDB 高可用、高性能体系的重要支撑。
Memcache在session共享中起着重要的作用,因为咱们所有的数据都是放到这里面的,所以这里咱们肯定不能只用一台Memcache,需要将Memcache集群,我这里是通过代码实现的。 放值 /** * 将数据存储到Memcached中 * @param key 键值 * @param value 对象 * * 此方法存储的value在Memcached中永远都不会过期 2013-06/85832.htm Memcached的安装和应用 http://www.linuxidc.com/Linux/2013-08/89165.htm 使用Nginx+Memcached的小图片存储方案
redis简介 redis是一个key-value存储系统。 session的共享机制。 2、session复制共享:sessionreplication,如tomcat自带session共享,主要是指集群环境下,多台应用服务器之间同步session,使session保持一致,对外透明。 在大并发下表现并不好 3、基于cache DB缓存的session共享 基于memcache/redis缓存的 session 共享 即使用cacheDB存取session信息,应用服务器接受新请求将 nginx安装配置 使用Nginx作为Tomcat的负载平衡器,Tomcat的会话Session数据存储在Redis,能够实现零宕机的7x24效果。
Volumes -> iSCSI Targets 6.1 添加新的iSCSI Target 6.2 选择iSCSI Target 6.3 LUN 映射 6.4 ACL设置为Allow 7.RAC各节点配置共享存储 Stopping iscsi: [ OK ] [root@jyracdb1 ~]# service iscsi start Starting iscsi: [ OK ] 7.6 udev绑定共享存储 写入到/etc/udev/rules.d/99-oracle-asmdevices.rules中 之后运行用root运行/sbin/start_udev 即可. 7.7 重启两台主机 确定主机重启后,共享存储都正常 ls -lh /dev/asm* Reference 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群 在Linux 6上使用UDEV 解决RAC ASM存储设备名问题
目前Linux对system V的共享内存方式支持的比较好。在高版本的Linux内核上,我们有更多的方式来完成共享存储。 它存储被映射文件的地址。 跑题了,本文将介绍mmap存储映射的方式完成的进程间通信。一种方式是使用dev目录下的特殊文件zero。 ? 该文件是一个字符设备文件,该设备是0字节的无限资源。 当对zero进行存储映射的时候,它具备一下性质。 创建一个未命名的存储区,大小事mmap的第二个参数。 存储区被初始化为0。 如果多个进程的公共祖先对mmap指定了MAP_SHARED标志,则这些进程共享此存储区。 一个简单的例子如下。 对于存储映射区域,父子进程是共享的;对于变量,父子进程是独立的。 使用zero文件的优点是mmap函数的第二个参数len可以指定任意长度,而无需关心zero文件的大小。
RHCS(Red Hat Cluster Suite):能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合。 LUCI:是一个基于web的集群配置方式,通过luci可以轻松的搭建一个功能强大的集群系统。 CLVM:Cluster逻辑卷管理,是LVM的扩展,这种扩展允许cluster中的机器使用LVM来管理共享存储。 CMAN:分布式集群管理器。 多个Linux机器通过网络共享存储设备,每一台机器都可以将网络共享磁盘看作是本地磁盘,如果某台机器对某个文件执行了写操作,则后来访问此文件的机器就会读到写以后的结果 ---- 在之前实验的基础上,结合如下拓扑图 ,在RHCS集群中利用iSCSI共享存储配置cLVM+GFS参考之前的文章 CentOS6中RHCS集群的简单实践+CentOS6下配置基于CHAP认证的iSCSI网络存储服务 ?
在部署 YashanDB 共享集群时,常有新用户不清楚共享存储的挂载情况,比如:共享盘挂在哪?容量多少?怎么确认挂载是否生效? 本文将提供一个清晰易操作的参考指引,帮助你快速上手共享盘挂载检查。 一、典型场景客户刚开始使用共享集群,测试过程中希望确认集群所使用的共享磁盘是否已经正确挂载,同时了解挂载点对应的磁盘设备和容量情况。 二、适用版本本方法适用于 所有版本的 YashanDB 共享集群环境三、基本挂载关系查看方法1. =/dev/mapper/lun10G03说明当前共享集群挂载使用的是 /dev/mapper/lun10G03 这个设备。 五、小结建议推荐掌握 lsblk、dmsetup、iscsiadm 等基础命令,辅助确认磁盘挂载情况;遇到共享文件系统服务未启时,优先从配置文件查看挂载设备;YashanDB 集群环境下的共享盘通常通过
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署、分布式系统的session共享。 使用redis共享session ---- 一、创建spring-boot项目 1、工程使用idea+gradle搭建,jdk1.8,spring-boot版本2.0.2.RELEASE,数据库postgreSQL 登录后访问 五、使用redis存储session 1、添加依赖 compile('org.springframework.boot:spring-boot-starter-data-redis') compile redis内容 工程代码已共享至github和码云,欢迎探讨学习。