数据管理、存储及集群技术概述一、数据1.数据的分类1.1.用户数据:用户数据的保护比系统数据更具有挑战性,用户数据的丢失或泄露则是致命的,比如银行业务λ1.2.系统数据:系统数据丢失了并不会造成企业真正的损失λ1.3.应用数据:应用数据在企业中是最不能轻视的,大量攻击都是通过系统上应用的漏洞来开展的λ2.数据可用性2.1.哪些数据必需保证高可用λ2.2.注意数据的生命周期:分类存储(打包归档还是直接存储)λ2.3.数据的访问方法和频率:是只读的还是可读写的?是应用程序的数据,还是可以直接访问的数据?是一个网络配置文件,还是为为了安全的配置?λ2.4.应用程序的“data starved”数据饥饿:不应该是数据跟不上来,而应该是程序跟不上λ2.5.所有的一切都要防止单点故障(SPOF:single points of failur)λ3.规划设计3.1. 数据越少要求越小λ3.2. 减小复杂性λ3.3. 增加灵活性λ3.4. 保证数据的完整性λ二、集群集群是有一组计算机来共同完成一件比较复杂的事情。
1.集群的目标1.1. HPC(High Performance):高性能集群,追求性能,大型的运算,λ1.2. HA(High Availability):高可用,追求稳定,主要是为了防止单点故障,为了实现的是24小时不间断的工作,并不要求有多快λ1.3. LBC(Load Balancing):负载均衡集群,基本不用(现大多数利用硬件LBC设备)λ2.redhat的cluster products2.1. RHCS(Redhat cluster suite):红帽集群套件,在RHEL5的AP版自带的λ2.2. GFS(Global File system):全局文件系统,GFS支持并发写入。
是一个集群级的文件系统。
λ2.3. CLVM (Clusterd logical volume manager):集群级的逻辑卷,的LVM只是单机版的逻辑卷,在一个节点做了LVM,只能在这个节点看到。
若果使用的是CLVM,做的LVM则可以在整个集群中看到。
λ2.4. Piranha:LVS 基础上设计的一套负载均衡高可用解决方案,LVS是基于IP 的负载均衡技术,由负载调度器和服务访问节点组成。
λ3.集群的基本拓扑4.RHEL storage Model存储模型红帽的存储模型包括五部分:4.1. 物理磁盘卷λ4.2. 块设备λ4.3. 文件系、λ4.4. VFS虚拟文件系统λ4.5. 应用程序的数据结构λ三、底层卷的管理1.磁盘卷是由描述数据物理限制的Block块组成的集合体1.1.卷可由多个设备合并组成。
λ1.2.磁盘卷可以通过条带化(RAID)技术来提高数据的可用性λ2.LUN(逻辑单元号)和UUID(通用唯一识别码)2.1. LUN:逻辑单元号,作用:主要是为了在SCSI只能接指定数量的磁盘,这样会限制数量的使用,则使用LUN号,来更加方便的扩展设备,更方便管理使用。
只是一个标识。
λ2.2. UUID:文件系统的唯一的表示号,可以使用blkid 进行查看λ[root@station9 proc]# blkid/dev/mapper/VolGroup00-LogVol00:UUID="ed31c60e-5371-4372-9d9c-a7f55f50641c" TYPE="ext3"/dev/sda2: LABEL="SWAP-sda2" TYPE="swap"/dev/sda1: LABEL="/boot" UUID="d51a6fdf-3997-4ab7-a4a7-af2b6899a7d1" TYPE="ext3"/dev/VolGroup00/LogVol00: UUID="ed31c60e-5371-4372-9d9c-a7f55f50641c" TYPE="ext3"3.访问卷(存储设备)3.1. DAS(Direct Attached Storage):直连附加存储λ3.2. shared storage:共享存储,多台主机共享一个设备。
共享存储可分为:λ 3.2.1. SAN(storage area network):存储区域网络⌝υ 3.2.1.1. scope of domain defined by membersυ 3.2.1.2. encapsulated scsi over fibre channelυ 3.2.1.3. deliver volume data blocks3.2.2. NAS(network attached storage):网络附加存储⌝υ 3.2.2.1. scope of domain defined by ip domainυ 3.3.3.2. NFS/CIFS/HTTP over tcp/ipυ 3.3.3.3. delivers file data blocks四、SAN(storage area network)存储区域网络1.SAN的拓扑结构1.1.传输的是scsi协议λ1.2.类似于本地直连(被识别成本地设备)λ1.3.光纤通道:通过fiber通道传输scsi协议λ1.4.ISCSI(internet scsi):通过tcp/ip网络通道传输scsi协议λ1.5.GNBD(Global network block device):通过基于kernel模块访问以太网上设备(现基本淘汰)λ2.Fiber channel:光纤通道组成:2.1.光纤λ2.2.Interface card (host bus adaptor):HBA卡,光纤卡λ2.3.光纤通道交换技术λ3.HBA3.1.通过光纤连接主机λ3.2.被识别成scsi适配器λ3.3.减轻I/O负载λ3.4.支持多路径λ4.Fibre channel switch:光纤交换机功能:4.1.为非块设备连接提供高速通道λ4.2.fabric服务λ4.3.扩展端口λ4.4.提供冗余λ5.交换技术:5.1.点对点:两设备相连λ5.2.环形λ5.3.交换fabricλ6.ISCSI(Internet SCSI)6.1.协议:客户端(initiator)发送scsi命令到远程存储设备(target)λ6.2.使用TCP/IP(tcp:3260)λ6.3.代替价格昂贵的fibre channel的低层方案,相对来性能要地很多。
λ7.GNBD(Global network block device)7.1.类似ISCSI,现在已不再发展λ7.2.利用以太网,传输的是块设备λ7.3.用于在fibre channel中实现类似GFS功能λ7.4.client-server模型:1. server共享本地block设备λ2. client访问共享设备8.NPS(network power switch)网络电源控制器,即电源FenceFence的工作原理:以双机的HA集群为例,当空闲节点通过心跳线得知服务节点发生问题,如通信失败等,空闲节点就会利用服务节点上的Fence卡将该节点关机或重启,并将服务资源“抢”到本节点上。
电源Fence则是检测到集群节点断电时则切换服务到另一节点。
λ9.ACPI(Advanced configuration and power interface)高级配置和电源接口9.1.用途:空闲cpu的电源管理,如当计算机比较空闲时,通过apci将其进入休眠λ9.2.硬件ACPI:λ⌝ 1.Dell DRAC:戴尔的远程访问接口卡⌝ 2.ILO:惠普的是iLo⌝ 3.IpmI: 英特尔的是IpmI(智能平台管理接口)⌝4功能:模拟电源键,可发送“shutdown -h now”集群发送"power off NOW"9.3.关闭apci服务λ#service acpid start#chkcofnig acpid off或启动是加入参数acpi=off#建议开启apci功能。
work Cluster Nodes(网络集群节点)10.1. 最好将集成心跳网络和服务网络分开λPrivate network :cluster trafficPublic network: service traffic10.2. 心跳线监控对方服务是否失败λ10.3. 防止单点故障,绑定两块以上的网卡,可以实现冗余和负载均衡的作用λ10.4. 网络设备必须支持组播λ⌝1组播用于集群间各节点之间的通信⌝2地址是集群创建之时自动生成的,但也可以手动地用其他地址覆盖⌝ 3.网络硬件(路由、交换、集线器、网卡等)必须支持组播11.广播与组播11.1.广播的特点就是单对多,广播是不管你需不需要这信息,通通都发一遍λ11.2.组播则是数据包发送给指定的接收者,组播则是有针对性地发送,效率自然比较好λ11.3.不是所有的以太网卡都支持组播λ11.4.IPv6很依赖组播,因为IPv6取消了广播,采用了更合理的组播λ12.多路径:12.1.多路径是用于访问共享存储的,可防止单点故障导致服务不可用。
λ12.2.设备映射多路径允许节点通过多条路径访问存储,多路径支持FC、iSCSI、GNBD等存储架构λ五、以太通道的绑定1.功能1.1.防止单点故障λ1.2.实现负载均衡λ1.3.多网卡绑定成单一的虚拟网卡λ2.以太通道绑定的配置2.1.配置加载bonding内核模块,使得支持绑定功能;λ[root@station9 ~]# vim /etc/modprobe.confalias bond0 bondingoptions bond0 mode=1 miimon=100 use_carrier=0#mode=0/1,0表示提供容错和负载均衡的功能,1表示只提供容错的功能;mode =1时可以使用primary参数指定哪块网卡作为主要优先的。
miimon=100表示连接监控的频度,单位为毫秒;use_carrier表示如何确定连接状态;0内核检测,1由mii-tool或ethtool外部工具检测。
2.2.配置网卡配置文件:λ[root@station9 ~]# cd /etc/sysconfig/network-scripts/假设要将eth0和eth1绑定成bond0,则作如下修改:[root@station9 ~]# vim ifcfg-eth0DEVICE=eth0MASTER=bond0SLAVE=yesONBOOT=yesBOOTPROTO=static[root@station9 ~]# vim ifcfg-eth1DEVICE=eth1MASTER=bond0SLAVE=yesONBOOT=yesBOOTPROTO=static[root@station9 ~]# vim ifcfg-bond0DEVICE=bond0IPADDR=192.168.32.39NETMASK=255.255.255.0GATEWAY=192.168.32.254ONBOOT=yesBOOTPROTO=static2.3.重启网络:[root@station9 ~]#/etc/init.d/network restart六、集群的安全cluser security1.集群间多有节点的通信默认都经过了加密,OpenAIS使用集群名作为密钥,但这并不是彻底安全的策略。