テープデバイスに書き込めない

このQ&Aのポイント
  • TurboLinux8ServerでテープデバイスDDS4を使っていますが、書き込みができません。
  • /dev/nst0での書き込みを行うと「読み込み専用のファイルシステムです」と表示されます。
  • テープ自体のライトプロテクトのスイッチは書き込み可になっていますが、書き込みができません。
回答を見る
  • ベストアンサー

テープデバイスに書き込めない

TurboLinux8ServerでテープデバイスDDS4を使ってます。 デバイスの認識はうまくいっているようなのですが、 実際に書き込みを行うと、 「/dev/nst0:読み込み専用のファイルシステムです」 と表示されます。 テープ自体のライトプロテクトのスイッチは書き込み可に なってます。 mt status を実行すると SCSI 2 tape drive File number=0 ,blocknumber=0 ,partition=0 Tape block size 0 bytes. Dencity code 0x13(DOS(61000bpi)) Soft error count since last status=0 General status bits on (5010000): WR_PROT ONLINE IM_REP_EN と表示されます。 何が原因なのかさっぱりわかりません。 よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

とりあえず、過去の経験ですが,,,,, (可能性1) デバイスファイル/dev/nst0に書き込み権限がない。 (可能性2) /dev/nst0に書き込み権限が無いユーザがDATに書き込もうとしている。 (可能性3) DAT装置とDAT媒体の組み合わせが悪い。 (こんな場合、テープからの読み込みはできるが、書き込もうとすると 権限がないエラーが発生する)

FireBomber
質問者

お礼

回答ありがとうございました。 DAT装置がDDS4なのに対し、DAT媒体がDDS1でした。 DAT装置はDDS2までしか対応していないという仕様でした。

