RMAN備份恢復——備份到帶庫的效能(二)

yangtingkun發表於2007-05-16

簡單測試了一下rac環境透過RMAN備份到帶庫的功能。

RMAN備份恢復——備份到帶庫的效能:http://yangtingkun.itpub.net/post/468/287035


上一篇文章介紹了備份到帶庫的時候,只有兩個節點同時備份才能使用多個驅動器,而單個節點即使分配了多個CHANNEL也使用一個驅動器並行執行。

現在發現,導致這個問題的原因是netbackup中設定的問題。

root透過jnbSA進入圖形化介面:

NetBackup Management中選擇Host PropertiesMaster Servers,雙擊列出的主機資訊:

在屬性Global Attributes的設定中,將Maximum jobs per client的設定由1調整為10確保每個client都可以使用多個驅動器。點選確認。

下面再次測試備份:

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> backup database;
5> }

分配的通道: c1通道 c1: sid=290 例項=testrac1 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 backup 15-5 -07通道 c1: 啟動全部資料檔案備份集通道 c1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00006 name=+DISK/testrac/datafile/zhejiang01.dbf輸入資料檔案 fno=00007 name=+DISK/testrac/datafile/zhejiang02.dbf輸入資料檔案 fno=00009 name=+DISK/testrac/datafile/zhejiang03.dbf輸入資料檔案 fno=00011 name=+DISK/testrac/datafile/zhejiang04.dbf輸入資料檔案 fno=00012 name=+DISK/testrac/datafile/zhejiang05.dbf輸入資料檔案 fno=00014 name=+DISK/testrac/datafile/zhejiang06.dbf輸入資料檔案 fno=00008 name=+DISK/testrac/datafile/ndmain01.dbf輸入資料檔案 fno=00002 name=+DISK/testrac/datafile/undotbs1.263.618591197輸入資料檔案 fno=00004 name=+DISK/testrac/datafile/undotbs2.266.618591249輸入資料檔案 fno=00010 name=+DISK/testrac/datafile/ndindex01.dbf輸入資料檔案 fno=00013 name=+DISK/testrac/datafile/lt_index_ts01.dbf輸入資料檔案 fno=00001 name=+DISK/testrac/datafile/system.262.618591167輸入資料檔案 fno=00003 name=+DISK/testrac/datafile/sysaux.264.618591225輸入資料檔案 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 c1: 正在啟動段 1 15-5 -07通道 c1: 已完成段 1 15-5 -07段控制程式碼=3oihq9v3_1_1 標記=TAG20070515T191546 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c1: 備份集已完成, 經過時間:01:26:25通道 c1: 啟動全部資料檔案備份集通道 c1: 正在指定備份集中的資料檔案備份集中包括當前控制檔案在備份集中包含當前的 SPFILE通道 c1: 正在啟動段 1 15-5 -07通道 c1: 已完成段 1 15-5 -07段控制程式碼=3pihqf15_1_1 標記=TAG20070515T191546 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c1: 備份集已完成, 經過時間:00:00:57完成 backup 15-5 -07釋放的通道: c1

RMAN>

RMAN> run
2> {
3> allocate channel c1 device type sbt connect
;
4> allocate channel c2 device type sbt connect
;
5> backup database;
6> }

分配的通道: c1通道 c1: sid=285 例項=testrac1 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

