系統管理
1752568 會員
5391 線上
108788 解決方案
發表新文章

關於讀取系統開機磁帶的問題

 
watermelonyu
教授

關於讀取系統開機磁帶的問題

原文如下...

五、讀取系統開機磁帶的內容

最後要跟大家說明的是,系統開機磁帶,除了第一段檔案資料,是儲存有關開機的資料外,其他的檔案,它是以tar的格式備份到磁帶裏。因此只要你把第一段檔案跳過,就可使用tar指令,來存取其他部分的內容了。方法如下:

#mt -t /dev/rmt/0mn fsf 1

#tar -xvf /dev/rmt/0m filename



我的做法如下......

我已經做過mkke_recover 且已經成功

make_recovery -A –C –v -d /dev/rmt/c3t1d0BESTnb

# mt -t /dev/rmt/c3t1d0BESTnb rewind

# mt -t /dev/rmt/c3t1d0BESTnb fsf 1

# tar xvf /dev/rmt/c3t1d0BESTnb

Tar: blocksize = 0; broken pipe?

# tar tvf /dev/rmt/c3t1d0BESTnb

Tar: tape read error

為什麼我跳過第一段卻不到資料呢

但是在第一段卻是找得到資料,跟原文的講法有些出入,

請問我該如何操作才是正確的
10則回覆 10
watermelonyu
教授

關於讀取系統開機磁帶的問題

這個問題可能來自於您所使用的 spefile file.



$ lssf c1t3d0BESTnb <=== 有 b

stape card instance 1 SCSI target 3 SCSI LUN 0 berkeley

no rewind best density a vailable at address 8/16/5.3.0

c1t3d0BESTnb



$ lssf c1t3d0BESTn <=== 沒有 b

stape card instance 1 SCSI target 3 SCSI LUN 0 at&t

no rewind best density available at address 8/16/5.3.0

c1t3d0BESTn



您所使用的是 berkeley style 的 special file

Berkeley style spefial file 的行為和 at&t special file

的行為不同.



根據 man page mt(7) 所述:

“當關閉一個read-only檔案時,如果沒有設定no-rewind bit時,

那卷磁帶就會自動倒帶。但是如果有設定no-rewind bit時,

那就要看所使用的磁帶操作方式。如果是使用AT&T操作方式,

磁帶的位置會移到剛讀取過資料的EOF之後。

如果是使用Berkeley操作方式,磁帶的位置就落在剛讀取過是的地方。”



可否請用 AT&T style 的 special file c1t3d0BESTn, 再試一下.



# mt -t /dev/rmt/c3t1d0BESTn rewind

# mt -t /dev/rmt/c3t1d0BESTn fsf 1

# tar tvf /dev/rmt/c3t1d0BESTn <-- 請用 tvf , 以免蓋掉

disk 內現有的 file.
watermelonyu
教授

關於讀取系統開機磁帶的問題

還是有錯誤

$ mt -t /dev/rmt/c3t1d0BESTn rewind

$ mt -t /dev/rmt/c3t1d0BESTn fsf 1

$ tar tvf /dev/rmt/c3t1d0BESTn

Tar: blocksize = 0; broken pipe?

還是我再做開機磁帶時候就要用/dev/rmt/c3t1d0BESTn



watermelonyu
教授

關於讀取系統開機磁帶的問題

是的,

11.00 時, 我試過work.

# make_tape_recovery -A -a /dev/rmt/c3t1d0BESTn



# make_tape_recovery -A

(default tape /dev/rmt/0mn)



reload 時用 /dev/rmt/0mn



請問您的 OS 及 ignite 版本為何 ?

Example :

# what /opt/ignite/bin/make_tape_recovery

/opt/ignite/bin/make_tape_recovery:

Ignite-UX Revision B.5.2.124

net_recovery (opt) $Revision: 10.624 $

# uname -a

HP-UX hputaix6 B.11.11 U 9000/778 2003472128 unlimited-user license

watermelonyu
教授

關於讀取系統開機磁帶的問題

# uname -a

HP-UX haggai B.11.11 U 9000/800 4287419456 unlimited-user license



