91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MHA常用腳本簡介

發布時間:2020-08-11 04:05:18 來源:ITPUB博客 閱讀:262 作者:chenfeng 欄目:MySQL數據庫

master_ip_failover

常見的HA環境下,大多是情況會給master分配一個虛擬IP,如果master宕機,HA軟件像一個Pacemaker將虛擬IP轉移到備用的master上.

另外一種常見的方法就是創建一個全局目錄數據庫,包含所有應用和writer/reader ip地址.例如{app_master1,192.168.0.1},{app_master2,192.168.0.2}...,代替使用虛擬IP,這種情況,你需要在master宕機的時候更新目錄數據庫.

兩種方法都有好的或者不好的地方,MHA不強制要求使用哪一種,但是提供了master_ip_failover_script參數來完成此目的.換句話說,你需要寫一個腳本來調整應用服務連接到新的master,然后定義master_ip_failover_script的參數,下面是一個實例:

 master_ip_failover_script= /usr/local/sample/bin/master_ip_failover

你可以從(MHA Manager package)/samples/scripts/master_ip_failover找到一個簡單的腳本.這個腳本在manager的tarball和GitHUb branch中才包含.

MHA manager會調用master_ip_failover_script三次,第一次,在開始master monitor之前調用(目的是檢查腳本是否可用),第二次是在調用shutdown_script腳本前調用,第三次是在new master應用完所有的差異日志以后,MHA manager會傳遞給腳本如下參數.(你不用在配置文件中指明這些參數)


power_manager (防止腦裂)

你可能需要強制關閉master服務器,避免他再次提供服務,這對于避免腦裂很重要.下面是一個實例:

  shutdown_script= /usr/local/sample/bin/power_manager

你可以從(MHA Manager package)/samples/scripts/power_manager找到一個簡單的腳本.這個腳本在manager的tarball和GitHUb branch中才包含.

在調用shutdown_script腳本之前,MHA manager內部會通過ssh嘗試連接到mysql master,如果ssh可以連接(意思就是OS是存活的,但是Mysqld沒有運行),MHAmanager就會傳遞下面的參數:

--command=stopssh (這個意思就是指停止服務,不會關機)

--ssh_user=(ssh username so that you can connect to the master)

--host=(master's hostname)

--ip=(master's ip address)

--port=(master's port number)

--pid_file=(master's pid file)

如果master主機的ssh不能連接,那么MHA會使用如下參數:

--command=stop (這個會通過fence設備關掉電源)

--host=(master's hostname)

--ip=(master's ip address)

這個腳本的大概功能如下,如果--command=stopssh被調用,腳本會使用killall -9 殺掉目標服務器上所有的mysqld_safe服務.如果--pid_file被設置,腳本嘗試kill指定的進程.如果腳本執行成功,那么腳本會退出返回狀態10.如果退出狀態為10,MHA manager后面會通過ssh連接到master,獲取需要的binary log.如果腳本通過ssh連接到服務器失敗,那么就會傳遞--command=stop參數,這個參數嘗試關閉機器的電源,關閉電源依賴于H/W.HP(ILO),DELL(DRAC).如果power off成功,腳本會然會狀態0,其他情況會返回狀態1.當返回狀態是0的時候MHA manager 開始failover.如果返回狀態不是0或者10,那么MHA manager會意外終止.這個參數默認是空,所以MHA manager不會調用任何腳本.

另外,MHA manager在啟動monitoring之前調用shutdown_script.這時候會傳遞下面的參數.目的是檢測腳本是否可用,如果發現錯誤,你可以提前知道.

--command=status

--host=(master's hostname)

--ip=(master's ip address)


send_report

你希望當failover發生以后可以發送一個報告(例如email),report_script可以達到這個目的,MHA manager傳遞下面的參數.

--orig_master_host=(dead master's hostname)

--new_master_host=(new master's hostname)

--new_slave_hosts=(new slaves' hostnames, delimited by commas)

--subject=(mail subject)

--body=(body)

默認這個參數是空的,所以MHA manager不調用任何腳本.

你可以從(MHA Manager package)/samples/scripts/send_report找到一個簡單的腳本.這個腳本在manager的tarball和GitHUb branch中才包含.


master_ip_online_change

這是幾個簡單版本的master_ip_failover_script參數,但是master failover命令并不調用它.master online change命令會調用它.(masterha_master_switch --master_state=alive),傳遞以下參數:

Current master write freezing phase

--command=stop or stopssh

--orig_master_host=(current master's hostname)

--orig_master_ip=(current master's ip address)

--orig_master_port=(current master's port number)

--orig_master_user=(current master's user)

--orig_master_password=(current master's password)

--orig_master_ssh_user=(from 0.56, current master's ssh user)

--orig_master_is_new_slave=(from 0.56, notifying whether the orig master will be new slave or not)

New master granting write phase

--command=start

--orig_master_host=(orig master's hostname)

--orig_master_ip=(orig master's ip address)

--orig_master_port=(orig master's port number)

--new_master_host=(new master's hostname)

--new_master_ip=(new master's ip address)

--new_master_port(new master's port number)

--new_master_user=(new master's user)

--new_master_password=(new master's password)

--new_master_ssh_user=(from 0.56, new master's ssh user)

MHA在當前的master write freezing階段后執行FLUASH TABLES WITH READ LOCK, 在new mastergranting write階段你可以執行一些類似master_ip_failover_script的操作.比如創建一個有寫入權限的用戶,執行SET GLOBAL read_only=0,更新目錄數據庫等.如果你的腳本退出返回狀態不是1或者10,那么MHA manager將會意外終止,停止master switch.

這個參數默認為空,所以MHA manager不做任何調用.

你可以從(MHA Manager package)/samples/scripts/master_ip_online_change找到一個簡單的腳本.這個腳本在manager的tarball和GitHUb branch中才包含.

向AI問一下細節
推薦閱讀:
  1. shell常用腳本
  2. MHA 搭建

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民和| 资中县| 姚安县| 双柏县| 望谟县| 瑞昌市| 永顺县| 齐河县| 商都县| 泰州市| 大方县| 天祝| 进贤县| 讷河市| 新平| 玉树县| 陇西县| 宾川县| 宁远县| 哈巴河县| 崇明县| 拜城县| 万安县| 宜川县| 德惠市| 公安县| 和平县| 曲靖市| 安岳县| 甘孜| 甘肃省| 泰来县| 石家庄市| 永靖县| 化州市| 辉县市| 达日县| 宝兴县| 合山市| 辽阳县| 富裕县|