レンタルサーバ + Webシステム開発 = E-business

■レンタルサーバご利用参考資料
サーバご利用の参考にJF Project によるJF (Japanese FAQ)を掲載しています。

Linux JF(Japanese FAQ)Project.
JF は, Linux に関する解説文書・FAQ などを作成・収集・配布するプロジェクトです.

グリーンネット・トップページへ戻る


一覧に戻る
Linux - Panasonic LF1000 Optical Disk mini HOWTO

Skip Rye

root@brspc_0061.msd.ray.com

Mamoto Yoshinori - 抄訳・修正

ymamoto@ent.med.osaka-u.ac.jp

v1.1, March 29, 1996

LF1000 (PD) を Linux で使う。

 

   
    Note: このファイルは、IBM PC 互換機上のシステムにのみ当てはまります
    。原文でおかしな設定をしていると思われる部分は、適宜変更してありま
    す。
   
 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Table of Contents
1. Legal notice
   
    1.1. 免責事項
    1.2. 著作権
   
2. はじめに
   
    2.1. 光相変化技術
    2.2. 利点
    2.3. 理解して欲しい事
   
3. インストール
   
    3.1. インストールの手順
    3.2. ヒント
   
4. 追加・補足

1. Legal notice

1.1. 免責事項

この HOWTO 文書の著者および配布者は、この文書の内容によって引き起こされ
るいかなる類の物理的、金銭的、精神的損害に対しても、一切の責任を負わな
いことをここに宣言します。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1.2. 著作権

この文書は、Skip Rye に著作権(1996年)があります。Linux HOWTO 文書は、著
作権表記を残してありさえすれば、その一部もしくは全体を、いかなるメディ
アで配布しても構いません。商用配布も構いませんし、応援しています。しか
し、この文書の配布に関して注意事項があります。Linux HOWTO 文書の内容を
含む、あらゆる翻訳物、派生文書、まとめも、この著作権規約に従う必要があ
ります。いいかえれば、この規約以外の条件を付けた形での配布をしてはいけ
ないということです。この規約の例外は、特定の場合のみ許されます。要する
にこの情報をできるだけ多くのチャンネルを通して広めたいのです。私たちは
、 HOWTO 文書の著作権を保持しようと思ってはいるものの、再配布するための
いかなる計画も考えてはいません。もし、何か質問があれば、Linux HOWTO 文
書管理者の Greg Hankins に、E-mail:gregh@sunsite.unc.edu 宛で連絡をとっ
てください。電話番号を教えてもらい、さらに詳しい情報を得られるかもしれ
ません。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2. はじめに

2.1. 光相変化技術

「光相変化技術」は、相変化書き込みのための特殊なメディア上に、「結晶状
態」と「アモルファス状態」とを作りだし、その相違をビットデータとして扱
う技術です。このために、相変化ドライブは、エネルギーレベルの異なるレー
ザーを使用して、この状態を変化させるようになっています。結晶化している
領域は、アモルファス化している領域と、読み込み用のレーザーの反射率が異
なることを利用して、ディスクからデータが読みこめるわけです。

