学习笔记,集群与存储

Linux存储与集群

集群
LB负载均衡集群:LVS和Hapoxy
HA高可用集群:   keepalived  RHSS(RHEL6 iptables)

共享存储空间:
Iscsi/NFS
分布式存储fastDFS
***************************************************************************************************
什么是集群?
集群分类
高性能计算机集群(HPC)
负载均衡集群(LB)
高可用集群(HA)
集群的目的?
使用LVS部署网站服务的LB集群
LVS介绍:linux虚拟服务器 章文嵩博士研发的,集成在linux内核中
LVS命令行格式: ipvsadm 选项  参数
LVS集群中的角色:前端(负载均衡层),中间(服务器群组层),底端(数据贡献存储层)
LVS集群中的名词:Director server (调度分发服务器) Real server (真实服务器)
                  Dip(调度器与服务器连接的ip地址) Rip(真实服务器ip)Vip(用户访问的虚拟ip)
LVS的工作模式:LVS/NAT 网络地址转换模式
                LVS/DR  直接路由模式
                LVS/TUN 隧道模式
LVS调度算法:(一共有10种)rr轮询,wrr加权轮询,lc(最少连接)wlc(加权最少连接)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LVS/NAT 配置网络地址转换模式
拓扑结构 10客户端 20调度器 30,40 服务器
20客户端开启内核路由转发功能
vim /etc/sysctl.conf                 
sed -n '7p' /etc/sysctl.conf          
net.ipv4.ip_forward = 1 (1为开启服务)
Ifdown eth0 (rhel6 中关网卡命令)
Ifup   eth0 (rhel6 中关网卡命令)
安装
{192.168.4.254上
cd /var/www/html/rhel6
ls LoadBalancer/
cd LoadBalancer/
scp ipvsadm-1.26-4.el6.x86_64.rpm 192.168.4.20:/root}=把ipvsadm 的rpm包传给LVS服务器
192.168.4.20上
rpm -ivh ipvsadm-1.26-4.el6.x86_64.rpm
配置
第一步:添加虚拟服务
查看 ipvsadm -L (n是用数字表示服务)
创建: ipvsamd -A -t VIP地址:端口  -s 指定算法
     ipvsadm -A -t 192.168.4.20:80 -s rr
删除 ipvsadm -C 清除虚拟服务
修改
第二步:向虚拟服务里添加realserver
添加:ipvsamd -a -t VIP地址:端口 -r realserver 地址 -m (LVS工作模式 NAT)
      ipvsadm -a -t 192.168.4.20:80 -r 192.168.4.30 -m
      ipvsadm -a -t 192.168.4.20:80 -r 192.168.4.40 -m
删除:ipvsadm -d -t 192.168.4.20:80 -r 192.168.4.40
修改调度算法:ipvsadm -E -t 192.168.4.20:80 -s wrr
修改权重值:ipvsadm -e -t 192.168.4.20:80 -r 192.168.4.30 -w 3 -m
第三步:保存配置
      service ipvsadm save  保存在/etc/sysconfig/ipvsadm
      chkconfig ipvsadm on