分配的通道: c2通道 c2: sid=291 例項=testrac2 devtype=SBT_TAPE通道c2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 backup 16-5 -07通道 c1: 啟動全部資料檔案備份集通道 c1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00006 name=+DISK/testrac/datafile/zhejiang01.dbf輸入資料檔案 fno=00009 name=+DISK/testrac/datafile/zhejiang03.dbf輸入資料檔案 fno=00012 name=+DISK/testrac/datafile/zhejiang05.dbf輸入資料檔案 fno=00008 name=+DISK/testrac/datafile/ndmain01.dbf輸入資料檔案 fno=00010 name=+DISK/testrac/datafile/ndindex01.dbf輸入資料檔案 fno=00001 name=+DISK/testrac/datafile/system.262.618591167輸入資料檔案 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 c1: 正在啟動段 1 16-5 -07通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案輸入資料檔案 fno=00007 name=+DISK/testrac/datafile/zhejiang02.dbf輸入資料檔案 fno=00011 name=+DISK/testrac/datafile/zhejiang04.dbf輸入資料檔案 fno=00014 name=+DISK/testrac/datafile/zhejiang06.dbf輸入資料檔案 fno=00002 name=+DISK/testrac/datafile/undotbs1.263.618591197輸入資料檔案 fno=00004 name=+DISK/testrac/datafile/undotbs2.266.618591249輸入資料檔案 fno=00013 name=+DISK/testrac/datafile/lt_index_ts01.dbf輸入資料檔案 fno=00003 name=+DISK/testrac/datafile/sysaux.264.618591225通道 c2: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=3rihs2up_1_1 標記=TAG20070516T112828 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:00:40:20通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案備份集中包括當前控制檔案通道 c2: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=3sihs5ad_1_1 標記=TAG20070516T112828 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:00:01:07通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案在備份集中包含當前的 SPFILE通道 c2: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=3tihs5cg_1_1 標記=TAG20070516T112828 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:00:01:06通道 c1: 已完成段 1 16-5 -07段控制程式碼=3qihs2ut_1_1 標記=TAG20070516T112828 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c1: 備份集已完成, 經過時間:00:44:09完成 backup 16-5 -07釋放的通道: c1釋放的通道: c2

RMAN>

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> allocate channel c2 device type sbt;
5> backup database;
6> }

分配的通道: c1通道 c1: sid=290 例項=testrac1 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

分配的通道: c2通道 c2: sid=289 例項=testrac1 devtype=SBT_TAPE通道c2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 backup 16-5 -07通道 c1: 啟動全部資料檔案備份集通道 c1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00006 name=+DISK/testrac/datafile/zhejiang01.dbf輸入資料檔案 fno=00009 name=+DISK/testrac/datafile/zhejiang03.dbf輸入資料檔案 fno=00012 name=+DISK/testrac/datafile/zhejiang05.dbf輸入資料檔案 fno=00008 name=+DISK/testrac/datafile/ndmain01.dbf輸入資料檔案 fno=00010 name=+DISK/testrac/datafile/ndindex01.dbf輸入資料檔案 fno=00001 name=+DISK/testrac/datafile/system.262.618591167輸入資料檔案 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 c1: 正在啟動段 1 16-5 -07通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案輸入資料檔案 fno=00007 name=+DISK/testrac/datafile/zhejiang02.dbf輸入資料檔案 fno=00011 name=+DISK/testrac/datafile/zhejiang04.dbf輸入資料檔案 fno=00014 name=+DISK/testrac/datafile/zhejiang06.dbf輸入資料檔案 fno=00002 name=+DISK/testrac/datafile/undotbs1.263.618591197輸入資料檔案 fno=00004 name=+DISK/testrac/datafile/undotbs2.266.618591249輸入資料檔案 fno=00013 name=+DISK/testrac/datafile/lt_index_ts01.dbf輸入資料檔案 fno=00003 name=+DISK/testrac/datafile/sysaux.264.618591225通道 c2: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=3vihs9mp_1_1 標記=TAG20070516T132335 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:01:21:46通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案備份集中包括當前控制檔案通道 c2: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=40ihseg3_1_1 標記=TAG20070516T132335 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:00:00:56通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案在備份集中包含當前的 SPFILE通道 c2: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=41ihsehr_1_1 標記=TAG20070516T132335 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:00:00:56通道 c1: 已完成段 1 16-5 -07段控制程式碼=3uihs9mo_1_1 標記=TAG20070516T132335 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c1: 備份集已完成, 經過時間:01:25:04完成 backup 16-5 -07釋放的通道: c1釋放的通道: c2

RMAN> exit

恢復管理器完成。
$

對比上面三個不同的備份方式。如果在節點1上開啟一個channel,備份全庫大概需要1小時26分,如果採用兩個節點同時備份,那麼每個節點需要40多分鐘,大概45分鐘就可以備完全庫。最後,採用一個節點分配兩個channel來進行備份。由於前面已經修改了netbackup的設定,所以從圖形介面上觀察發現兩個驅動器同時在工作,可是令人疑惑的是,每個channel大概都花費了1小時20分鐘以上的時間,總共備份時間仍然達到了1小時25分鐘。這個效率和一個節點上啟動一個channel的效率是一樣的。

