创建RHCS集群环境

1.1 问题

准备四台KVM虚拟机,其三台作为集群节点,一台安装luci并配置iSCSI存储服务,实现如下功能:

  • 使用RHCS创建一个名为tarena的集群

  • 集群中所有节点均需要挂载iSCSI共享存储

  • 使用集群中任意节点对iSCSI设置进行分区格式化

  • 安装luci的虚拟主机要求额外添加一块20G硬盘

  • 物理主机IP地址为192.168.4.1,主机名称为desktop1.example.com

1.2 方案

使用4台虚拟机,1台作为luci和iSCSI服务器、3台作为节点服务器,拓扑结构如图-1所示。

图-1

所有主机的主机名及对应的IP地址如表-1所示。

表-1 主机名称及对应IP地址表


1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装前准备

1)为所有节点配置yum源,注意所有的虚拟主机均需要挂载安装光盘。

  1. [root@node1 ~]# mount /dev/cdrom /media

  2. [root@node1 ~]# rm -rf /etc/yum.repos.d/*

  3. [root@node1 ~]# vim /etc/yum.repos.d/dvd.repo

  4. [dvd]

  5. name=red hat

  6. baseurl=file:///media/

  7. enabled=1

  8. gpgcheck=0

  9. [HighAvailability]

  10. name=HighAvailability

  11. baseurl=file:///media/HighAvailability

  12. enabled=1

  13. gpgcheck=0

  14. [LoadBalancer]

  15. name=LoadBalancer

  16. baseurl=file:///media/LoadBalancer

  17. enabled=1

  18. gpgcheck=0

  19. [ResilientStorage]

  20. name=ResilientStorage

  21. baseurl=file:///media/ResilientStorage

  22. enabled=1

  23. gpgcheck=0

  24. [ScalableFileSystem]

  25. name=ScalableFileSystem

  26. baseurl=file:///media/ScalableFileSystem

  27. enabled=1

  28. gpgcheck=0

  29. [root@node1 ~]# yum clean all

  30. [root@node2 ~]# mount /dev/cdrom /media

  31. [root@node2 ~]# rm –rf /etc/yum.repos.d/*

  32. [root@node2 ~]# vim /etc/yum.repos.d/dvd.repo

  33. [dvd]

  34. name=red hat

  35. baseurl=file:///media/

  36. enabled=1

  37. gpgcheck=0

  38. [HighAvailability]

  39. name=HighAvailability

  40. baseurl=file:///media/HighAvailability

  41. enabled=1

  42. gpgcheck=0

  43. [LoadBalancer]

  44. name=LoadBalancer

  45. baseurl=file:///media/LoadBalancer

  46. enabled=1

  47. gpgcheck=0

  48. [ResilientStorage]

  49. name=ResilientStorage

  50. baseurl=file:///media/ResilientStorage

  51. enabled=1

  52. gpgcheck=0

  53. [ScalableFileSystem]

  54. name=ScalableFileSystem

  55. baseurl=file:///media/ScalableFileSystem

  56. enabled=1

  57. gpgcheck=0

  58. [root@node2 ~]# yum clean all

  59. [root@node3 ~]# mount /dev/cdrom /media

  60. [root@node3 ~]# rm -rf /etc/yum.repos.d/*

  61. [root@node3 ~]# vim /etc/yum.repos.d/dvd.repo

  62. [dvd]

  63. name=red hat

  64. baseurl=file:///media/

  65. enabled=1

  66. gpgcheck=0

  67. [HighAvailability]

  68. name=HighAvailability

  69. baseurl=file:///media/HighAvailability

  70. enabled=1

  71. gpgcheck=0

  72. [LoadBalancer]

  73. name=LoadBalancer

  74. baseurl=file:///media/LoadBalancer

  75. enabled=1

  76. gpgcheck=0

  77. [ResilientStorage]

  78. name=ResilientStorage

  79. baseurl=file:///media/ResilientStorage

  80. enabled=1

  81. gpgcheck=0

  82. [ScalableFileSystem]

  83. name=ScalableFileSystem

  84. baseurl=file:///media/ScalableFileSystem

  85. enabled=1

  86. gpgcheck=0

  87. [root@node3 ~]# yum clean all

  88. [root@luci ~]# mount /dev/cdrom /media

  89. [root@luci ~]# rm -rf /etc/yum.repos.d/*

  90. [root@luci ~]# vim /etc/yum.repos.d/dvd.repo

  91. [dvd]

  92. name=red hat

  93. baseurl=file:///media/

  94. enabled=1

  95. gpgcheck=0

  96. [HighAvailability]

  97. name=HighAvailability

  98. baseurl=file:///media/HighAvailability

  99. enabled=1

  100. gpgcheck=0

  101. [LoadBalancer]

  102. name=LoadBalancer

  103. baseurl=file:///media/LoadBalancer

  104. enabled=1

  105. gpgcheck=0

  106. [ResilientStorage]

  107. name=ResilientStorage

  108. baseurl=file:///media/ResilientStorage

  109. enabled=1

  110. gpgcheck=0

  111. [ScalableFileSystem]

  112. name=ScalableFileSystem

  113. baseurl=file:///media/ScalableFileSystem

  114. enabled=1

  115. gpgcheck=0

  116. [root@luci ~]# yum clean all

2)修改/etc/hosts并同步到所有主机。

  1. [root@luci ~]# vim /etc/hosts

  2. 192.168.4.1        node1.example.com

  3. 192.168.4.2        node2.example.com

  4. 192.168.4.3        node3.example.com

  5. 192.168.4.4        luci.example.com

  6. [root@luci ~]# for i in {1..3};do scp /etc/hosts 192.168.4.$i:/etc/;done

