遠程儲存及其用途
在網絡廣為普及的今天,遠程儲存早已不是專家或高手才能使用的專利了。廣義地說,電子郵件、網絡硬盤、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 |
卷標識ID |
DeletedAmount |
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 = \dir0\test1.tst, Size = 1000000 RecallTime = 01/01/1601 00:00:00, File USN = 589408
關于作業項目信息的含義:
上面介紹過使用特定參數可以顯示全部的系統作業名稱,命令形式是:rsdiag /j jobname
所顯示的信息有如下的格式,具體含義是:
項目簡略名稱 | 作用描述 |
Name |
作業名稱 |
RunID |
正在運行的作業的ID號 |
IsActive |
邏輯標志,正在運行的作業為true,否則為false |
IsUsers |
用戶建立的作業為OK,自動建立的作業為false |
Done |
作業已經完成為OK,否則為false |
DoneOK |
如果作業已經完成且無錯誤條件為OK,否則為false |
MaxSess |
該數值總是1 |
作業項目顯示的一個例子,這實際是執行rsdiag /j命令之后顯示的結果:請注意,后兩項的名稱太長,對應的值只好下移一行。
Name RunId IsActive IsUsers Done DoneOk MaxSess
Manage 00000002 False False Ok Ok 0000001
RemoteStorageJob_H_ QuickUnmanage
00000001 False Ok Ok Ok 0000001
RemoteStorageJob_G_ CopyFiles
00000001 False Ok Ok Ok 0000001
一個作業是運行在一個或多個資源上的,對每個活動資源來說,執行一個作業需要一個或多個階段,每階段又可以執行多個動作,盡管多個階段和多個動作可能被賦予一個有代表性的名稱。例如:作業管理程序將掃描所有被管理的作業設備和轉移之前的有效文件。當作業管理程序利用命令來執行轉儲時,對每一個資源都顯示所發現的、相應的兩個階段和兩個動作.第一個階段是掃描的階段,接著的動作也調用掃描。然后的階段是數據傳送階段,同時取得數據傳送之前的信息。
執行rsdiag /j jobname 命令,可以得到每個作業中包含的設備資源、階段和動作信息。詳情見下表:
項目簡略名稱 | 作用描述 |
Name |
作業名稱 |
Identifier |
這個作業唯一的標識號 |
Hsm Identifier |
遠程儲存服務器標識號 |
Run Identifier |
運行的作業標識號 |
MaxSess |
這個數值總是1 |
Is User Defined |
用戶建立的作業為OK,自動建立的作業為false |
Is Active |
邏輯標志,正在運行的作業為true,否則為false |
Did Finish |
作業已經完成為OK,否則為false |
Did 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,否則為FALSE |
Is Active |
邏輯值:如果資源是活動的為TRUE,否則為FALSE |
Is Available |
邏輯值:如果資源是可用的為TRUE,否則為FALSE |
Managing Hsm |
管理資源的服務器的唯一的標識 |
Desired Free |
希望得到的自由空間的百分率 |
Actual Free |
實際可得到的自由空間的百分率 |
Total |
這個設備資源的總容量 |
Free |
總容量中可用的自由空間的字節數 |
Premigrated |
移動之前的數據總量 |
Truncated |
移動之后的數據總量 |
Manageable Size |
可管理文件的最。⒊叽纾 |
每個規則包含的描述項目:
項目簡略名稱 | 作用描述 |
Rule Path |
規則所適用的路徑 |
Name |
規則名稱,這是標準的文件名稱統配符 |
Search Name |
規則序列號 |
Is Include |
邏輯值:如果管理中包含文件適用的規則為TRUE,否則為FALSE |
Is User Defined |
邏輯值:如果是用戶自定義規則為TRUE,否則為FALSE |
Is In SubDirs |
邏輯值:如果在規則的路徑中,包含指定路徑的子目錄為TRUE,否則為FALSE |
Criterium Name |
標準名稱 |
Is Ignored |
邏輯值:忽略該項為TRUE,否則FALSE |
Is 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,處于讀寫狀態FALSE |
Capacity |
媒體占據的總字節數 |
Free Bytes |
總的自由空間的字節數 |
Next Data Set |
下一個寫入數據的設置 |
Recreate |
媒體是否重建的邏輯標志 |
這是一個顯示結果:每個值都與表中的項目對應。
Showing:
Description : RS-V-SCOOBY-1
Name : RS-V-SCOOBY-1
Media ID : {43e00ce7-8a56-11d2-9681-00a0c905f098}
RSM ID : {0878a2e0-8a56-11d2-9681-00a0c905f098}
Media type : 4
Last update : 12/03/1998 16:21:53
Last error : Ok
Recall only : FALSE
Capacity : 20113227776
Free Bytes : 19654164480
Next Data Set : 87
Recreate : 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:\WINNT\system32\RemoteStorage\RsFsa.col
HSM
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:\WINNT\system32\RemoteStorage\RsEng.col
RMS
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:\WINNT\system32\RemoteStorage\RsSub.col
結語:
整個遠程文件儲存實用工具包含的項目較多,但基本上都是屬于查詢性質的,利用某個命令得出某部分的狀態信息.并給出非常詳細的描述.很適用于在規模較大的團體內部網絡上使用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/