# what /opt/ignite/bin/make_tape_recovery

/opt/ignite/bin/make_tape_recovery:

Ignite-UX Revision B.4.4.29

net_recovery (opt) $Revision: 10.611 $
watermelonyu
教授

關於讀取系統開機磁帶的問題

還是因為我是用 make_recovery的關係

# what /opt/ignite/bin/make_recovery

/opt/ignite/bin/make_recovery:

Ignite-UX Revision B.4.4.29

$Revision: 10.191 $
watermelonyu
教授

關於讀取系統開機磁帶的問題

我覺得是 special file 的關係, 和 make_recovery 或 make_tape_recovery 無關.

watermelonyu
教授

關於讀取系統開機磁帶的問題

我用BESTn重新做一次好了,看是不是有影響
watermelonyu
教授

關於讀取系統開機磁帶的問題

我在 hpux 11.11, ignite 5.5.2.124

用 make_tape_recovery 與 /dev/rmt/c1t3d0BESTn

測試 ok.



Log 如下:



# uname -a

HP-UX hputaix6 B.11.11 U 9000/778 2003472128 unlimited-user license

# make_tape_recovery -A -a /dev/rmt/c1t3d0BESTn

* Creating local directories for configuration files and archive.



======= 09/21/04 14:24:28 EAT Started make_tape_recovery. (Tue Sep 21

14:24:28 EAT 2004)

@(#) Ignite-UX Revision B.5.2.124

@(#) net_recovery (opt) $Revision: 10.624 $



* Checking Versions of Ignite-UX filesets

* Creating System Configuration.

* /opt/ignite/bin/save_config -f

/var/opt/ignite/recovery/2004-09-21,14:24/system_cfg vg00

* Backing Up Volume Group /dev/vg00

* /usr/sbin/vgcfgbackup /dev/vg00

Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf

* Creating Map Files for Volume Group /dev/vg00

* /usr/sbin/vgexport -p -m /etc/lvmconf/vg00.mapfile /dev/vg00

vgexport: Volume group "/dev/vg00" is still active.



* Creating Control Configuration.

* Creating Archive File List

* Creating Archive Configuration



* /opt/ignite/bin/make_arch_config -c

/var/opt/ignite/recovery/2004-09-21,14:24/archive_cfg -g

/var/opt/ignite/recovery/2004-09-21,14:24/flist -n 2004-09-21,14:24 -r

32 -d Recovery\ Archive -t -i 1 -m t

* Saving the information about archive to

/var/opt/ignite/recovery/previews

* Creating The Tape Archive

Adding /opt/ignite/Version file to LIF.

46321+0 records in

46321+0 records out

* /opt/ignite/data/scripts/make_sys_image -c n -d /dev/rmt/c1t3d0BESTn

-t n -s local -n 2004-09-21,14:24 -m t -w

/var/opt/ignite/recovery/2004-09-21,14:24/recovery.log -u -R -g

/var/opt/ignite/recovery/2004-09-21,14:24/flist -a 2924600



* Preparing to create a system archive



* Archiv
watermelonyu
教授

關於讀取系統開機磁帶的問題

我剛剛也試過了

make_recovery -A -C -v -d /dev/rmt/c3t1d0BESTn

完全正常

下列兩者都可以用

mt -t /dev/rmt/c3t1d0BESTnb fsf 1

mt -t /dev/rmt/c3t1d0BESTn fsf 1

tar tvf 都可以看到資料

************************

但是用

make_recovery -A -C -v -d /dev/rmt/c3t1d0BESTnb

卻是

# mt -t /dev/rmt/c3t1d0BESTnb rewind

# mt -t /dev/rmt/c3t1d0BESTnb fsf 1

# tar tvf /dev/rmt/c3t1d0BESTnb

Tar: blocksize = 0; broken pipe?

*****************************

# mt -g /dev/rmt/c3t1d0BESTn rewind

# mt -t /dev/rmt/c3t1d0BESTn fsf 1

# tar tvf /dev/rmt/c3t1d0BESTn

Tar: blocksize = 0; broken pipe?

那是不是說make_recovery 不能用berkeley 的spefile file