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