觀察netbackup的圖形介面發現,最後這種備份方式,每個驅動器的寫IO大概都是每秒6M左右,僅僅是前兩種方式速度的一半。

是什麼導致最後一種方式的IO效率減辦呢,仔細觀察後發現可能是網路因素造成的。由於上面的測試都是在Netbackup的客戶端節點進行,懷疑Netbackup首先需要將備份的資料透過區域網傳到Netbackup的伺服器端,然後透過光纖通道傳遞到帶庫。

簡單計算一下,如果一個節點上啟動兩個CHANNEL,每個CHANNELIO是6M,12M*8=96,已經解決100M網的上限了。

於是嘗試在Netbackup的伺服器端採用同樣的方法進行備份:

$ rman target /

恢復管理器: Release 10.2.0.3.0 - Production on 星期三 5 16 14:54:53 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

連線到目標資料庫: TESTRAC (DBID=4291216984)

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> allocate channel c2 device type sbt;
5> backup database;
6> }

使用目標資料庫控制檔案替代恢復目錄分配的通道: c1通道 c1: sid=302 例項=testrac2 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

分配的通道: c2通道 c2: sid=307 例項=testrac2 devtype=SBT_TAPE通道c2: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 backup 16-5 -07通道 c1: 啟動全部資料檔案備份集通道 c1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00006 name=+DISK/testrac/datafile/zhejiang01.dbf輸入資料檔案 fno=00009 name=+DISK/testrac/datafile/zhejiang03.dbf輸入資料檔案 fno=00012 name=+DISK/testrac/datafile/zhejiang05.dbf輸入資料檔案 fno=00008 name=+DISK/testrac/datafile/ndmain01.dbf輸入資料檔案 fno=00010 name=+DISK/testrac/datafile/ndindex01.dbf輸入資料檔案 fno=00001 name=+DISK/testrac/datafile/system.262.618591167輸入資料檔案 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 c1: 正在啟動段 1 16-5 -07通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案輸入資料檔案 fno=00007 name=+DISK/testrac/datafile/zhejiang02.dbf輸入資料檔案 fno=00011 name=+DISK/testrac/datafile/zhejiang04.dbf輸入資料檔案 fno=00014 name=+DISK/testrac/datafile/zhejiang06.dbf輸入資料檔案 fno=00002 name=+DISK/testrac/datafile/undotbs1.263.618591197輸入資料檔案 fno=00004 name=+DISK/testrac/datafile/undotbs2.266.618591249輸入資料檔案 fno=00013 name=+DISK/testrac/datafile/lt_index_ts01.dbf輸入資料檔案 fno=00003 name=+DISK/testrac/datafile/sysaux.264.618591225通道 c2: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=43ihsf2l_1_1 標記=TAG20070516T145515 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:00:39:35通道 c2: 啟動全部資料檔案備份集通道 c2: 正在指定備份集中的資料檔案備份集中包括當前控制檔案通道 c2: 正在啟動段 1 16-5 -07通道 c1: 已完成段 1 16-5 -07段控制程式碼=42ihsf2k_1_1 標記=TAG20070516T145515 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c1: 備份集已完成, 經過時間:00:40:32通道 c1: 啟動全部資料檔案備份集通道 c1: 正在指定備份集中的資料檔案在備份集中包含當前的 SPFILE通道 c1: 正在啟動段 1 16-5 -07通道 c2: 已完成段 1 16-5 -07段控制程式碼=44ihshcs_1_1 標記=TAG20070516T145515 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c2: 備份集已完成, 經過時間:00:00:58通道 c1: 已完成段 1 16-5 -07段控制程式碼=45ihshek_1_1 標記=TAG20070516T145515 註釋=API Version 2.0,MMS Version 5.0.0.0通道 c1: 備份集已完成, 經過時間:00:01:07完成 backup 16-5 -07釋放的通道: c1釋放的通道: c2

RMAN> exit

恢復管理器完成。
$

果然,這次的效率和兩個節點同時備份的效率一樣。都是僅用了40多分鐘就完成了備份操作。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69278/,如需轉載,請註明出處,否則將追究法律責任。

相關文章