LinuxでNetVaultのサービスを停止し、一時的にOSのコマンド(tar等)でテープ・デバイスに書き込みたい

NetVault管理下にあるテープ・デバイスを、一時的にOSのコマンド(tar等)で使用したいことがあります。その場合、単純にNetVaultのサービスを停止するだけでは、使用することができません。今回のTipsでは、この場合の対応策をご紹介します。

  1. NetVaultに登録されているデバイスを、OSのコマンドから操作したい場合、まずNetVaultのサービスを停止します。通常は、nvconfiguratorの"サービス"タブからNetVaultを停止します。

  2. 単にNetVaultのサービスを止めただけでOSコマンドを実行しても、以下のようなエラーが出てしまいます。これは、NetVaultがデバイスのブロックサイズの設定を、可変長から、固定長に変更するためです。(下記の例は、対象となるデバイスのデバイス・ファイルが/dev/st0の場合です。環境に応じて適切なものを指定する必要があります。) 
    demo2sles9:/ # tar cvf /dev/st0 home
    home/
    home/test/
    home/test/a
    home/test/b
    home/test/c
    tar: /dev/st0: 10240 バイトのうち、0 バイトのみ書き込みました
    tar: エラーを回復できません: 直ちに終了します
    demo2sles9:/ #
  3. 回避策の一つとして、以下のコマンドを実行しデバイスのブロックサイズの設定を可変長に変更する方法があります。
    demo2sles9:/ # mt -f /dev/st0 setblk 0
  4. 上記のコマンドを実行することにより、下記のようにtarコマンドも実行することが可能になります。 

    demo2sles9:/ # tar cvf /dev/st0 home
    home/
    home/test/
    home/test/a
    home/test/b
    home/test/c
    demo2sles9:/ #
      
    ※ 別の回避策として、OSコマンド側で明示的にブロック・サイズを指定することが挙げられます。
    デバイスのブロック・サイズは、mtコマンド等で取得可能です。

 

< バックナンバー・トップへ戻る