3)所有节点关闭NetworkManager、SELinux服务。

  1. [root@luci ~]# service NetworkManager stop

  2. [root@luci ~]# chkconfig NetworkManager off

  3. [root@luci ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux

  4. [root@luci ~]# setenforce 0

  5. [root@luci ~]# iptables -F; service iptables save

  6. [root@node1 ~]# service NetworkManager stop

  7. [root@node1 ~]# chkconfig NetworkManager off

  8. [root@node1 ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux

  9. [root@node1 ~]# setenforce 0

  10. [root@node1 ~]# iptables -F; service iptables save

  11. [root@node2 ~]# service NetworkManager stop

  12. [root@node2 ~]# chkconfig NetworkManager off

  13. [root@node2 ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux

  14. [root@node2 ~]# setenforce 0

  15. [root@node2 ~]# iptables -F; service iptables save

  16. [root@node3 ~]# service NetworkManager stop

  17. [root@node3 ~]# chkconfig NetworkManager off

  18. [root@node3 ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux

  19. [root@node3 ~]# setenforce 0

  20. [root@node3 ~]# iptables -F; service iptables save

步骤二:部署iSCSI服务

1)在luci主机上部署iSCSI服务器,将/dev/sdb使用iSCSI服务共享。

提示:服务器IQN名称为: iqn.2015-06.com.example.luci:cluster。

  1. [root@luci ~]# yum  -y  install  scsi-target-utils        //安装软件

  2. .. ..

  3. [root@luci ~]# rpm  -q  scsi-target-utils

  4. scsi-target-utils-1.0.24-10.el6.x86_64

  5. [root@luci ~]# vim /etc/tgt/targets.conf

  6. <target iqn.2015-06.com.example.luci:cluster>

  7. # List of files to export as LUNs

  8. backing-store /dev/sdb                            //定义存储设备

  9. initiator-address 192.168.4.0/24                    //定义ACL

  10. target>

  11. [root@luci ~]# service  tgtd  start                     //启动服务

  12. Starting SCSI target daemon:                               [  OK  ]

  13. [root@luci ~]# chkconfig  tgtd  on

2)所有节点服务器挂载该iSCSI共享。

  1. [root@node1 ~]# yum -y install iscsi-initiator-utils    //安装软件

  2. [root@node1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.4.4:3260

  3. [root@node1 ~]# iscsiadm -m node -T \

  4. >iqn.2015-06.com.example.luci:cluster \

  5. >-p 192.168.4.4:3260 -l                                //挂载iSCSI共享

  6. [root@node1 ~]# iscsiadm -m node -T \

  7. >iqn.2015-06.com.example.luci:cluster \

  8. >-p 192.168.4.4:3260 -l

  9. [root@node2 ~]# yum -y install iscsi-initiator-utils    //安装软件

  10. [root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.4.4:3260

  11. [root@node2 ~]# iscsiadm -m node -T \

  12. >iqn.2015-06.com.example.luci:cluster \

  13. >-p 192.168.4.4:3260 –l                                //挂载iSCSI共享

  14. [root@node2 ~]# iscsiadm -m node -T \

  15. >iqn.2015-06.com.example.luci:cluster \

  16. >-p 192.168.4.4:3260 -l

  17. [root@node3 ~]# yum -y install iscsi-initiator-utils    //安装软件

  18. [root@node3 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.4.4:3260

  19. [root@node3 ~]# iscsiadm -m node -T \

  20. >iqn.2015-06.com.example.luci:cluster \

  21. >-p 192.168.4.4:3260 -l                                //挂载iSCSI共享

  22. [root@node3 ~]# iscsiadm -m node -T \

  23. >iqn.2015-06.com.example.luci:cluster \

  1. >-p 192.168.4.4:3260 –l

步骤三:安装集群软件

1)在luci.example.com主机上安装luci,并启动服务。

  1. [root@luci ~]# yum –y install luci

  2. [root@luci ~]# service luci start;chkconfig luci on

2)在所有的集群节点中安装ricci,并启动服务。

  1. [root@node1 ~]# yum -y install ricci

  2. [root@node1 ~]# echo "11111" |passwd --stdin ricci

  3. [root@node1 ~]# service ricci start;chkconfig ricci on

  4. [root@node2 ~]# yum -y install ricci

  5. [root@node2 ~]# echo "11111" |passwd --stdin ricci

  6. [root@node2 ~]# service ricci start;chkconfig ricci on

  7. [root@node3 ~]# yum -y install ricci

  8. [root@node3 ~]# echo "11111" |passwd --stdin ricci

  9. [root@node3 ~]# service ricci start;chkconfig ricci on

步骤四:配置集群

1)浏览器访问luci,任意主机使用浏览器访问即可。

  1. [root@luci ~]# firefox https://luci.example.com:8084

2)创建集群。

使用浏览器访问luici页面后,点击“Manage Clusters“页面,点击”Create“按钮创建一个新的集群,如图-2所示。

图-2

接下来,在弹出的回话框中,输入集群的名称“tarena“,勾选”Download Packages“、“Reboot Nodes Befor Joining Cluster”、“Enable Shared Storage Support”,效果如图-3所示。

图-3

等待所有的节点重启之后,在luci页面将显示如图-4所示的页面,代表所有节点以及加入到了tarena集群中。

图-4

提示:如果节点重启后,有部分节点无法自动加入集群中,可以将正常的节点系统中/etc/cluster/cluster.conf文件同步到其他失败的节点中,并确保失败节点的cman和rgmanager服务为启动状态即可。