corosync + pacemaker + iscsi實現高可用mysql (下)

上一篇講的安裝配置iscsi,本章介紹mariadb安裝以及高可用的mysql具體實現

一、安裝配置mariadb

[root@SQL1 ~]# tar xf mariadb-5.5.36-linux-x86_64.tar.gz  -C /usr/local \\解壓軟件包
[root@SQL1 ~]# groupadd -g 200 mysql   \\創建mysql組指定其GID
[root@SQL1 ~]# useradd -u 200 -g 200 mysql \\ 創建mysql用戶指定其UID
[root@SQL1 ~]# mkdir  -pv /mydata/data  \\創建mysql數據存放位置
[root@SQL1 ~]# chown  -R mysql.mysql /mydata/data/ \\更能屬主屬組
[root@SQL1 ~]# mount /dev/sdb1 /mydata/data \\掛載iscsi設備
[root@SQL1 ~]# ln -sv /usr/local/mariadb-5.5.36-linux-x86_64/ /usr/local/mysql \\創建鏈接
[root@SQL1 ~]# cd /usr/local/mysql  \\切換目錄
[root@SQL1 mysql]# chown  -R root.mysql ./  \\更改當前目錄的屬主屬組
[root@SQL1 mysql]# scripts/mysql_install_db  --user=mysql --datadir=/mydata/data/  \\初始化數據庫
[root@SQL1 mysql]# mkdir /etc/mysql  \\創建mysql配置文件存放目錄
[root@SQL1 mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf \\復制mysql配置文件
[root@SQL1 mysql]# vim /etc/mysql/my.cnf \\編輯mysql配置文件
    datadir = /mydata/data  \\定義數據存放位置
    innodb_file_per_table = on  \\定義每表各有表結構
    skip_name_resolve = on  \\關閉msyql的主機名解析
[root@SQL1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld  \\配置mysql啟動腳本
[root@SQL1 mysql]# chkconfig --add /etc/init.d/mysqld  \\添加mysql啟動腳本為lsb風格
[root@SQL1 mysql]# service mysqld start  \\啟動mysql
Starting MySQL....                                         [  OK  ]
[root@SQL1 mysql]# mysql   \\進入msyql
 mysql> CREATE DATABASE iscsi;   \\創建測試庫
 mysql> USE iscsi;   \\切換默認庫
 mysql> CREATE TABLE ha_mysql(ID INT);  \\創建測試表
 mysql> GRANT ALL ON iscsi.* TO "hasql"@"172.16.2.%" IDENTIFIED BY "hasql"; \\用戶授權
 mysql> FLUSH PRIVILEGES; \\刷新權限
[root@SQL1 mysql]# mysql -h 172.16.2.13 -uhasql -p  \\測試授權用戶權限
Enter password: 
mysql> SHOW DATABASES;
+--------------------+
| Database     |
+--------------------+
| information_schema|
| iscsi       |
| test       |
+--------------------+
[root@SQL1 mysql]# service mysqld stop   \\停止數據庫
Shutting down MySQL.                                       [  OK  ]
[root@SQL1 mysql]# umount /mydata/data/  \\卸載iscsi設備
[root@SQL2 ~]# iscsiadm -m node  -T iqn.2015-07.com.mylinux:t1 -p 172.16.2.12 -l   \\登錄iscsi設備
Logging in to [iface: default, target: iqn.2015-07.com.mylinux:t1, portal: 172.16.2.12,3260] (multiple)
Login to [iface: default, target: iqn.2015-07.com.mylinux:t1, portal: 172.16.2.12,3260] successful.
[root@sql2 ~]# fdisk -l | grep "/dev/sd[a-z][0-9]"  \\查看磁盤信息
/dev/sda1   *           1          64      512000   83  Linux
/dev/sda2              64        5222    41430016   8e  Linux LVM
/dev/sdb1               1       10244    10489840   83  Linux  \\此設備時sql1分區格式化的;可以直接使用
[root@sql2 ~]# groupadd -g 200 mysql
[root@sql2 ~]# useradd -u 200 -g 200 mysql
[root@sql2 ~]# mkdir  -pv /mydata/data
[root@sql2 ~]# chown -R mysql.mysql /mydata/data
[root@sql2 ~]# mkdir /etc/mysql/
[root@sql2 ~]# mount /dev/sdb1 /mydata/data
[root@sql2 ~]# tar xf mariadb-5.5.36-linux-x86_64.tar.gz  -C /usr/local/
[root@sql2 ~]# ln -sv /usr/local/mariadb-5.5.36-linux-x86_64/  /usr/local/mysql
[root@sql2 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@sql2 ~]# chkconfig --add /etc/init.d/mysqld
[root@sql2 ~]# chown -R root.mysql /usr/local/mysql/
[root@SQL1 ~]# scp /etc/mysql/my.cnf  SQL2:/etc/mysql/  \\復制sql1的mysql配置文件到sql2
[root@sql2 ~]# service mysqld start
Starting MySQL.. SUCCESS! 
[root@sql2 ~]# mysql -h 172.16.2.14 -uhasql -p
Enter password: 
mysql> SHOW DATABASES;
+--------------------+
| Database     |
+--------------------+
| information_schema|
| iscsi       |
| test       |
+--------------------+
[root@sql2 ~]# service mysqld stop
Shutting down MySQL. SUCCESS! 
[root@sql2 ~]# umount /mydata/data/

二、配置HA

 設置HA的默認屬性:

[root@SQL1 ~]# crm 
crm(live)# configure
crm(live)configure# property stonith-enabled=false
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# property default-resource-stickiness=200
crm(live)configure# verify
crm(live)configure# commit

 配置vip資源:

crm(live)configure# primitive hasql_vip ocf:heartbeat:IPaddr params ip="172.16.2.10" nic="eth0" cidr_netmask="24"
 broadcast="172.16.2.10" op monitor timeout=20s interval=10s
crm(live)configure# verify
crm(live)configure# commit

 配置iscsi資源

crm(live)configure# primitive hasql_iscsi ocf:heartbeat:Filesystem params device="/dev/sdb1" 
directory="/mydata/data" fstype="ext4" op monitor timeout=40s interval=20s op start timeout=60s 
op stop timeout=60s
crm(live)configure# verify
crm(live)configure# commit

 配置msyql資源

crm(live)configure# primitive hasql_mysql lsb:mysqld op monitor timeout=15s interval=15s
crm(live)configure# verify
crm(live)configure# commit

 配置資源約束:order

crm(live)configure# order hasql_iscsi_after_hasql_vip inf: hasql_vip hasql_iscsi
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# order hasql_mysql_after_hasql_hasql_iscsi inf: hasql_iscsi hasql_mysql
crm(live)configure# verify
crm(live)configure# commit

 配置組資源約束:group

crm(live)configure# group hamysql_iscsi hasql_vip hasql_iscsi hasql_mysql
INFO: resource references in order:hasql_iscsi_after_hasql_vip updated
INFO: resource references in order:hasql_iscsi_after_hasql_vip updated
INFO: resource references in order:hasql_mysql_after_hasql_hasql_iscsi updated
INFO: resource references in order:hasql_mysql_after_hasql_hasql_iscsi updated
crm(live)configure# verify
crm(live)configure# commit

 查看配置結果:

[root@SQL1 ~]# crm status
Last updated: Wed Jul  1 14:00:03 2015
Last change: Wed Jul  1 13:59:45 2015
Stack: classic openais (with plugin)
Current DC: SQL2.linux.com - partition with quorum
Version: 1.1.11-97629de
2 Nodes configured, 2 expected votes
3 Resources configured


Online: [ SQL1.linux.com SQL2.linux.com ]

 Resource Group: hamysql_iscsi
     hasql_vip	(ocf::heartbeat:IPaddr):	Started SQL1.linux.com 
     hasql_iscsi	(ocf::heartbeat:Filesystem):	Started SQL1.linux.com 
     hasql_mysql	(lsb:mysqld):	Started SQL1.linux.com

 測試訪問mariadb

[root@SQL2 ~]# mysql -h 172.16.2.10 -uhasql -p
Enter password: 
mysql> SHOW  DATABASES;
+--------------------+
| Database     |
+--------------------+
| information_schema|
| iscsi       |
| test       |
+--------------------+
mysql> USE iscsi;
mysql> SHOW TABLES;
+-----------------+
| Tables_in_iscsi|
+-----------------+
| ha_mysql    |
+-----------------+

 切換mysql服務器:

[root@SQL1 ~]# crm
crm(live)# 
crm(live)# node standby
crm(live)# status
Last updated: Wed Jul  1 14:02:51 2015
Last change: Wed Jul  1 14:02:44 2015
Stack: classic openais (with plugin)
Current DC: SQL2.linux.com - partition with quorum
Version: 1.1.11-97629de
2 Nodes configured, 2 expected votes
3 Resources configured


Node SQL1.linux.com: standby
Online: [ SQL2.linux.com ]

 Resource Group: hamysql_iscsi
     hasql_vip	(ocf::heartbeat:IPaddr):	Started SQL2.linux.com 
     hasql_iscsi	(ocf::heartbeat:Filesystem):	Started SQL2.linux.com 
     hasql_mysql	(lsb:mysqld):	Started SQL2.linux.com

 訪問測試:

[root@SQL1 ~]# mysql -h 172.16.2.10 -uhasql -p 
Enter password: 
mysql> SHOW DATABASES;
+--------------------+
| Database     |
+--------------------+
| information_schema|
| iscsi       |
| test       |
+--------------------+
mysql> USE iscsi;
mysql> SHOW TABLES;
+-----------------+
| Tables_in_iscsi|
+-----------------+
| ha_mysql    |
+-----------------+

原創文章,作者:馬行空,如若轉載,請注明出處:http://www.www58058.com/5922

(0)
馬行空馬行空
上一篇 2015-07-09 13:38
下一篇 2015-07-09 14:16

相關推薦

  • LB-lvs

    Linux Cluster: Cluster:計算機集合,為解決某個特定問題組合起來形成的單個系統; Linux Cluster類型: LB:Load Balancing,負載均衡; HA:High Availiablity,高可用; A=MTBF/(MTBF+MTTR) (0,1):90%, 95%, 99%, 99.5%, 99.9%, 99.99%, …

    Linux干貨 2017-06-25
  • 第四周 文件操作

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 [root@localhost ~]# cp -a /etc/skel /home/tuser1 [root@localhost ~]# chmod -R go= /home/tuser1 [root@localhost ~]…

    Linux干貨 2017-12-24
  • 第二周-博客

    本文大綱 文件系統層級結構標準 Linux上常見的文件類型 bash的基礎特性 用戶、組和普通權限 一些零散命令的使用 文件系統層級結構標準 FHS是Filesystem Hierarchy Standard(文件系統層次化標準)的縮寫,多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目錄,FHS采用樹形結構組織文件。FHS定…

    Linux干貨 2016-12-07
  • 文本處理工具-awk

    文本處理工具awk awk的名字由來:創始人Aho, Weinberger, Kernighan三人的首字母 有多種版本:New awk(nawk),GNU awk(gawk)  一.gawk   模式掃描和處理語言   基本用法: awk [options] ‘program’ var=value…

    Linux干貨 2016-11-29
  • 起航——學習Linux工具之VMware Workstation

    一:安裝VMware(Windows平臺) 二:創建一臺虛擬機 到此為止我們就創建了一個擁有一顆CPU、1GB內存和一塊20GB硬盤的虛擬機,接下來就可以愉快的安裝操作系統了 ^_^  

    2018-03-26
  • linux中find命令的那些事

         概述:在介紹find這個強大的文件查找命令前,我們先介紹兩個較簡單的文件查找命令whereis和locate命令,通常我們都是先使用whereis或者是locate檢查,如果真的找不到了,才用find來查找,因為whereis和locate是利用數據庫來查找數據的,速度相當快,節約時間,缺點就是有可…

    Linux干貨 2016-08-18
欧美性久久久久