Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows Server系統教程 >> Windows Server教程 >> Win2k秘密武器之遠程儲存診斷

Win2k秘密武器之遠程儲存診斷

日期:2017/1/24 11:03:47      編輯:Windows Server教程

  遠程儲存及其用途

  在網絡廣為普及的今天,遠程儲存早已不是專家或高手才能使用的專利了。廣義地說,電子郵件、網絡硬盤、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

BAGID

 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 = dir0test1.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 命令,可以得到每個作業中包含的設備資源、階段和動作信息。詳情見下表:

  width=104>

  Identifier

項目簡略名稱 作用描述

Name

作業名稱 這個作業唯一的標識號

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

Z 作業開始時間

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 class=MsoNormal>Is Active

 

 

邏輯值:如果資源是活動的為TRUE,否則為FALSE

Is Available

邏輯值:如果資源是可用的為TRUE,否則為FALSE

Managing Hsm

管理資源的服務器的唯一的標識

Desired Free

希望得到的自由空間的百分率

Actual Free

實際可得到的自由空間的百分率

Total

這個設備資源的總容量

Free

Copyright © Windows教程網 All Rights Reserved