Unix系統下磁帶機配置使用攻略
由于Unix操作系統的諸多優點,目前主流服務器多數仍然采用UNIX作為提供服務的系統平臺,其中Solaris占了其中的很大比例。本文介紹一下基于solaris的Unix 系統下磁帶機配置使用方法。
一、存儲磁帶簡介
磁帶存儲是相當廣泛的范疇,包括DDS、LTO、DAT、DLT和SDLT等等。數十年來各種磁帶成了傳統的備份媒介。表1 是磁帶技術列表:
注:DDS-3 和DDS-4 使用的技術與較早版本不同。最新的磁帶驅動器才支持最大的磁帶,但大多數驅動器提供只讀的向后兼容性。
二、磁帶設備的命名規則
通過提供邏輯設備名稱,可以指定用于備份的磁帶。磁帶機命名約定使用邏輯設備名稱而不是物理設備名稱。下表顯示了此命名約定。可以按照圖-1所示指定磁帶設備。
圖 1 磁帶機設備名稱
大多數 SCSI 磁帶機可以自動檢測磁帶的密度或格式,并相應地進行讀取。要確定磁帶機支持的不同密度,請查看 /dev/rmt 子目錄。該子目錄中包含支持每種磁帶的不同輸出密度的磁帶設備文件集。一個 SCSI 控制器最多可有七個 SCSI 磁帶機。
通常,可以按照邏輯單元號(范圍從 0 到 n)指定磁帶機。缺省情況下,磁帶機按照“首選密度寫入,該密度通常為磁帶機支持的最高密度。如果不指定磁帶設備,則命令會按照設備支持的缺省密度寫入磁帶機編號 0。要將磁帶傳輸到其磁帶機僅支持特定密度的系統,請指定按照所需密度寫入的設備名稱。表2介紹了如何指定磁帶機的反繞選項和不同密度。
表2 磁帶機的不同密度和反繞選項
三、磁帶管理命令
從用戶的角度來看,Unix的任何設備都可以看做是文件。因此,可以“打開合適的磁帶驅動器文件來進行寫入操作,將要備份的數據寫入到文件中去。雖然這聽上去過于簡單了,但是實際情況就是這樣。Unix系統把每一個設備都看成一個文件,與普通文件一樣處理,這樣可以使文件與設備的操作盡可能統一。 從用戶的角度來看,對設備的使用和一般文件的使用一樣。所以管理磁帶的最有效的方法是使用相關命令。
1. ml命令
mt命令用來控制磁帶機。可以使用 mt 命令的 status 選項來獲取有關磁帶機的狀態信息。mt 命令可報告配置文件 /kernel/drv/st.conf 中介紹的所有磁帶機的信息。
mt命令格式:mt [ -f device ] command [ count ] ,
顯示磁帶狀態
# mt -f /dev/rmt/n status
然后可以替換磁帶機編號 0、1、2、3 等,以顯示有關所有可用磁帶機的信息。
應用實例:
顯示 QIC-150 磁帶機 (/dev/rmt/0) 的狀態:
$ mt -f /dev/rmt/0 status
Archive QIC-150 tape drive:
sense key(0x0)= No Additional Sense residual= 0 retrIEs= 0
file no= 0 block no= 0
重新拉張磁帶
如果讀取磁帶時出現錯誤,則可以重新張緊磁帶、清潔磁帶機,然后重試。請勿重新張緊非 QIC 磁帶機。
$ mt -f /dev/rmt/3 retension
要反繞盒式磁帶,請使用 mt 命令。
$ mt -f /dev/rmt/1 rewind
2.tar命令
tar命令是用來建立,還原備份文件的工具程序,Solaris 系統對tar 進行了增強,使之更勝任系統級別的備份。它允許所有或部分要備份的文件和目錄列表保存在一個或多個文本文件中。UNIX環境下根文件系統的/dev目錄包含了所有和物理設備關聯的文件。當對這些文件進行操作時,實際上是在操作下層的物理設備。如果DAT或DLT的磁帶機已經連接好并加電,一般下情況下能夠自動檢測到磁帶機并在自檢時會提示是否要配置發現的磁帶機,選擇配置即可。如果用戶在起系統時沒有發現磁帶機,可能是磁帶機的驅動已經安裝到系統中了。
tar命令格式:
tar {c|r|t|u|x}[BDeEFhilmnopPqvw@[0-7]][bfk][X...][塊大小] [磁帶存檔文件] [大小] [排除文件...] {文件 | -I 包含文件 | -C 目錄文件}...下面介紹常用選項:
將文件復制到磁帶
1. 進入包含要復制的文件的目錄。
2. 將可寫磁帶插入磁帶機中。
3. 將文件復制到磁帶。命令如下:
$ tar cvf /dev/rmt/n filenames
參數說明:c 指明要創建歸檔文件;v 歸檔時顯示每個文件的名稱;
f /dev/rmt/n 指明應該將歸檔文件寫入指定設備或文件。
filenames 指明要復制的文件和目錄。使用空格分隔多個文件。
系統會將指定的文件名復制到磁帶,并且會覆寫該磁帶上的任何現有文件。然后從磁帶機中取出磁帶。在磁帶標簽中寫入文件名稱。
應用實例:把/export/home/目錄下兩個文件文件復制到磁帶
$ cd /export/home/
$ ls reports
reportA reportB
$ tar cvf /dev/rmt/0 reports
a reports/ 0 tape blocks
a reports/reportA 59 tape blocks
a reports/reportB 61 tape blocks
$ tar tvf /dev/rmt/0
從磁帶中恢復文件
轉到要放置文件的目錄。
將磁帶插入磁帶機。
從磁帶中恢復文件。 使用命令:
$ tar xvf /dev/rmt/n [filenames]
參數說明:x 指明應從指定的歸檔文件中提取文件。指定磁帶機中的磁帶上的所有文件都會被復制到當前目錄。v 恢復時顯示每個文件的名稱。f /dev/rmt/n 指明包含歸檔文件的磁帶設備。filenames 指定要恢復的文件。使用空格分隔多個文件。
3.cpio命令
Cpio命令用于復制需要多個磁帶卷的文件、特殊文件或文件系統。或者,當要將文件從運行當前的 Solaris 發行版的系統復制到運行 SunOS 4.0/4.1 發行版的系統時使用。Cpio的命令參數太多,這里只介相關參數。
將目錄中的所有文件復制到磁帶。步驟如下:
1. 轉到包含要復制的文件的目錄。
2. 將可寫磁帶插入磁帶機中。
3. 將文件復制到磁帶。使用命令:
$ ls | cpio -oc > /dev/rmt/n
參數說明:ls 為 cpio 命令提供文件名列表;cpio -oc 指定 cpio 命令應該在復制出模式 (-o) 下操作,并以 ASCII 字符格式 (-c) 寫入頭信息。這些選項確保可移植到其他供應商的系統。> /dev/rmt/n :指定輸出文件。
系統會將目錄中的所有文件復制到指定磁帶機中的磁帶,同時會覆寫該磁帶中的任何現有文件。屏幕將顯示復制的總塊數。
應用實例:
將/export/home/目錄中的所有文件復制到磁帶 :
$ cd /export/home/kryten
$ ls | cpio -oc > /dev/rmt/0
16 blocks
$ cpio -civt < /dev/rmt/0
-rw-r--r-- 1 root other 0 Jul 28 14:59 2004, filea
-rw-r--r-- 1 root other 0 Jul 28 14:59 2004, fileb
-rw-r--r-- 1 root other 0 Jul 28 14:59 2004, filec
drwxr-xr-x 2 root other 0 Jul 28 14:59 2004, letters
16 blocks
從磁帶中恢復所有文件 (cpio)
如果已使用相對路徑名創建了歸檔文件,則恢復文件時會在當前目錄中以目錄形式生成輸入文件。但是,如果已使用絕對路徑名創建了歸檔文件,則將使用相同的絕對路徑在系統中重新創建該文件。步驟如下:
1. 轉到要放置文件的目錄。
2. 將磁帶插入磁帶機。
3. 從磁帶中提取所有文件。 命令如下:
$ cpio -icvd < /dev/rmt/n
參數說明:-i 從標準輸入中提取文件。-c 指定 cpio 命令應以 ASCII 字符格式讀取文件。-v 在以與 ls 命令輸出類似的格式恢復文件時,顯示這些文件。-d 根據需要創建目錄。< /dev/rmt/n 指定輸出文件。
4. tar 和cpio命令對比
在某些情況下,特別是單用戶系統,并不需要復雜的備份過程tar和cpic的這樣的簡單磁帶命令完全可以定期地把重要數據保存到磁帶上。tar和cpio還能夠備份通過NFS加載的本地和遠程文件系統。圖2 是tar和 cpio 命令的對比和優缺點
圖2 是tar和 cpio 命令的對比和優缺點
四、磁帶機和存儲介質的維護
磁帶機和磁帶是服務器備份的好工具,但是磁帶也有些不利因素:
● 磁帶對熱和電磁場非常敏感,如果處理不當很容易出錯。電磁場由計算機周圍的各種常用設備產生,包括UPS 電源、包含電源的外圍設備、顯示器和揚聲器等。 此外,僅僅是讀取磁帶也會影響數據。
● 磁帶是連續存儲設備。為了訪問磁帶上某個指定的文件,必須使磁帶卷動到正確的某個點。這對于較老的磁帶驅動器常常會出問題。當前的高端驅動器能夠在數秒內訪問到任意一點。
針對以上缺陷應當采取以下措施:
1. 請定期清潔和檢查磁帶機,以確保其正確操作。請將磁帶存儲在遠離磁性設備的無塵安全位置。
2. 應該創建一個日志并對其進行維護,該日志用于跟蹤存儲每個作業(備份)的介質(磁帶卷)和每個備份文件的位置。
3. 注意物理安全。在保存備份磁帶的位置,應該考慮一般性的物理安全:必須保護磁帶免遭偷竊、蓄意破壞以及可能的環境破壞。
4. 正確保存磁帶介。一些媒介有特殊的要求,必須加以考慮。比如盒式磁帶的磁帶卷軸要垂直放置(垂直于地面,就像汽車的輪胎一樣),并且與驅動器接觸的邊朝下(從而重力把磁帶拖離磁帶軸)。
5. 在備份后對磁帶進行標記。應該在標簽上標明“磁帶 A、“磁帶 B,依此類推。此標簽絕不能更改。每次執行備份時,請創建另一個包含磁帶標簽,包括以下內容:
備份日期
備份的計算機和文件系統的名稱
備份級別
磁帶編號(1 至 n 中的任意一個數字,前提是備份跨多個卷)
特定于站點的任何信息
總結:
磁帶主要用來離線存儲數據,通常用于備份。 雖然使用的操作系統是Solaris,但是其思維也可以應用于其他Unix、BSD、Linux等操作系統。