光相変化ディスクが特別なのは、磁気ディスクや光ディスクと同じく、同心円
状のトラック・セクタ形式でフォーマットされているものの、各トラックは、
非常に高密度に並んでいるので、一枚のディスクに極めて大量のデータが記録
できるようになっている点です。(訳注:これじゃ、特別でもなんでも無いで
すね。最近の HDD や MO の記録密度を考えると)CD-ROM は、音楽レコードと
同じく螺旋状のトラックを持っている点が磁気ディスクと異なる点です。光相
変化ドライブは、トラックやセクタに分割されている点では、光ディスクとの
違いはありませんが、より優れた性質があります。どういうことかというと、
光磁気ディスクが廉価にはデータのオーバーライトが出来ないのに対し、光相
変化ディスクでは可能であること。また、光相変化メディアが、磁気や電荷に
対し全く影響を受けないので、極めて長寿命であることなどです。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2.2. 利点

 ・ 500 ドル以下であること。(訳注:現在は、4 倍速で 30000 円程度?)
   
 ・ 既に SCSI コントローラを持っていれば、今あるものと一緒に、もしくは
    予備のディスクとして利用できるようになります。
   
 ・ 読み書き可能な光ディスク
   
 ・ 4 倍速で CD-ROM が読める。
   
 ・ Kodak の PhotoCD が読める。
   
 ・ メディアは 15 年の寿命がある。
   
 ・ SCSI-2 インターフェースである。
   
 ・ CD-ROM が螺旋状に記録するのと異なり、トラック/セクタ形式のフォーマ
    ットである。
   
 ・ アクセスタイム 165ms - テープより遥かに速い。
   
 ・ 650MB の大容量メディアである。
   
 ・ ディスク 1 枚約 50 ドル(訳注:今は日本橋では 2600 円が普通)
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2.3. 理解して欲しい事

 ・ ドライブと一緒に売っている SCSI コントローラが、Linux で動作するか
    否かは不明です。もし、その SCSI コントローラか別のコントローラが動
    作することが判ったら、是非私にメールを送って下さい。
   
 ・ 光ディスクのフォーマットは、他のディスクドライブのフォーマットと互
    換性はありません。しかし、PC 用の次世代ドライブであるのに十分なチャ
    ンスがあります。
   
 ・ ベンダーは、UNIX をサポートするようには思えません。残念ながら、 DOS
    /Windows や Macintosh を対象にしているようです。
   
 ・ LUN ジャンパ 7 番は、AT 互換機では、OFF に設定しておく必要がありま
    す。(訳注:原文では、どちらでもいいようになってますが、間違えると
    原文のように、CD-ROM と PD を同時に使えなくなります。その代わりに、
    ジャンパを MAC モードにしておくと、最初に入れておいたメディアタイプ
    のドライブとして認識します。)
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3. インストール

LF1000 は、SCSI-2 互換のデバイスです。ブロックサイズは、512 バイトで、
Linux の SCSI ドライバと互換性があります。このドライブを、Adaptec 1542C
SCSI コントローラを使って AMD 486-100MHz マシンにインストールしてみまし
た。インストールと、読み書き可能な光ディスクのマウントは、以下に述べる
ような手順で行ないました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3.1. インストールの手順

 ・ ドライブを取り付け、他のデバイスとぶつからないように SCSI ID をセッ
    トする。その後、ケーブルを繋ぎ直す。
   
 ・ コンピュータを起動し、SCSI コントローラがドライブを認識していること
    を確認する。
   
 ・ Linux のカーネルが起動している間に、SCSI デバイスが新たに認識される
    ことと思います。私の場合は、/dev/sda にハードディスクがあるので、/
    dev/sdb として認識されました。
   
 ・ overwrite warning が出るので、また dosemu の設定をいじりたく無かっ
    たので fdisk コマンドは使いませんでした。
   
 ・ ┌────────────────────────────┐
    │  mkfs -t ext2 /dev/sdb                                 │
    └────────────────────────────┘
   
 ・ ┌────────────────────────────┐
    │  mkdir /pd                                             │
    └────────────────────────────┘
   
 ・ ┌─────────────────────────────────┐
    │  mount -t ext2 -o ro,suid,dev,exec,auto,nouser,async /dev/sdb /pd│
    └─────────────────────────────────┘
    とすれば、読み込み専用マウント
   
 ・ ┌────────────────────────────┐
    │  mount -t ext2 -o defaults /dev/sdb /pd                │
    └────────────────────────────┘
    とすれば、読み書き可能でマウントです。
   
これで準備は完了です。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3.2. ヒント

SCSI カーネルドライバが、CD-ROM ISO 9660 フォーマットと ext2 フォーマッ
トなどのデバイスモードの変更をサポートしているかどうかは、不明です。ど
なたか、判りましたらメールを下さい。

訳注:少なくとも、aic7xxx, ncr53c[7,8]xx, ncr53c8xx などのドライバでは
、可能でした。カーネルを、LUN を検索にいくように作り直すか、 boot
prompt で max_scsi_luns=1 を設定する必要はあります。

補足:後述しますが最新カーネルでは、max_scsi_luns の設定は無関係です。

