Linux、UNIX下磁帶機的管理和使用 (作者:張亞寧)

liuhaimiao發表於2014-10-17
一、磁帶機簡單介紹

目前市場上有很多自稱是“完美的系統備份選擇”的裝置,包括磁帶機,行動式磁碟驅動器,甚至還有一些神秘的Internet備份系統。對於備份操作來說,還是磁帶機提供了最可信的儲存方式。為什麼是磁帶機呢?當然,Iomega公司的Jaz或Zip驅動器看上去是令人感興趣的備份工具,但是它們易於在硬碟驅動器崩潰的情況下因為檔案系統的原因而導致問題出現。對於Internet備份來說,當你因為系統崩潰而不能訪問網際網路時,就不能恢復系統的資料。同樣,你能真正信任你的資料存放在別人的遠端系統麼?因此,我們選擇了磁帶機,但是如何訪問磁帶機呢?正如Linux、UNIX系統的裝置一樣,在Linux、UNIX系統中,在使用者狀態的角度來看,任何裝置都可以被看做是檔案。因此,可以“開啟”合適的磁帶驅動器檔案來進行寫入操作,將要備份的資料寫入到檔案中去。雖然這聽上去過於簡單了,但是實際情況就是這樣。Linux、UNIX環境下根檔案系統的/dev目錄包含了所有和物理裝置關聯的檔案。當對這些檔案進行操作,實際上是在操作下層的物理裝置。

二、磁帶機裝置的關聯

下面的表_1舉例說明了在Linux環境下裝置檔案是如何和物理裝置關聯起來的。

裝置(Device)        回捲(Rewinding)        不回捲(No-Rewind)
1st SCSI   tape drive        /dev/st0        /dev/nst0
2nd SCSI   tape drive        /dev/st1        /dev/nst1
nth SCSI   tape drive        /dev/st[n-1]        /dev/nst[n-1]
1st ATAPI  tape drive        /dev/ht0        /dev/nht0
2nd ATAPI  tape drive        /dev/ht1        /dev/nht1
nth ATAPI  tape drive        /dev/ht[n-1]        /dev/nht[n-1]
1st floppy tape drive        /dev/ft0        /dev/nft0
                                                             表_1

這正如在上表中看的那樣,裝置名是基於位於針對這種裝置型別的分層結構的裝置的邏輯數字,而不是其物理ID(SCSI)或者IDE通道(ATAPI)。因此,即使某個SCSI磁帶機被分配為SCSI裝置的ID4,如果它是SCSI鏈的第一個磁帶裝置,則它將是 /dev/st0, 而不是/dev/st4,這種命名慣例有利於跟蹤系統中的磁帶裝置,甚至在擁有多個驅動型別的磁帶裝置。同樣,在2.0.X核心下,只支援單個ATAPI裝置,2.2版本的核心可以使用多個ATAPI驅動(例如ht0, ht1,...等)。

現在我們來看看這些檔案是如何被命名的,回捲和不回捲的區別在哪裡呢?簡單的說,回捲裝置允許在結束操作以後,自動將磁帶回捲到開始處,而不回捲裝置在操作結束以後,將磁帶機停留在當時的位置而不進行回捲操作。對於大多數簡單備份操作,回捲裝置更適合一些,因為在備份操作結束以後其自動回捲以準備取出磁帶。而對於那些複雜的備份操作(如附加備份,邏輯搜尋及那些高階備份工具的操作),不回捲裝置更適合一些。

   在UNIX環境下,磁帶機裝置檔案和物理裝置關聯的情況就比較複雜了,要和磁帶機的型別以及UNIX系統的型別而變,下表只舉例說明常用的SUN Solaris作業系統下磁帶機裝置檔案和物理裝置關聯的情況。

磁帶機        大小        型別        格式        磁軌        裝置關聯縮寫
Xylogics 472 Fujitsu        1/2inch        卷繞式        1600bpi        9        /dev/rmt/0m
M2444        1/2inch        卷繞式        800bpi        9        /dev/rmt/0h
SCSI/前插入式 HP        1/2inch        卷繞式        1600bpi        9        /dev/rmt/0m
SCSI Sysgen        1/4inch        盒式        QIC-11        4        /dev/rmt/0l
Emulex        1/4inch        盒式        QIC-11        4        /dev/rmt/0l
Archive        1/4inch        盒式        QIC-150        18        /dev/rmt/0h
Wangtek        1/4inch        盒式        QIC-150        18        /dev/rmt/0h
Desktop        1/4inch        盒式        QIC-150        18        /dev/rmt/oh
                                                                       表_2

三、磁帶機的命令

下面介紹一下磁帶機的讀寫命令和操作管理命令,最常用的磁帶機讀寫命令是tar, 它可以對磁帶進行列目錄、讀和寫目錄檔案,下面是對磁帶機讀寫命令的介紹:

列磁帶目錄:      tar tvf  磁帶機裝置檔名
首次寫入磁帶:    tar cvf  磁帶機裝置檔名  欲記錄的檔案或目錄名
增量寫入磁帶:    tar rvf  磁帶機裝置檔名  欲記錄的檔案或目錄名
讀磁帶:          tar xvf  磁帶機裝置檔名  欲讀出的檔案或目錄名
            
注:上面的磁帶機裝置檔名即指磁帶機裝置在Linux、UNIX系統中的關聯縮寫。磁帶機的其他操作命令和更詳細的使用說明可參考tar的man page。

磁帶機讀寫命令舉例:

$ tar tvf /dev/rmt/0h    /* 列磁帶目錄  */
$ tar cvf /dev/rmt/0h  /usr2/ora_bak/full01.dmp.gz /* 首次寫入磁帶 */
$ tar rvf /dev/rmt/0h  /usr2/ora_bak/full02.dmp.gz /* 增量寫入磁帶 */$ tar xvf /dev/rmt/0h  /usr2/ora_bak/full02.dmp.gz /* 讀磁帶 */


最常用的磁帶機操作管理命令是mt, mt命令是操作磁帶機的一個很常用的命令, 利用它可以十分方便得管理磁帶機裝置,下面是對磁帶機操作管理命令的介紹:

拉緊磁帶:        mt  -f   磁帶機裝置檔名 retension
倒帶:            mt  -f   磁帶機裝置檔名  rewind
列出磁帶機狀態:  mt  -f   磁帶機裝置檔名  status
擦掉資料:       mt  -f   磁帶機裝置檔名  erase

注:關於mt命令更詳細的使用說明可參考mt的man page。

磁帶機操作管理命令舉例:

$ mt  -f  /dev/rmt/0h retension  /*  拉緊磁帶 */
$ mt  -f  /dev/rmt/0h rewind     /*  倒帶  */
$ mt –f  /dev/rmt/0h status     /*  列出磁帶機狀態 */
$ mt  -f  /dev/rmt/0h erase      /*  擦掉磁帶資料  */

這樣,在Linux、UNIX系統下對磁帶機進行管理和使用的方法就給大家介紹完了,磁帶機裝置是網路和系統管理員要經常用到的東西,關於這方面的資料也比較少,所以針對這個現象,撰寫此搞供大家閱讀。

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

相關文章