mysql gfs2_Mysql_HA+IP_SAN+Clvmd+GFS2

Mysql_HA+IP_SAN+Clvmd+GFS2

====================================================================

GFS:全局文件系统,支持DLM锁管理,支持并发写,Centos6不超过16个节点适用于HA集群使用的共享存储适用于LB集群RealServer使用的共享存储

mysql高可用集群架构设计

1、节点主机系统:Centos6.5

2、高可用集群软件:RHCS

3、两台节点主机node1,node2:

Node1: IP:192.168.1.34host name:edu-mysql-master;

Node2: IP:192.168.1.157host name:edu-mysql-slave;

VIP: 192.168.1.166

Service:mysql

4、一台GFS2服务主机:

IP:192.168.1.111

LVM:/dev/mapper/datavg-mysql--lv

共享目录:/data(LVM),/data(mysql数据目录)

5、三台主机相同用户:mysql mysql(组) 3306(uid、gid)

相关准备配置

1、配置IP、安装WEB服务、关闭防火墙;

2、配置各节点名称;

3、建立各节点间的SSH互信通信;

4、各节点间的时间同步;

一、存储配置

存储端(target)

1、安装包

[root@target ~]# yum -y install scsi-target-utils

2、定义target共享

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

backing-store /dev/sdb

3、启动服务

[root@target ~]# service tgtd start

[root@target ~]# netstat -tnlp |grep :3260

tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 15135/tgtd

tcp 0 0 :::3260 :::* LISTEN 15135/tgtd

[root@storage ~]# tgt-admin --show

Target 1: iqn.2017-1.com.example:mysql

Backing store path: /dev/sdb

ACL information:

ALL

集群节点initiator端(node1、node2)

1、安装包

[root@node1 ~]# yum -y install iscsi-*

2、发现存储

[root@node1 ~]# iscsiadm -m discovery -t st -p 192.168.1.111

正在启动iscsid: [确定]

192.168.1.111:3260,1 iqn.2017-1.com.example:mysql

3、登入存储

[root@node1 ~]# service iscsi restart

[root@node1 ~]# chkconfig iscsi on

4、查看设备

[root@node1 ~]# fdisk -cul

Disk /dev/sdb: 8589 MB, 8589934592 bytes

64 heads, 32 sectors/track, 8192 cylinders, total 16777216 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

二、配置集群,并使用CLVMD(node1、node2)

1. 配置集群

a. 创建集群

2. 配置CLVMD

确保node1和node2 clvmd运行

[root@node1 ~]# /etc/init.d/clvmd status

clvmd (pid 1908) 正在运行...

Clustered Volume Groups: (none)

Active clustered Logical Volumes: (none)

node1创建lv

[root@node1 ~]# pvcreate /dev/sdb

[root@node1~]# vgcreate datavg /dev/sdb

[root@node1~]# lvcreate -L 2G -n mysql-lv datavg

[root@node1~]# vgs

VG #PV #LV #SN Attr VSize VFree

datavg 1 1 0 wz--nc8.00g 6.00g

[root@node1~]# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

mysql-lv datavg -wi-a---- 2.00g

node2查看