验证配置
[[email protected] ~]# elinks --dump http://192.168.2.20
___________________________________________________________________________________________________
配置LVS/DR模式的负载均衡集群,客户访问vip地址192.168.4.100时,把请求平均分配至服务器30跟40主机
LVS/DR 配置直接路由模式
配置环境:
一.配置网页服务器端
拥有vip地址
30/40 ifconfig lo:1 192.168.4.100/32
修改网络接口的网络参数,帮兄弟接口收发ip包,并不响应客户端访问vip地址时的ARP广播包
[[email protected] eth0]# echo  1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[[email protected] eth0]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[[email protected] eth0]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[[email protected] eth0]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo  1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
配置lvs
ifdown eth1             -----------------
ipvsadm -C                                      |
service ipvsadm save                       |
ipvsadm -Ln                                     |-----------修改上午的配置还原到ipvsadm初始配置
cat /etc/sysconfig/ipvsadm             |
vim /etc/sysctl.conf                         |
sed -n '7p' /etc/sysctl.conf              |
net.ipv4.ip_forward = 0  ------------
ifconfig eth0:1 192.168.4.100/32   绑定vip地址
echo "ifconfig eth0:1 192.168.4.100/32" >> /etc/rc.local 设置为开机自启
添加虚拟服务
ipvsadm -A -t 192.168.4.100:80 -s  rr
向虚拟服务里添加realserver
ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.30:80
ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.40:80
***************************************************************************************************
Keepalived 可以实现任意单故障节点的高可用
分别在高可用集群中的主机上安装keepalived软件
[[email protected] ~]# yum -list |grep -i keepalived
[[email protected] ~]# yum -y install keepalived
修改主配置文件
在50主机上
[[email protected] ~]# rpm -qc keepalived
/etc/keepalived/keepalived.conf
/etc/sysconfig/keepalived
[[email protected] ~]# cp /etc/keepalived/keepalived.conf /tmp
[[email protected] ~]# vim  /etc/keepalived/keepalived.conf
  1 ! Configuration File for keepalived
  2
  3 global_defs {
  4    notification_email {
  5      [email protected]
  6      [email protected]
  7      [email protected]
  8    }
  9    notification_email_from [email protected]
 10    smtp_server 192.168.200.1
 11    smtp_connect_timeout 30
 12    router_id LVS_DEVEL
 13 }
 14
 15 vrrp_instance webha {
 16     state MASTER
 17     interface eth0
 18     virtual_router_id 51
 19     priority 150
 20     advert_int 1
 21     authentication {
 22         auth_type PASS
 23         auth_pass 123456
 24     }
 25     virtual_ipaddress {
 26         192.168.4.101
 27     }
 28 }
在60主机上
[[email protected] ~]# vim /etc/keepalived/keepalived.conf
  1 ! Configuration File for keepalived
  2
  3 global_defs {
  4    notification_email {
  5      [email protected]
  6      [email protected]
  7      [email protected]
  8    }
  9    notification_email_from [email protected]
 10    smtp_server 192.168.200.1
 11    smtp_connect_timeout 30
 12    router_id LVS_DEVEL
 13 }
 14
 15 vrrp_instance webha {
 16     state BACKUP
 17     interface eth0
 18     virtual_router_id 51
 19     priority 100
 20     advert_int 1
 21     authentication {
 22         auth_type PASS
 23         auth_pass 123456
 24     }
 25     virtual_ipaddress {
 26         192.168.4.101
 27     }
 28 }
三.起服务
在50/60主机上
service keepalived start

时间: 2024-10-14 17:46:03

学习笔记,集群与存储的相关文章

《Redis设计与实现》学习笔记-集群

Redis也可通过集群来实现分布式,通过分片进行数据共享,并提供复制和故障转移.当前Redis版本的集群功能还没有正式发布,目前只是一个不稳定的分支,据说快要正式发布了. 添加集群节点 服务器节点通过执行CLUSTER MEET <ip> <port>命令把指定的服务器添加到当前集群中,通过CLUSTER NODES来查询当前集群中的所有节点信息,当cluster-enabled配置选项设成yes时,说明该服务器开启了集群模式,开启集群模式的节点才能被添加到集群. 在执行serve

为集群共享存储创建裸设备

红帽企业版Linux使用一个字符较大的数字(现在是162)去标明/dev/raw目录下一系列的裸设备.任何块设备都可以有一个裸设备做前端,即使这个块设备是在运行时加载的. 为了创建裸设备,需要编辑/etc/sysconfig/rawdevices文件,将裸字符设备绑定到适当的块设备,使得裸设备可以被打开.读和写. 编辑裸设备文件 /etc/sysconfig/rawdevices文件用于在集群成员(cluster member)每次启动时,为共享分区映射裸设备.作为安装集群软件的一个步骤,在每个

iOS 学习笔记——0005(数据存储)