Linux のブート時に、ちゃんとドライブを認識していますか? dmesg の出力の
抜粋をつけておきます。MATSHITA ドライブを認識しているかどうか確認して下
さい。たぶん同じようなメッセージが出る筈です。

 

   
    注意点: "Adding Swap" の下 3 行は、Linux が PD を使えるようにブート
    したためです。もし、CD-ROM を PD-Drive に入れたままブートした場合、
    この CD-ROM を iso9660 フォーマットのメディアとして /cdrom にマウン
    トします。CD-ROM を使って Linux をインストールする場合には、PD ドラ
    イブに CD-ROM を入れたままブートしなくてはいけません。いったん
    Linux がブートした後は、"umount /cdrom" とすることで、メディアを交
    換できます。もちろん、マウントし直さなければいけません。以下に、こ
    の操作を助ける Shell Script を用意してあります。"mgrpd" の名前でフ
    ァイルに切りとり、"sh mgrpd" として実行して下さい。
   
    (訳注:カーネル及び PD ドライブの LUN の設定を正しく行なえば、先に
    CD-ROM を入れておこうが、PD を入れておこうが、いつでも、mount,
    umount 処理でメディア交換は可能です。)
   
  #-----------dmesgコマンドの出力-------------------------------------            
  Configuring Adaptec at IO:330, IRQ 11, DMA priority 5                           
  scsi0 : Adaptec 1542                                                            
  scsi : 1 host.                                                                  
    Vendor: QUANTUM   Model: PD1050iS          Rev: 3110                          
    Type:   Direct-Access                      ANSI SCSI revision: 02             
                                                                                  
  Detected scsi disk sda at scsi0, id 0, lun 0                                    
    Vendor: MATSHITA  Model: PD-1 LF-1000      Rev: A109                          
    Type:   Optical Device                     ANSI SCSI revision: 02             
  Detected scsi disk sdb at scsi0, id 1, lun 0                                    
  scsi : detected 2 SCSI disks total.                                             
  SCSI Hardware sector size is 512 bytes on device sda                            
  SCSI Hardware sector size is 512 bytes on device sdb                            
  Linux version 1.2.13 (root@bigkitty) (gcc version 2.7.0) #1 Wed Aug 23 03:54:14 
                                                                                  
  CDT 1995                                                                        
  Partition check:                                                                
    sda: sda1 sda2 sda3 sda4                                                      
    sdb: bad partition table                                                      
  VFS: Mounted root (ext2 filesystem) read-only.                                  
  Adding Swap: 34812k swap-space                                                  
  end_request: I/O error, dev 2100, sector 64                                     
  isofs_read_super: bread failed, dev 0x2100 iso_blknum 16                        
  Unable to identify CD-ROM format.                                               
  #-------------------ここまでdmesgコマンドの出力-----------------                

Adaptec 1542C SCSI コントローラのドライバは、Slackware の scsinet1 カー
ネルのものを使いました。このコントローラの場合は、無事動きましたが、違
うコントローラを使う場合は、Drew Eckhardt 氏の書いた SCSI-HOWTO (日本語
訳 ) を見て下さい。

