2004-07-10 23:12:14 +0900 (1606d); rev 2
Tru64Unix のストレージ管理、特に LSM と AdvFS について。
LSM (Logical Storage Manager) というのは ようするにソフトウェア RAID みたいなもの。 ミラーリングしたり、複数のスライスをつなげて一つにしたりできる。
AdvFS は Tru64Unix の標準ファイルシステム。 ジャーナリングやクォータは当然として、 スナップショットをとったり、動作中にサイズを増やしたり、 複数のスライス (正確には AdvFS volume) にまたがって作ることもできる。 他に妙な機能としては「ゴミ箱」機能があり、 unlink されたファイルを自動的に特定ディレクトリに移動できる。
詳しくは hp のオンラインマニュアルを参照のこと。
スライスと LSM の管理は diskconfig にやらせるのが一番楽なのだが、 以下では X が使えない状況だったので地道にコマンドラインからやることにした。
スライスは disklabel(8) で操作できる。
スライステーブルを読む
# /usr/sbin/disklabel -r /dev/rdisk/dsk0c # /dev/rdisk/dsk0c: type: SCSI disk: ST318404LC label: flags: dynamic_geometry bytes/sector: 512 sectors/track: 421 tracks/cylinder: 6 sectors/cylinder: 2526 cylinders: 14384 sectors/unit: 35566478 rpm: 10016 interleave: 1 trackskew: 75 cylinderskew: 85 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype fsize bsize cpg # ~Cyl values a: 786432 0 AdvFS # 0 - 311* b: 786432 786432 LSMnoprv # 311*- 622* c: 35566478 0 unused 0 0 # 0 - 14080* d: 4096 1572864 LSMsimp # 622*- 624* e: 16994759 1576960 unused 0 0 # 624*- 7352* f: 16994759 18571719 unused 0 0 # 7352*- 14080* g: 4300800 1576960 LSMnoprv # 624*- 2326* h: 29688718 5877760 unused 0 0 # 2326*- 14080*
今回はまだ使われていない dsk0h と dsk1 を LSM で つなげて LSM volume を作り、そこに home ファイルシステムを作ることにした。
スライスやディスクを LSM 用に初期化する。
# voldisksetup -i dsk0h # voldisksetup -i dsk1
すると LSM から見えるようになる。
# voldisk list DEVICE TYPE DISK GROUP STATUS dsk0a nopriv root01 rootdg online dsk0b nopriv swap01 rootdg online dsk0d simple dsk0d rootdg online dsk0g nopriv usr01 rootdg online dsk0h simple - - online dsk1 sliced - - online
次に voldiskadd を使って dsk0h と dsk1 を homedg にまとめる。 voldiskadd は対話的なプログラムで、 いくつか聞いてくるので適当に答える。 すると以下のようにちゃんと dsk0h と dsk1 が homedg (home disk group) にまとまった。
# voldisk list DEVICE TYPE DISK GROUP STATUS dsk0a nopriv root01 rootdg online dsk0b nopriv swap01 rootdg online dsk0d simple dsk0d rootdg online dsk0g nopriv usr01 rootdg online dsk0h simple homedg01 homedg online dsk1 sliced homedg02 homedg online
sysman の "LSM administration" から homevol を作る。 このとき環境変数 $DISPLAY が設定されていると X につなごうとするので unset DISPLAY しておく。 結果として次のように homevol ができた。
Volume Usage Status Length Read Policy Disk Group >rootvol root ENABLED 786432 ROUND rootdg swapvol swap ENABLED 786432 ROUND rootdg usrvol fsgen ENABLED 4300800 ROUND rootdg homevol fsgen ENABLED 31457280 SELECT homedg
対応するデバイスファイルは /dev/vol/homedg/homevol にできる。
AdvFS の domain を作り、file set を作り、マウントする。 これは簡単。
# mkfdmn /dev/vol/homedg/homevol home_domain # mkfset home_domain home # mount home_domain#home /usr/users
できたようだ。
# mount root_domain#root on / type advfs (rw) /proc on /proc type procfs (rw) usr_domain#usr on /usr type advfs (rw) usr_domain#var on /var type advfs (rw) home_domain#home on /usr/users type advfs (rw)
できてる。
Related Pages: Tru64UnixOnAlphaServerDs20e Tru64Unix
system revision 1.162