GaussDB(DWS)《ROACH小課堂Ⅰ測試方法篇之交互測試》

      網友投稿 718 2025-04-08

      Chapter one. 集群運維管理交互篇


      1.1 交互manage cn——增刪CN

      交互對象簡介

      通過gs_om的managecn功能,給集群增加或者刪除cn。

      交互觀察點

      備份后,集群通過managecn增加或者刪除了cn,導致cn數變更,或者ccn編號變更。對于后續增量備份或者恢復是否造成功能上的影響。

      測試方法

      1.? 導入數據,并查詢數據狀態

      2.? 執行集群級全量備份

      3.? 通過managecn刪除編號最小的cn

      4.? 執行集群級全量恢復

      5.? 啟動集群

      6.? 查詢備份前和恢復后數據是否一致

      1.2 交互gs_replace——實例和節點修復

      交互對象簡介

      當集群中某個節點或者實例故障,但是機器仍然可用。因為集群是主備模式的,使用gs_replace工具,通過備機rebuild主機實例,修復集群故障的實例或者節點。

      交互觀察點

      備份后,發生實例或者節點故障,通過gs_replace修復后。觀察修復后的集群,增量備份或者恢復功能是否正常。

      測試方法

      1.? 導入數據

      2.? 執行備份

      3.? 人為故障一個實例或者單節點卸載

      4.? gs_replace修復故障實例或者節點

      5.? 執行恢復

      6.? 校驗數據一致性

      1.3 交互warmstandby——溫備

      交互對象簡介

      當集群的單節點發生故障后,該主機無法使用,需要替換為新的主機時。通過gs_replace的warstandby工具,在不需要重建集群的情況下,平滑替換壞掉的主機。Warmstanby后,新主機的hostname和ip都會發生變化,且該主機上的數據,全部需要build重建。

      交互觀察點

      一個集群節點的hostname或者IP改變,是否會影響已完成備份集和節點的映射關系,進而影響增量備份或者恢復的功能。

      測試方法

      1.? 導入數據

      2.? 執行備份

      3.? warmstanby替換集群中的一個節點

      4.? 執行恢復

      5. 校驗數據一致性

      1.4 交互gs_guc——參數設置

      交互對象簡介

      目前GaussDB(DWS)配置文件(“postgresql.conf”、“pg_hba.conf”)中的參數默認值都是單機的配置模式。應用程序可以通過調用gs_guc來設置適合自己的參數。簡而言之,通過gs_guc可以修改實例的參數配置信息。

      交互觀察點

      備份操作能否正確備份guc參數的值。

      測試方法

      1.? 修改guc參數并記錄當前結果

      2.? 執行備份

      3.? 再次修改guc參數值

      4.? 執行恢復

      5.? 確認guc參數值是否和備份前一致

      1.5 交互logcial_cluster——邏輯集群

      交互對象簡介

      邏輯集群區別于物理集群,自定義物理集群中的多個或全部(無意義)節點作為一個邏輯上的集群。當物理集群規模較大時,劃分若干邏輯集群給不同用戶使用,可以有效提升物理資源的利用率,并在一定程度上做到不同業務數據隔離,eg,一個邏輯集群用于查詢,一個邏輯集群用于計算。

      交互觀察點

      備份和恢復后的數據一致性

      測試方法

      1. 創建邏輯集群:gs_lcctl -t create --name logical_cluster_roach -h hostname1,hostname2 --non-interactive

      -name指定邏輯集群和對應nodegroup的名稱

      -h指定用來創建邏輯集群的節點hostname,用逗號分割

      2. 創建邏輯集群用戶和邏輯集群下的表:

      create user roach password 'Roach@789' node group logical_cluster_roach;

      set role roach password "Roach@789";

      create table logical_tab1(id int) with(orientation=column) to group logical_cluster_roach;

      create table logical_tab2(id int) with(orientation=column) to group logical_cluster_roach;

      create table logical_tab3(id int) with(orientation=column) to group logical_cluster_roach;

      insert into logical_tab1 values(generate_series(1,100));

      insert into logical_tab2 values(generate_series(1,100));

      insert into logical_tab3 values(generate_series(1,100));

      3. 執行集群級備份:

      Python3 $GPHOME/script/GaussRoach.py -t backup --media-destination /home/perfadm/media --metadata-destination /home/perfadm/meta --media-type disk --master-port 9009

      4. 分別刪除和插入數據給邏輯集群下的一張表:

      insert into roach.logical_tab2 values(generate_series(1,100));

      drop table roach.logical_tab3;

      5. 執行集群恢復:

      python $GPHOME/script/GaussRoach.py -t restore --media-destination /home/perfadm/media --metadata-destination /home/perfadm/meta --media-type disk --master-port 9009 --backup-key 20200930_153821 –clean

      6. 啟動集群:python $GPHOME/script/GaussRoach.py -t start

      7. 查看邏輯集群數據恢復成功并校驗數據是否和備份時一致:

      select count(*) from roach.logical_tab1;

      select count(*) from roach.logical_tab2;

      select count(*) from roach.logical_tab3;

      1.6 交互upgrade——升級

      交互對象簡介

      使用gs_upgradectl工具,用戶可以根據GaussDB(DWS)提供的新特性,決定是否對現有系統進行升級。

      交互觀察點

      升級可能涉及系統表和數據庫組件的變更。升級成功成功后,觀察能否正常備份恢復。

      測試方法

      1.? 導入數據

      2.? 安裝老版本集群

      3.? gs_upgradectl自動升級集群

      4.? 執行備份

      5.? 只能恢復

      6.? 數據一致性校驗

      1.7 交互gs_expand/gs_shrink——擴容/縮容

      交互對象簡介

      gs_expand工具來幫助用戶在業務發展和數據量增加的情況下,集群性能和存儲等方面出現瓶頸后,可以使用gs_expand工具增加主機來提升集群的性能及存儲;隨著業務場景和數據量的變化,需要集群節點具有可擴展性以及可收縮性。GaussDB(DWS)提供了gs_shrink工具來幫助完成對數據庫集群節點進行縮容操作。

      交互觀察點

      擴容或者縮容,會改變集群的主機數和DN數,以及數據在DN上的分布。在擴容或者縮容完成后的集群上,備份恢復功能依然要能生效,且保證恢復后數據的一致性。

      測試方法

      1.? 導入數據

      2.? 擴容/縮容

      3.? 執行備份

      4.? 執行恢復

      5.? 數據一致性校驗

      2?? Chapter two. 存儲交互篇

      2.1 交互logical replication——邏輯復制

      交互對象簡介

      邏輯復制功能描述:完成不同數據庫之間的DML數據同步,低時延,支持兩套集群異形,同步期間兩套集群均為可讀可寫

      邏輯復制流程:

      1.主集群開啟邏輯復制功能和xlog邏輯復制,兩個guc參數

      2.主集群創建邏輯復制槽

      3.設置中間件SRD工具,連接兩個不同的數據庫

      邏輯復制開啟,并建立連接后

      當主集群數據庫執行DML時,記錄到xlog中的DML,會被邏輯復制解碼器,解碼到邏輯復制槽中緩存,然后重定向輸出到文件中,解碼出的就是DML的sql。

      SDR中間件發送該文件到需要同步的數據庫集群上,由CN執行這個sql完成DML的重放,完成數據同步

      交互觀察點

      1.邏輯復制相關GUC參數——已驗證,DN上設置的參數,可以備份恢復

      2.主集群創建邏輯復制槽時,在DN目錄下生成的物理文件——已驗證容災不會備份

      測試方法

      邏輯復制:

      1.guc參數打開:

      gs_guc set -I all -N all -Z datanode -c 'wal_level=logical'

      gs_guc set -I all -N all -Z datanode -c 'enable_slot_log = on'

      2.創建邏輯復制槽:

      gsql -d postgres -p [dn_port] -c "select * from pg_create_logical_replication_slot('test_logical_slot', 'mppdb_decoding');"

      3.查詢邏輯復制槽

      execute direct on (dn_6001_6002) 'SELECT * FROM pg_replication_slots';

      4.執行容災備份恢復

      5.在備集群查詢相關guc參數以及創建邏輯復制槽時,DN目錄下是否生成物理文件

      2.2 交互foreign table——外表對接

      交互對象簡介

      外表(external table)就像普通的表對像一樣,可以select等,只是它是只讀的,數據庫中只保存了表結構的描述,表數據卻沒有存放在數據庫內,而是存放在了文件系統上。當用戶想偶爾使用數據庫外的結構化數據時,用起外表來就非常方便,甚至比sqlldr都要方便的多。

      外部表是在數據庫以外的文件系統上存儲的只讀表,例如EXCEL、CSV等文件

      交互觀察點

      1.容災備份恢復是否成功——成功

      2.查詢外表是否存在——存在

      測試方法

      1.在主集群導入外表

      postgres=# DROP FOREIGN TABLE IF EXISTS product_info_ext;

      postgres=# CREATE FOREIGN TABLE product_info_ext(product_price integer not null,product_id char(30) not null,product_time date ,product_level char(10) ,product_name varchar(200) ,product_type1 varchar(20) ,product_type2 char(10) ,product_monthly_sales_cnt integer ,product_comment_time date ,product_comment_num integer ,product_comment_content varchar(200)) SERVER gsmpp_server OPTIONS(LOCATION 'gsfs://192.168.0.90:5000/*',FORMAT 'CSV' ,DELIMITER ',',ENCODING 'utf8',HEADER 'false',FILL_MISSING_FIELDS 'true',IGNORE_EXTRA_DATA 'true') READ ONLY LOG INTO product_info_err PER NODE REJECT LIMIT 'unlimited';

      返回如下信息表示創建成功:

      CREATE FOREIGN TABLE

      2.執行容災備份恢復

      3.在恢復后的集群中查詢外表是否存在

      2.3 交互EC對接

      交互對象簡介

      SQL on other GaussDB是Extension Connector的功能之一,支持GaussDB(DWS)集群發送SQL語句給另一個GaussDB集群執行,并獲取執行結果,執行結果可以參與本地表關聯查詢或者入本地表或入本地文件系統。通俗來說,EC對接是指把SQL轉到另一個集群中的數據庫上執行

      交互觀察點

      1.是否影響容災功能——經評估,所需修改的配置不在備份內容中,執行容災恢復后需要重新配置Oracle環境,且備集群不感知

      測試方法

      1.安裝Oracle數據庫,并安裝相對應的對接工具

      2.修改相關guc參數

      3.執行容災備份恢復,檢查容災恢復是否成功

      3???? Chapter three.SQL交互篇

      3.1 交互PostGIS——處理地理信息系統空間型數據

      交互對象簡介

      PostGIS Extension是PostgreSQL的空間數據庫擴展,提供如下空間信息服務功能:空間對象、空間索引、空間操作函數和空間操作符。

      PostGIS Extension完全遵循OpenGIS規范。

      交互觀察點

      1.是否影響容災功能——不影響

      2.容災備份恢復后,備集群上postGIS是否可用——跨平臺場景不可用,同平臺可用

      測試方法

      1.停止集群,主集群分發postgis庫文件后kill om_monitor進程,重啟集群

      2.執行容災備份恢復

      3.2 交互CFUNCTION——C函數

      交互對象簡介

      Cfunction是一種c函數,是用來實現某些功能運算和完成各種特定操作的重要手段

      交互觀察點

      1.是否影響容災功能——不影響

      2.跨平臺容災,是否生成正確的cfunc文件清單——文件清單在meta路徑下

      3.同平臺容災——備集群cfunction可用

      GaussDB(DWS)《ROACH小課堂Ⅰ測試方法篇之交互測試》

      測試方法

      1.導入500條cunction函數

      2.執行容災全量備份恢復

      3.查詢備集群元數據路徑下是否存在cfunc的清單(同平臺驗證cfunction可用性)

      4.第一次全量備份結束后,再次導入300條cfunction

      5.執行容災增量備份恢復

      6. 查詢備集群元數據路徑下是否更新cfunc的清單(同平臺驗證cfunction可用性)

      4?? Chapter four.安全交互篇

      4.1 交互認證鑒權

      交互對象簡介

      為了使集群外用戶可以安全登錄至集群數據庫內進行查詢等操作,通過cert認證,MD5認證,和trust認證,三種認證鑒權來保證。

      交互觀察點

      1.是否影響容災功能——不影響

      2.容災恢復后,完成備集群認證鑒權配置,驗證是否可通過認證鑒權的方式登錄恢復后的集群數據庫內——可以

      3.容災恢復后,完成備集群認證鑒權配置,驗證是否可以不通過認證鑒權方式直接登錄恢復后的集群數據庫——不可以

      測試方法

      1.主集群分別執行三種認證鑒權方式:(操作比較繁瑣,整理在文檔中)

      2.執行容災備份恢復

      3.備集群按照《認證鑒權.txt》中的方式配置鑒權環境并檢查是否配置完成后,只能通過認證鑒權登錄備集群數據庫

      4.2 交互私有表

      交互對象簡介

      創建具有INDEPENDENT屬性的私有用戶,針對該用戶的對象,數據庫管理員(包含初始用戶和其他管理員用戶)在未經其授權前,只能進行控制操作(DROP、ALTER、TRUNCATE),無權進行INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。

      交互觀察點

      1.是否影響容災功能——不影響

      2.容災恢復后,私有用戶及其名下的數據是否可用——可用

      測試方法

      1.在主集群中創建一張私有表

      1)連接postgres數據庫:

      gsql -d postgres -p 6000 –r

      2)創建independent用戶:

      create user vip with independent identified by "vip1234.";

      3)切換到independent用戶:

      set role vip password "vip1234.";

      4)在independent用戶下創建表并插入數據:

      create table bible (id int,add text) with(orientation=column) distribute by hash(id);

      insert into bible values(1008,'beijing');

      2.執行容災備份恢復:

      3.在備集群查詢私有用戶及其名下的數據是否可用

      EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:開源的BI報表,提升業務分析
      下一篇:Wps中2016版文字進行插入頁眉頁腳的操作方法
      相關文章
      亚洲五月综合缴情在线观看| 亚洲欧美日韩中文二区| 亚洲av无码专区首页| 亚洲大片免费观看| 久久综合亚洲色HEZYO社区 | 国产亚洲精aa在线看| 亚洲伊人色一综合网| 亚洲一区二区三区免费观看 | 久久亚洲av无码精品浪潮| 国产99久久亚洲综合精品| 亚洲高清无码专区视频| 国产精品亚洲精品久久精品| 99亚洲乱人伦aⅴ精品| 亚洲av中文无码乱人伦在线观看| 亚洲综合一区国产精品| 亚洲最大的成人网| 亚洲欧美第一成人网站7777| 亚洲女子高潮不断爆白浆| 亚洲AV无码资源在线观看| 午夜亚洲av永久无码精品| 亚洲AV蜜桃永久无码精品| 亚洲中久无码不卡永久在线观看| 亚洲电影日韩精品| 国产啪亚洲国产精品无码| 亚洲中文字幕久久精品无码APP| 黑人大战亚洲人精品一区| 亚洲va久久久噜噜噜久久男同 | 亚洲电影日韩精品| 亚洲日韩人妻第一页| 精品国产亚洲一区二区在线观看 | 亚洲另类精品xxxx人妖| 国产精品亚洲专区在线观看 | 亚洲精品视频久久久| 一本色道久久综合亚洲精品| 亚洲va久久久噜噜噜久久| 亚洲欧洲国产精品你懂的| 亚洲综合久久成人69| tom影院亚洲国产一区二区| 亚洲另类无码专区首页| 日产国产精品亚洲系列| 亚洲综合无码AV一区二区 |