Alphaマシンにディスクを追加

Jan. 6, 2004


筆者の研究室では AlphaServer 1000A 5/400 に Redhat 7.2 for Alpha をインストールして 計算用として使っている. このマシンには,オンボードの Qlogic ISP1020に 2GB のディスクが接続され, RAID コントローラの Mylex DAC960 に 4GB のディスクが4台接続されている. しかしながら,Redhat のドライバがよろしくないのか,筆者の技量が足りないのか,DAC960 に 繋がれたディスクは Linux 上から認識されていない.

差し当たっては 2GB のディスクだけを使ってきたが,Use が 90% を超え, このまま使い続けるのは難しくなってきた. そこで,遊んでいる 4GB のディスク達にも働いてもらうことにし,既存システムへのディスク増設を試みた. 現在の /home 以下を増設したディスクに移動させる.

今まで何度も Linux 系 OS をインストールし,主にサーバとして使ってきたが, ディスクを増設するのは今回が初めてである. 近々学内向けwebサーバへのディスク増設を予定しており,その練習の意味もある.

ディスク増設はFAQであり,ネット上にいくらでも情報は見つかる. 大まかな手順は,

  1. ディスクを増設し,dmesgなどでLinux上からきちんと認識されていることを確認する.
  2. fdisk で領域を確保する.
  3. mkfs でフォーマットする.
  4. 適当なマウントポイント(空のディレクトリ.例えば /mnt/temp など)を作成し,そこに増設したディスクを マウントする.
  5. /home 以下を増設したディスクに移動する.
  6. /home に増設したディスクがマウントされるように /etc/fstab を編集する.
といったところか. Windows ではファイルシステムさえ認識されれば適当なドライブレターを割り振ってくれるが, UNIX 系 OS ではツリーのどこにマウントするかまでこちらから指定してやれねばならない.

まずはディスクを Linux 上から認識させることだ. インストール時に認識されなかった DAC960 をあきらめ Iwill SIDE-2935UW に換えてみた. コントローラは initio INIC-950P である.

電源を入れると,ん? Alpha の BIOS から 2935UW が見えていない. 差すスロットを変えてみても結果は同じ. Alpha と 2935UW との相性か?

次に,ASUS SC875に換えてみた. コントローラは LSI Logic 53C875 である. 今度は BIOS からも正常に認識され,BIOS Setup では接続されている4台のドライブが見えた. が,なぜか Linux 上から見えていない. 起動時のメッセージに 53C875 が出てこない. 53C875 は RedHat でも正式サポートされているはずなのだが...

53C895 のノーブランドカードでも試してみたが,やはり Linux から認識されない. どうも二個目のSCSIコントローラをうまく認識してくれないようだ.

だが,よく考えてみると,オンボードのISP1020は正常に使えているわけであるから, こちらのコントローラにディスクを増設すれば済む話なのである. Alpha マシンの筐体をじっくり調べてみると,ディスクの取付位置を変更するだけでそれができることがわかった. 当初,このマシンのディスク構成は以下のようになっていた.

つまり,DAC960 に接続されたディスクを抜いて図の点線で示した空き位置に差すだけでよいのである (もちろん ID がガチ合わないようにしなければならない). 実際に,DAC960 に接続された disk #1 と #2 を空き位置に引っ越すと Linux からも正常に認識された. 以下は dmesg の結果である. 追加したディスクはすでに FAT でフォーマットされていたので,sdb1 および sdc1 として認識されている.

scsi0 : Driver for a Qlogic ISP 1020/1040 Host Adapter
  Vendor: DEC       Model: RZ28M    (C) DEC  Rev: 0616
  Type:   Direct-Access                      ANSI SCSI revision: 02
  Vendor: DEC       Model: RZ29B    (C) DEC  Rev: 0016
  Type:   Direct-Access                      ANSI SCSI revision: 02
  Vendor: DEC       Model: RZ29B    (C) DEC  Rev: 0016
  Type:   Direct-Access                      ANSI SCSI revision: 02
  Vendor: DEC       Model: RRD45   (C) DEC   Rev: 0436
  Type:   CD-ROM                             ANSI SCSI revision: 02
  Vendor: DEC       Model: TLZ09     (C)DEC  Rev: 0167
  Type:   Sequential-Access                  ANSI SCSI revision: 02
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
Attached scsi disk sdc at scsi0, channel 0, id 2, lun 0
SCSI device sda: 4110480 512-byte hdwr sectors (2105 MB)
Partition check:
 sda: sda2 sda5
SCSI device sdb: 8380080 512-byte hdwr sectors (4291 MB)
 sdb: sdb1
SCSI device sdc: 8380080 512-byte hdwr sectors (4291 MB)
 sdc: sdc1
これでようやく準備が整った. fdisk を使って sdb 上に Linux のファイルシステムを作成する. 以下のように入力する.
$ /sbin/fdisk /dev/sdb 
fdisk では,まず d コマンドで既存パーティションを削除し, n コマンドでLinuxパーティションを作成する. パーティションは primary の p を選択し,Partition number は 1 を入力する. p コマンドで設定が正しいことを確認する.
Command (m for help): p

Disk /dev/sdb: 255 heads, 63 sectors, 521 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sdb1             1       521   4184901   83  Linux

最後に w コマンドで設定を反映させて終了である. Linux を再起動し,パーティションを認識させる.

続いて新規パーティションのフォーマットを行う.以下のように入力する.

$ /sbin/mkfs -t ext2 /dev/sdb1 4184901
とりあえず ext2 でフォーマットしておき,あとで ext3 に変換する. 最後の数字は fdisk の p コマンドで表示される Blocks の値である.

フォーマット終了後,/mnt/temp にマウントしてみる. /mnt/temp は予め作っておく.

$ mkdir /mnt/temp
$ mount /dev/sdb1 /mnt/temp
/mnt/temp に移動し,ls で lost+found が見えれば成功である. システムからファイルシステムとして正常に認識されている.

ext3 に変換するため,以下のように入力する.

$ /sbin/tune2fs -j /dev/sdb1
/home 以下を /mnt/temp にコピーする.
$ cp -pdr /home/* /mnt/temp/
-pdr オプションを付けることによって,パーミッションやディレクトリ構造が 丸ごとコピーされる.

ファイルシステムをマウントするディレクトリは空でなければならないので, コピーが完全に行われたことを確認し,/home 以下を削除する.

$ rm -r -f /home/*
最後に,/etc/fstab に以下の行を追加する.
LABEL=/                 /                       ext3    defaults        1 1
/dev/sdb1               /home                   ext3    defaults        1 2    <-- この行を追加
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
/dev/sda2               swap                    swap    defaults        0 0
/dev/cdrom              /mnt/cdrom              iso9660 noauto,owner,kudzu,ro 0
0
/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0
Linux を再起動すれば増設したディスクが /home にマウントされている.


お問い合わせはメールにて: akasaka@klc.ac.jp

戻る
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送