判斷內網是不是打通,則判斷服務器的網絡類型是否在同一個VPC下,不在的話需要配置
創(chuàng)新互聯成立于2013年,我們提供高端網站建設公司、成都網站制作、成都網站設計、網站定制、網絡營銷推廣、成都小程序開發(fā)、微信公眾號開發(fā)、seo優(yōu)化排名服務,提供專業(yè)營銷思路、內容策劃、視覺設計、程序開發(fā)來完成項目落地,為砂巖浮雕企業(yè)提供源源不斷的流量和訂單咨詢。
1.如果是同一賬號的兩臺服務器,則默認服務器的網絡類型在同一個VPC下
2.如果是不同賬號的兩臺服務器,如果地域相同,則配置就可以了。如果不同地域的情況下,需要購買跨地域帶寬,以下演示的是不同賬號,同一地域的兩臺服務器
]( )
以下是服務器B的信息
以下是服務器A加載服務器B的網絡實例
如果都在同一個阿里云賬號下面,那就好辦了。
要運行業(yè)務的服務器關機,選擇【更多】下面的更換系統(tǒng)盤,選擇已經創(chuàng)建好的系統(tǒng)鏡像,就可以了。
以騰訊云Linux服務器之間數據傳輸復制內網SCP命令為例
支持騰訊云同賬號之間2臺服務器進行相互之間的數據傳輸數據復制其實還是很簡單的,直接使用SCP命令就可以。 注意一點的就是IP寫內網IP,同賬號同區(qū)下面的服務器才支持內網IP 傳輸數據,要是不同賬號的最簡單的方法就是公網
如果是已經配置好環(huán)境的兩臺云服務器之間傳輸文件,可以用SCP命令進行兩臺云服務器之間的文件傳輸,同一賬號同一區(qū)域下的兩臺云服務器,你可以使用內網IP進行文件傳輸。如果是不同地區(qū)、不同賬號下把一臺配置好環(huán)境且有數據的云服務器硬盤上的數據拷貝到一臺全新云服務器上,最便捷的方法就是采用跨地域復制快照的方法。
使用MySQL雙master+keepalived是一種非常好的解決方案,在MySQL-HA環(huán)境中,MySQL互為主從關系,這樣就保證了兩臺MySQL數據的一致性,然后用keepalived實現虛擬IP,通過keepalived自帶的服務監(jiān)控功能來實現MySQL故障時自動切換。
下面,我把即將上線的一個生產環(huán)境中的架構與大家分享一下,看一下這個架構中,MySQL-HA是如何實現的,環(huán)境拓撲如下
MySQL-VIP:10.10.10.21
MySQL-master1:10.10.10.17
MySQL-master2:10.10.10.18
OS版本:Redhat6.2
MySQL版本:mysql-5.1.59
Keepalived版本:keepalived-1.1.20
一、MySQL master-master配置
1、修改MySQL配置文件
兩臺MySQL均如要開啟binlog日志功能,開啟方法:在MySQL配置文件[MySQLd]段中加上log-bin=MySQL-bin選項
兩臺MySQL的server-ID不能一樣,默認情況下兩臺MySQL的serverID都是1,需將其中一臺修改為2即可
Master1配置:
#vim /etc/my.cnf
log-bin=mysql-bin //開啟binlog日志功能
log =/usr/local/mysql/var/mysql.log //會打印mysql的所以sql語句
server-id= 1 //
binlog-do-db =mysql //需要同步的庫名稱
auto-increment-increment= 2
auto-increment-offset= 2
Master2配置:
#vim /etc/my.cnf
log-bin=mysql-bin //開啟binlog日志功能
log =/usr/local/mysql/var/mysql.log //會打印mysql的所以sql語句
server-id= 2
binlog-do-db =mysql //需要同步的庫名稱
auto-increment-increment= 2
auto-increment-offset= 2
2、建授權用戶
在10.10.10.17上新建授權用戶
grant replicationslave on *.* to test@’10.10.10.%’ identified by ‘123456’;
在10.10.10.18服務器上建授權用戶
grant replicationslave on *.* to test@’10.10.10.%’ identified by ‘123456’;
3、將10.10.10.17設為10.10.10.18的主服務器
在10.10.10.18上將10.10.10.17設為自己的主服務器
mysql show master status;(17服務器配置)
1+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000027| 106|mysql | |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)
MySQL change master to master_host='10.10.10.17',master_user=’test’,master_password='123456',master_log_file='MySQL-bin.000027',master_log_pos=106;
Query OK, 0 rows affected (0.05 sec)
MySQL start slave;
Query OK, 0 rows affected (0.00 sec)
mysql show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes \\如果此2項都為yes,master-master配置即成功
將10.10.10.18設為10.10.10.17的主服務器 方法與上面設置一致只需將
在10.10.10.17上將10.10.10.18設為自己的主服務器
mysql show master status;(18服務器配置)
1+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000027| 106|mysql | |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)
MySQL change master to master_host='10.10.10.18',master_user=’test’,master_password='123456',master_log_file='MySQL-bin.000027',master_log_pos=106;
Query OK, 0 rows affected (0.05 sec)
MySQL start slave;
Query OK, 0 rows affected (0.00 sec)
mysql show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes \\如果此2項都為yes,master-master配置即成功
測試是否成功:
如上述均正確配置,現在在任何一臺MySQL上更新數據都會同步到另一臺MySQL(僅限mysql庫)
二、keepalived安裝及配置
1、10.10.10.17服務器上keepalived安裝及配置
安裝keepalived
#tar zxvfkeepalived-1.1.20.tar.gz
#cdkeepalived-1.1.20
#./configure--prefix=/usr/local/keepalived--with-kernel-dir=/usr/src/kernels/2.6.32-220.el6.x86_64
#make make install
配置keepalived
我們自己在新建一個配置文件,默認情況下keepalived啟動時會去/etc/keepalived目錄下找配置文件
#mkdir/etc/keepalived
#vi/etc/keepalived/keepalived.conf
global_defs {
notification_email {
}
smtp_server 127.0.0.1 (如果本機配置的話)
smtp_connect_timeout 30
router_id MySQL-ha
}
vrrp_instance VI_1{
state BACKUP #兩臺配置此處均是BACKUP
interface p4p1 #注意網卡接口
virtual_router_id 51
priority 100 #優(yōu)先級,另一臺改為90
advert_int 1
nopreempt #不主動搶占資源,只在優(yōu)先級高的機器上設置即可,優(yōu)先級低的機器不設置
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.10.10.21
}
}
virtual_server10.10.10.21 3306 {
delay_loop 2 #每個2秒檢查一次real_server狀態(tài)
lb_algo wrr #LVS算法
lb_kind DR #LVS模式
persistence_timeout 60 #會話保持時間
protocol TCP
real_server 10.10.10.17 3306 {
weight 3
notify_down /usr/local/my/my.sh #檢測到服務down后執(zhí)行的腳本
TCP_CHECK {
connect_timeout 10 #連接超時時間
nb_get_retry 3 #重連次數
delay_before_retry 3 #重連間隔時間
connect_port 3306 #健康檢查端口
}
}
編寫檢測服務down后所要執(zhí)行的腳本
#vi/usr/local/MySQL/bin/MySQL.sh
#!/bin/sh
pkillkeepalived
#chmod +x/usr/local/MySQL/bin/MySQL.sh
注:此腳本是上面配置文件notify_down選項所用到的,keepalived使用notify_down選項來檢查real_server的服務狀態(tài),當發(fā)現real_server服務故障時,便觸發(fā)此腳本;我們可以看到,腳本就一個命令,通過pkill keepalived強制殺死keepalived進程,從而實現了MySQL故障自動轉移。另外,我們不用擔心兩個MySQL會同時提供數據更新操作,因為每臺MySQL上的keepalived的配置里面只有本機MySQL的IP+VIP,而不是兩臺MySQL的IP+VIP
啟動keepalived
#/usr/local/keepalived/sbin/keepalived–D
#ps -aux | grepkeepalived
測試
找一臺局域網PC,然后去ping MySQL的VIP,這時候MySQL的VIP是可以ping的通的
停止MySQL服務,看keepalived健康檢查程序是否會觸發(fā)我們編寫的腳本
1、10.10.10.18服務器上keepalived安裝及配置
安裝keepalived
#tar zxvfkeepalived-1.1.20.tar.gz
#cdkeepalived-1.1.20
#./configure--prefix=/usr/local/keepalived--with-kernel-dir=/usr/src/kernels/2.6.32-220.el6.x86_64
#make make install
配置keepalived
我們自己在新建一個配置文件,默認情況下keepalived啟動時會去/etc/keepalived目錄下找配置文件
#mkdir/etc/keepalived
#vi/etc/keepalived/keepalived.conf
global_defs {
notification_email {
}
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MySQL-ha
}
vrrp_instance VI_1{
state BACKUP #兩臺配置此處均是BACKUP
interface p4p1 #注意網卡接口
virtual_router_id 51
priority 90 #優(yōu)先級,另一臺改為90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.10.10.21
}
}
virtual_server10.10.10.21 3306 {
delay_loop 2 #每個2秒檢查一次real_server狀態(tài)
lb_algo wrr #LVS算法
lb_kind DR #LVS模式
persistence_timeout 60 #會話保持時間
protocol TCP
real_server 10.10.10.18 3306 {
weight 3
notify_down /usr/local/my/my.sh #檢測到服務down后執(zhí)行的腳本
TCP_CHECK {
connect_timeout 10 #連接超時時間
nb_get_retry 3 #重連次數
delay_before_retry 3 #重連間隔時間
connect_port 3306 #健康檢查端口
}
}
啟動keepalived
#/usr/local/keepalived/sbin/keepalived–D
#ps -aux | grepkeepalived
測試
停止MySQL服務,看keepalived健康檢查程序是否會觸發(fā)我們編寫的腳本
三、測試
兩臺MySQL服務器都要授權允許從遠程登錄
MySQL grantall privileges on *.* to andyguo@'%' identified by '123456';
Query OK, 0 rowsaffected (0.00 sec)
MySQL flushprivileges;
Query OK, 0 rowsaffected (0.00 sec)
keepalived故障轉移測試:
在windows客戶端一直去ping VIP,然后關閉10.10.10.17上的keepalived,正常情況下VIP就會切換到10.10.10.18上面去
開啟10.10.10.17上的keepalived,關閉10.10.10.18上的keepalived,看是否能自動切換,正常情況下VIP又會屬于10.10.10.17
注:keepalived切換速度還是非常塊的,整個切換過程只需1-3秒
MySQL故障轉移測試:
在10.10.10.17上關閉MySQL服務,看VIP是否會切換到10.10.10.18上
開啟10.10.10.17上的MySQL和keepalived,然后關閉10.10.10.18上的MySQL,看VIP是否會切換到10.10.10.17上
如果都沒問題,到此整個配置即已完成。
備注(在測試的過程中遇到了一些問題,解決方法)
Keepalived_healthcheckers:IPVS: Can't initialize ipvs: Protocol not available
起初重裝了ipvsadm和keepalived,但故障依舊,隨后突然想到是否lvs模塊加載異常,于是lsmod|grep ip_vs發(fā)現果然沒有相應的模塊,而正常情況下應該是有的
e、手動加載ip_vs模塊
modprobe ip_vs
modprobe ip_vs_wrr
f、重啟keepalived服務,故障排除,此時轉發(fā)正常,從服務器的ip_vs加載正常,主從切換也正常
g、將modprobeip_vs、modprobe ip_vs_wrr添加進/etc/rc.local開機自動加載
網頁名稱:兩臺阿里云服務器嗎 兩臺云服務器怎么互聯
文章出自:http://jinyejixie.com/article48/ddoijhp.html
成都網站建設公司_創(chuàng)新互聯,為您提供網頁設計公司、虛擬主機、網站內鏈、網站導航、定制網站、響應式網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