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