先发一个练手的小demo,自己写的简略通讯录,已上传至github https://github.com/liaoshaolim/addressBook 1.NSKeyedArchiver:(归档) 这里用一个添加联系人的例子来说明: 注意:归档形式保存数据,需要该对象遵守NSCoding协议,而且对应的必须提供encodeWithCoder和initWithCoder方法 因为归档是一次性的,解压也是一次性的,所以小量的ok,如果量大的话,改一个小地方就要归档或解压全部,效率会比较低 //用一

集群与存储

集群与存储 5天 day1 集群:一组服务器提供同样的服务 负载均衡集群(LB)LVS 和 Haproxy高可用集群(HA) Keepalived RHCS,iptables(rhel6) 1.开启内核路由转发功能[[email protected] ~]# vim /etc/sysctl.conf 2.装包 ipvsadm [[email protected] ~]# rpm -ivh ipvsadm-1.26-4.el6.x86_64.rpm 3 添加虚拟服务 [[email protect

redis源码学习(集群)

集群是一种分布式的思想,把数据存储到各个节点上去提供服务.分布式一个重要的步骤,就是分片.那redis集群是怎么分片的呢,以及集群服务的稳定性和可靠性怎么保证.下面就来剖析下. 1. 集群是怎么创建的,分片怎么设计的? 分片原理: redis的核心数据是个hash table,分片是按照key值来划分,再reds里面叫槽(slot),集群中的各个节点都会分一些槽,用于存储它们的数据. 客户端在请求集群的服务时候,通过查询的key,算出一个hash值,再使用hash值%槽数得到第几个槽,再通过对应

Dell PowerEdge VRTX 创建2012 R2 Hyper-V Cluster 无法添加集群共享存储

最近实施了一个项目,客户这边使用的Dell PowerEdge VRTX ,刀片和存储一体.要搭建Hyper-V 集群. Hyper-V 环境都部署完成,在VRTX上创建虚拟磁盘并分配给两刀片,刀片下2012 R2 磁盘管理器中都可以发现存储分配的磁盘,可以正常读写. 但创建集群,死活找不到共享存储如下图: 当时怀疑,存储配置问题,但VRTX 里面也没什么可配置的,让Dell 帮我查下,硬件是否支持 Hyepr-v集群存储,折腾了挺久也没找到原因,环境也铲了重新部署的,还是一样. 解决方法:在H

CLUSTER集群与存储技术

一.集群 一组相互独立的.通过高速网络互联的计算机构成一个组,并以单一系统的模式加以管理 将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器 可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益 任务调度则是集群系统中的核心技术 二.集群分类 高性能计算集群HPC –        通过以集群开发的并行应用程序,解决复杂的科学问题 负载均衡(LB)集群 –        客户端访问负载可以在计算机集群中尽可能平均地分摊处理 高可用(HA)集群 –    

redis学习六 集群的原理(转载)

转载自 http://shift-alt-ctrl.iteye.com/blog/2285470 一.Redis Cluster主要特性和设计     集群目标 1)高性能和线性扩展,最大可以支撑到1000个节点:Cluster架构中无Proxy层,Master与slave之间使用异步replication,且不存在操作的merge.(即操作不能跨多个nodes,不存在merge层) 2)一定程度上保证writes的安全性,需要客户端容忍一定程度的数据丢失:集群将会尽可能(best-effort

docker swarm英文文档学习-12-在集群模式中的Raft共识

Raft consensus in swarm mode 在集群模式中的Raft共识 当Docker引擎在集群模式下运行时,manager节点实现Raft 共识算法来管理全局集群状态.Docker swarm模式使用共识算法的原因是为了确保集群中负责管理和调度任务的所有manager节点都存储相同的一致性状态.跨集群具有相同的一致状态意味着在出现故障时,任何管理器节点都可以接收任务并将服务恢复到稳定状态.例如,如果集群中负责调度任务的Leader Manager意外死亡,那么任何其他Manage