LF1000 ドライブを使う上で便利な Shell Script を以下に付記しておきます。
自由に使ってもらって結構ですが、Copyright 表示は残しておいてください。
(訳注:後述する理由で、AT 互換機ではあまり役に立たないです。MkLinux を
動かす場合には意味があるかも)

  ------------------------ここから--------------------------------                
  #@/@/@ mgrpd    ABR Linux 1.2.13 486  mgr shell for phase change drive          
  #************************************************************************#      
  #                                                                        #      
  #  program : mgrpd                                                       #      
  #                                                                        #      
  #                                                                        #      
  #                                                                        #      
  #                                                                        #      
  #       Author : Skip Rye  Copyright 1996                                #      
  #                                                                        #      
  #       Revision : v1.0  02-01-96 Start                                  #      
  #                        03-13-96 Released                               #      
  #                                                                        #      
  #       Calls : None                                                     #      
  #                                                                        #      
  #       Files :                                                          #      
  #                                                                        #      
  #                                                                        #      
  ########################################################################*/      
  # Display menu and process choice:                                              
  sel=0                                                                           
  while [ $sel ]                                                                  
  do                                                                              
     echo "***************************************************************"       
     echo "*                         MGRPD                               *"       
     echo "* Version v1.0, Copyright 1996, Author Skip Rye              *"        
     echo "***************************************************************"       
     echo "**************  ext2 formated file system *********************"       
     echo "1)  Format pd disk - mkfs /dev/sdb"                                    
     echo "2)  Mount pd read/write"                                               
     echo "3)  Mount pd read only"                                                
     echo "************** dos formated file system ***********************"       
     echo "Note : must have been formatted using dos"                             
     echo "4)  Mount read/write"                                                  
     echo "5)  Mount read only"                                                   
     echo "40)  List disk space - df"                                             
     echo "50)  umount"                                                           
     echo "######################## CDROM ################################"       
     echo "Note : must have Use LUN Numbers jumper on drive"                      
     echo "100) Mount CDROM"                                                      
     echo "101) umount CDROM"                                                     
     echo "END Hit  to End"                                                       
     echo                                                                         
     echo "Select option: \c"                                                     
                                                                                  
     read sel                                                                     
     case $sel in                                                                 
                                                                                  
     1)                                                                           
        echo "This option assumes ext2 is the default mkfs format"                
        echo "This will DESTROY ALL data on disk. Enter y to continue."           
        read ans1                                                                 
        if [ $ans1 ]                                                              
        then                                                                      
           echo "Enter the fully qualified path name of the PD drive"             
           echo "ie. /dev/sdb"                                                    
           read pdpath                                                            
           if [ $pdpath ]                                                         
           then                                                                   
              if [ $ans1 = "y" -o $ans1 = "Y" ]                                   
              then                                                                
                  echo "This will DESTROY ALL data on disk $pdpath. Enter y to co 
  ntinue"                                                                         
                  read ans2                                                       
                  if [ $ans2 ]                                                    
                  then                                                            
                    if [ $ans2 = "y" -o $ans2 = "Y" ]                             
                    then                                                          
                       mkfs $pdpath                                               
                    fi                                                            
                 fi                                                               
              fi                                                                  
           fi                                                                     
        fi                                                                        
     ;;                                                                           
     2)                                                                           
        mount -t ext2 -o defaults /dev/sdb /pd                                    
     ;;                                                                           
     3)                                                                           
        mount -t ext2 -o ro,suid,dev,exec,auto,nouser,async /dev/sdb /pd          
     ;;                                                                           
     4)                                                                           
        mount -t msdos -o rw,suid,dev,exec,auto,nouser,async /dev/sdb /pd         
     ;;                                                                           
     5)                                                                           
        mount -t msdos -o ro,suid,dev,exec,auto,nouser,async /dev/sdb /pd         
     ;;                                                                           
     40)                                                                          
        df                                                                        
     ;;                                                                           
     50)                                                                          
        umount /dev/sdb                                                           
     ;;                                                                           
     100)                                                                         
        /etc/rc.d/rc.cdrom                                                        
     ;;                                                                           
     101)                                                                         
        umount /cdrom                                                             
     ;;                                                                           
     esac                                                                         
  done                                                                            
                                                                                  
  ------------------ここまで----------------------------------                    

もし、うまくいかなかった場合は、以下の点をチェックしてみて下さい。

 ・ SCSI コントローラは何を使っていますか?サポートされているカードです
    か? Drew Eckhardt 氏の SCSI-HOWTO (日本語訳 ) を見て下さい。
   
 ・ SCSI コントローラのドライバをカーネルに組み込んでいますか?
   
以下 3 点は、誤解を招くので、AT 互換機ユーザーは読み飛ばして下さい。

 ・ CD-ROM を使うには、Linux のブート前に LF1000 の電源を入れ、CD-ROM
    を入れておく必要があります。CD-ROM を認識できた後には、CD をアンマ
    ウントし、 CD-ROM を取り替えたり、マウントし直したりできるようにな
    ります。 -- "mgrpd" Shell Script の使い方を参照のこと。
   
 ・ 光ディスクを扱うには、CD-ROM を入れずに Linux をブートしてください
    。
   
 ・ LF1000 のジャンパ設定は、LUN を使うようになっていますか?
   
