中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何理解配置數據庫高可用性中的SEGMENT鏡像

發布時間:2021-11-08 18:38:52 來源:億速云 閱讀:212 作者:柒染 欄目:建站服務器

本篇文章為大家展示了如何理解配置數據庫高可用性中的SEGMENT鏡像,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

        前面介紹過了GREENPLUM數據庫的備份和恢復。這部分主要介紹GREENPLUM的高可用性配置。GREENPLUM的高可用性是通過master和segment的鏡像來實現的。這種鏡像是基于服務器級別的鏡像。因此,不僅可以提供存儲級別的保護,還可以防止其它PC服務器硬件的損壞。
        segment級別的鏡像是通過把primary segment對應的mirror segment放置到不同的物理主機實現的。正常情況下,只有primary segment的instance處于工作狀態,所有primary segment上的變化通過文件塊的復制技術拷貝到mirror segment。因此,存放mirror segment的主機上只有復制用的進程,而不存在mirror segment instance。一旦primary segment出現故障,mirror segment的復制進程停止,并啟動instance,保證數據庫的操作繼續。
如何理解配置數據庫高可用性中的SEGMENT鏡像
         segment的故障檢測是通過后臺進程ftsprobe實現的,并可以進行自動容錯,不需要DBA進行干預。ftsprobe的檢測間隔是通過global服務參數gp_fts_probe_interval進行定義的,默認值是1分鐘,通常這個參數的設置應該與參數gp_segment_connect_timeout保持一致。一旦ftsprobe進程發現primary segment出現故障,它會在數據字典中標記該segment已經停止。只有管理員對其進行恢復后,才會改變狀態。
    如果系統沒有進行segment級別的鏡像,當出現segment故障后,整個系統都將脫機,直到恢復故障segment后,才可以重新啟動。
    啟用segment鏡像,既可以在初始化系統時進行,也可以為存在的系統添加mirror。
    如果在初始化系統是要求添加鏡像,需要在初始化配置文件中添加如下參數
    MIRROR_PORT_BASE  指定第一個mirror segment的端口號,其它mirror segment在此基礎上加1,它的設置范圍是1到65535,但是設置時要注意不能與primary segment沖突。
    REPLICATION_PORT_BASE 指定第一個primary segment用于數據復制的端口號,其它primary segment以此為基礎,每次加1,計算復制用端口號。它的設置也不要與primary segment沖突。取值范圍1到65535
    MIRROR_REPLICATION_PORT_BASE   指定第一個mirror segment用于數據復制的端口號,其它mirror segment以此為基礎,每次加1,計算復制用端口號。它的設置也不要與mirror segment沖突。取值范圍1到65535
    MIRROR_DATA_DIRECTORY 指定了mirror segment的數據目錄,聲明的目錄數量必須與primary segment的目錄數量一致,而且要保證進行初始化操作的os用戶對這些目錄有讀寫權限。
    然后調用gpinitsystem進行初始化,默認是使陣列中的主機相互存放對方的鏡像。如果主機的數量多于segment的數量,可以使用-S選項,指定使用哪些主機作為鏡像用。
    如果原有系統沒有鏡像,我們也可以向存在的系統添加鏡像。首先要獲取添加鏡像的構造文件。這個文件可以自己編輯,也可以通過gpaddmirrors自動生成,然后在此基礎上根據需要進行修改。比如自動生成添加mirror的構造文件
    $ gpaddmirrors -o filename
文本編輯器打開該構造文件,可以看到其格式如下
mirror[content]=content:hostname:address:port:mir_replication_port:pri_replication_port:datadir_location
默認配置是原有的主機間互為鏡像,我們也可以添加新的主機作為鏡像使用,從而減少鏡像對性能的影響。
    在得到mirror構造文件后,可以掉用命令啟用鏡像。
    $ gpaddmirrors -i mirror_config_file
這時系統會根據配置文件設置,復制鏡像,并對鏡像進行同步,提供保護。需要注意的是,在添加鏡像前應該先備份數據庫,防止鏡像添加失敗(比如網路配置問題,內核參數設置不正確可能導致添加鏡像失敗)。因為GREENPLUM目前只能添加鏡像,不能刪除鏡像。如果添加鏡像失敗會導致系統處于不正常狀態。
    由于mirror segment可以自動failover,因此當primary segment出現故障時,管理員可能無法及時察覺。所以一方面管理員應該對系統定期檢查,另外一方面如果系統性能大幅下降(理論上,如果采用互為鏡像方式,當一個主機出現故障時,整個系統性能下降一半)管理員也應該進行系統檢查,判斷是否有segment已經down掉了。
     檢查是否有segment down掉,可以在master上執行gpstate,如果看到類似這樣的內容[WARN]:-Total primary segment failures (at master) = 1 <<<<<<,說明有primary segment down掉了。進一步檢查故障segment,可以用SQL SELECT * FROM gp_segment_configuration WHERE status='d';獲取細節信息,請注意故障段的主機,端口號,首選身份,以及目錄這樣的信息,可以在troubleshooting的過程中提供幫助。還可以通過gpstate -c看到primary與mirror之間的映射關系。
     此外,DBA還應該檢查master和segment上的日志,通過$ gplogfilter -t可以獲取WARNING, ERROR, FATAL 或者PANIC級別的日志信息幫助進行troubleshooting。
    一般來說,造成segment故障的原因主要就是三大類,一類是segment主機由于硬件問題或者網絡問題無法訪問,一類是segment的相關進程出現故障,比如被kill掉了。還有就是存儲問題,比如控制器故障等等。在這些問題被解決之后,系統不會自動恢復故障segment,必須由DBA手工進行恢復。這需要在master上調用命令$ gprecoverseg 進行。它從故障之后產生的變化開始捕獲,整個操作會在后臺進行。所以需要DBA調用命令gpstate -m判斷恢復操作完成的進度情況。
    如果原始主機無法恢復,并且啟用mirror,用命令$ gprecoverseg -i recover_config_file,指定新的主機進行恢復。配置文件的格式如下
failed_host_address:port:datadir 
 recovery_host_address:recovery_host_name:port:replication_port:fselocation
    當然替代主機需要事先裝好greenplum的軟件。另外,3.x版本中的參數gp_fault_action已經廢棄掉了。gprecoverseg在4.x版本中可以聯機執行。

注:如果segment出現故障,已經執行的操作會中斷,需要重新提交操作

上述內容就是如何理解配置數據庫高可用性中的SEGMENT鏡像,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

车险| 富裕县| 蕲春县| 甘德县| 龙门县| 从江县| 会泽县| 红原县| 观塘区| 和静县| 阳春市| 宁蒗| 平舆县| 汶川县| 福州市| 策勒县| 台前县| 子洲县| 玉龙| 襄汾县| 南部县| 新泰市| 上饶市| 太湖县| 岳普湖县| 哈巴河县| 全椒县| 肥城市| 锡林浩特市| 石城县| 仪征市| 永康市| 美姑县| 特克斯县| 墨玉县| 乌兰察布市| 清远市| 河北省| 康定县| 通化市| 定日县|