オプション
-s シングルユーザーモードでリブートする。
USBメモリはSCSIデバイスとして認識される。
# mkdir /mnt/usb
# mount /dev/sda /mnt/usb
オプション
# mount -t vfat /dev/sda /mnt/usb
アンマウント
# umount /mnt/usb
キャラセット付き
# mount -t vfat /dev/sda /mnt/usb -o iocharset=euc-jp codepage=932
ディスクの選択
ディスクデバイス空き領域
=========================================
[X]** c0t0d070086 MB (F4 で編集)
[ ] c1t0d070086 MB
-> F2_自動配置(自動配置させておいて後でカスタマイズ)
自動配置するファイルシステム
========================================
[X] /
[ ] /opt
[ ] /usr
[ ] /usr/openwin
[X] /var
[X] swap
ファイルシステム ディスク/スライス容量
==============================================
/ c0t0d0s0 5634 MB
/var c0t0d0s1112 MB
overlap c0t0d0s270086 MB
swap c0t0d0s3512 MB
/export/home c0t0d0s763828 MB
overlap c1t0d0s270086 MB
/export/home0 c1t0d0s770086 MB
カスタマイズするディスクを選択してください。
ディスク (容量) 構成済みのファイルシステム
===========================================
c0t0d0 (70086 MB) /, /var, swap, /export/home
c1t0d0 (70086 MB)
-> F4_カスタマイズ
-> Esc-4_オプション
[X]M バイト
[ ]シリンダ
その他のオプション
[X]シリンダ境界を表示する
[ ]VTOC ラベルから既存のスライスをロードする
-----
★ディスクスライスについて
RAID DB用に"4"に100MB程度のマウントなしのスライスを作っておく。
ルート(/)のスライスは開始シリンダを0なら0、0ではないのなら0ではないと合わせておく。
マスターとスレーブのシリンダ位置を全て合わせておけば問題はない。
スレーブは全てマウントなしで設定しておく。
ブートデバイス: c0t0d0s0
対象: 推奨: MB 最小: MB
====================================================
Slice マウントポイント 容量 (MB) 開始 Cyl 終了 Cyl
0 / 10240 712 4268
1 /var 47694 4269 20835
2 overlap 70086 0 24344
3 swap 2049 0 711
4 100 20836 20870
5 0 0 0
6 0 0 0
7 /export/home 10001 20871 24344
================================================
総容量: 70086 MB
割り当て済み: 70084 MB
丸め誤差: 2 MB
空き: 0 MB
インストールが始まります。
↓
インストール後の設定
--------------------------------------------------------------------
インストール直後はsendmailのメッセージが多発するのでサービスを落とす
# svcadm disable sendmail
# svcs | grep sendmail
>なし
※備考:(# svcadm enable/disable)
--------------------------------------------------------------------
■RAID作成
以下のコマンドでState Databaseを作成する。
# metadb -a -f -c 2 c0t0d0s4 c1t0d0s4
以下のコマンドでState Databaseを確認できる。
# metadb
flags first blk block count
a u 16 8192 /dev/dsk/c0t0d0s4
a u 8208 8192 /dev/dsk/c0t0d0s4
a u 16 8192 /dev/dsk/c1t0d0s4
a u 8208 8192 /dev/dsk/c1t0d0s4
※RAIDプラン
Slice-M.Disk-S.Disk-Mirror.D-Mount Point
(eg.スライス0はマスターをd11、スレーブをd12とし、d10というRAIDで/にマウントする)
0 d11 d12 d10 /
1 d21 d22 d20 /var
3 d31 d32 d30 swap
4 metadb
7 d41 d42 d40 /export/home
▼作業
ルートファイルシステムのミラー化
# metainit -f d11 1 1 c0t0d0s0
>d11: 連結/ストライプがセットアップされます
# metainit d12 1 1 c1t0d0s0
>d12: 連結/ストライプがセットアップされます
# metainit d10 -m d11
>d10: ミラーがセットアップされます
# metaroot d10
# lockfs -fa
vfstabを確認。
# more /etc/vfstab
以下のように変更する。もしくは変更されている。
#/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no -
/dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no -
# reboot
ミラーを開始する
# metattach d10 d12
-----
/var/ファイルシステムのミラー化
# metainit -f d21 1 1 c0t0d0s1
>d21: 連結/ストライプがセットアップされます
# metainit d22 1 1 c1t0d0s1
>d22: 連結/ストライプがセットアップされます
# metainit d20 -m d21
>d20: ミラーがセットアップされます
# vi /etc/vfstab
※vfstabの編集に失敗すると再起動後viが起動せずvfstabの再編集が難しくなるので注意。
もしそうなった場合は/var/tmpを仮で作成する。
#/dev/dsk/c0t0d0s1 /dev/rdsk/c0t0d0s1 /var ufs 1fs no
-es - ~
/dev/md/dsk/d20 /dev/md/rdsk/d20 /var ufs 1 no -
# reboot
ミラーを開始する
# metattach d20 d22
---
同様にその他ファイルシステムのミラー化
# metainit -f d31 1 1 c0t0d0s3
# metainit -f d41 1 1 c0t0d0s7
# metainit d32 1 1 c1t0d0s3
# metainit d42 1 1 c1t0d0s7
# metainit d30 -m d31
# metainit d40 -m d41
# vi /etc/vfstab
#/dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /usr ufs 1 no -
/dev/md/dsk/d30 /dev/md/rdsk/d30 /usr ufs 1 no -
#/dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /opt ufs 2 yes -
/dev/md/dsk/d40 /dev/md/rdsk/d40 /opt ufs 2 yes -
最終的なvfstabの内容
---
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
#/dev/dsk/c0t0d0s3 - - swap - no -
/dev/md/dsk/d30 - - swap - no -
/dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no -
#/dev/dsk/c0t0d0s1 /dev/rdsk/c0t0d0s1 /var ufs 1 no -
/dev/md/dsk/d20 /dev/md/rdsk/d20 /var ufs 1 no -
#/dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes -
/dev/md/dsk/d40 /dev/md/rdsk/d40 /export/home ufs 2 yes -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
-----
#reboot
ミラーを開始する
# metattach d30 d32
# metattach d40 d42
-----
確認
# metastat
d40: ミラー
サブミラー 0: d41
状態: 正常
サブミラー 1: d42
状態: 再同期中
再同期実行中: 0 % 完了
パス: 1
読み込みオプション: roundrobin (デフォルト)
書き込みオプション: parallel (デフォルト)
サイズ: 20482704 ブロック (9.8 GB)
d41: d40 のサブミラー
状態: 正常
サイズ: 20482704 ブロック (9.8 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c0t0d0s7 0 No 正常 Yes
d42: d40 のサブミラー
状態: 再同期中
サイズ: 20482704 ブロック (9.8 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c1t0d0s7 0 No 正常 Yes
d30: ミラー
サブミラー 0: d31
状態: 正常
サブミラー 1: d32
状態: 再同期中
再同期実行中: 6 % 完了
パス: 1
読み込みオプション: roundrobin (デフォルト)
書き込みオプション: parallel (デフォルト)
サイズ: 4197952 ブロック (2.0 GB)
d31: d30 のサブミラー
状態: 正常
サイズ: 4197952 ブロック (2.0 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c0t0d0s3 0 No 正常 Yes
d32: d30 のサブミラー
状態: 再同期中
サイズ: 4197952 ブロック (2.0 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c1t0d0s3 0 No 正常 Yes
d20: ミラー
サブミラー 0: d21
状態: 正常
サブミラー 1: d22
状態: 再同期中
再同期実行中: 1 % 完了
パス: 1
読み込みオプション: roundrobin (デフォルト)
書き込みオプション: parallel (デフォルト)
サイズ: 97679032 ブロック (46 GB)
d21: d20 のサブミラー
状態: 正常
サイズ: 97679032 ブロック (46 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c0t0d0s1 0 No 正常 Yes
d22: d20 のサブミラー
状態: 再同期中
サイズ: 97679032 ブロック (46 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c1t0d0s1 0 No 正常 Yes
d10: ミラー
サブミラー 0: d11
状態: 正常
サブミラー 1: d12
状態: 再同期中
再同期実行中: 11 % 完了
パス: 1
読み込みオプション: roundrobin (デフォルト)
書き込みオプション: parallel (デフォルト)
サイズ: 20972072 ブロック (10 GB)
d11: d10 のサブミラー
状態: 正常
サイズ: 20972072 ブロック (10 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c0t0d0s0 0 No 正常 Yes
d12: d10 のサブミラー
状態: 再同期中
サイズ: 20972072 ブロック (10 GB)
ストライプ 0:
デバイス 開始ブロック Dbase 状態 Reloc ホットスペア
c1t0d0s0 0 No 正常 Yes
Device Relocation Information:
Device Reloc Device ID
c1t0d0 はい id1,sd@SFUJITSU_MAW3073NC_______DAR4P7C029YJ
c0t0d0 はい id1,sd@SFUJITSU_MAW3073NC_______DAR4P7C02A26
-----
以上で作業は終了。
アタッチした後は2つのミラーは自動的に同期される。
同期が完了する前にマシンを落としても問題ない。
再起動後に自動で同期が開始される。
備考:解除コマンド
# metaclear d42
稼働情報を5秒間隔で10回取得します。
% sar -o sar.log 5 10
-o ファイル指定
-A 全部出力
出力ファイルからCPU負荷を抜き出します。
% sar -f sar.log -u
メモリ使用量を抜き出します。
% sar -f sar.log -r
システムアクティビティレポートツール(sar)の利用
sar の細かい説明は抜きとして、sar の出力を順番に説明していきます。
※ここでいう「順番」とは、sar を -A オプションで実行した際に表示される順番のこと。
1.sar -u の出力(CPUの使用状況)
--
出力例
--
00:00:00 %usr %sys %wio %idle
00:05:00 4 1 1 94
00:10:00 6 1 0 92
00:15:00 2 1 0 97
--
項目説明
--
%usr :ユーザモードで動作したCPU使用時間の割合
%sys :システムモードで動作したCPU使用時間の割合
%wio :I/O待ち時間の割合
%idle :アイドル状態であった時間の割合
--
評価
--
%wio > 10 → ディスクアクセスの負荷が高いと考えられる
--
2.sar -d の出力(ディスク使用状況)
--
出力例
--
17:00:01 device %busy avque r+w/s blks/s avwait avserv
17:05:01 atapicd2 0 0.0 0 0 0.0 0.0
nfs3 0 0.0 0 0 0.0 0.0
nfs6 0 0.0 0 0 0.4 5.4
sd0 3 0.9 4 64 0.0 206.0
sd0,a 1 0.1 0 3 0.0 427.0
sd0,b 0 0.0 0 0 0.0 0.0
sd0,d 2 0.2 1 8 0.0 271.5
sd0,f 2 0.1 1 17 0.0 126.3
sd0,g 1 0.1 0 6 0.0 320.9
sd0,h 2 0.4 2 30 0.0 189.8
sd1 0 0.0 0 0 0.0 0.0
st4 0 0.0 0 0 0.0 0.0
--
項目説明
--
device :モニタされたディスク名
%busy :デバイスが転送要求サービスに費やした時間の割合
avque :実行を待っている要求の平均数
r+w/s :デバイスへのreadとwriteの転送回数/秒
blks/s :デバイスに転送されたブロック数/秒(512バイト/ブロック)
avwait :転送要求がキュー上で持っていた平均時間(ミリ秒)
avserv :転送要求がデバイスからサービスを受けた平均時間(ミリ秒)
--
評価
--
%busy > 60 → ディスクアクセスの負荷が高いと考えられる
%busy の値がディスク間で偏っている → 負荷が偏っている
--
3.sar -q の出力(プロセスに関する情報)
--
出力例
--
17:00:01 runq-sz %runocc swpq-sz %swpocc
17:05:01 2.4 5
17:10:00 2.0 1
17:15:00 1.4 2
--
項目説明
--
runq-sz :メモリ上の実行可能なプロセスの実行キュー
%runocc :実行キューが占有されていた時間の割合
swpq-sz :スワップアウトされている実行可能なプロセスの実行キューの数
%swpocc :スワップアウトされている実行キューが占有されていた時間の割合
--
評価
--
runq > 3 and %runocc ≧ 90 or runq > 10 → CPU負荷が高い
--
4.sar -b の出力(システムバッファ使用状況)
--
出力例
--
17:00:01 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
17:05:01 0 13 100 3 11 74 0 0
17:10:00 0 17 100 4 15 76 0 0
17:15:00 0 110 100 8 79 90 0 0
--
項目説明
--
bread/s :ディスクからシステムバッファへの物理ブロックの読み込み平均回数/秒
lread/s :システムバッファからの読み込みの平均回数/秒
%rcache :システムバッファから読み込むことができた読み出し動作の割合
bwrit/s :システムバッファからディスクへの物理ブロックの書き込み平均回数/秒
lwrit/s :システムバッファへの書き込みの平均回数/秒
%wcache :システムバッファへ書き込むことができた書き込み動作の割合
pread/s :ディスクから raw デバイス経由で物理ブロックを読み込む平均回数/秒
pwrite/s :ディスクへの raw デバイス経由で物理ブロックを書き込む平均回数/秒
--
評価
--
%rcache ≦ 90 or %wcache ≦ 65 → システムバッファ不足
--
5.sar -w の出力(スワッピングとプロセススイッチ)
--
出力例
--
17:00:01 swpin/s bswin/s swpot/s bswot/s pswch/s
17:05:01 0.00 0.0 0.00 0.0 702
17:10:00 0.00 0.0 0.00 0.0 709
17:15:00 0.00 0.0 0.00 0.0 752
--
項目説明
--
swpin/s :スワップインの回数/秒
bswin/s :スワップインのために転送されたブロック数/秒
swpot/s :スワップアウトの回数/秒
bswot/s :スワップアウトのためにページ転送されたブロック数/秒
pswch/s :プロセススイッチ回数/秒
--
評価
--
swpot/s > 1.0 → メモリ不足
--
6.sar -c の出力(システムコール発行状況)
--
出力例
--
17:00:01 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s
17:05:01 939 55 39 0.42 0.49 70915 15946
17:10:00 980 41 34 0.26 0.11 47033 48302
17:15:00 1102 44 40 0.29 0.13 81669 301669
--
項目説明
--
scall/s :発行された全システムコール数/秒
sread/s :read システムコール発行回数/秒
swrit/s :write システムコール発行回数/秒
fork/s :fork システムコール発行回数/秒
exec/s :exec システムコール発行回数/秒
rchar/s :read システムコールが転送した文字数(バイト数)/秒
wchar/s :write システムコールが転送した文字数(バイト数)/秒
--
評価
--
一貫して exec/s > fork/s × 3 → 環境変数PATHの内容が効率的でない
1回の読み書き転送バイト < 8Kバイト → システムコール発行のためのオーバヘッドが大きくなる
--
7.sar -a の出力(ファイルアクセス)
--
出力例
--
17:00:01 iget/s namei/s dirbk/s
17:05:01 0 37 24
17:10:00 2 75 28
17:15:00 5 140 48
--
項目説明
--
iget/s :iノード獲得ルーチンを呼び出した回数/秒
namei/s :ファイルシステムパス検索回数/回数
dirbk/s :UFSディレクトリ・ブロック読み込み回数/秒
--
評価
--
iget/s, namei/s, dirbk/s の値が大きい → ディスク依存度が高い
--
8.sar -y の出力(端末装置の動作状況)
--
出力例
--
17:00:01 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s
17:05:01 2 0 30 0 0 0
17:10:00 0 0 9 0 0 0
17:15:00 0 0 0 0 0 0
--
項目説明
--
rawch/s :入力文字数(raw待ち行列)/秒
canch/s :標準待ち行列で処理される文字数/秒
outch/s :出力文字数(出力待ち行列)/秒
rcvin/s :受信側のI/O割り込みの平均回数/秒
xmtin/s :送信側のI/O割り込みの平均数/秒
mdmin/s :モデム割り込みの平均回数/秒
--
評価
--
rawch/s と canch/s の値が outch/s に比べて大きい → 端末回線にノイズがある可能性がある
mdmin/s != 0 → モデムの故障の可能性あり
rcvin/s ≧ rawch/s + canch/s 又は xmtin/s ≧ outch/s → 端末回線の品質が低下している
--
9.sar -v の出力(システム内制御表の使用状況)
--
出力例
--
17:00:01 proc-sz ov inod-sz ov file-sz ov lock-sz
17:05:01 126/11994 0 47682/51292 0 476/476 0 0/0
17:10:00 123/11994 0 47795/51292 0 478/478 0 0/0
17:15:00 133/11994 0 49063/51292 0 494/494 0 0/0
--
項目説明
--
proc-sz :プロセステーブルの使用数/割り当て数
ov :プロセステーブルのオーバーフロー発生回数
inod-sz :ファイルシステム用iノードテーブルの使用数/割り当て数
ov :ファイルシステム用iノードテーブルのオーバフロー発生回数
file-sz :ファイルテーブルの使用数/割り当て数
ov :ファイルテーブルのオーバフロー発生回数
lock-sz :現在カーネルで使用している共用メモリレコードテーブルの使用数/割り当て数
--
評価
--
各ov > 0 → 各テーブルでオーバフロー発生
--
10.sar -m の出力(メッセージキュー、セマフォ状況)
--
出力例
--
17:00:01 msg/s sema/s
17:05:01 0.00 0.33
17:10:00 0.00 0.54
17:15:00 0.00 0.65
--
項目説明
--
msg/s :メッセージ関連システムコールの処理数/秒
sema/s :セマフォ関連システムコールの処理数/秒
--
評価
--
特になし
--
11.sar -p の出力(ページインの状態)
--
出力例
--
17:00:01 atch/s pgin/s ppgin/s pflt/s vflt/s slock/s
17:05:01 0.08 0.74 0.79 54.68 95.92 0.00
17:10:00 0.08 0.05 0.05 48.94 87.01 0.00
17:15:00 0.15 5.32 15.02 45.46 94.24 0.00
--
項目説明
--
atch/s :メモリ内のページを再要求することで解消されるページフォルト数/秒
pgin/s :ページインされた平均ページ数/秒
ppgin/s :ページイン要求の平均数/秒
pflt/s :保護エラーから引き起こされるページフォルト数/秒
vflt/s :アドレス変換ページフォルト数/秒
slock/s :物理I/Oを要求するソフトウェアロックによるフォルト数/秒
--
評価
--
vflt/s > 50 → メモリ不足、またはメモリiノード不足の可能性あり
--
12.sar -g の出力(ページアウトの状態)
--
出力例
--
17:00:01 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf
17:05:01 0.01 0.01 0.01 0.00 0.00
17:10:00 0.04 0.04 0.03 0.00 0.00
17:15:00 4.19 11.57 15.65 5.98 0.00
--
項目説明
--
pgout/s :システムが受け取ったページアウトの平均要求数/秒
ppgout/s :ページアウトされた平均ページ数/秒
pgfree/s :ページデーモンによってフリーリストに追加された平均論理ページ数/秒
pgscan/s :ページデーモンによってスキャンされた平均ページ数/秒
%ufs_ipf :メモリ上の空きページからiノードを獲得した割合
--
評価
--
pgscan/s > 5 → メモリ不足の可能性あり
--
13.sar -r の出力(メモリの空き情報)
--
出力例
--
17:00:01 freemem freeswap
17:05:01 4844 1383504
17:10:00 7341 1344554
17:15:00 2787 1303060
--
項目説明
--
freemem :ユーザプロセスが使用できるページの平均数(4Kバイト/ページ)
freeswap :プロセススワップに利用できるディスクブロック数(512バイト/ブロック)
--
評価
--
freemem の値が小さい → メモリ不足の可能性あり
--
14.sar -k の出力(カーネルメモリアロケーション状況)
--
出力例
--
17:00:01 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail
17:05:01 12582912 5593688 0 45219840 36418844 0 9297920 0
17:10:00 12582912 5574876 0 45195264 36453612 0 9199616 0
17:15:00 12566528 5119124 0 44908544 36901384 0 9396224 0
--
項目説明
--
sml_mem :小メモリ要求プールの中に持っている利用可能なメモリ量
alloc :小メモリ要求プールから割り当てられているメモリ量
fail :小メモリ要求の割り当てに失敗した数
lg_mem :大メモリ要求プールの中に持っている利用可能なメモリ量
alloc :大メモリ要求プールから割り当てられるメモリ量
fail :大メモリ要求の割り当てに失敗した数
ovsz_alloc :サイズ超過要求に割り当てられたメモリ量
fail :サイズ超過要求の割り当てに失敗した数
--
評価
--
alloc が時間とともに増加する → メモリ返却漏れ、または障害の可能性あり
--
以上
表 24?21 sar コマンドのオプション オプション
動作
-a ファイルアクセス操作をチェックする
-b バッファー動作をチェックする
-c システムコールをチェックする
-d 各ブロックデバイスの動作をチェックする
-g ページアウトとメモリーの解放をチェックする
-k カーネルメモリーの割り当てをチェックする
-m プロセス間通信をチェックする
-p スワップとディスパッチ動作をチェックする
-q 待ち行列動作をチェックする
-r 未使用メモリーをチェックする
-u CPU の使用率をチェックする
-nv システムテーブルの状態をチェックする
-w ボリュームのスワッピングと切り替えをチェックする
-y 端末動作をチェックする
-A システム全体のパフォーマンスをリポートする (すべてのオプションを入力した場合と同じです)
オプションを使用しなければ、-u オプションを指定してコマンドを呼び出すのと同じです。
Xen
# xm list
Name Id Mem(MB) CPU VCPU(s) State Time(s)
Domain-0 0 188 0 1 r---- 19.2
Domain-0 と呼ばれるホストOSが動作している