AT 互換機ユーザーは、以下の点もチェックして下さい。

 ・ LF1000 ドライブの電源は入っていますか?
   
 ・ Kernel Configuration で Probe all LUNs on each SCSI device を on に
    してカーネルを再構築してありますか?もしくは、ブートプロンプトで、
    max_scsi_luns=1 を設定しましたか? (訳注:最近のカーネルでは、Probe
    all LUNs on each SCSI device が off のままでも、PD の LUN はサポー
    トされるようになりました。Kernel 2.0.22 以降だったように思います)
   
 ・ LF1000 の LUN ジャンパ 7 番を off の位置に合わせてありますか?
   
PDのメディアは、約 500000 回の読み書きができるそうです。(訳注:私の知
るところでは 100 万回オーダーです。)しかし Linux などの OS を PD 上に
インストールすることは勧めません。このような OS は、プロセスをディスク
に書き込んだり読み込んだりするものです。こういう使い方では、簡単にメデ
ィアの寿命がくることになってしまいます。

できるだけ、読み込み専用でマウントするようにしましょう。

書き込みは、大きな固まりの単位で行ないましょう。これによって、読み込み
時のシークを増やす元となるフラグメンテーションを減少させることができま
す。

しかしながら、バックアップや、画像、あまり使う事の無い巨大プログラムの
保存用には、素晴らしいメディアです。バックアップからのリストアは、テー
プよりも何倍も高速です。バックアップは、テープドライブでは役に立たない
"cp -rp"コマンドでも行なえます。が、この場合は、シンボリックリンクが実
ファイルに置き換わってしまいます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

4. 追加・補足

この節は、訳者の勝手な追加事項です。

私の知っている限り、PD ドライブの出荷時デフォルト設定は、ライトキャッシ
ュがオフになっています。Panasonic 版に付属のツールを DOS 上で動かせばラ
イトキャッシュをオンの状態でセーブできます。ですが、少なくとも、トーレ
・ブランドに付属のツールでは、電源を切るたびに、ライトキャッシュがオフ
の状態に初期化されることが確認できています。

MO のライトキャッシュがオンになっている状態で、Win95 などの柔な OS 上で
使用すると、大量のファイルをコピーする場合にシステムがハングしたりする
こともしばしばですが、PD の場合は、そのような事態が発生したことはありま
せんでした。(自分自身や友人達を含めて)どうも、ドライブのキャッシュア
ルゴリズムの問題のせいではないかと推測されます。

しかし、Linux 上では、大きなファイルのコピー時にシステムがハングしたと
いう報告もありましたが、JF-MLでの実験報告によれば、SCSI カードの型番・
リビジョンによって起きる可能性があるようです。

雑誌などで、PD は MO に比べて書き込みが遅いと書かれていますが、少なくと
も、PD もライトキャッシュをオンにすれば、230M-MO よりは高速な結果が出て
います。(複数の環境で)

ライトキャッシュをオンの状態で使用した方が快適に使えるとは思いますが先
に書いた問題が起きる場合もあるので、at your own risk で、好きな方に設定
して下さい。

もちろん、FAT, VFAT でマウントするより、ext2 で makefs して Linux 専用
で使うほうが快適です。(私は 2 台の PD の一台を ext2、一台を vfat でマウ
ントするような設定をデフォルトにしています。)正確に計測はしていませんが
、少なくとも 4-5 倍は高速になったように思えます。

ライトキャッシュがオンになっているかどうかは、フロントパネルの LED が書
き込時にオレンジ色になっているかどうかで区別できるようです。(数社の製
品を調べた結果)オレンジになるならライトキャッシュはオン、ならなければ
、ライトキャッシュはオフです。一度ご確認のほどを。

なお、Panasonic 以外で、ライトキャッシュなどの初期設定情報を、記憶させ
られるツールを付属しているものは、あるのかどうか不明です。さすがに交友
関係だけで、各社のドライブを調べるには限度があります。

「うちのは付いてた」「うちのには付いてなかった」といった情報を教えてく
ださい。

1997/4/30 現在、WWW、ftp などで、Panasonic Tools を入手する方法は無いよ
うです。Panasonic が公開してくれることを願っています。

一覧に戻る
グリーンネット・トップページへ戻る

http://www.green.ne.jp/