阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Heartbeat V1和V2 实现nfs作为共享存储的高可用

189次阅读
没有评论

共计 3001 个字符,预计需要花费 8 分钟才能阅读完成。

高可用主要分为三个层次:

1. 底层信息层,实现方式:
  heartbeat
  corosync
  cman
2. 资源管理层,实现方式:
  heartbeat-V1:haresource
  heartbeat-V2:crm
  heartbeat-V3: pacemaker
  RHCS:rgmanager
  注:资源管理器 pacemaker,可与所有底层通信的实现方式结合使用。
3. 资源代理层,实现方式:
  heartbeat-v1
  LSB
  OCF
  STONITH

实现高可用,需要配置的内容:
1. 资源:
  primitive(或 native):主资源,所有其他资源的基础,也就是说要配置其他类型的资源,首先                            要先有主资源。
  group:组资源
  ms:主从资源
  clone : 克隆资源
2. 约束:
  location:位置约束,针对节点而言。
  colocation:排列约束,针对资源而言。
  order:顺序约束,针对启动顺序而言。

3. 若是两个(偶数)节点,还需配置 ping node 或 quorum disk。

环境:
  系统:CentOS 6.5
  软件包:heartbeat-stonith-2.1.4-12.el6.x86_64.rpm
          heartbeat-pils-2.1.4-12.el6.x86_64.rpm
          heartbeat-gui-2.1.4-12.el6.x86_64.rpm
          heartbeat-2.1.4-12.el6.x86_64.rpm
  高可用节点:node1:192.168.0.11
  node2:192.168.0.12
  共享存储节点:node3:192.168.0.13

  heartbeat 配置文件:
      配置文件路径:/etc/ha.d/
      配置文件:1. authkeys(V1、V2、V3):用来配置集群节点之间的认证方法。
                2. ha.cf(V1、V2、V3):主配置文件。
                3. haresource(V1):用来配置和管理集群资源的。
                    /var/lib/heartbeat/crm/cib.xml(V2)
 注:以上三个配置文件需要从 /usr/shared/doc/heartbeat-2.1.4/ 目录中拷贝到配置文件路径下。

使用 Heartbeat V1 和 V2 实现 nfs 作为共享存储的高可用

一、在 node3 上,配置共享存储
1、建立共享目录
      mkdir /mysqldata
2、导出共享目录,配置 /etc/exports 如下:
      /mysqldata192.168.0.0/24(rw,no_root_squash)
3、启动 nfs 服务
      service nfs start
4、创建 mysql 用户
      useradd -r -u 306 mysql
  注:此用户用于在 node1 和 node2 节点的 mysql 用户可以进行写操作。

二、node1 和 node2 配置如下
heartbeat V1:

步骤:
 1. 配置 authkeys,如下:
      auth 2# 指定使用哪种认证方法,认证方法有三种 crc、sha1、md5. 数字 2 表示使用第二种方法。2 sha1 51aefbc42e9976fe #后面的一字符串是一串随机数,用其作为认证信息。
2. 修改 authkeys,权限为 600
      chmod 600 authkeys
3. 修改过 ha.cf,以下几项:
      logfile /var/log/ha-log
      keepalive 1 #用来设置发送心跳信息的时间间隔
      deadtime 30# 用来设置多长时间没有收到心跳信息,主机就被认为死亡。
      warntime 10# 用来设置多长时间没有收到心跳信息,就发出告警。
      initdead 120# 因为有时机器重启后或刚启动后,网络启动可能会延迟,所以时间要长一些。
      mcast eth0 225.10.10.100 694 1 0 #用来定义组播地址,和发送心跳信息的端口等。
      auto_failback on
      node node1
      node node2
      ping 192.168.0.200
      compression bz2
      compression_threshold 2

4. 配置 haresource,如下:
      node1 192.168.0.100/24/eth0 Filesystem::192.168.0.13:/mysqldata::/mydata::nfs mysqld

5. 添加 mysql 用户
      useradd -r -u 306 mysql

6. 安装和配置 mysql
      1. tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local/
      2. cd /usr/local/
      3. ln -sv mysql-5.5.33-linux2.6-x86_64 mysql
      4. cd mysql
      5. chown -R root.mysql .

      6. mkdir /mydata
      7. mount -t nfs 192.168.0.13:/mysqldata /mydata
      8. mkdir /mydata/data
      9. chown -R mysql.mysql /mydata/data
      10. ./scripts/mysql_install_db –user=mysql –datadir=/mydata/data
      12. cp support-files/my-huge.cnf /etc/my.cnf
      13. cp support-files/mysql.server /etc/rc.d/init.d/mysqld
      14. 修改 /etc/my.cnf, 在【mysqld】区域添加如下两项:
          datadir=/mydata/data
          innodb_file_per_table=1
      15. chkconfig mysqld off
      16. service mysqld start
      17. 进入 mysql,添加测试账号
          GRANT ALL ON test.* TO ‘root’@’%’ IDENTIFIED BY ‘123’;
三、测试
1. 在 node3 上,使用 mysql 连接
      mysql -uroot -p123 -h 192.168.0.100
2. 在库 test 中,创建一个表进行测试
      CREATE TABLE mytest(id int);
3. 使用 hb_standby 脚本将 node1 转为备节点
      /usr/lib64/heartbeat/hb_standby
4. 再次查看是否有表 mytest

注:heartbeat V1 无法实现对资源的监控,需要借助第三方软件。之后的版本以及 corosync
  都可以实现对资源的监控。

heartbeat V2:
1. 在上面 V1 的配置基础上,在主配置文件 ha.cf 中,添加如下:
  crm respawn 或 on
2. 使用 hb_gui 来进行配置
  注:具体步骤在附件中!

附件 下载

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2014 年资料 / 3 月 /11 日 / 使用 Heartbeat V1 和 V2 实现 nfs 作为共享存储的高可用

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3001字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中