Win2000遠程儲存診斷
遠程儲存及其用途在網絡廣為普及的今天,遠程儲存早已不是專家或高手才能使用的專利了。廣義地說,電子郵件、網絡硬盤、WEB頁面、程序文件的下載和上傳都是遠程儲存的典型例子。但由于工作性質和環境的不同,特別是管理方式不同,故本文所介紹的遠程儲存不是廣義性的.它具有以下特定含義:win2000系列的操作系統可以支持遠程儲存,本質是一種將遠端的可利用磁盤空間擴充為本地磁盤空間的方法。具體說,用戶總是將那些頻繁訪問的數據或文件放在本地計算機的一個卷或某個特定位置,目的是盡量減少數據文件的存取時間。在實現遠程儲存時,必須有操作系統的支持,以求得最高的工作效率。當然,這不是嚴格的技術性的論述,只是比較直觀的表達。為了敘述上的方便,我們將操作系統中負責遠程儲存功能的部分,取一個專用的名稱叫做:Remote Storage。Remote Storage可以將那些符合條件的數據文件自動地拷貝到本地計算機的儲存介質上并建立相應的卷來進行管理。然后,Remote Storage就時刻監視本地計算機(所建立卷)的可用的磁盤空間。如果本地的可用磁盤空間降低至運行所需要的下限,Remote Storage將會自動將卷中的文件移動到遠端的磁盤上一些,騰出一些空間以滿足本地計算機運行的需要。相反,如果本地計算機要訪問的數據在遠端,Remote Storage也負責將這些數據由遠端傳送到本地。上述的這一切,都被納入操作系統的管理范圍。可以看出,實際應用中,這種雙向的傳送會消耗很多本地計算機的系統資源,降低本地計算機運行速度。為了減少這種消耗,網絡的遠端,有專門配套的服務器,專門負責儲存系統的管理。這種服務器支持多種儲存介質,例如:硬盤、磁帶機等等,數據量很大而對速度要求不高的存取一般就使用磁帶機,這樣可以降低存儲成本,如果要求速度較高,當然要使用硬盤設備。還可以對兩種速度不同的介質劃分級別,根據文件數據接受訪問的級別或頻率,先將磁帶機上的數據暫時儲存在硬盤上以利于提高速度;也可將硬盤上那些不急用的數據儲存到磁帶上以擴充硬盤的可用空間。不論采用哪一種,外界訪問都可以先被服務器接受,然后由服務器查找到對應的內容。這很像我們在VCD上點播歌曲的情形。廣義的遠程儲存,不同功能都需要相應的服務程序,例如我們建立的個人主頁,要用FTP上傳后才能使用、收發電子郵件必須用OutLook之類的郵件程序等等。而Remote Storage則是win 2000系統中已經存在的功能,無須再用別的管理程序。
遠程儲存診斷程序(Rsdiag.exe)對于建立在win2000系統的遠程儲存功能,也有一個基于命令行的診斷工具Rsdiag.exe。用這個工具,可以進行診斷查詢,也有諸如取消某個作業之類的執行功能。其完整的語法如下:rsdiag [/c jobname] [/d filetype fullpath&filename] [/e errorcode] [/i] [/j [jobname]] [/m] [/r [/f]] [/s] [/t] [/v [driveletter]] [/x queuedrecall] [/w fullpath&filename]rsdiag是命令名稱,這無須多說。其后面跟隨很多參數,實現功能不同,所用的參數不同。參數以及含義分別介紹如下,這也是我們需主要掌握的部分:/c jobname 用/C來取消指定的作業,jobname 是要取消的作業的名稱。至于如何得到作業的名稱,請參考下面相應的介紹。 /d filetype fullpath&filename 作用:將數據庫診斷信息轉換到一個文本文件中,遠程儲存服務器在管理數據文件的時候,采用了數據庫技術。filetype :指定輸出到文本格式中的源文件的種類,必須是下面的某一個: e 數據庫引擎f 文件系統代理數據庫a 文件系統代理集合n 引擎集合s 子系統集合fullpath&filename :必須是文本文件的完整路徑名稱和完整的文件名稱。/e errorcode 顯示錯誤代碼, errorcode 可以采用十進制或十六進制的代碼表示一個錯誤信息。/i 顯示文件的版本信息。/j [jobname] 如果沒有指定作業,則顯示所有的作業信息,包括作業的名稱。利用這一點,在想取消某個作業而不知道這個作業是否正在進行時,可以用這個參數進行查看。如果在參數之后指定作業名稱,則顯示這個作業的所有信息。[jobname]是作業名稱。/m 顯示符合處理條件的卷。/r [/f] 將遠程服務器檢索隊列之內的位于當前檢索隊列內的信息顯示出來,顯示的信息有:列出每一個檢索到的文件名稱和邏輯順序。如果用[/f]選項,還可以顯示包含文件狀態在內的檢索結果的擴展信息,以及初始檢索的值和文件在儲存介質上的偏移量信息。 /s 顯示關于儲存介質的物理信息。/t 再裝入的(供檢索的)軌跡文件,因為對所有的存取服務過程來說,都必須讀取軌跡文件中的注冊設置信息。/v [driveletter] 這是一個外部參數,顯示卷信息。如果使用附加的參數 driveletter, 可以顯示指定卷的擴展信息。/x queuedrecall 在遠程儲存服務器的檢索隊列中,取消指定的檢索作業,用/r開關,可以列出檢索。 /w fullpath&filename 顯示指定文件所在的儲存介質的名稱,這里指的是物理介質名稱,必須在參數中提供文件的完整路徑和詳細的文件名稱。關于診斷中顯示的管理數據庫輸出信息的含義遠程儲存管理利用了數據庫技術,這些信息被保存到一個文本文件中,這個文本文件相當于一個儲存情況的快照。要顯示這些信息,可以使用命令:rsdiag /d數據庫輸出含義如下:Engine database(數據庫引擎)數據庫引擎包含三個表.分別是:1.Segment Table(分段表):這個表中的信息是數據文件在次一級儲存介質上的位置標志符,設分段表的目的是映射BAG表示符和數據片斷在次級儲存介質的詳細位置。2. Media Table(媒體介質表):這個表用來映射外部媒體介質的名稱的標識符號,這個表需要用外部的媒體介質名稱與個內部的標識關聯,并用這些來管理媒體子系統。3.BAG Information Table(BAG信息表):包含每一個BAG的全局信息
分段表各個信息項目的含義如下:
項目簡略名稱項目完整名稱作用描述
BagId
BAG ID
BAG的ID標識號,具有唯一性StartLoc
BAG Segment Start Location
描述BAG段起始位置SegLen
Bag Segment Length
BAG段的長度LocType
Location Type
位置類型,用來表示文件數據在介質上的位置或在別處找到這些數據的索引信息PrimPos
Primary Location Position SpecifIEr
表示指定的主儲存位置,對于介質儲存,指定的是儲存位置。對于邏輯定向,這是BAG標識號。SecPos
Secondary Location Position Specifier
表示指定的次一級的儲存位置。對于介質儲存,指定的是儲存位置。對于邏輯定向,這是BAG標識號。IDB SeqNum
數據庫序列號。數據庫最初附加的序號。表中是各個字段的意義,下面給出一個實際的分段表各項的具體數值:BagId = {b010419f-fb1b-11d1-a1ba-00a0c9190447}, StartLoc = 3072, SegLen = 52224, LocType = 0, PrimPos = {b0104199-fb1b-11d1-a1ba-00a0c9190447}, SecPos = 0 (IDB SeqNum = 1)這里面的每一項都與上表中介紹的相對應。 媒體信息表各個信息項目的含義如下:
項目簡略名稱項目完整名稱作用描述
Id
Media ID
儲存媒體的ID標識,具有唯一性NtmsId
儲存媒體的標識的句柄,是一個可移動儲存媒體的管理標識號。StoragePoolId
Storage Pool ID
儲存池標識的ID號,具有唯一性IDB SeqNum
數據庫序列號。數據庫最初附加的序號。下面是媒體信息表實際內容的一個例子:id = {b0104199-fb1b-11d1-a1ba-00a0c9190447}ntmsId = {da96022d-fb19-11d1-a1ba-00a0c9190447} StoragePoolId = {e5390a42-fb19-11d1-a1ba-00a0c9190447} (IDB SeqNum = 1) BAG信息表各個信息項目的含義如下:
項目簡略名稱項目完整名稱作用描述
Type
記錄的類型BagId
BAG ID
供圖形式用戶界面使用的ID號BirthDate
BAG Birthdate
BAG創建時的數據與時間Len
Original BAG Length
BAG建立時候的實際長度Type
BAG Type
普通情況下不用VolId
Volume ID
卷標識IDDeletedAmount
Deleted BAG amount
刪除總量RemoteDataSet
Remote Data Set Number
遠程數據設置序號IDB SeqNum
數據庫序列號。數據庫最初附加的序號。下面是BAG信息表實際內容的一個例子:Type = 2 BagId = {b010419f-fb1b-11d1-a1ba-00a0c9190447}, BirthDate = 06/03/1998 20:42:20, Len = 47051200, Type = 0, VolId = {9db6f302-fb1b-11d1-a1ba-00a0c9190447}, DeletedAmount = 0, RemoteDataSet = 1 (IDB SeqNum = 1)文件代理系統所使用的數據庫表:這個表是文件轉移之前的狀態列表。
項目簡略名稱作用描述
AccessTime
最后訪問文件的時間BagID
ID,包含這個文件移動的數據標識BagOffset
文件位置偏移量FileId
用于標識文件的ID號Waiting for Close
一般不使用Offset
一般不使用Path
文件路徑,這個信息可能是被壓縮的形式Size
轉移之前的數據總量RecallTime
最后嘗試調用的時間File USN
該文件的更新次序號下面是文件代理數據庫表的一個例子:AccessTime = 03/30/1998 20:52:46 BagId = {b01043e7-fb1b-11d1-a1ba-00a0c9190447}, BagOffset = 56320, FileId = 1000000 Waiting for close = FALSE, Offset = 0, Path = dir0test1.tst, Size = 1000000 RecallTime = 01/01/1601 00:00:00, File USN = 589408
關于作業項目信息的含義:上面介紹過使用特定參數可以顯示全部的系統作業名稱,命令形式是:rsdiag /j jobname所顯示的信息有如下的格式,具體含義是:
項目簡略名稱作用描述
Name
作業名稱RunID
正在運行的作業的ID號IsActive
邏輯標志,正在運行的作業為true,否則為falseIsUsers
用戶建立的作業為OK,自動建立的作業為falseDone
作業已經完成為OK,否則為falseDoneOK
如果作業已經完成且無錯誤條件為OK,否則為falseMaxSess
該數值總是1作業項目顯示的一個例子,這實際是執行rsdiag /j命令之后顯示的結果:請注意,后兩項的名稱太長,對應的值只好下移一行。Name RunId IsActive IsUsers Done DoneOk MaxSessManage 00000002 False False Ok Ok 0000001RemoteStorageJob_H_ QuickUnmanage00000001 False Ok Ok Ok 0000001RemoteStorageJob_G_ CopyFiles00000001 False Ok Ok Ok 0000001一個作業是運行在一個或多個資源上的,對每個活動資源來說,執行一個作業需要一個或多個階段,每階段又可以執行多個動作,盡管多個階段和多個動作可能被賦予一個有代表性的名稱。例如:作業管理程序將掃描所有被管理的作業設備和轉移之前的有效文件。當作業管理程序利用命令來執行轉儲時,對每一個資源都顯示所發現的、相應的兩個階段和兩個動作.第一個階段是掃描的階段,接著的動作也調用掃描。然后的階段是數據傳送階段,同時取得數據傳送之前的信息。執行rsdiag /j jobname 命令,可以得到每個作業中包含的設備資源、階段和動作信息。詳情見下表:
項目簡略名稱作用描述
Name
作業名稱Identifier
這個作業唯一的標識號Hsm Identifier
遠程儲存服務器標識號Run Identifier
運行的作業標識號MaxSess
這個數值總是1Is User Defined
用戶建立的作業為OK,自動建立的作業為falseIs Active
邏輯標志,正在運行的作業為true,否則為falseDid Finish
作業已經完成為OK,否則為falseDid Finish Ok
如果作業已經完成且無錯誤條件為OK,否則為false下面是關于一個設備資源描述的項目解釋:
項目簡略名稱作用描述
Resource Name
運行作業時設備資源的名稱 作業的當前態,有效的狀態是:State
活動已經取消正在取消完成失敗空閑已中止正在中止恢復跳過開始Starting Path
作業啟動的路徑Current Path
當前作業執行的路徑Start Time
啟動時間Stop Time
停止時間Sub-Run Id
子作業的運行標識下面是一個階段中每個狀態的描述信息:
項目簡略名稱作用描述
Phase Name
運行作業時階段的名稱,可用的有:All – 包含階段中所有可用的項目Scan – 掃描階段File Update - RSFSA 更新文件Data Transfer – 數據庫引擎正在傳送文件 作業的當前態,有效的狀態是:State
活動已經取消正在取消完成失敗空閑已中止正在中止恢復跳過開始Media State
以下是在執行作業時媒體可能的狀態: 空閑當前不可用裝配就緒傳送中傳送完畢、結束Priority
作業的優先權Start Time
作業開始時間Stop Time
作業停止時間Elapsed Time
從作業開始到停止持續的時間Items
項目號Size
這個階段的中所有動作完成的字節數Skipped Items
這個階段需要跳過的項目號Skipped Size
這個階段跳過的項目的總量每個階段中各個動作描述項目的信息:
項目簡略名稱作用描述
Action Name
該階段動作名稱Items
動作項目號Size
本動作完成的數據總量Skipped Items
需要跳過的項目號Skipped Size
該工作中需要跳過的數據總量資源顯示的命令示例:rsdiag可以用來顯示資源狀態的情況,但用途不同,使用的切換開關不同:命令rsdiag/m,顯示服務器所管理的卷;命令rsdiag /v顯示所有的資源;命令rsdiag /v driveletter 顯示詳細的資源。對普通信息,例如設備的邏輯名稱和自由空間的描述,包括一個或的多個規則和自動截取信息,規則由包含文件的相關信息組成。一個規則包含一些標準和這個動作內包含的文件描述信息。這個表中列出的是對設備資源描述的項目:
項目簡略名稱作用描述
Logical name
設備資源的邏輯名稱Identifier
這個設備資源的唯一的標識號Serial Number
卷序列號File System Name
文件系統類型名稱Name (Label)
驅動器卷標(例如D:盤用diskd)User Friendly name
驅動器字母標簽(例如常用C、D代表某個磁盤)Sticky name
windows2000中使用的名稱Path
該資源當前的路徑映射UNC Path
該資源的UNC路徑Alternate Path
資源的預備的路徑Old Path
資源的原始路徑Db Path
關于資源(數據)移動之前的數據庫列表路徑Is Managed
邏輯值:如果資源是可被管理的為TRUE,否則為FALSEIs Active
邏輯值:如果資源是活動的為TRUE,否則為FALSEIs Available
邏輯值:如果資源是可用的為TRUE,否則為FALSEManaging Hsm
管理資源的服務器的唯一的標識Desired Free
希望得到的自由空間的百分率Actual Free
實際可得到的自由空間的百分率Total
這個設備資源的總容量Free
總容量中可用的自由空間的字節數Premigrated
移動之前的數據總量Truncated
移動之后的數據總量Manageable Size
可管理文件的最小"尺寸"每個規則包含的描述項目:
項目簡略名稱作用描述
Rule Path
規則所適用的路徑Name
規則名稱,這是標準的文件名稱統配符Search Name
規則序列號Is Include
邏輯值:如果管理中包含文件適用的規則為TRUE,否則為FALSEIs User Defined
邏輯值:如果是用戶自定義規則為TRUE,否則為FALSEIs In SubDirs
邏輯值:如果在規則的路徑中,包含指定路徑的子目錄為TRUE,否則為FALSECriterium Name
標準名稱Is Ignored
邏輯值:忽略該項為TRUE,否則FALSEIs Negated
邏輯值:否定該項為TRUE,否則FALSE描述"自動截取"功能所用的項目:
項目簡略名稱作用描述
Keep Recall Time
未使用Run Interval
自動截取作業之間間隔的毫秒數如何用命令行得到儲存媒體狀態信息輸出的舉例:如果想得到媒體狀態輸出的信息,可以使用:rsdiag /s對媒體狀態進行描述的信息如下表:項目簡略名稱作用描述
Description
所給出的描述遠程儲存介質的名稱Name
所給出的描述可移動或可抽取的儲存介質的名稱Media ID
遠程儲存介質的標識號RSM ID
可移動或可抽取介質的標識號Media Type
媒體類型列表Last update
媒體執行"寫"操作的最后時間Last error
返回錯誤信息的最后時間Recall Only
邏輯值:僅當被調用為TRUE,處于讀寫狀態FALSECapacity
媒體占據的總字節數Free Bytes
總的自由空間的字節數Next Data Set
下一個寫入數據的設置Recreate
媒體是否重建的邏輯標志這是一個顯示結果:每個值都與表中的項目對應。Showing: Description : RS-V-SCOOBY-1Name : RS-V-SCOOBY-1Media ID : {43e00ce7-8a56-11d2-9681-00a0c905f098}RSM ID : {0878a2e0-8a56-11d2-9681-00a0c905f098}Media type : 4Last update : 12/03/1998 16:21:53Last error : OkRecall only : FALSECapacity : 20113227776Free Bytes : 19654164480Next Data Set : 87Recreate : FALSE 由于操作系統的各個功能實際是由許多部件構成的,作為遠程儲存系統也是構件之一,它有自己的版本信息,如果想知道該構件的版本信息,也可以使用命令行來得到:rsdiag /I下表是管事版本信息描述的項目:項目簡略名稱作用描述Title
構件標題Registry Name
構件標題在注冊表中的名稱Identifier
這個設備資源唯一的標識DB Version
構件使用的數據庫版本Build Version
遠程儲存系統編譯號NT Version
(適用的)windows版本NT Build
windows編譯號DB Path
部件(所用)文件集合的路徑這是關于版本信息輸出的一個實際結果:RsTest Build : 391 FSA RegistryName : Remote_Storage_File_System_Agent Identifier : {349763e3-8a50-11d2-9681-00a0c905f098} Db Version : 1 Build Version : 386 NT Version : 5.00 NT Build : 1934 DbPath : D:WINNTsystem32RemoteStorageRsFsa.colHSM RegistryName : Remote_Storage_Engine Identifier : {51a17b12-8a50-11d2-9681-00a0c905f098} Db Version : 2 Build Version : 386 NT Version : 5.00 NT Build : 1934 DbPath : D:WINNTsystem32RemoteStorageRsEng.colRMS RegistryName : Remote_Storage_Subsystem Identifier : {3f577494-8a50-11d2-9681-00a0c905f098} Db Version : 2 Build Version : 386 NT Version : 5.00 NT Build : 1934 DbPath : D:WINNTsystem32RemoteStorageRSSub.col結語:整個遠程文件儲存實用工具包含的項目較多,但基本上都是屬于查詢性質的,利用某個命令得出某部分的狀態信息.并給出非常詳細的描述.很適用于在規模較大的團體內部網絡上使用。