Linux:RHCS 实现高可用(共享存储,gfs2文件系统)
一·iscsi
1.iscsi是什么
iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)是由IBM下属的两大研发机构一一加利福尼亚AImaden和以色列Haifa研究中心共同开发的,是一个供硬件设备使用的、可在IP协议上层运行的SCSI指令集,是一种开放的基于IP协议的工业技术标准。该协议可以用TCP/IP对SCSI指令进行封装,使得这些指令能够通过基于IP网络进行传输,从而实现SCSI和TCP/IP协议的连接。对于局域网环境中的用户来说,采用该标准只需要不多的投资就可以方便、快捷地对信息和数据进行交互式传输及管理。
2.优点
iSCSI的发展成了必然,其市场价值是很多服务器厂商看中的,也给无法承担 FC SAN高成本光纤基础结构的中间市场客户所看中,主要因为iSCSI通过集SCSI、以太网和TCP/IP等技术于一身,存在很多优点:
1.建立在常见和稳定的标准上,很多IT工作人员对这些技术熟悉,更容易接受;
2.由于TCP/IP协议附件减少了聘请专业人员的需要,所以安装和维护成本较低,使用iSCSI创建TCO更低的存储局域网络;
3.由于减少了不同的网络和布线,使用常规以太网交换机而不必专用光纤通道交换机,很大程度提高了互操作性;
4.传播无极限!可以在全球IP网络上进行以太网传输,实际传播距离没有限制;
5.速度可以扩充到10Gbit,将可以和同步光网络速率相媲美。
因此,iSCSI 具有低廉、开放、大容量、传输速度高、兼容、安全等诸多优点,其优越的性能使其自发布之始便受到市场的关注与青睐,看来,iSCSI 必将成为网络存储领域内的核心技术之一。那么,到底谁最适合使用iSCSI SAN呢?目前看来iSCSI SAN最适合需要在网络上存储和传输数据流和/或大量数据的机构,如:ISP-互联网服务提供商;SSP-存储服务提供商;需要远程数据复制和灾难恢复的机构;IT资源、基础设施和预算均十分有限的企业和机构等。市场上,除了各类作业平台的Initiator软件之外,已有愈来愈多厂商推出各种各类的 iSCSI相关产品。如iSCSI适配卡、iSCSI交换机、iSCSI存储服务器、iSCSI存储设备、iSCSI桥接器及iSCSI网关器。
二·iscsi
1.配置共享存储
首先需要建立一个8G的磁盘和更改大小为512
在server2中:
[root@server2 ~]# yum install scsi-*
[root@server2 ~]# vim /etc/tgt/targets.conf ##编辑内容
[root@server2 ~]# fdisk -l ##查看磁盘
[root@server2 ~]# /etc/init.d/tgtd start
在 /etc/tgt/targets.conf 文件:
在server1中:
[root@server1 ~]# yum install iscsi-* -y
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.41.2 ##访问共享磁盘
[root@server1 ~]# iscsiadm -m node -l
[root@server1 ~]# /etc/init.d/clvmd status ##保证clvmd服务开启,要开启才可能同步
在server4中:
[root@server4 ~]# yum install iscsi-* -y
[root@server4 ~]# iscsiadm -m discovery -t st -p 172.25.71.2
[root@server4 ~]# iscsiadm -m node -l
[root@server4 ~]# cat /proc/partitions
[root@server1 ~]# fdisk -l ##查看磁盘是否共享成功
在server1中:
[root@server1 ~]# pvcreate /dev/sda
[root@server1 ~]# vgcreate clustervg /dev/sda
[root@server1 ~]# lvcreate -L 4G -n demo clustervg
[root@server1 ~]# mkfs.ext4 /dev/clustervg/demo
在server4中同步lvm逻辑卷:
需要在集群管理界面删除nginx
在server1中:
[root@server1 ~]# yum install mysql -y
[root@server1 ~]# yum install -y mysql-server
[root@server1 ~]# cd /var/lib/mysql/
[root@server1 mysql]# ls
[root@server1 mysql]# ll -d .
[root@server1 mysql]# cd
[root@server1 ~]# mount /dev/clustervg/demo /var/lib/mysql/ ##挂载
[root@server1 ~]# df
[root@server1 ~]# ll -d /var/lib/mysql/
[root@server1 ~]# chown mysql.mysql /var/lib/mysql/ ##更换用户和组
[root@server1 ~]# ll -d /var/lib/mysql/
[root@server1 ~]# /etc/init.d/mysqld start
[root@server1 ~]# /etc/init.d/mysqld stop
在server4中:
[root@server4 ~]# yum install -y mysql-server
[root@server4 ~]# mount /dev/clustervg/demo /var/lib/mysql/
[root@server4 ~]# ll -d /var/lib/mysql/
[root@server4 ~]# /etc/init.d/mysqld start
[root@server4 ~]# /etc/init.d/mysqld stop
[root@server4 ~]# umount /var/lib/mysql/
[root@server4 ~]# df
进入管理界面:
注意:如果建立不了组,需要在主机上执行一条命令,手动开启节点
测试:
[root@server4 ~]# clustat ##查看集群状态(在哪个主机上工作就查看数据库)
[root@server4 ~]# mysql
2.gfs2文件系统
在哪工作就在哪停止
[root@server4 ~]# clustat
[root@server4 ~]# clusvcadm -d mysql ##停止
进入管理界面:
[aaa@qq.com ~]# df -h
[aaa@qq.com ~]# lvextend -L +4G /dev/clustervg/demo ##太大,添加不了
Rounding size to boundary between physical extents: 1.00 GiB
New size given (256 extents) not larger than existing size (1024 extents)
Run `lvextend --help' for more information.
[aaa@qq.com ~]# lvextend -l +1023 /dev/clustervg/demo
[aaa@qq.com ~]# lvs
[aaa@qq.com ~]# vgs
[aaa@qq.com ~]# lvs
[aaa@qq.com ~]# vgs
[aaa@qq.com ~]# resize2fs /dev/clustervg/demo
[aaa@qq.com ~]# df -h
[aaa@qq.com ~]# cd /var/lib/mysql/
[aaa@qq.com mysql]# ls
[aaa@qq.com mysql]# cp /etc/passwd .
[aaa@qq.com mysql]# ls
[aaa@qq.com ~]# df -h
[aaa@qq.com ~]# mount /dev/clustervg/demo /var/lib/mysql/
[aaa@qq.com ~]# cd /var/lib/mysql/
[aaa@qq.comer4 mysql]# ls
[aaa@qq.com ~]# umount /var/lib/mysql/
[aaa@qq.com ~]# df
[aaa@qq.com ~]# lvs
[aaa@qq.com ~]# lvremove /dev/clustervg/demo
[aaa@qq.com ~]# lvcreate -L 4G -n demo clustervg
[aaa@qq.com ~]# lvs
[aaa@qq.com ~]# mkfs.gfs2 -j 3 -p lock_dlm -t westos:mygfs2 /dev/clustervg/demo
[aaa@qq.com ~]# mount /dev/clustervg/demo /var/lib/mysql/
[aaa@qq.com ~]# df
[aaa@qq.com ~]# cd /var/lib/mysql/
[aaa@qq.com mysql]# ll -d
[aaa@qq.com mysql]# chown mysql.mysql .
[aaa@qq.com mysql]# ll -d
[aaa@qq.com ~]# mount /dev/clustervg/demo /var/lib/mysql/
[aaa@qq.com ~]# df
[aaa@qq.com ~]# cd /var/lib/mysql/
[aaa@qq.com mysql]# ll -d
[aaa@qq.com mysql]# ls
[aaa@qq.com mysql]# gfs2_tool sb /dev/clustervg/demo all
[aaa@qq.com mysql]# gfs2_tool journals /dev/clustervg/demo
[aaa@qq.com mysql]# df -h
[aaa@qq.com mysql]# /etc/init.d/mysqld stop
[aaa@qq.com mysql]# vim /etc/fstab ##永久挂载
[aaa@qq.com mysql]# cd
[aaa@qq.com ~]# umount /var/lib/mysql/
[aaa@qq.com ~]# df
[aaa@qq.com ~]# mount -a
[aaa@qq.com ~]# df
[aaa@qq.com mysql]# vim /etc/fstab ##永久挂载
[aaa@qq.com mysql]# cd
[aaa@qq.com ~]# umount /var/lib/mysql/
[aaa@qq.com ~]# df
[aaa@qq.com ~]# mount -a
[aaa@qq.com ~]# df
[aaa@qq.com ~]# clustat
[aaa@qq.com ~]# clusvcadm -e mysql
[aaa@qq.com ~]# clusvcadm -r mysql -m server4
[aaa@qq.com ~]# ip addr
inet 172.25.71.4/24 brd 172.25.41.255 scope global eth0
inet 172.25.71.100/24 scope global secondary eth0
[aaa@qq.com ~]# mysql
在server1和server2中永久挂载内容:
测试:
推荐阅读
-
RHCS高可用集群下的iscsi共享磁盘与GFS2全局文件系统(实现多点写入)
-
Linux:RHCS 实现高可用(共享存储,gfs2文件系统)
-
RHCS高可用集群下的iscsi共享磁盘与GFS2全局文件系统(实现多点写入)
-
Linux运维之RHCS集群----ISCSI/SCSI实现存储共享、CLVM/GFS2集群文件系统部署
-
企业实战-RHCS(2)高可用集群下iscsi共享存储以及GFS2全局文件系统实现多点写入
-
RHCS高可用集群iscsi磁盘共享下的GFS2文件系统的共享存储
-
RHCS套件(ISCSI/SCSI)实现存储共享、CLVM/GFS2集群文件系统部署
-
实战Heartbeat+mysql+共享存储实现高可用
-
实战Heartbeat+mysql+共享存储实现高可用