[root@node2 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

VolGroup 1 2 0 wz--n- 9.51g 0

gfs-vg 1 1 0 wz--nc 5.00g 3.00g

[root@node2 ~]# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv_root VolGroup -wi-ao--- 8.54g

lv_swap VolGroup -wi-ao--- 992.00m

gfs-lv gfs-vg -wi-a---- 2.00g

3 、创建GFS2文件系统 node1或node2

a、在node1,node2上安装gfs2的相关软件包

[root@node1 ~]# rpm -qa |grep gfs

gfs2-utils-3.0.12.1-78.el6.x86_64//提供mkfs.gfs2命令用于创建gfs2文件系统

[root@node1 ~]# modinfo -F filename gfs2

/lib/modules/2.6.32-358.el6.x86_64/kernel/fs/gfs2/gfs2.ko

b、在任意一个节点上格式化

[root@node1 ~]# cman_tool status

Version: 6.2.0

Config Version: 19

Cluster Name:gfs-cluster

Cluster Id: 1835

Cluster Member: Yes

Cluster Generation: 24

Membership state: Cluster-Member

Nodes: 2

Expected votes: 1

Total votes: 2

Node votes: 1

Quorum: 1

Active subsystems: 9

Flags: 2node

Ports Bound: 0 11 177

Node name: edu-mysql-master

Node ID: 1

Multicast addresses: 239.192.7.50

Node addresses: 192.168.1.34

[root@node1 ~]# mkfs.gfs2 -tgfs-cluster:table1 -p lock_dlm -j 3 -J 128M /dev/datavg/mysql-lv

This will destroy any data on /dev/datavg/mysql-lv.

It appears to contain: symbolic link to `../dm-2'

Are you sure you want to proceed? [y/n] y

Device: /dev/datavg/mysql-lv

Blocksize: 4096

Device Size 2.00 GB (524288 blocks)

Filesystem Size: 2.00 GB (524288 blocks)

Journals: 3

Resource Groups: 8

Locking Protocol: "lock_dlm"

Lock Table: "gfs-cluster:table1"

UUID: 98326a5a-f72c-5a1d-6ccd-bec094caba26

-t clustername:locktablename

-p lock_dlm

-j 指定日志空间个数,此个数一定要大于等于使用gfs2文件系统存储的主机数

-J 指定一个日志空间的大小

c、挂载并测试写入

[root@node1 ~]# vim /etc/fstab

/dev/datavg/mysql-lv /var/www/html gfs2 defaults,_netdev0 0

[root@node1 ~]# mount -a

[root@node1 ~]# df -P

/dev/mapper/datavg-mysql--lv gfs2 2.0G 410M 1.7G 20% /data

GFS扩展知识:

1. 使用非DLM锁挂载GFS2

[root@node2 ~]# mount -a

/sbin/mount.gfs2: node not a member of the default fence domain

/sbin/mount.gfs2: error mounting lockproto lock_dlm

[root@node2 ~]# mount-o lockproto=lock_nolock/dev/datavg/mysql-lv /data

2. 当集群节点扩充时,增加日志的个数

=====================================================================

MySQL初始化数据库:

1. 安装

[root@node1 ~]# tar -zxfmysql.package.tar-C /usr/local

[root@node1 ~]# cd /usr/local/

[root@node1 local]# cd mysql

[root@node1 mysql]# chown -R mysql:mysql ./*

[root@node1 mysql]# ll

[root@node1 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/

node2同上

(以后脚本安装mysql,更新mysql安装脚本相应路径即可)

2. node1初始化

[root@node1 ~]#mkdir /data

[root@node1 ~]#vim /etc/fstab    (node2无须操作)

/dev/datavg/mysql-lv      /data           gfs2    defaults,_netdev 0 0

[root@node1 ~]#mount –a

[root@node1 ~]# mount /dev/datavg/mysql-lv /data

[root@node1 ~]# service mysqld start;chkconfig mysqld off

[root@node1 ~]# service mysqld stop

[root@node1 ~]# umount /data

2.node1初始化

node2同上

(注:启动mysql服务前先停止node1上的mysql服务,并卸载GFS2共享目录;

然后先挂载存储,再在node2上启动mysql服务,进行测试,测试完后记得停止mysql服务,并卸载GFS2共享目录)

[root@node1 ~]#scp -p /etc/my.cnf  node2:/etc

[root@node1 ~]# scp -p /etc/init.d/mysqldnode2:/etc/init.d/

此文档需要与https://192.168.1.111:8084/ 端配置同时进行,集群管理断配置见http://www.jianshu.com/p/988e74a26469;

=====================================================================

[root@node2~]#Apache:

[root@node2~]# ip: 192.168.1.100

[root@node2~]# script: /etc/init.d/httpd

[root@node2~]# filesystem: ------ NFS mount (NAS)

[root@node2~]#MySQL:

[root@node2~]# ip: 192.168.1.200

[root@node2~]# script: /etc/init.d/mysqld

[root@node2~]# filesystem: /dev/datavg/mysql-lv /var/lib/mysql (GFS2)

针对存储资源设置

NFS: NFS Mount

EXT4: Filesystem

GFS2: GFS2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 使用sum limit_mysql踩坑记录之limit和sum函数混合使用问题

问题复盘本次复盘会用一个很简单的订单表作为示例。数据准备订单表建表语句如下(这里偷懒了,使用了自增ID,实际开发中不建议使用自增ID作为订单ID)CREATE TABLE order (id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘订单ID‘,amount decimal(10,2) NOT…

mysql 视图 过程 函数_MySQL视图,函数,触发器,存储过程

1. 视图视图是一个虚拟表,它的本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。使用视图我们可以把查询过程中的临时表摘出来,用视图去实现&…

ubuntu安装mysql5.7.17_ubuntu 16.04安装mysql-server_5.7.17

在MySQL官网上下载最新版的Ubuntu Linux专用的MySQL。我这里下载的是:mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar也可从以下mirrors下载:解压文件 命令为:rootubuntu:/# tar -zxvf mysql-server_5.7.17-1ubuntu16.04_amd64.deb-…

socket抓包_64、抓包分析tcp与udp

从前面的两个案例,我们了解到了如何通过原生socket函数分别创建tcp和udp服务,以及通过相应的客户端进行连接测试。在本文中,我们将继续深入地去了解tcp和udp的差别,和思考它们两者如何应该多个客户端请求1、抓包分析这里采用tcpdu…

c#水晶报表连接mysql,如何将数据库绑定到水晶报表?

i have C# program, i have DataSet that i want to bind to crystal report.how to do it ?解决方案Create a Typed DataSet from the "Add New Item > DataSet and give the dataseta useful name.In Server Explorer, drag a view with the fields you want in the…

fw313r手机登录_迅捷(FAST)fw313r路由器手机设置教程

本文中,鸿哥主要给大家介绍,迅捷(FAST)fw313r路由器用手机设置的方法。一台新买回来的迅捷(FAST)fw313r路由器,要用手机来设置它连接Internet上网,需要以下几个步骤:1、正确连接FW313R路由器2、手机连接FW313R的信号3、…

mysql 5.6.21不能选择安装路径_mysql5.6.21服务器安装图解(选择安装和数据目录)

mysql安装图解(服务器上安装mysql,只安装mysql服务)1.3 mysql安装及配置版本:MySQL5.6.21 64位1.3.1 安装.net framework.exe 4.0注意:mysql5.6版本需要安装.net framwork.exe 4.0环境1.3.2 安装mysql数据库(1)打开安装程序后,…

mysql替换sql中rank函数_MySQL sql Rank()函数实现

一字符串类 Concat函数:连接字符串 Instr函数:返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) 字符串大小写转换[upper()、ucase()和lower()、lcase()] upper()和ucase():把字符串中的小…

python决策树生成规则_ID3决策树(python实现)

决策树的生成(该函数是一个递归的过程)CreateTree输入:数据集、特征输出:字典型数据——决策树a、判断是否满足停止划分的条件若当前数据集的属性值为空,则投票表决当前样本中最多的类别若当前所有的样本类别相同,则返回当前数据的…

while循环python的范围_python-无法在while循环中从列表中排除一定范围内的项目

所以我发布了一个问题before,但是它过于简化了,正确地被标记为重复.我现在将更详细地发布我的问题,以便希望可以解决我的问题.简而言之如下:我有两个列表:a [10.0,20.0,25.0,40.0]和b [1.0,10.0,15.0,20.0,30.0,100.0]使用列表推导,我想从b中排除a中指…

怎么使用mysql打表_MySQL的表使用

-- 创建表CREATE TABLE teacher(id INT,NAME VARCHAR(20))-- 查看所有表SHOW TABLES;DESC student;DROP TABLE student;CREATE TABLE student(id INT,NAME VARCHAR(20),gender VARCHAR(2),age INT)-- ********一、增删改数据********* ----- 1.1 增加数据-- 插入所有字段。一定…

表级锁的mysql读写_Mysql的表级锁

我们首先需要知道的一个大前提是:mysql的锁是由具体的存储引擎实现的。所以像Mysql的默认引擎MyISAM和第三方插件引擎 InnoDB的锁实现机制是有区别的。可根据不同的场景选用不同的锁定机制。Mysql有三种级别的锁定:表级锁定、页级锁定、行级锁定一、定义…

account表里有什么 银行_模拟一个银行账户类Account,账户类中包括所有者、账号、余额、账户总数、存款、取款等信息。_学小易找答案...

【单选题】廉价磁盘冗余阵列RAID利用冗余技术实现高可靠性,其中RAID1的磁盘利用率为() 。【简答题】与直流调速相比,交流调速有何优点?【论述题】方法【单选题】以《老子注》一书驰名汉学界的学者是下列哪一位 ______【填空题】本任务中,所需的实训设备有:( )、( )、( )【单选…

创建mysql视图语法正确的是_MySQL创建视图的语法格式

视图,具有简化查询语句、安全性和保证逻辑数据独立性等作用创建视图的语法格式视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可以…

爬空气质量MySQL_爬虫:利用selenium采集某某环境网站的空气质量数据

前言:在上一篇文章中,我们介绍了在http://PM2.5.in这个网站采集空气质量的数据,本篇文章是对其产生的一些问题的另一种解决方案,提供更加权威的数据采集。技术框架:selenium、json、etree这里的selenium是一种自动化测…

mysql导出数据意义_11、mysql导出数据

1、使用select... into outfile语句导出数据(1)txt格式select *from runoob.tb1 into outfile /tmp/runoob.txt;(2)CSV格式select * from passwd into outfile /tmp/runoob.txt fields terminated by , enclosed by " lines terminated by \r\n;(3)生成一种文件&#xff0…

操作失败10秒内未完成启动服务mysql_01-MySQL 命令行-cmd用法-未完成

01.png02.png03.png04.png05.png06.png07.png08.png09.png一、mysql服务的启动和停止net stop mysqlnet start mysql二、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,…

java时间聚类_mongodb 按照时间聚类 java

当存储到mongodb中的是string类型的时间,小tips:1. 那么在对此域按照时间聚类(每周,每月)时就不能直接使用mongodb的time关键字了,因为mongodb有自己的时间类型,且目前它只认可自己的时间类型。2. 假如对于时间进行简单的聚类&…

selenium python实例录制运行_WEB自动化测试工具selenium录制器使用笔记

简介selenium录制器是最近刚流行起来的一个WEB自动化测试工具,由多测测团队开发。Selenium录制器采用关键字驱动的理念,简化测试用例的创建和维护,可以直接运行在浏览器中,就像真正的用户在操作一样。自动化脚本录制、一键回放、报…

cass坡度土方计算案例_60度斜坡怎么计算_南方CASS土方计算方法—方格网法

01概述在我们的日常工作中,遇到大量的土方修正算的相关咨询,为什么CASS的方格网土方修正算,方格设定为10米和20米,修正算结果有很大差异呢?从软件计算原理、数据质量等方面进行分析,读了这篇文章&#xff0…