Linux 集群 高可用 高性能

Cluster
 集群 将多台电脑集合起来完成一定任务

 scale on
 scale out

 LB Load Balancing 负载均衡
  lvs
 HA High Availability 高可用
 HP High Performance 高性能

 Director   Dispatcher
  四层交换(IP:port)LVS
   章文嵩
   Linux Virtul Server
    ipvsadm/ipvs
   iptables/netfilter
  七层交换(squid,proxy)

 http ,stateless
 index.html,object 

 
 LVS 类型
  LVS-NAT  直接转换类型
  LVS-DR  直接路由类型
   Director和Cluster要在同一网络中
   RIP的地址可以为公有地址
   Director只处理请求的数据包
   Cluster的网关不可为DIP,应是路由ip
   不能重新影射端口,端口必须保持一致
  LVS-TUN  隧道类型
   Director和Cluster不在同一网络中
   RIP不能用私有地址
   Director只处理请求的数据包
   不能重新影射端口,端口必须保持一致
   只有支持隧道协议的服务器才能作为RealServer
   
 LVS Scheduling Method  LVS调度算法 
  fixed scheduling  固定调度算法
   Round-robin(RR) 轮循算法
   Weighted round-robin 加权轮循算法
   destination hashing  目标散列算法
   Source hashing` 源目标散列算法
  dynamic scheduling  动态调度算法
   Least-connection   最少连接算法
    active,inactive
    overhead=active*256+inactive
    最大连接数=活动连接数*256+非活动连接
   Werighted Least-connection  加权最少连接算法
    最大连接数=活动连接数*256+非活动连接
    overhead=最大连接数/权重
   Shortest Expected Delay   最短期望延迟
    最大连接数=(活动连接数+1)*256
    最大连接数/权重
   Nerver Queue 永不排队算法
    SED的改进
   Locality-Based Least-connection 基于本地状态的最少连接
    相当于动态的DH算法
   Locality-Based Least-connection with Replication scheduling
    带复制的基于本地状态的最少连接
 LVS-NAT
 DIRECOTR,REAL(web) +real(web)

 LVS工作起来:
  定义服务
  -t,tcp
  -u,udp
  -f,firewall
  为此服务定义realserver
 ipvsadm
  -A 新增服务
  -s 调度方法,默认wlc
  -E 修改服务
  -D 删除服务
  -S 保存规则
  -m LVS-NAT
  -g LVS-DR
  -i LVS-TUN
  -R 恢复规则
  ipvsadm -a -t service -r realserver service
  ipvsadm -A -t 192.168.0.173:80 -s rr 定义算法
  ipvsadm -Ln 查看服务
  ipvsadm -a -t 192.168.0.173:80 -r 192.168.10.6 -m -w 2
  ipvsadm -a -t 192.168.0.173:80 -r 192.168.10.7 -m -w 1
  ipvsadm -E -t 192.168.0.173:80 -s wrr
  ipvsadm -Z -t 192.168.0.173:80 清计数器
  ipvsadm -E -t 192.168.0.173:80 -s lblc
  ipvsadm -C 清空规则
  ipvsadm -S > /root/a.ipvs 保存规则
  ipvsadm -R < /root/a.ipvs 恢复规则


  LVS-DR
  
  arp-announce
   1 试图避免使用另外一个网卡上的MAC地址响应
   2 只使用最佳的MAC地址匹配
  arp-ignore
   1 响应接受的网卡的MAC地址
  realserver 
  vim /etc/sysctl.conf
   net.ipv4.conf.eth0.arp_ignore = 1
   net.ipv4.conf.eth0.arp_announce = 2
   net.ipv4.conf.all.arp_ignore = 1
   net.ipv4.conf.all.arp_announce = 2
  ifconfig lo:0 VIP broadcast VIP netmask 255.255.255.255 up
  route add -host VIP dev lo:0

  Drectory
  ifconfig eth0:0 VIP broadcast VIP netmask 255.255.255.255 up
  route add -host VIP dev eth0:0

  ipvsadm -A -t 192.168.0.137:80 -s wlc
  ipvsadm -a -t 192.168.0.137:80 -r 192.168.0.186 -g -w 5
  ipvsadm -a -t 192.168.0.137:80 -r 192.168.0.187 -g -w 7
  service ipvsd save

 1. 数据包在节点间传输靠的是MAC,通过ARP的广播解析IP到MAC;此种模型中Director仍有VIP、DIP;Real server有VIP、RIP;
2. Director及real server 都连接到一个Switch上;
3. Director及real server 都配置的有VIP;
4. 相同的IP,为防止冲突,在 real server 上采取手段隐藏起VIP地址,使其对请求VIP地址解析的ARP请求不作响应,这样解析到的VIP地址即为Director,数据包线传输到Director;
5. Director 接收到数据包后,根据算法找到某个real server ,并且修改数据包中的目的MAC地址为该real server的Mac,然后通过Switch转发该数据包;此时,该数据包的源ip仍未CIP,目标ip为VIP;
6. real server接收到数据包后(包中的VIP、目的MAC均匹配自己),处理该包,返回的数据直接通过Switch出去并过Router传回Client。

 

Persistent client connections
 以客户端的请求来源为基准,以后所有的服务申请都定向到同一台realserver
 ipvsadm -A -t 192.168.0.173:0 -s rr -p
Persistent port connections
 Client --> LVS(80) --> RealServer2,PPC
Persistent Netfilter Marked Packet connections
 Port affinity 端口殷勤关系
  smtp smtps
  http https
 
 iptables -t mangle -A PREROUTING -i eth0 -d 192.168.0.83 -p tcp --dport 80 -j MARK --set-mark 2
 ipvsadm -A -f 2 -s wlc -p 3600
 ipvsadm -a -f 2 -r 192.168.0.6 -m -w 2
 ipvsadm -a -f 2 -r 192.168.0.7 -m -w 5

Persistent Connection Template
 time client --> reslserver

 

 

HA:高可用

Messageing Layer/Infrastructure
 heartbeat,keepalived,ultramonkey,corosync/openais

Resource Allocation
 CRM 集群资源管理器
 CID(XML)
  定义每个节点的属性信息
 PE
  策略引擎
 LRM
  实现跟第三层工具通信
 资源管理器
  pacemaker

Rresource
 Rresource Agent
  hearbeat v1
  LSB scripts
  OCF

split-brain,partitioned cluster
stonith

HA:active/passive,active/active,N-M

RHCS,100+

Heartbeat
 node1,node2
 authkeys

 /etc/ha.d/
  ha.cf --> 最底层,定义传递信息的方式
  authkeys 信息认证
  haresources CRM,实现集群资源管理
文件共享:
 廉价文件共享:
  内核2.6.32
  drbd,rsync

 iSCSI
  DAS
  NAS服务器
  SAN(FC,iSCSI)

 Cluster Filesystem
  GFS2,OCFS2

 moosefs,pvfs

配置:

node1,node2
uname -n

以太网
 bcast
 ucast
 mcast 
串行线缆

 

OpenAIS + corosync + pacemaker + LSB web

 

 


High Performance 高性能
 GRID computing
  网格计算
  生产调度分开的
 Perform concurrent calculations 执行并行运算
 
Volume Management
 LUN
  Logical Unit Number 逻辑单元号
 UUID
  Universally Unique Identifier
  128bit
  
Direct Attached Storange
 直接附加存储
  
Network Attached Storage NAS
 网络附加存储
 成员由IP网段决定
 
SAN Technologies
 FC
  HBA 主机总线适配器
 iSCSI
 IDE 依赖CPU,存储性能差
 SCSI IDE  并行总线
 IDE -> SATA 串行
 SCSI -> SAS 串行
 SCSI总线:
  initiator 客户端,发起端,主机适配器端
  target 控制器,连接硬盘
 SCSI协议
 
CRM 集群资源管理器
LRM 本地资源管理
PE 策略引擎

Failover Domains 故障转移域
 
Storage Area Network SAN
 存储区域网络
 网络由成员决定
 initator  target
target,tcp:3260
 scsi-target-utils
  /etc/init.d/
   tgtd
   fdisk /dev/sdb
   partprob
   service tgtd start
   chkconfig tgtd on
     IQN
      iqn
      date
      reversed domain name 反写的域名
      string,主机名
      substring
      iqn.2011-02.com.a.linux:appdata
   tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2011-02.com.a.linux:appdata
   tatadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
   tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.0.0/24  基于IP认证
   tgtadm --lld iscsi --op show --mode target
 IP,CHAP
 
 
initiator
 iscsi-initiator-utils
 /etc/iscsi/iscsid.conf
  vim /etc/iscsi/initiatorname.iscsi
   InitiatorName=iqn.2011-02.com.a.node1:node1
  service iscsi start
  chkconfig iscsi on
  iscsiadm -m discovery -t sendtargets -p 192.168.0.190  发现target
  iscsiadm -m node -T iqn.2011-02.com.a.linux:appdata -p 192.168.0.190 查看target信息
  iscsiadm -m node -T iqn.2011-02.com.a.linux:appdata -p 192.168.0.190 -l 登入
  fdisk -l  多一个挂载分区/dev/sdbX
  mkfs -t ext3 /dev/sdbX
  iscsiadm --mode node -T iqn.2011-02.com.a.linux:appdata -p 192.168.0.18 --logout 登入出
  
  GFS:
   yum -y install ricci 每台node
   yum -y install luci  一台node
   luci_admin init
   service ricci start
   service luci start
   chkconfig ricci on
   chkconfig luci on
   网页登陆luci  configure  add fence
           failover domains   add a failover
           share fence device
           resources   GFS Resource Configuration
    cmon_tool status 查看集群信息
    clustat
    ccs_tool lsnode
    ccs_tool lsfence
    ccs_tool -h  查看可用选项
    ccs_test
   service rgmanager start
   lvmconf --enable-cluster
   grep 'locking_type' /etc/lvm/lvm.conf
   service clvmd start
   lsmod | grep gfs
   ps aux | grep dlm
   iscsiadm -m discovery -t sendtargets -p 192.168.0.190
   iscsiadm -m node -T iqn.2011-02.com.a.linux:appdata -p 192.168.0.190 -l 登入
   fdisk /dev/sdb
   pvcreate -ff  /dev/sdb1
   
   fence_manual
   lvmconf --enable-cluster
   
   rgmanager  每台
   clvmd  启动进程

 
service iscsi
tgtadm --lld iscsi --op new --mode account --tid 1 --user=terra --password=123456
tgtadm --lld iscsi --op show --mode account
tgtadm --lld iscsi --op bind --mode account --tid 1 --user terra
tgtadm --lld iscsi --op new --mode account --user=terra --password=123456
tgtadm --lld iscsi --op show --mode account
tgtadm --lld iscsi --op bind --mode target --tid 1 --user terra

iscsiadm -m node -T iqn.2011-02.com.a.linux:appdata -p 192.168.0.18 --logout
iscsiadm -m node -T iqn.2011-02.com.a.linux:appdata -p 192.168.0.18 -o delete
rm -fr /var/lib/iscsi/send_targets/192.168.0.18,3260
service iscsi stop
vim /etc/iscsi/iscsid.conf
 node.session.auth.authmethod = CHAP
 node.session.auth.username = terra
 node.session.auth.password = 123456
 discovery.sendtargets.auth.username = terra
 discovery.sendtargets.auth.password = 123456
iscsiadm -m discovery -t sendtargets -p 192.168.0.18
iscsiadm -m node -T iqn.2011-02.com.a.linux:appdata -p 192.168.0.18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值