突然停機應變措施

compute node 突然停機: 開啟它

單一 controller node 突然停機: 開啟它

複數的 controller node 突然停機: 找出最晚掛的,最先開

單一 controller node 損壞

  • 重灌作業系統(如果作業系統有故障的話)

  • 更新 inventory (下面動作與佈署 OpenStack 相同)

  • 执行主机初始化配置:docker,ssh,

  • 處理 networking interface等動作

  • 執行kolla-ansible -i multinode deploy

mariadb cluster 無法正常啟動

方法 一:

kolla-ansible -i multinode mariadb_recovery

方法 二:

將所有 controller 的 mariadb 和 haproxy 停止

  • sudo docker stop mariadb
    sudo docker stop haproxy
    
  • 找出擁有最新資料的主機。在每一台電腦下下面指令,找出 log number 最大的主機。 172.23.103.1:4000/kolla/centos-source-mariadb:4.0.1 這個要換成該環境的 image。

    sudo docker run --net=host --rm -e 
    "
    KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
    "
     -v /etc/kolla/mariadb:/var/lib/kolla/config_files  -v mariadb:/var/lib/mysql -it 172.23.103.1:4000/kolla/centos-source-mariadb:4.0.1 mysqld --wsrep-recover
    
  • 在擁有最大 log number 的主機做下面指令,該主機為 master。 進入 mariadb container,以下指令都在此 container 內部執行。

    sudo docker run --net=host --rm -e 
    "
    KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
    "
     -v /etc/kolla/mariadb:/var/lib/kolla/config_files  -v mariadb:/var/lib/mysql -it --name mariadb_recovery 172.23.103.1:4000/kolla/centos-source-mariadb:4.0.1 /bin/bash
    

    初始化 mariadb 設定檔

    kolla_start
    

    若上面指令無法持續執行(指無法回到bash),則執行下面步驟,否則就跳過

    啟動 database server

    mysqld_safe --wsrep_cluster_address=gcomm://
    

    若上面指令無法持續執行(指無法回到bash),則執行下面步驟,否則就跳過

    編輯 /var/lib/mysql/grastate.dat 檔案,將 safe_to_bootstrap 改成 1

    啟動 database server。此時這指令會持續執行。

    mysqld_safe --wsrep_cluster_address=gcomm://
    
  • 在其他 controller node 執行下面動作

    docker start mariadb
    

    若上面指令會執行失敗,則將 /var/lib/mysql/grastate.dat 改成 1。用下面的指令編輯。

    sudo docker run -u root --net=host --rm -e 
    "
    KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
    "
     -v /etc/kolla/mariadb:/var/lib/kolla/config_files  -v mariadb:/var/lib/mysql -it 172.23.103.1:4000/kolla/centos-source-mariadb:4.0.1 vi /var/lib/mysql/grastate.dat
    
  • 將剛剛在 master (用另外一個連線) ,停止你剛剛自己啟動的 container。

    sudo docker stop mariadb_recovery
    sudo docker rm mariadb_recovery
    

    啟動原本的 container。

    sudo docker start mariadb
    sudo docker start haproxy
    
  • 啟動其他主機的 haproxy

    sudo docker start haproxy
    

galera cluster 發生此錯誤 this member has applied more events than the primary component.Data loss is possible. Aborting.

解決辦法

cd
 /var/lib/mysql
rm grastate.dat ib_log
*
 -f

更新 haproxy 憑證

  • 將新的憑證檔 ( haproxy.pem) 放到所有 deploy node 的 /etc/kolla/certificates 下

  • 重新跑 reconfigure

ka reconfigure

results matching ""

    No results matching ""