共计 10039 个字符,预计需要花费 26 分钟才能阅读完成。
RHEL6.4×64+RHCS+Conga(luci/ricci)+iSCSI+CLVM+gfs2 安装配置 V1.0
主机名 | IP 地址 | 主机用途 | 虚拟 IP | 所需软件 |
Manager | 192.168.182.128 | iSCSI-Target/RHCS 管理端 | 无 | scsi-target/luci |
Agent1 | 192.168.182.131 | iSCSI-Initiator/web 服务 | 192.168.182.182 | iscsi-initiator/rgmanager(包含 cman/ricci)/lvm2-cluster/gfs2 |
Agent2 | 192.168.182.132 | iSCSI-Initiator/web 服务 | 192.168.182.182 | iscsi-initiator/rgmanager(包含 cman/ricci)/lvm2-cluster/gfs2 |
一、基本配置
1. 关闭 Manager/Agent1/Agent2 的 iptables 和 selinux
#/etc/init.d/iptables stop
#vim /etc/selinux/config
把 SELINUX=enforcing 改成 SELINUX=permissive,重启生效。如要立即生效输入 #setenforce 0
2. 配置 Manager/Agent1/Agent2 的 hosts 文件
#vim /etc/hosts
输入以下内容
192.168.182.128 Manager
192.168.182.131 Agent1
192.168.182.132 Agent2
3. 配置 Manager/Agent1/Agent2 的 ntp 时间同步
4. 配置好 yum 源
5. 在 agent1 和 agent2 上安装 httpd 服务
#yum install -y httpd
#/etc/init.d/httpd start
#chkconfig httpd on
– 基本配置完毕
二、iSCSI 安装配置
1. 安装 target,在 Manager 上执行
用 fdisk 分一个 10G 的空间,然后 partx 重读分区
# fdisk /dev/sda
# partx /dev/sda -a
安装 iscsi-target
# yum install -y scsi-target-utils
2. 配置 target,在 Manager 上执行
先备份一下配置文件
#cp /etc/tgt/targets.conf /etc/tgt/targets.conf.bak
在文件最后添加以下信息
#vim /etc/tgt/targets.conf
<target iqn.2014-01.Manager:ReedStorage>
backing-store /dev/sda5
initiator-address 192.168.182.0/24
incominguser reed password
write-cache off
</target>
启动并设置开机启动
#chkconfig tgtd on ; /etc/init.d/tgtd start
查看 iscsi target 相关信息
#tgt-admin –show
3. 安装 initiator,在 agent1 和 agent2 上执行
#yum install -y iscsi-initiator-utils
设置开机启动
#chkconfig iscsi on
4. 配置 initiator,在 agent1 和 agent2 上执行
#vim /etc/iscsi/iscsid.conf
# 在文件最后加入以下内容:
node.session.auth.username = reed
node.session.auth.password = password
discovery.sendtargets.auth.username = reed
discovery.sendtargets.auth.password = password
5. 在 initiator 发现 target 盘,在 agent1 和 agent2 上执行
#iscsiadm -m dicovery -t sendtargets -p 192.168.182.128
6. 显示所有 target 数据,在 agent1 和 agent2 上执行
#iscsiadm -m node
查看 iscsi 磁盘(成功的话会看到 iscsi target 分享的磁盘)
#fdisk -l
–iscsi 配置完毕。
三、Conga 管理工具(luci/ricci)、cman 和 rgmanager 集群工具安装配置
1. 安装 luci 工具,在 Manager 上执行
#yum install -y luci
#/etc/init.d/luci start
#chkconfig luci on
2. 安装 rgmanager(包含了 ricci/cman),在 agent1 和 agent2 上执行
#yum install rgmanager -y 会自动安装 ricci、cman 等包
#chkconfig ricci on ; /etc/init.d/ricci start
#chkconfig NetworkManager off ; /etc/init.d/NetworkManager stop
#chkconfig cman on ; chkconfig rgmanager on
启动有先后顺序,先启动 cman 再启动 rgmanager,关闭则相反。
#/etc/init.d/cman start ; /etc/init.d/rgmanager start
3. 使用 luci 进行配置集群
3.1 新建一个集群
1)先在 agent1 和 agent2 上为 ricci 用户设置一个密码
#echo 123456|passwd –stdin ricci
2)打开 luci 的 web 界面,https://ip:8084,用户密码为系统 root 用户和密码。在启动 luci 服务会有提示。
新建一个集群,名为 clvm_cluster,添加两个节点,一个名为 192.168.182.131,另一个名为 192.168.182.132。node name 和 Riccihostname 都是 192.168.182.131 和 192.168.182.132,密码为刚才设置的,端口保持默认。因为之前在两个节点上都安装了 ricci、cman 等包,所以单选 use locally installed packages,enable shared storage support 选项其实就是指的 gfs,我们在后面手动装包来实施,这里不勾选。
3.2 设置 Failover Domains
点击菜单中的 Failover Domains,添加一个热备切换域,名为 web,勾选 no Failback 和 Prioritized,勾选 192.168.182.131,192.168.182.132 两个节点。
3.3 设置 Resources
点击菜单中的 Resources,添加一个 ip address 资源,ip 为 192.168.182.182,这个 ip 就是提供服务的虚拟 ip,再添加一个 script,名为 http,脚本路径 /etc/init.d/httpd。
3.4 设置 ServiceGroups
点击菜单中的 Services,添加一个服务,名为 web_service,选择刚创建的热备切换域 web,添加资源,把刚创建的 ip 资源和脚本资源添加进来,如果服务需要使用的资源具有先后关系,那么需要将前提资源以子资源(add a child resource)的形式添加。
4. 测试
在两个节点上针对 httpd 写一个 index.html 的页面,agent1 上# echo agent1 > /var/www/html/index.html,agent2 上# echo agent2> /var/www/html/index.html。访问这个 apache 服务,可以通过访问到的内容来检测集群提供的服务是由哪个节点完成的。
在两个节点上都监控日志 tail -f /var/log/message,启动这个 apache 服务,查看服务启动时节点的信息,有助于更好的理解 rhcs 和增加排错经验。如无意外,此时应该可以看到 apache 服务会在其中一个节点上启动,我的启动在 agent1 上,在 Services 菜单可以看到,在任意节点上用指令 clustat 查看更快更方便。
#clustat -l
5. 配置 fence 设备
!!由于在虚拟机环境下,暂无法测试。
– 集群配置完毕
相关阅读:
基于 RHCS+iSCSI+CLVM 实现 Web 服务的共享存储集群架构 http://www.linuxidc.com/Linux/2013-05/84888.htm
Linux 环境 iSCSI 存储及多路径功能配置 http://www.linuxidc.com/Linux/2013-05/84635.htm
构建基于 IP SAN 的 iSCSI 存储系统 http://www.linuxidc.com/Linux/2013-05/84570.htm
iSCSI 连接不上解决 http://www.linuxidc.com/Linux/2013-01/78462.htm
Citrix XenServer 中安装 CentOS 6.0 并配置 iSCSI 服务 http://www.linuxidc.com/Linux/2013-01/78461.htm
CentOS 5.3 使用 iSCSI 挂载存储磁盘柜 http://www.linuxidc.com/Linux/2011-01/31529.htm
四、CLVM 的安装与配置
1. 安装 CLVM,在 agent1 和 agent2 上执行
#yum install -y lvm2-cluster
#chkconfig clvmd on
2. 启用 CLVM,在 agent1 和 agent2 上执行
#lvmconf –enable-cluster
3. 查看一下启用的集群 LVM,在 agent1 和 agent2 上执行
如果不是 3,则改为 3
#grep “locking_type = 3” /etc/lvm/lvm.conf
4. 启动 CLVM 服务
因为暂没有可用卷组,所以启动时会有提示“Activating VG(s): No volume groups found“,但不影响正常启动。
#/etc/init.d/clvmd start
5. 在节点上创建 lvm,在 agent1 或者 agent2 其中一台执行即可
1)用 fdisk - l 查看共享的磁盘
#fdisk -l
2)创建逻辑卷 lv
#pvcreate /dev/sdb
#vgcreate iscsivg /dev/sdb
#lvcreate -L 5G -n iscsilv01 iscsivg
查看
#pvdisplay
#lvs
–CLVM 配置完毕
五、gfs2 的安装与配置
1. 安装 gfs2,在 agent1 和 agent2 上执行
#yum install -y gfs2-utils
2. 格式化为集群文件系统 gfs2
格式化为 gfs2,设定锁机制及 2 份 journal,- t 分两部分,集群名: 设备名,格式化的时间有点长,耐心等待。
#mkfs.gfs2 -j 2 -p lock_dlm -t clvm_cluster:gfs2Storage /dev/iscsivg/iscsilv01
3. 挂载并设置开机挂载 gfs2,在 agent1 和 agent2 上执行
挂载到 /var/www/html
#mount -t gfs2 /dev/iscsivg/iscsilv01 /var/www/html
设置开机挂载
#echo “/dev/iscsivg/iscsilv01 /var/www/html gfs2 defaults 0 0”>>/etc/fstab
#mount -a
4. 测试读写文件到 gfs2,在任意一个 agent 上执行即可
#cd /var/www/html/
#echo “rhcs test”>index.html
用浏览器访问 http://vip 测试
5. 在 luci 的 Resources 菜单添加一个 gfs2 资源,name 为 web_gfs2,mount point 为 /var/www/html,Device 为 /dev/iscsivg/iscsilv01,filesystem type 为 gfs2。打开 Services 菜单,点击 web_service 服务,添加一个资源,选择刚创建的 web_gfs2。
–gfs2 配置完毕
六、查看 cluster.conf 文件
至此,全部配置完毕,附 cluster.conf 文件
<?xml version=”1.0″?>
<cluster config_version=”9″ name=”clvm_cluster”>
<clusternodes>
<clusternode name=”192.168.182.131″ nodeid=”1″/>
<clusternode name=”192.168.182.132″ nodeid=”2″/>
</clusternodes>
<cman expected_votes=”1″ two_node=”1″/>
<rm>
<failoverdomains>
<failoverdomain name=”web” nofailback=”1″ ordered=”1″>
<failoverdomainnode name=”192.168.182.131″ priority=”1″/>
<failoverdomainnode name=”192.168.182.132″ priority=”2″/>
</failoverdomain>
</failoverdomains>
<resources>
<ip address=”192.168.182.182″ sleeptime=”10″/>
<script file=”/etc/init.d/httpd” name=”httpd”/>
<clusterfs device=”/dev/iscsivg/iscsilv01″ fsid=”53620″ fstype=”gfs2″ mountpoint=”/var/www/html” name=”web_gfs2″/>
</resources>
<service domain=”web” name=”web_service” recovery=”relocate”>
<ip ref=”192.168.182.182″/>
<script ref=”httpd”/>
<clusterfs ref=”web_gfs2″/>
</service>
</rm>
</cluster>
七、测试
任意把其中一台 agent 执行 shutdown 操作,查看 web 和日志确认 RHCS 是否正常。由于虚拟机环境无法正常 fence,所以暂不测试异常状态。
八、后续
当节点超过两个的时候,比如说四节点,如果 1、2 节点通信正常,3、4 节点通信正常,但是 1、2 和 3、4 之间通信不正常,那么 1、2 形成一个组,3、4 形成一个组,互不相让,争夺服务和资源,形成 split-brain,这是我们不希望出现的状况,我们怎么去解决这个问题呢?答案就是使用 quorum disk 仲裁磁盘。
正在测试中。
更多 RedHat 相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10
RHEL6.4×64+RHCS+Conga(luci/ricci)+iSCSI+CLVM+gfs2 安装配置 V1.0
主机名 | IP 地址 | 主机用途 | 虚拟 IP | 所需软件 |
Manager | 192.168.182.128 | iSCSI-Target/RHCS 管理端 | 无 | scsi-target/luci |
Agent1 | 192.168.182.131 | iSCSI-Initiator/web 服务 | 192.168.182.182 | iscsi-initiator/rgmanager(包含 cman/ricci)/lvm2-cluster/gfs2 |
Agent2 | 192.168.182.132 | iSCSI-Initiator/web 服务 | 192.168.182.182 | iscsi-initiator/rgmanager(包含 cman/ricci)/lvm2-cluster/gfs2 |
一、基本配置
1. 关闭 Manager/Agent1/Agent2 的 iptables 和 selinux
#/etc/init.d/iptables stop
#vim /etc/selinux/config
把 SELINUX=enforcing 改成 SELINUX=permissive,重启生效。如要立即生效输入 #setenforce 0
2. 配置 Manager/Agent1/Agent2 的 hosts 文件
#vim /etc/hosts
输入以下内容
192.168.182.128 Manager
192.168.182.131 Agent1
192.168.182.132 Agent2
3. 配置 Manager/Agent1/Agent2 的 ntp 时间同步
4. 配置好 yum 源
5. 在 agent1 和 agent2 上安装 httpd 服务
#yum install -y httpd
#/etc/init.d/httpd start
#chkconfig httpd on
– 基本配置完毕
二、iSCSI 安装配置
1. 安装 target,在 Manager 上执行
用 fdisk 分一个 10G 的空间,然后 partx 重读分区
# fdisk /dev/sda
# partx /dev/sda -a
安装 iscsi-target
# yum install -y scsi-target-utils
2. 配置 target,在 Manager 上执行
先备份一下配置文件
#cp /etc/tgt/targets.conf /etc/tgt/targets.conf.bak
在文件最后添加以下信息
#vim /etc/tgt/targets.conf
<target iqn.2014-01.Manager:ReedStorage>
backing-store /dev/sda5
initiator-address 192.168.182.0/24
incominguser reed password
write-cache off
</target>
启动并设置开机启动
#chkconfig tgtd on ; /etc/init.d/tgtd start
查看 iscsi target 相关信息
#tgt-admin –show
3. 安装 initiator,在 agent1 和 agent2 上执行
#yum install -y iscsi-initiator-utils
设置开机启动
#chkconfig iscsi on
4. 配置 initiator,在 agent1 和 agent2 上执行
#vim /etc/iscsi/iscsid.conf
# 在文件最后加入以下内容:
node.session.auth.username = reed
node.session.auth.password = password
discovery.sendtargets.auth.username = reed
discovery.sendtargets.auth.password = password
5. 在 initiator 发现 target 盘,在 agent1 和 agent2 上执行
#iscsiadm -m dicovery -t sendtargets -p 192.168.182.128
6. 显示所有 target 数据,在 agent1 和 agent2 上执行
#iscsiadm -m node
查看 iscsi 磁盘(成功的话会看到 iscsi target 分享的磁盘)
#fdisk -l
–iscsi 配置完毕。
三、Conga 管理工具(luci/ricci)、cman 和 rgmanager 集群工具安装配置
1. 安装 luci 工具,在 Manager 上执行
#yum install -y luci
#/etc/init.d/luci start
#chkconfig luci on
2. 安装 rgmanager(包含了 ricci/cman),在 agent1 和 agent2 上执行
#yum install rgmanager -y 会自动安装 ricci、cman 等包
#chkconfig ricci on ; /etc/init.d/ricci start
#chkconfig NetworkManager off ; /etc/init.d/NetworkManager stop
#chkconfig cman on ; chkconfig rgmanager on
启动有先后顺序,先启动 cman 再启动 rgmanager,关闭则相反。
#/etc/init.d/cman start ; /etc/init.d/rgmanager start
3. 使用 luci 进行配置集群
3.1 新建一个集群
1)先在 agent1 和 agent2 上为 ricci 用户设置一个密码
#echo 123456|passwd –stdin ricci
2)打开 luci 的 web 界面,https://ip:8084,用户密码为系统 root 用户和密码。在启动 luci 服务会有提示。
新建一个集群,名为 clvm_cluster,添加两个节点,一个名为 192.168.182.131,另一个名为 192.168.182.132。node name 和 Riccihostname 都是 192.168.182.131 和 192.168.182.132,密码为刚才设置的,端口保持默认。因为之前在两个节点上都安装了 ricci、cman 等包,所以单选 use locally installed packages,enable shared storage support 选项其实就是指的 gfs,我们在后面手动装包来实施,这里不勾选。
3.2 设置 Failover Domains
点击菜单中的 Failover Domains,添加一个热备切换域,名为 web,勾选 no Failback 和 Prioritized,勾选 192.168.182.131,192.168.182.132 两个节点。
3.3 设置 Resources
点击菜单中的 Resources,添加一个 ip address 资源,ip 为 192.168.182.182,这个 ip 就是提供服务的虚拟 ip,再添加一个 script,名为 http,脚本路径 /etc/init.d/httpd。
3.4 设置 ServiceGroups
点击菜单中的 Services,添加一个服务,名为 web_service,选择刚创建的热备切换域 web,添加资源,把刚创建的 ip 资源和脚本资源添加进来,如果服务需要使用的资源具有先后关系,那么需要将前提资源以子资源(add a child resource)的形式添加。
4. 测试
在两个节点上针对 httpd 写一个 index.html 的页面,agent1 上# echo agent1 > /var/www/html/index.html,agent2 上# echo agent2> /var/www/html/index.html。访问这个 apache 服务,可以通过访问到的内容来检测集群提供的服务是由哪个节点完成的。
在两个节点上都监控日志 tail -f /var/log/message,启动这个 apache 服务,查看服务启动时节点的信息,有助于更好的理解 rhcs 和增加排错经验。如无意外,此时应该可以看到 apache 服务会在其中一个节点上启动,我的启动在 agent1 上,在 Services 菜单可以看到,在任意节点上用指令 clustat 查看更快更方便。
#clustat -l
5. 配置 fence 设备
!!由于在虚拟机环境下,暂无法测试。
– 集群配置完毕
相关阅读:
基于 RHCS+iSCSI+CLVM 实现 Web 服务的共享存储集群架构 http://www.linuxidc.com/Linux/2013-05/84888.htm
Linux 环境 iSCSI 存储及多路径功能配置 http://www.linuxidc.com/Linux/2013-05/84635.htm
构建基于 IP SAN 的 iSCSI 存储系统 http://www.linuxidc.com/Linux/2013-05/84570.htm
iSCSI 连接不上解决 http://www.linuxidc.com/Linux/2013-01/78462.htm
Citrix XenServer 中安装 CentOS 6.0 并配置 iSCSI 服务 http://www.linuxidc.com/Linux/2013-01/78461.htm
CentOS 5.3 使用 iSCSI 挂载存储磁盘柜 http://www.linuxidc.com/Linux/2011-01/31529.htm
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)