Sunマシンのディスクをリプレースする


ディスクはどんどん大容量・安価になっている、手狭になったらディスクをリプレースしよう。

1.ディスクを買う

最近のSunマシンはSCA-2というタイプのディスクが使われている。これはぱっと見るとWide-SCSI(68pin)のようだが、それよりもピン数が多い(80pin)コネクタがついている。電源コネクタが無い(80pin内に入っている)ので、すぐわかる。
基本的にはこのタイプならどれでも物理的に接続できる。しかし、Solarisではタグ付きコマンドキューというSCSIの機能を利用しているので、これが問題を起こすかもしれない。信頼できるベンダーから買う方がいい。

Sunのディスクはニューテックが品質&価格でおすすめ。そこらで売っているベアディスクと殆ど値段が変わらないし、Sunマシンとの相性も保証されている。
 

2.既存のディスクをそのままに、何とか接続する

リプレースするためにデータの移行を行う。既存のディスクと買ったディスクを両方マシンに接続する。
SCA2はSCSIバックプレーン側コネクタのジャンパーでSCSI-IDが決まる。ユーザがIDを割り振ることはできない。差し込む位置で勝手に決まる。

SS20までのマシンなら下側が ID=3,上側がID=1になる。ブートは通常、ID=3のディスクから行われる。
ULTRA以降はID=0,1になっている。ブートはID=0からだ。こっちの方が素直な割付である。

SPARCstationでもULTRAでも専用のディスクマウンターが必要になる。結構値が張るので、データ移行だけなら段ボール等でショートしないよう、だましだまし接続しておく。
 

3.マシンの電源を入れる

通常通り電源を投入する。もしかしたらPROMモニタで  boot -r をするべきかもしれない。
 

4.formatする

どのようなパーティションにするか、この時点で決めることになる。元々複数のパーティションだったのを混ぜるのか、あるいは元のパーティションと一対一で作成するのかなど、検討を行う。

パーティションサイズは移行元のパーティションサイズよりも小さくすることができる。当たり前だが、すでに使用されている容量よりも小さくすることはできない。
ちなみに、このformatという名称だが、Windowsなどでいうフォーマットと全く違う。これはWindowsで言えばFDISKみたいなもので、Windowsでいうフォーマットはnewfsだ。
 

5.パーティションごとにデータの移行を行う

以下の手順をパーティション数だけ繰り返す。

・移行後パーティションにファイルシステムをnewfsで作り込む。
・移行後のパーティションをどっかにマウントする。
・パーティションごとに以下のようにdump&restoreでデータ移行を行う。

こんな感じ

# newfs /dev/rdsk/c0t1d0s0
newfs: /dev/rdsk/c0t1d0s0 last mounted as /opt2
newfs: construct a new file system /dev/rdsk/c0t1d0s0: (y/n)? y
/dev/rdsk/c0t1d0s0:     208278 sectors in 58 cylinders of 27 tracks, 133 sectors
        101.7MB in 4 cyl groups (16 c/g, 28.05MB/g, 13504 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 57632, 115232, 172832,
#
# mount /dev/dsk/c0t1d0s1 /mnt
#
# ufsdump 0f - /dev/rdsk/c0t3d0s0 | (cd /mnt; ufsrestore rf -)
  DUMP: Writing 32 Kilobyte records
  DUMP: Date of this level 0 dump: Sat Oct 16 15:36:51 1999
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/rdsk/c0t3d0s0 (ss20:/) to standard output.
  DUMP: Mapping (Pass I) [regular files]
  DUMP: Mapping (Pass II) [directories]
  DUMP: Estimated 34962 blocks (17.07MB).
  DUMP: Dumping (Pass III) [directories]
  DUMP: Dumping (Pass IV) [regular files]
Warning: ./lost+found: File exists
  DUMP: 34942 blocks (17.06MB) on 1 volume at 478 KB/sec
  DUMP: DUMP IS DONE
#

ちなみに、SunOSでは dump/restore になる。引数は同じ。
 

6.ブートブロックを書き込む。

この作業をしないとブートできない。これはKernelを呼び出すIPLのようなものだ。

こんな感じ、もちろん書き込み先は適宜変えること。

# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s0
 

7./etc/vfstab/を書き換える

スライスを完全に一対一でコピーすればこの作業は必要ない。移動したり、変更したりした場合は適宜書き換えること。もちろん取り替えた後でも書き換えられるが、その場合はシングルユーザモードになっているだろう。
 

8.ディスクを取り替える

電源を切り、古いディスクと新しいディスクを入れ替える。手順に間違えがなければそのまま動くはず。



[戻る]