関連するQ&A

  • dumpが出来なくなってしまいました。

    お世話になっております。 いつもバックアップを下記の要領で、(テープドライブをマウント→ダンプ)バックアップ取っているのですが、今日up2dateをかけていざバックアップを取ろうと思いましたら、下記のように dumpのコマンドが認識されません。 bash: dump: command not found dumpで更新されたとは思えませんが、確認しなかったので何ともです。 (up2dateの履歴って日付入りで確認できるんでしたでしょうか) 原因のわかる方いらっしゃいましたら、ご教授ください。 再度症状(コマンド手順)を下記に書きます↓ # mt -f /dev/nst0 status SCSI 2 tape drive: File number=0, block number=0, partition=0. Tape block size 512 bytes. Density code 0x26 (DDS-4 or QIC-4GB). Soft error count since last status=0 General status bits on (41010000): BOT ONLINE IM_REP_EN # dump 0uf /dev/st0 / bash: dump: command not found

  • dumpが条件により実行できません!!

    お世話になっております。 バックアップを下記の要領で、(テープドライブをマウント→ダンプ)取る際、最初のログインGUIでいきなりrootでログインして実行すれば問題無くdump出来るのですが、GUIでは別ユーザで入ってコマンドでsu root でその後に同様の手順で実行すると、下記のようにコマンドが見つからないと言ってきます。何が原因でしょうか。御指導ください。 bash: dump: command not found 再度コマンド手順を下記に書きます↓ # mt -f /dev/nst0 status SCSI 2 tape drive: File number=0, block number=0, partition=0. Tape block size 512 bytes. Density code 0x26 (DDS-4 or QIC-4GB). Soft error count since last status=0 General status bits on (41010000): BOT ONLINE IM_REP_EN # dump 0uf /dev/st0 / bash: dump: command not found 以上です。

  • 一般ユーザでDAT操作できません

    Red Hat Enterprise Linux ES release 3を使用しています。 rootユーザではmtやtarにてDAT(DDS4)の操作ができるのですが、一般ユーザではできないです。 ・rootユーザ # mt -f /dev/st0 status SCSI 2 tape drive: File number=0, block number=0, partition=0. Tape block size 0 bytes. Density code 0x26 (DDS-4 or QIC-4GB). Soft error count since last status=0 General status bits on (41010000): BOT ONLINE IM_REP_EN ・一般ユーザ $ mt -f /dev/st0 status /dev/st0: Permission denied よくわからず/dev/st0のパーミッションを見てみました。 # ls -la /dev/st0 crw-rw---- 1 root disk 9, 0 9月 15 2003 /dev/st0 となっていたので、正しい方法ではないと思いますが この一般ユーザを/etc/groupのdiskグループに含めて 見ましたが、結果は変わりませんでした。 tarコマンドでも同じような結果です。 一般ユーザでもこのデバイスを使用できるようにする方法を教えてください。

  • テープでバックアップ

    HP環境でテープにファイルのバックアップを取ろうと思っています。 tar cvf /dev/rmt/0mn ファイル名 という内容でコマンドを実行しますと [そんなデバイスはないぞ!!(no open 何とか)] というエラーが出てきました。。 ioscan -fun -C tape コマンドでは /dev/rmt/0m /dev/rmt/0mn /dev/rmt/0mb /dev/rmt/0mnb があると出てきたのですが… mt-f /dev/rmt/0m statusでも [そんなデバイスはないぞ!!(no open 何とか)] というエラーが出てきました。。 マウントができていないのでしょうか? テープはマウントする必要がないのですよね? これにはどのような対処をすればよろしいのでしょうか? 初心者のため初歩的かも知れない質問しているかも知れません。 どうぞ、よろしくお願いします。

  • solaris DDS3 バックアップ リストア 方法について

    急に公開Webサーバをさわるのは危険だということで、別のサーバ(メールサーバ)でバックアップ リストアの訓練をして、監査に訴えると上司にいわれました。手順書をつくりなさいとのことで下記に作成しました。 これでいいのか?悩んでいます。ご指摘いただけましたら幸いでございます。 よろしくお願いいたします。 システム稼動のままで、バックアップします。 V210 でバックアップをとる     ↓ Netra t1 でリストアする Tape DDS3 容量 13G ■サーバ リストア作業手順 [作業に当たって用意するもの] ・Backup Tape (DDS3) [バックアップ作業 実施手順] --<Tape 種類>---------------- DAT(90m) /dev/rmt/0 2GB /dev/rmt/0c 5GB(圧縮) DAT(125m) /dev/rmt/0 12GB /dev/rmt/0c 24GB(圧縮) ------------------------------ まず、Tape を装着する。 / 以下、フルバックアップの場合 (今回はマルチユーザで、バックアップする!) Ok init 3 ←※ok prompt から (ファイルシステム デバイス名 確認) #devnm /    ←※ファイルシステム rawデバイス名 確認 /dev/rdsk/c0t0d0s0     ←※fs のrawデバイス名が表示される (テープ装置の種類の確認) #mt-f /dev/rmt/0 status  ←※今回は4mm DDS3 (フルバックアップ) # ufsdump 0ucf /dev/rmt/0ln /dev/rdsk/c0t0d0s0 ====================================================== まず、Tape を装着する。 (Tape を巻き戻す) #mt ?f /dev/rdsk/c0t0d0s0 rewind  ←※Tape のはじめから、リストアする場合 (ファイルシステムの完全なリストア) # umount /home # newfs /dev/rdsk/c0t0d0s0 # mount /dev/rdsk/c0t0d0s0 /mnt # cd /mnt                      ←※マウントポイントへ移動 # ufsrestore rvf /dev/rmt/0 ←※ リカーシブモードのリストア ---------------------------------------------------------------------  注)Tapeが複数のテープにまたがっている時は、     Mount volum 2 then enter volume name(default: /dev/rmt/0) このときは、ボリューム番号2のテープを入れ替えたあとで、「Retern」を入力。 --------------------------------------------------------------------- (★バックアップデータは、/export/home ファイルシステムに復元される!) #cd /export/home #rm /export/home/restoresymtable ←※リストア用の一時ファイルの削除 # cd / # umount /mnt          ←※必ずアンマウントをすること! # fsck /dev/rdsk/c0t0d0s0 # mount /dev/rdsk/c0t0d0s0

  • Javaアプリでデバイスファイルを制御

    SDIOインターフェイスにより接続されたSDIOホスト機器とSDIOデバイス機器との間で、SDIOホスト機器上で動作するJava swingアプリから、SDIOデバイス機器へ、通信試験をしています。SDIOホスト上で動作環境は以下の通りです。 OS:Ubuntu 12.10 server Java:version7 ホスト上で動作するSDIOデバイス機器用のデバイスドライバ:ttyドライバ 以下のプログラムでwriteは正常に動くのですが、readが実行されません。 ttyドライバは、デバイスファイルとして、別の場所にてFile file = new File("/dev/ttyPontos0;で宣言しています。reaed関数のin.available();の戻り値は、0が変えてきてしまいreadできないという状態です。お気付きの点ありましたら、大変ありがたいです。宜しくお願い致します。 public void actionPerformed(ActionEvent event) {   int i,rev_bytes; if(event.getActionCommand().equals("register_read")) { char[] cmd1 = {'s','h','o','w',' ','r','e','g',' ','-','r',' ','0','x',/*11*/'0','0','4','0','5','4','A','0','\r'}; byte[] txdata = new byte[cmd1.length]; byte[] rxdata = new byte[126];          for(i=0;i<cmd1.length;i++) { txdata[i]=(byte)cmd1[i]; } logfild.setText("register_read\n");     send_byte2(txdata,cmd1.length);/*byte列を送信*/ }else if(event.getActionCommand().equals("register_write_all")) { byte[] rxdata = new byte[126];        logfild.setText("receive\n");     rev_bytes=receive2(rxdata); String f = new String(rxdata); logfild.setText("rxdata=\n"+ f); } } public void send_byte2(byte[] senddata,int length) { try {       /*fileは別の場所で宣言しています*/ out = new FileOutputStream(file); out.write(senddata); out.close();/*書込み終了*/ logfild.append("\nFileOutputStream1_success\n"); } catch (IOException e) { // TODO 自動生成された catch ブロック logfild.append("FileOutputStream1_fail\n"); e.printStackTrace(); } } /*バッファにあるだけ受信する*/ public int receive2(byte[] receive) { int Bytes=0,num; try {        /*fileは別の場所で宣言しています*/ FileInputStream in = new FileInputStream(file); num=in.available();//read可能なバイト数を返す logfild.append("read_num\n"+num); Bytes=in.read(receive); in.close(); } catch (IOException e) { logfild.append("read_fail\n"); e.printStackTrace(); } return Bytes; }

  • DATが使えなくなった??

    RedHatLinux9でファイルのバックアップを内蔵のDDS4ドライブにとってました。 数日前からエラーが出てバックアップに失敗していることがわかりました。 エラーログは以下のとおりです。 host1 kernel: st0: Error with sense data: Current st09:00: sense key Medium Error host1 kernel: Additional sense indicates Write append position error host1 kernel: st0: Error with sense data: Current st09:00: sense key Medium Error host1 kernel: Additional sense indicates Write append position error host1 kernel: st0: Error on write filemark. tapeをいろいろ替えてみましたが、何度やっても tar: /dev/st0: open 不能: そのようなデバイスはありません tar: エラーを回復できません: 直ちに終了します となってテープにアクセスできません。 テープのアクセスランプもつかないので テープドライブが壊れたか エラーログから、linuxがおかしくなってしまったんだと思いますが。 どうすれば直るんでしょうか?? 社内のデータベースサーバーなので OSの再インストールはできないんです。 よろしくお願いします。

  • NTBackupがうまく行きません(DDS)

    今回初めてDDS4ドライブにてファイルのバックアップを試みている者です。 Windows2000のntbackupを使ってみているのですが、「必要なメディアがありません 選択したメディアの種類はすべて使用されています。・・・」とエラーが出てしまい困っています。下記のように対策してみたのですが改善されませんでした。ドライブが壊れているのでしょうか?何方か原因や対策をご存知の方いらっしゃいましたらご指導頂けないでしょうか。よろしくお願いいたします。 自分でやった対策は、 1.テープクリーニング 2.テープは新品 3.コマンドプロンプトでRSM REFRESH /lf"HP C5713A"を実行しました。 4.デバイスマネージャ及びBISOで認識しています。 機器のスペックは、 OS:Windows2000 Pro SP4 DDSドライブ:HITACHI製の6連チェンジャー式SCSI外付(中身は HP社製 C5413A) CPU:Pen4 2.4GHz メモリ:512MB HDD:80GB/200GB

  • ArcServeとDATについてのご質問

    ArcServeを使ってDATにバックアップを取ろうとしています。DATテープをこれまで使ったことがないのですが、 (1)DATテープを挿入しましたが、エクスプローラからは見えないのでしょうか。リムーバブルディスクとしてUSBメモリやMOのようにフォーマットしたり参照・書き込みが可能なものかと思っていました。バックアップソフトからしか覗けない(ArcServe、Netvaultなど?)のでしょうか? (2)毎日夜間にバックアップをとる場合、オートローダというテープが自動的に入れ替わる装置なら完全自動化できるようですが、DAT(DDS4)が一本入るだけの場合、人手が要らないようにするには毎日上書きでフルバックアップすればよいのでしょうか?そんなことArcServeでできますか? DATが一本しか入らないサーバは普通どうしているのdしょうか?毎日フルバックアップ完了時にテープをイジェクトさせておいて、人手でテープ交換?(週五本分用意とか?) (3)データベースファイルに24時間書き込みがある環境ではAgent for Oracleを導入すればバックアップできるようですが、データベースを止めてよいのであれば基本パッケージのみでバックアップ可能ですか?可能な場合、Windows版Oracleを決まった時間に停止・起動する方法は?

  • NTBackupが失敗しました。

    Windows2000サーバでNTBackupを使用して毎日バックアップを取っています。 NTBackupの「ツール」→「レポート」を参照すると昨日までは正常だったのですが今日の3:00のジョブが失敗していて以下のようなエラーメッセージが表示されています。 --------------------- エラー:デバイスはファイルマークの書き込みの要求時にエラーを検出しました。 エラー:不良なデータです。 --------------------- 以下はイベントビューアでのログです。 ----------------------- システムログ ソース:4mmdat イベントID:7 デバイス\Device\Tape0に不正なブロックがあります。 ----------------------- また、「復元」をしてみようと思い、過去のバックアップを選択しようとすると、メディアの認識ができません。 また、テストバックアップをしようとすると以下のような メッセージが表示されます。 「メディアを準備してください。このメディアを準備すると現在記録されているデータは全て消去されます。」 以上のような状態ですが、原因がお分かりになりましたら 教えていただけますでしょうか。