TOPへ ID:050021

 AIX Tips集 


困ったときに参考になる(?)Tips集です。
 
 
+AIX Tips集

  
+AIXサーバーの調達
    ・H/W、S/Wの保守期限切れ時期を知りたい 

  +ユーザーインターフェース
    ・ログインメッセージをカスタムする
    ・プロンプトに「ホスト名」と「カレントディレクトリ情報」を表示させる


    ・1画面で複数のウィンドゥを立ち上げたい(X Window Systemの起動)
    ・X Window System起動時に立ち上がる時計をデジタル表示にする
    ・X Window Systemのメニューをカスタマイズする

    ・X-Windowの画面をキャプチャしたい(AIXのGUI画面をプリントスクリーンしたい)

  +サーバーの起動/停止
    ・実行レベル(ランレベル)の切り替え


  +コマンド一覧
    ・rコマンド

    ・フォルダ内に含まれる非常に多くのファイルを、「*(アスタ)」指定で一括削除する際の注意事項

  +テキストエディタ
    ・Viエディタのカスタマイズをする


  +デバイス
    ・機器のF/W(microcode)を更新する 
    ・システムエラー告知ランプを消灯する

    ・選択文字列のコピー&ペーストができない

    ・使用済みHDDのデータを抹消する

    ・SSAキャッシュバッテリーの交換
    ・SSAディスクのループ構造を視覚的に表示する
    ・PCI SCSI RAID Adapterの交換


    ・DLPARによるデバイス付け替え手順

  +ディスク管理
    ・
ファイルシステムを指定パーセントまで逼迫させたい
    ・ディスククォータの設定方法
    ・ミラーリング・ディスクの交換手順

  +テープ操作/圧縮・解凍
    ・テープ中身のレイアウト・ブロックサイズを判別する

    ・巻き戻さないテープデバイス(/dev/rmt*.1)について 
    ・絶対パスで取得したtarファイルを相対パスで展開する

  +システムバックアップ
    ・システムバックアップテープ(mksysb)の複製 
   ・ODM情報のバックアップ
   ・任意のファイルを除外してシステムバックアップを採取する

  +ユーザー管理
    ・パスワード変更用の専用ユーザーを作成する 

    ・rootと同等の権限を持つ別ユーザーを作成する
 

  +通信・ネットワーク
    ・匿名ftpサイト(Anonymous FTP)にアクセスするには?
    ・AIXサーバーを匿名ftpサーバーにする 

    ・各ユーザ宛にメールを送信する/受信されたメールを読む

  +セキュリティ
    ・inetdから起動されるプログラムのアクセス制御を行う(TCP Wrapperの導入)


  +問題解決
    ・syslogの設定
   ・uservgをvaryonできないと思ったら、PVIDの情報が消失していた
 




分類 FAQ
AIXサーバーの調達 H/W、S/Wの保守期限切れ時期を知りたい
説明
1.OS,ソフトウェアのサポート期限切れ時期を知りたい

 (1)以下ページにアクセスする。

  IBM Software Support Lifecycle

  

 (2)調べたい対象のOS・プロダクトの頭文字をINDEXから選択し、出力されたリストから、対象を探す

 (3)対象プロダクト行の「withdraw from support」列に記載された日付が、サポート終了日の情報である。
   例)AIX5.2
   AIX 5L for POWER 5.2   18 Oct 2002      1 Sep 2007   <-- サポート終了時期は2007年9月1日


2.H/Wの保守期限切れ時期を知りたい

 (1)以下ページにアクセスする。

   IBM 製品・サービス発表レター検索


  

 (2)以下を指定して、「検索ボタン」を押下。

    カテゴリー: RS/6000 Systems and pSeries
    発表タイプ: 8.H/W保守契約の廃止


 (3)出力されたリストをもとに、さらに「機種名」を入力して、絞込み検索をかける

 (4)なお、レターで発表されていない機種については、保守切れ時期は未定(未公表)となっている。
   
    ・発売開始から最低6年はサポートが保証される。
    ・保守期限が切れる最低半年前には、当レターで発表がある
    ・「営業活動が既に終了している」からと言って、即保守切れになるとは限らない。人気の高い機種については、継続して
     さらに長期にわたりサポートがなされる。
 


分類 FAQ
ユーザーインターフェース ログインメッセージのカスタムを行う
説明
デフォルトのログインメッセージは以下である。当メッセージのカスタムを行う。

  AIX Version 4
  (C) Copyrights by IBM and by others 1982, 1996.   
<-- 1.ユーザ/パスワードの入力メッセージ
  login: root
  root's Password:
  *************************************************************************
  *                                                             *
  *                                                             *
  * Welcome to AIX Version 4.3!                                          * 
 <-- 2.タイトル
  *                                                             *
  *                                                             *
  * Please see the README file in /usr/lpp/bos for information pertinent to             *
  * this release of the AIX Operating System.                                  *
  *                                                             *
  *                                                             *
  *************************************************************************
  Last unsuccessful login: Fri Jun 4 11:53:55 2004 on /dev/pts/0 from 192.168.0.2
  Last login: Wed Jun 9 05:56:13 2004 on /dev/pts/1 from 192.168.0.2
                                                 
<-- 3.ログイン後メッセージ
  [ホスト名]@[/]#

1.ユーザ/パスワードの入力メッセージの変更

  「/etc/security/login.cfg」において、「herald」の値を設定する。
  default:
  sak_enabled = false
  logintimes =
  logindisable = 0
  logininterval = 0
  loginreenable = 0
  logindelay = 0
  
herald = "\n\*Restricted Access*\n\rAuthorized Users Only\n\rLogin: "  <-- 当行を追加する

2.タイトルの変更

  「/etc/motd」の中身を変更する。
  ####################################################################
          カタカタ
         ピーー____ ___
     ∧_∧  ||\   .\  |◎ |     AIX4.3.3だぽ。
     (‘´∀`) ||  | ̄ ̄|  |:[].|     --------------
   ┌(  つ/ ̄l| / ̄ ̄/  | =|
    |└ ヽ |二二二」二二二二二二二二」    ∧_∧
     ̄]|__)_) .| ||        | ||      ( ・∀・) ツナイデツナイデ
    / ̄\  / . ||       /  ||      ( ∪ ∪
    ◎  ◎..[____||      .[__||     と__)__)

  ####################################################################
   --> テキストに貼り付けると文字の位置がずれるので、こちらをお使いください。

3.ログイン後メッセージの変更

  「/.profile」
に、以下記述を追加する。
   a=`df -k | grep "9.%" | grep -v "/usr" | wc -l`
   if [ $a -gt 0 ]
   then
   echo "== ファイルシステムの容量がいっぱいです。(/usr領域除く)======="
   df -k | grep "9.%" | grep -v "/usr" | awk '{ print $4 " ( Free:" int($3/1024) " MB) \t" $7 }'
   fi
   
   echo "== システムエラーの報告 (今月分。PERMクラスのみ) ==="
   a=`date +"%m"`"......"`date +"%y"`; errpt -T PERM | grep $a


上記1〜3の設定変更を行うことで、以下のようなログインメッセージが出力されるようになる。

  *Restricted Access*       <-- ユーザ/パスワードの入力メッセージが変更された
  
Authorized Users Only
  Login: root
  root's Password:
  ####################################################################
          カタカタ
         ピーー____ ___
     ∧_∧  ||\   .\  |◎ |     AIX4.3.3だぽ。
     (‘´∀`) ||  | ̄ ̄|  |:[].|     --------------
   ┌(  つ/ ̄l| / ̄ ̄/  | =|
    |└ ヽ |二二二」二二二二二二二二」    ∧_∧
     ̄]|__)_) .| ||        | ||      ( ・∀・) ツナイデツナイデ      <-- オリジナリティーあるタイトルに
    / ̄\  / . ||       /  ||      ( ∪ ∪
    ◎  ◎..[____||      .[__||     と__)__)

  ####################################################################

  Last unsuccessful login: Fri Jun 4 11:53:55 2004 on /dev/pts/0 from 192.168.0.2
  Last login: Wed Jun 9 06:40:01 2004 on /dev/pts/1 from 192.168.0.2

  
== ファイルシステムの容量がいっぱいです。(/usr領域除く)=======
  93% ( Free:0 MB) /                               <-- 空き不足の領域がリストされる
  == システムエラーの報告 (今月分。PERMクラスのみ) ===
  A668F553 0510140504 P H hdisk1 ディスク操作エラー          <-- 重大エラーがリストされる

  [ホスト名]@[/]#
 


分類 FAQ
ユーザーインターフェース プロンプトに「ホスト名」と「カレントディレクトリの位置情報」を表示させる
説明
AIX導入直後のプロンプト文字列は以下のように「#」のみとなっている。保守する際は、プロンプトに「ホスト名」と「カレントディレクトリ」の位置情報が入っていると保守がしやすい。

  AIX Version 4
  (C) Copyrights by IBM and by others 1982, 1996.
  login: root
  *******************************************************************************
  * *
  * *
  * Welcome to AIX Version 4.3! *
  * *
  * *
  * Please see the README file in /usr/lpp/bos for information pertinent to *
  * this release of the AIX Operating System. *
  * *
  * *
  *******************************************************************************
  Last login: Tue May 18 11:00:37 2004 on /dev/pts/1 from 192.168.0.2
  

  
#    <-- プロンプト文字は「#」のみ

1.使用するユーザのホームディレクトリ(/home/[ユーザ名])以下に、追加環境設定ファイル「.profile」を作成する。
  > cd /
  > vi .profile

2.「.profile」に以下の記述を追加する。

  export PS1=`hostname`@['$PWD']#
  (注)「PS1」は通常のシステム・プロンプトに対する文字列を格納する変数

3.「.profile」を読み込むことで、以降以下のようにプロンプトがかわる。
  > . /.profile
  
  
d00s0433@[/]#   <-- プロンプト文字列に「ホスト名」と「カレントディレクトリ」が表示される。
 


分類 FAQ
ユーザーインターフェース 1画面で複数のウィンドゥを立ち上げたい(X Windowの利用)
説明
コマンド・ライン・インターフェース(プロンプトの画面)では、1画面に複数のウインドゥを立ち上げて作業することができない。
X Window Systemインターフェースを利用する。

X WindowインターフェースもCDEのようなグラフィカル・インターフェースであるが、ツールバーやその他のディスクトップ管理ユーティリティーが存在しない。


1.コマンド・ライン・インターフェースにて以下のコマンドを入力し、X-Windowを起動する。
  > xinit (もしくはstartx)
  -> X Windowが起動し、ウィンドゥ1つとアナログ時計が起動する。

2.もうひとつウィンドゥを起動するには、画面の何もないところで右クリック 「新規ウィンドゥ」を選択する。

3.ウィンドゥを終了するときは、ウィンドゥ左上の「-」ボタンを押下し、「クローズ」を選択する。

4.X Windowを終了し、コマンド・ライン・インターフェースに戻るには、画面の何もないところで右クリック 「セッションの終了」 -「終了」を選択。

  「nwmを終了します」ダイアログで「了解」を選択する。
 


分類 FAQ
ユーザーインターフェース X Window System起動時に立ち上がる時計をデジタル表示にする
説明
システムの設定変更作業をする際、各作業フェーズごとに現在時刻をメモしておくと、後で作業上のトラブルがあった際 障害解析に役立つ。

X Window Systemのデフォルト時計はアナログ表示で視認性に劣るため、デジタル表示に変更する。

1.「/usr/lpp/X11/defaults/xinitrc」の以下場所を編集する。
  #***********************************************************
  # start xclock then sleep 1 to make sure it can get started.
  #***********************************************************
  
#xclock -geometry -0+0 -fg AntiqueWhite1 -bg grey60 -hd CadetBlue -hl AntiqueWhite1 &  <-- 当行をコメントアウト
  
xclock -digital -update 1 -fg CadetBlue &    <-- 当行を追加
  sleep 1

2.設定を保存し、X Window Systemを起動。デジタル時計になっていることを確認する。
  > xinit ( or startx)
 


分類 FAQ
ユーザーインターフェース X Window Systemのメニューをカスタマイズする
説明
例として、X Window Systemのメニューから、「セッションの終了」を選べないように設定を変更する。

1.X Window Systemのリソース記述ファイル (/usr/lpp/X11/defaults/Motif1.2/Ja_JP/system.mwmrc) のルートメニュー記述から、
  「セッションの終了」をコメントアウトする。

  Menu DefaultRootMenu
  {
  " ルート・ メニュー " f.title
  no-label f.separator
  " 新規ウィンドウ " f.exec "aixterm"
  " クライアント " f.menu "clients"
  " カスタム " f.exec "custom"
  no-label f.separator
  ! " 手前へ " f.circle_up
  ! " 奥へ " f.circle_down
  " 再表示 " f.refresh
  " パック・アイコン " f.pack_icons
  ! " トグル動作 " f.set_behavior
  no-label f.separator
  " 再起動... " f.restart
  ! " 終了... " f.quit_mwm
  no-label f.separator
  
!" セッションの終了 " f.menu "end_session"    <-- 左記のようにこの行の先頭に「!」をつける
  }

2.設定を保存し、X Window Systemを起動する。
  > xinit ( or startx)

3.画面の何もないところで、右クリックを選択し、「セッションの終了」がメニューから消えたことを確認する。

4.以下キーを押し、X Window Systemを終了する。

  
[Ctrl] + [Alt] + [BackSpace]
  


分類 FAQ
ユーザーインターフェース X-Windowの画面をキャプチャしたい(AIXのGUI画面をプリントスクリーンしたい)
説明
作業エビデンス取得や、導入手順書作成の際などに、AIXのX画面のスクリーンショットを撮りたい場合があるだろう。その場合は、
> xwd -frame -out [出力ファイル名]]

で、X-Windowのウィンドゥ・イメージをダンプすることができる。

※frameオプションを指定しない場合、タイトルバーや周囲の枠が含まれない。

上記コマンドを実行するとマウスカーソルの形が '+' に変わるので、マウスカーソルを取得対象のウィンドウ上に移動し、クリックする。ウィンドウダンプ開始時と終了時にビープ音がなり、ダンプが完了する。


●上記で取得したイメージをAIX上で閲覧したい場合は

> xwud -in [上述で取得したファイル名]]

を実行する。キャプチャした画面が、X画面上に展開される。


●取得したイメージをjpegなどの別形式に変換したい場合は、「イメージマジック[ImageMagick]」スーツの一つであるconvertコマンドを使用する。
> convert [変換したいファイル名] [変換後のファイル名]

※以下の形式に変換することが可能。
 BMP(bitmap)、GIF、JPEG、MPEG、PDF、TIFF等

※convertコマンドは、ファイルの拡張子からファイル形式を自動的に判別することができる。

 


分類 FAQ
サーバーの起動/停止 実行レベル(ランレベル)の切り替え
説明
ランレベルとは、システムの稼動状態を決めるもので、AIXでは、ランレベル2がデフォルトになっている。

0-9 システムを指定した実行レベルに置くよう、initコマンドに指示する。initコマンドが実行レベル0-9の変更を要求すると、現在の実行レベルにあるプロセスをすべて抹消してから新規の実行レベルに関連するプロセスを再始動する。
0-1 将来オペレーティング・システムが使用するために予約。
2 マルチユーザ環境で実行される端末プロセスとデーモンをすべて含める。マルチユーザ環境では、/etc/inittabファイルが設定されているので、initコマンドは、システム上の端末ごとにプロセスを生成できる。また、コンソール・デバイス・ドライバも、すべての実行レベルで実行するよう設定されているので、システムはコンソールだけをアクティブにしたままで動作できる。
3-9 ユーザが定義。
S,s,M,m コマンドを保守モードに入るよう指示する。システムが別の実行レベルから保守モードに入ると、システム・コンソールだけが端末として使用される。
a,b,c /etc/inittab ファイル内で、実行レベル・フィールドに a、b、または c を持つレコードだけを処理するよう、init コマンドに指示する。この 3 つの引き数 a、b、および c は真の実行レベルではない。それらが実行レベルと異なるのは、init コマンドが全システムに対して実行レベル a、b、または c に入るよう要求できない点である。
init コマンドは、/etc/inittab ファイル内の実行レベル・フィールドに a、b、または c を持つレコードを見付けると、プロセスを開始する。しかし、現在の実行レベルにあるプロセスは抹消されない。すなわち、実行レベル・フィールドに a, b, c を持つプロセスは、現在のシステム実行レベルですでに実行中のプロセスに追加して開始される。実際の実行レベルと a、b、c とのもう 1 つの相違点は、init コマンドが実行レベルを変更しても、a、b、c を設定して開始したプロセスは停止されないという点である。プロセス a、b、c を停止するには、以下の 3 つの方法がある。

 ・Action フィールドに off と入力する。
 ・オブジェクトを完全に削除する。
 ・init コマンドを使用して保守状態にする。
Q,q initコマンドに、/etc/inittab ファイルを再び調べるよう指示する。
N プロセスを再生成するのを止めるようシグナルを送る。

1.現在のランレベルの確認
 現在のランレベルを確認するには以下コマンドを実行する。

  > who -r
  .   run-level
2 Dec 23 12:14 2 0 S  <-- 現在のランレベルは「2」。直前のランレベルは「S」

2.保守モードへの切り替え

 保守作業をする際、他のユーザーからtelnet等を使用しシステムにログインされていると不都合が発生する場合がある。その場合は、
 保守モード(シングルユーザーモード)に切り替え、システムコンソール上のみでしか、システムを操作できないようにする。

  > shutdown -Fm  <-- 保守モードへ切り替え

  > who -r
  .  run-level
S Dec 23 12:02 S 1 2  <-- 現在のランレベルは「S」(保守モード)

 もとのモード(マルチユーザーモード)に戻す場合は、以下のコマンドを実行する。

  > telinit 2

3.ランレベルのユーザー定義

 ランレベル3〜9は、ユーザーが定義できる値として確保されている。

 システムは、ランレベルに対応した「/etc/rc.d/rc*.d  *=2~9」以下にあるスクリプトを自動的に実行して、各種デーモンを自動起動する。
 よって、当ディレクトリ以下にスクリプトを追加することで、ランレベルを切り替えれば起動するデーモンを切り替えることができる。

  > mkdir /etc/init.d
  > vi /etc/init.d/httpd  <--
「/etc/init.d/httpd」ファイルを作成し、当ファイルに IBM HTTP Serverを起動させる行を記述する

  /usr/HTTPServer/bin/apachectl start  




  > cd /etc/rc.d/rc3.d
  > ln -s /etc/init.d/httpd ./S01httpd  
<-- 上記で作成したIHS起動用ファイルに対し、「/etc/rc.d/rc3.d」以下に「S01httpd」という名前でシンボリックリンクを作る。
  > ls -l
  合計 0
  lrwxrwxrwx 1 root system 17 Dec 23 12:45 S01httpd -> /etc/init.d/httpd

  ファイル名が「S」で始まるものは、対象のランレベルでデーモンを起動し、「K」で始まるものは対象のランレベルでデーモンを停止する 
  という形で、Linuxに平仄をあわせて作成していく。
  また、「S」や「K」に続く2桁の数字は、スクリプトを実行する順序を制御するために付け、数字の小さい順に実行される。

  > who -r
  . run-level 2 Dec 23 13:20 2 6 3   
<-- 現在のランレベルは「2」
  > /usr/HTTPServer/bin/apachectl stop    
<-- IHSのプロセスを停止しておく
  /usr/HTTPServer/bin/apachectl stop: httpd stopped

  > view /etc/inittab

  
:ihshttpd:2:wait:/usr/HTTPServer/bin/httpd > /dev/console 2>&1 # Start HTTP daemon  <-- 「/etc/inittab」について、IHS起動行がコメントアウトされて
                                                                  起動しない状態になっていることを確認する。



  > telinit 3  <-- ランレベルを「3」に切り替え

  > ps -ef | grep HTTP
  nobody 4314 7264 0 13:24:41 - 0:00 /usr/HTTPServer/bin/httpd    
<-- しばらくすると、IHSが自動起動する。
  nobody 4704 7264 0 13:24:41 - 0:00 /usr/HTTPServer/bin/httpd
  root 7264 1 0 13:24:40 - 0:00 /usr/HTTPServer/bin/httpd
  nobody 8098 7264 0 13:24:41 - 0:00 /usr/HTTPServer/bin/httpd
  nobody 12512 7264 0 13:24:41 - 0:00 /usr/HTTPServer/bin/httpd
  nobody 13204 7264 0 13:24:41 - 0:00 /usr/HTTPServer/bin/httpd
 


分類 FAQ
コマンド フォルダ内に含まれる非常に多くのファイルを、「*(アスタ)」指定で一括削除する際の注意事項
説明
フォルダ内に含まれるファイルを一括削除する際、対象ファイルがあまりにも多いと、「*(アスタリスク)」指定で

 > rm ./*.log

などのコマンドを実行すると、失敗してしまうことがある。
その場合は「find -exec」を使用し、

 > find ./ -name "*.log" -exec rm {} \;

等とすると、「find -name」でひっかかった対象をひとつひとつ順番に処理してくれるので失敗することはない。
 


分類 FAQ
コマンド rコマンド
説明
rコマンド(r = remote)は、rcp、rlogin、rshコマンドの総称をしめす。

rコマンド 説明
rcp ローカル・ホストとリモート・ホスト間、または2つのリモート・ホスト間でファイルを転送する
rlogin ローカル・ホストとリモート・ホストを接続する
rsh リモート・ホスト間で指定のコマンドを実行するか、またはリモート・ホストにログインする

これらrコマンドは/usr/binディレクトリに導入され、以下ファイルセットに含まれる(デフォルトで導入される)。

  bos.net.tcp.client    TCP/IP Client Support 

以下にrshコマンドの実行プロセスフローをしめす。

送信元ホスト(クライアント) 宛先ホスト(サーバー)
rsh ----- A -----> aaaa rshd spawn
↓ B
<---- C ----- 子プロセスであるシェル

1.送信元ホスト(クライアント)上で、宛先ホスト(サーバー)に接続するために、rshコマンドが起動される(
上図 A
2.rshデーモンは、次の手順を使用して、指定されたユーザの検証を試みる。
   (1)rshdデーモンは、ユーザ名とパスワードに使用する構成済みネーム・サービスを検索する (例 /etc/password、NISパスワード・マップ)
   (2)ユーザIDが0でない場合、rshdは、「/etc/hosts.equiv」ファイルを検索して、クライアント名がリストされていることを確認する。その後、rshデーモンは
      ユーザを検証する。
   (3)「$HOME/.rhosts」ファイルが存在する場合、rshdは「$HOME/.rhosts」ファイルを検査して、ユーザの認証を試みる。
   (4)上記の試みのいずれかが失敗した場合、rshdは、認証のためのユーザのパスワードを提供するように求める。
3.rshdは、ユーザを確認すると、子プロセスとしてユーザ用のシェルを作成する(
上図 B
  シェルは、rshdデーモンによって確立されたネットワーク接続を継承し、rshコマンド行に指定されたコマンドを渡す。シェルは、継承したネットワーク接続を使用して、
  クライアントに出力を送信する (
上図 C
  リモートコマンドが終了すると、ローカルrshプロセスは終了する。


「/etc/hosts.equiv」ファイルは、rコマンドのシステム全体の構成ファイルである。「$HOME/.rhosts」ファイルは、各ユーザ用のユーザ・ベースの構成ファイルである。rコマンド・サービスを容易にするには、両方のファイルがサーバー上に存在し、同じフォーマットを持っていることが必要である。

フォーマットは以下。

 hostname [username]

このフォーマットの最初のフィールドは、サーバーへのアクセスを許可されるホスト名を表す。特殊文字「+」が指定されている場合、任意のホストがサーバーへのアクセスを許可される。オプションの2番目のフィールドは、サーバーへのアクセスが認可されるユーザ名を表す。特殊文字「+」が指定されている場合、任意のどんなユーザでもアクセスを認可される(= 認証は試みられない)。

rコマンドは、使用方法が非常に簡単で便利だが、システムに重大なセキュリティー・ホールをもたらす危険性がある。外部に公開するサーバーについては、これらサービスは使用不可とすること。
 


分類 FAQ
Vi Viエディタのカスタマイズをする
説明
AIX(UNIX)では、Vi起動時にあらかじめ指定した任意のカスタム設定を読み込ませることができる。

各ユーザのホームディレクトリ以下に「.exrc」というファイルを作成。当ファイルにsetコマンドを記述しておくことで、「:set nu」や「:set tabstop=n」等のコマンドをVi起動時から有効にすることが可能となる。


1.使用するユーザのホームディレクトリ(/home/[ユーザ名])以下に「.exrc」という名前のファイルを作成する。
  (ここでは、rootユーザ用の変更を行う例を示す。rootユーザの場合はルート直下に、「.exrc」という名前のファイルを作成する)

  「Viエディタ」を使用し、rootユーザのViエディタ設定ファイル「.exrc」を作成する
  > vi /.exrc

2.「.exrc」に以下の記述を追加する。

  指定例)
  set tabstop=2  <-- タブ間隔を「2」文字分に指定
  set ai        
<-- オートインデントをONにする
  set nu       
<-- 行の左に行番号を表示する
  参考)setコマンド

3.「. exrc」を読み込むことで、以降Viエディタ起動時の動作がかわる。


  ルート直下にある、rootユーザ用のVi設定ファイル「.exrc」を読み込む
  > . /.exrc

  適当なファイルをViで開き、Viの動作を確認する
  > vi 01.sh

  +1 while [ 1 = 1 ]    
 <-- 行番号が表示されるなど、動作がかわっている
  +2 do
  +3 echo "Hellow!"
  +4 sleep 3
  +5 done
 


分類 FAQ
デバイス 機器のF/W(microcode)を更新する
説明
マシンやアダプター[ネットワークカード、SCSIカード、SCSI RAIDカード、SSA RAIDカード等]、テープ装置、光学メディアなど、機器のファームウェアを更新するには、以下の手順で行う。

1.対象機器を取り付け、マシンを起動。起動後、デバイスの認識状況を確認する。
  (ここでは、SCSI RAIDカードを例とする)
  > lsdev -Cc adapter
  scraid0 定義済み 10-78 IBM PCI SCSI RAID アダプター

  「scraid0」として認識されている。

2.「IBM Download Center」より、最新のファームウェアをダウンロードする。

3.ダウンロード・モジュールの形式は、「AIX」か「RPM」か「DOS」のいずれかの形式で用意されている。
  ここでは、「
AIX」を例とする。

  

4.対象機器を導入しているAIXサーバーに「root」権限でログインし、任意のワークディレクトリーにダウンロード・モジュールを格納する。

5.ダウンロード・モジュールを実行し、展開する。
  なお、モジュールによっては、展開時にパスワードを要求してくる場合がある。その場合は「**RS/6000**」と入力する。
  > ./scraid97348.bin
  UnZipSFX 5.32 of 3 November 1997, by Info-ZIP (Zip-Bugs@lists.wku.edu).
  [./scraid97348.bin] pciraid97348/2e1014C.97.348 password:   
<-- 「**RS/6000**」と入力
  inflating: pciraid97348/2e1014C.97.348
  inflating: pciraid97348/readme

  > ls -l
  合計 592
  drwxr-sr-x 2 root sys 512 Nov 21 23:00 pciraid97348
  -rwxrwxrwx 1 root sys 297970 Nov 20 18:37 scraid97348.bin

6.展開してできたファームウェア導入モジュールを、「/etc/microcode」以下にコピーする。
  > cp -p ./pciraid97348/2e1014C.97.348 /etc/microcode

7.ファームウェアを導入する(導入方法は、各デバイスで異なる)。導入完了後、マシンをリブート。

 (例)SCSI RAID Adapterの場合
  > diag -c -d scraid0 -T"download"
 


分類 FAQ
デバイス システムエラー告知ランプを消灯する
説明
マシンによっては、稲妻マークや「!」マークが付されたオレンジ色のLED(アテンションランプ)で、マシンのシステム・エラーを告知する機能を持つものがある(B80等)。

当ランプは、マシン・エラー回復後に手動で消灯しないと、点灯したままの状態となってしまう。


システムエラー告知ランプ消灯手順:


diagより修復措置を行う。


例1)
  > diag

  「Task Selection」を選択し、「System Fault Indication」を「fault」から「normal」に変更

例2)
  > diag

  「Task Selection(Diagnostics,Advanced Diagnostics,Service Aids,etc.)」 - 「Log Repair Action」を選択

  修復対象のハードウェア(sysplanar0等)を選択し、F7キーを押下することでコミットを行う。
  


分類 FAQ
デバイス 選択文字列のコピー&ペーストができない
説明
AIXでは、コピーしたい文字列をドラッグで選択し、その後ペーストしたい場所にカーソルを移動してから右クリックすることで、選択文字列のコピー&ペーストできるが、ラック内蔵式の1Uキーボード(3ボタンマウス組み込み式)などでは、上述の操作を行っても、ペーストができない場合がある。

その場合は、以下操作を行うことで、コピー&ペーストを行うことができる。

1.コピーしたい文字列をドラッグで選択
2.ペーストしたい場所にカーソルを移動
3.「Shift」を押しながら、右クリック(マウス部分の一番右のボタン)

 


分類 FAQ
デバイス SSAキャッシュバッテリーの交換
説明
SSAキャッシュ上のタイマーが通算経過時間20000時間を越えると、SSAキャッシュバッテリーを交換すべき旨、errpt上にメッセージ出力がなされる。本タイミングでバッテリーの交換を行う。 (参考:SSAキャッシュバッテリーの寿命は約2年半)

> errpt    
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
3DB7729E 1230020002 P H ssa1 アダプタ・パフォーマンス低下
3DB7729E 1230013502 P H ssa1 アダプタ・パフォーマンス低下
26CA120B 1226184602 P H ssa0 キャッシュ記憶機構カード
26CA120B 1226184602 P H ssa1 キャッシュ記憶機構カード
26CA120B 1222144202 P H ssa0 キャッシュ記憶機構カード
26CA120B 1222144202 P H ssa1 キャッシュ記憶機構カード


※通算20000時間経過すると、上記メッセージが出力される。その後通算22000時間稼動までの間、100時間おきに本メッセージが出力されるが、
  それ以降は出力されない。


上記メッセージが初めて出力されてから、最大83日までに交換する(それ以降は保証できない)。メッセージは交換作業が完了するまで100時間おき、もしくはサーバー起動の度に出力される。

SSAキャッシュバッテリー交換手順

 使用コマンド:
 ssa_fw_status
 <-- インストール・ソフトウェア:devices.common.IBM.ssa.diag。AIX4.3.3では、最新に近いMLを適用しないと導入されない
 ssa_format   <-- インストール・ソフトウェア:devices.common.IBM.ssa.diag。


1.現在のfastwriteの状況を確認する。
  > ssa_fw_status -a ssa0 -l (Battery life [hour])
  
22000  <-- 交換目安期限(ベンダー推奨時間)
  > ssa_fw_status -a ssa0 -p (power on hour)
  
13164  <-- 通算経過時間
  > ssa_fw_status -a ssa0 -c (Battery status)
  
Active  <-- SSAキャッシュバッテリーは有効
 
2.ssa0に接続されているLogicalDiskを特定する
  > ssadisk -a ssa0 -L
  hdisk2

  > ssaraid -Izl ssa0
  pdisk0 0040AA223F5800D member n/a 18.2GB 物理ディスク
  <-- SSAディスクを構成する各DDA
  pdisk1 0040AA23F39200D member n/a 18.2GB 物理ディスク
  pdisk2 0040AA23F91D00D member n/a 18.2GB 物理ディスク
  pdisk3 0040AA23FE5000D member n/a 18.2GB 物理ディスク
  pdisk4 0040AA834BDD00D member n/a 18.2GB 物理ディスク
  pdisk5 006094FEBA9A00D member n/a 18.2GB 物理ディスク
  pdisk6 006094FEC38500D member n/a 18.2GB 物理ディスク
  pdisk7 006094FEC8EE00D member n/a 18.2GB 物理ディスク
  pdisk8 006094FEC8F400D member n/a 18.2GB 物理ディスク
  
hdisk2 575F3B973FF24CK good 145.8GB RAID-5 アレイ   <-- SSA RAIDアレイ

  > lspv
  hdisk0 0006575f36595b1a rootvg
  hdisk1 0006575f778ce400 rootvg
  
hdisk2 0006575fc727f56d USERVG  <-- SSAディスク

  > lsdev -Cc disk
  hdisk0 使用可能 10-88-00-8,0 16 ビット LVD SCSI ディスク・ドライブ
  hdisk1 使用可能 10-88-00-9,0 16 ビット LVD SCSI ディスク・ドライブ
  
hdisk2 使用可能 10-70-L SSA 論理ディスク・ドライブ
  hdisk3 定義済み 20-58-00-0,0 SCSI Disk Array RAID 5
 
3.ssa0に接続されているディスクに関して、fastwriteの設定がONになっているか確認する。
  > ssaraid -I -l ssa0

  
(以下抜粋)
  name hdisk2
  id 575F3B973FF24CK
  class raid_5
  use system
  blocksize 512
  size 145.8GB
  spare false
  spare_exact false
  spare_protected false
  allow_page_splits true
  read_only_when_exposed false
  state good
  rebuild_priority 50
  member_count 9
  strip_size 128
  unsynced_strips 0
  unbuilt_strips 0
  invalid_strips 0
  safe_rebuild true
  network_id A
  
fastwrite on  <-- SSAキャッシュはONの状態
  bypass_cache_if_oneway false
 
4.サーバー上の、SSAディスクにアクセスする可能性のある全プロダクトプロセスを停止する。

5.SSAディスク(本例の場合はhdisk2)に含まれているファイルシステムをアンマウントし、varyoffvgを実行する。
  > lspv
  hdisk0   0006575f36595b1a   rootvg
  hdisk1   0006575f778ce400   rootvg
  hdisk2   0006575fc727f56d   USERVG

  > lsvg -l USERVG

  USERVG:
  LV NAME   TYPE   LPs   PPs   PVs   LV STATE   MOUNT POINT
  mqmlv     jfs      1    1      1    open/syncd   /TN01/mqm/qmgrs
  tsmdb01lv  jfs      1    1      1    open/syncd   /TN01/tsmdb
  orasys01lv  jfs      3    3      1    open/syncd   /TN01/oracle/D8AJ/oradata/system
  
(以下省略)

  
上記ファイルシステムをすべてアンマウント
  > unmount /TN01/mqm/qmgrs
  > unmount /TN01/tsmdb
  >
unmount /TN01/oracle/D8AJ/oradata/system
  
(以下省略)

  > lsvg -l USERVG
  
各ファイルシステムのLV STATEがclosedになっていることを確認する。

  > lsvg -o
  USERVG
  rootvg

  > varyoffvg USERVG  
<-- SSAディスクをvaryoff

  > lsvg -o
  rootvg     
<-- 現在varyonされているVGの一覧から、SSAディスクのVGが消える
 
6.マシンシャットダウン
  ・HAを組んでいる場合(コンカレント構成に限らず。ローテート、カスケーディングの場合も含む)、両系サーバについて、クラスタサービスを停止させるだけで
   なく、
電源まで切断する
  ・サーバ停止時に、SSAキャッシュは自動的にクリアされる。
任意にfastwriteの設定をOFFにしないこと

  電源切断後、SSAキャッシュバッテリー(fastwrite cache battery)を交換する。
  ・交換後、最大60分バッテリーのチャージに時間がかかる。チャージが完了するまで、1時間おきに「アダプターパフォーマンス低下エラー」が出力される。

7.マシン起動
。errptを確認し、システムエラーが交換作業以降発生していないことを確認する。

作業完了後、以下を実施し、SSAキャッシュバッテリーのタイマー情報を初期化する。

  > ssa_format -l ssa0 -b      
<-- SSAキャッシュバッテリー内で保持している時間情報等を初期化
  > ssa_fw_status -a ssa0 -p    <-- SSAキャッシュバッテリー内で保持しているタイマー情報がresetされたことを確認
  0  <-- 通算経過時間

 


分類 FAQ
デバイス SSAディスクのループ構造を視覚的に表示する
説明
SSAのループ構造を視覚的に捉えたい場合は、.以下コマンドを実行する。
  > maymap -d ssa0

●コマンドの実行結果はこちら


なお、残念ながら、本コマンドは、IBM CE専用に開発されたツールであり、IBM外部には公開されていない。
 


分類 FAQ
デバイス PCI SCSI RAID Adapterの交換
説明
1.PCI SCSI RAID Adapterに接続されている外部SCSIディスクの論理ディスクを特定する。
  > lsdev -Cc disk
  hdisk0 使用可能 10-88-00-8,0 16ビットLVD SCSIディスク・ドライブ
  hdisk1 使用可能 10-88-00-9,0 16ビットLVD SCSIディスク・ドライブ
  
hdisk2 定義済み 20-58-00-0,0 SCSI Disk Array RAID 5

  > lspv
  hdisk0 0006575f36595b1a  rootvg
  hdisk1 00006575f778ce400 rootvg
  
hdisk2 ????????????????    savevg

2.外部SCSIディスクへのアクセス対象プロセスが全て停止しているのを確認する。

3.hdisk2(savevg)に含まれるファイルシステムをアンマウントし、varyoffを実行する。
  (既に対象の外部SCSIディスクにアクセスできない状態になっている場合は実施不要)
  > lsvg -l savevg
  
上記コマンドで表示されたファイルシステムを全てアンマウント(> umount [対象ファイルシステム])

  > lsvg -l savevg
  
各ファイルシステムのLV STATEがcloseになっていることを確認する

  > lsvg -o  
<-- アクティブなVGを表示
  
savevg
  rootvg

  > varyoffvg savevg  
<-- 対象のVGをvaryoff

  > lsvg -o
  rootvg   
<-- 対象のVGがvaryoffされた

4.マシンをシャットダウンし、外部SCSIディスクと繋がっているケーブルをアダプタから外し、PCI SCSI RAID Adapterの交換作業を行う。

  
なお、アダプタ交換作業後もケーブルを繋がない状態にしておくこと。

5.マシン起動

6.PCI SCSI RAIDアダプタ構成の消去

  交換後のアダプタが中古のアダプタ等で、以前の構成情報が残っている場合は、アダプタ構成情報を除去する作業を行う。
  > export LANG=en_US
  > smitty pdam

  「Recovery Option」 - 「Clear PCI SCSI RAID Adapter Configuration」を選択し、アダプタ構成情報を除去する

7.マシンをシャットダウン

8.
外部SCSIディスクとアダプタをケーブルで繋ぎ、マシン起動

9.PCI SCSI RAIDアダプタ構成の解決
  > export LANG=en_US
  > smitty pdam

  「Recovery Option」 - 「Resolve PCI SCSI RAID Adapter Configuration」を選択。交換したアダプタを選択し、PCI SCSI RAIDアダプタ構成を解決する

10.外部SCSIディスクが見えることを確認する
  > lsdev -Cc disk
  hdisk0 使用可能 10-88-00-8,0 16ビットLVD SCSIディスク・ドライブ
  hdisk1 使用可能 10-88-00-9,0 16ビットLVD SCSIディスク・ドライブ
  
hdisk2 定義済み 20-58-00-0,0 SCSI Disk Array RAID 5

11.サーバーを再起動する(= 対象VGであるsavevgのvaryon、ファイルシステムのマウント)。
 


分類 FAQ
デバイス DLPARによるデバイス付け替え手順
説明
光学ドライブの付け替えを想定する。

0.
(事前確認)サーバ納品後の稼動確認時に、事前に光学ドライブを接続しているIDEコントローラ・デバイスを確認する。
  (光学ドライブがついているサーバにログインし)
  > lscfg -vl ide0
  ide0 U7879.001.DQDLDFN-P1-T15 ATA/IDE コントローラー・デバイス

  Device Specific.(YL)........U7879.001.
DQDLDFN-P1-T15  <-- 本情報を事前に確認して控えておく。


1.HMC端末にログイン
  ID hscroot    (デフォルト)
  pass password

2.HMC端末メニューをたどり、どのサーバに光学ドライブが接続されているか確認する。

  管理環境
    |--(サーバIP)
     |--サーバおよびサーバ管理
         |--p5-570#〜
              のi/oタブを選択し、を右クリック「属性」(properties)

           ユニット1:
DQDLDFN   <-- 事前に控えておいた情報を頼りに見つけ出す
              |--バス3
               |--
スロットT15
                  ↑
                 ここにDVDドライブがついていている
                 これがどのサーバについているか
                 右の列の「所有者」で確認する

3.「2」で調べたサーバへtelnetログイン。
  以下操作を行うと、HMC端末からのリモートログインができる。(ただし日本語表示ができない、ログイン後、export LANG=Cを実行)

  管理環境
    |--(サーバIP)
     |--サーバ及びサーバ管理
      |--p5-570#〜
       |--サーバ
         ↑
        右クリックでログインできる(open tarminal window)

4.現在のデバイス接続情報の確認
   >export LANG = C

   >lsdev -C -l cd0 -F parent
   ide0

   >lsslot -c slot
   # Slot Description Device(s)
   U7311.D20.651C70B-P1-C01 Logical I/O Slot pci10 fcs0
   U7311.D20.651C70B-P1-C06 Logical I/O Slot pci7 ent0 ent1
   U7311.D20.651C70B-P1-C07 Logical I/O Slot pci8 sa0
   U7311.D20.651C70B-P1-C08 Logical I/O Slot pci9 sisscsia0
   U7879.001.DQDLDFV-P1-C1 Logical I/O Slot pci17 ent2 ent3
   U7879.001.DQDLDFV-P1-C3 Logical I/O Slot pci13 fcs1
   U7879.001.DQDLDFV-P1-C4 Logical I/O Slot pci14 fcs2
   U7879.001.DQDLDFV-P1-C6 Logical I/O Slot pci15 pci16 lai0
   U7879.001.DQDLDFV-P1-T4 Logical I/O Slot pci12 usbhc0 usbhc1
   U7879.001.DQDLDFV-P1-T14 Logical I/O Slot pci11 sisscsia1
   U7879.001.
DQDLDFN-P1-T15 Logical I/O Slot pci6 ide0   <----- pcinumberを確認(ide0はpci6!)
   U9117.570.65C8CBC-V12-C0 Virtual I/O Slot vsa0

5. デバイスの切り離し
   >rmdev -dl pci? -R    <-- ?には、上記で確認したpcinumberを指定
   >lsdev -C -l cd0

6.DLPARで移動

  管理環境
    |--(サーバIP)
     |--サーバ及びサーバ管理
      |--p5-570#〜
       |--移動元のサーバ
          ↑
         右クリック
         「動的ロジカルパーティショニング」
         「物理アダプターリソース」
         「移動」

  ユニット1:DQDLDFN
  バス3
  スロットT15
  移動先 光学ドライブを装着したい、移動先のサーバ名を指定

7.移動先にtelnetログインし、デバイスを認識させる
   >lsdev -C | grep cd
   >cfgmgr
   >lsdev -C | grep cd
   cd0 Avairable    
<-- SCSIでないので、即時に使用可能になる
 


分類 FAQ
デバイス 使用済みHDDのデータを抹消する
説明
使用済みのメディア(HDD,FDD等)を破棄したいが、データ漏洩が心配なことから、中に入っているデータを完全に抹消したい場合、「/dev/zero」特殊ファイルを利用し、ハードディスク全体に0を書き込むという方法がある。
  > dd if=/dev/zero of=/dev/hdisk0

しかし、特別な装置を使うと「0に0を上書きした場合」や「1に0を上書きした場合」の違いをアナログ的に読み取ることができるため、高度な専門知識を持った者の手にかかれば、データを復元できる可能性は残る。そのような装置でも読み取り不可能にするためには、ランダムな値を複数回書き込む必要がある。

LinuxやBSD UNIXであれば、「/dev/random」「/dev/urandom」特殊ファイルを使用し、以下のコマンドを実行することで実現できる。しかし、AIXでは当特殊ファイルは用意されていない。(solalisも同様。ただしフリーのSolaris用「/dev/random」パッケージ
が提供されている)
  > for i in random random zero ; do dd if=/dev/$i of=/dev/hdisk0 ; done
 *上記はNSA方式に準した方法 (NSA方式:米国政府安全基準の1つ。ランダム数値書き込み2回、ゼロ書き込み1回)
 


分類 FAQ
ディスク管理 ファイルシステムを指定パーセントまで逼迫させたい
説明
サーバー上の各ファイルシステムをT/EC等を用いて閾値監視する場合、当動作確認のために監視対象ファイルシステムを指定パーセントまで逼迫させたい場合が出てくる。

当際は、以下のようなシェルを使用するとよい。

 shortageFS.sh

 
●ポイント:
 ddコマンドで、1024*[繰り返したい数]バイトのサイズを持つ、ヌル文字(\0)で埋められたデータを、対象ファイルシステムの直下にファイル名(dummy_file.txt)という形で
 書き込む。
 > dd if=/dev/zero bs=1024 count=[繰り返したい数] of=[対象ファイルシステム]/dummy_file.txt


分類 FAQ
ディスク管理 ディスククォータの設定方法
説明
ディスク・クォータは、ユーザやグループ単位に使用できるディスクサイズなどを制限するための機能である。例としてユーザー「apache」の「/home」ファイルシステムの使用量を制限する。

1.AIXインストールCDより、以下ファイルセットを導入する。

  
bos.sysmgt.quota    # Filesystem Quota Commands

2.以下コマンドにて、「/etc/filesystems」ファイルにquota構成情報を追加する。
  > chfs -a "quota = usrquota" /home  <-- /homeディレクトリをユーザ単位でquota使用可能にする

3.割り当てファイルの作成
  > chfs -a "usrquota = /home/myquota.usr" /home  <-- 割り当て設定ファイルを「myquota.usr」というファイル名で/homeに設置

4.「/etc/filesystems」ファイルのエントリを確認する。
  > view /etc/filesystems

  /home:
  dev = /dev/hd1
  vfs = jfs
  log = /dev/hd8
  mount = true
  check = true
  vol = /home
  free = false
  
quota = usrquota           <-- 追加された
  usrquota = /home/myquota.usr

5.ユーザー制限値を設定する。以下コマンドを実行すると、エディタ画面になるので、制限値を設定する。
  > edquota -u apache
  クォータ・ファイル /home/myquota.user を作成します
  "/tmp/EdP.ajmggEa" 3 行、133 文字
  クォータ user apache:
  /home: 使用中のブロック: 1040, 制限 (ソフト =
2000, ハード = 2100)  <-- 黄色の部分を編集する
  使用中の i ノード: 3, 制限 (ソフト =
100, ハード = 110)

  
2行目:現在、ユーザーが利用している領域全体
  3行目:現在、ユーザーが利用しているファイル数全体
  ソフトウェア:limits soft。割り当て領域
  ハードウェア:limits hard。これ以上受けつけない値(一時記憶領域含む)


6.ユーザー設定を複製する場合は、以下のようにする
  > edquota -p apache user01  <-- ユーザー「apache」の設定をユーザー「user01」にコピーする

7.ユーザ全員のディスク使用状況を確認する
  > repquota -a
                Block  limits           File  limits
  User       used   soft   hard  grace used  soft  hard  grace
  apache --    1040  2000  2100        3  100  110

8.ディスク・クォータ機能を有効にする
  > quotaon -a

9.ディスク・クォータの整合性チェックを行う
  > quotacheck -a

10.設定が有効になっていることを確認する。
  > quotacheck -a
  quota -u apache
  user apache (uid 120) のディスク・クォータ:
  Filesystem  blocks  quota  limit  grace files  quota  limit  grace
    /home      1  2000  2100       2   100  110

11.次回以降、ディスク・クォータ機能をマシン起動時に設定するために、「/etc/rc」に以下行を追加する
  > vi /etc/rc

  (省略)
  # Manufacturing post install process.
  # This must be at the end of this file, /etc/rc.
  if [ -x /etc/mfg/rc.preload ]
  then
  /etc/mfg/rc.preload
  fi

  
echo " Enabling filesystem quotas "  <--黄色い部分を追加
  /usr/sbin/quotacheck -a
  /usr/sbin/quotaon -a


  dspmsg rc.cat 5 'Multi-user initialization completed\n'
  exit 0
 


分類 FAQ
ディスク管理 ミラーリング・ディスクの交換手順
説明
内蔵ディスクをミラーリングしている場合の交換手順を示す。 参考)ディスクのミラーリング設定

1.障害ディスクの特定と状態確認
  > lsvg rootvg
  VOLUME GROUP: rootvg     VG IDENTIFIER: 000f8dcd1b973cc3
  VG STATE: active          PP SIZE: 32 megabyte(s)
  VG PERMISSION: read/write  TOTAL PPs: 1088 (34816 megabytes)
  MAX LVs: 256            FREE PPs: 784 (25088 megabytes)
  LVs: 12                USED PPs: 304 (9728 megabytes)
  OPEN LVs: 11           QUORUM: 1
  TOTAL PVs: 2           VG DESCRIPTORS: 3
  
STALE PVs: 1          STALE PPs: 61  <-- 「STALE PVs」「STALE PPS」が0以外である場合、ディスクに障害が発生している
  ACTIVE PVs: 2           AUTO ON: yes
  MAX PPs per PV: 1016     MAX PVs: 32

  > lsvg -p rootvg
  rootvg:
  PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
  hdisk0   
missing   546      394     77..20..79..109..109  <-- PV STATEが「missing」になっている場合、ディスクに障害が発生している
  hdisk1   active    542      390     76..19..78..108..109

  > lsvg -l rootvg
  rootvg:
  LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
  hd5     boot  1   2   2  closed/syncd   N/A
  hd6     paging 16  32  2  open/syncd    N/A
  
hd8     jfslog  1   2  2   open/stale    N/A  <-- LV STATEが「stale」となっている場合、論理ボリュームに障害が発生している
  hd4     jfs   1    2  2   open/stale    /
  hd2     jfs  25   50  2   open/stale    /usr
  hd9var   jfs   1   2   2   open/stale    /var
  hd3     jfs   1   2   2   open/stale    /tmp
  hd1     jfs   1   2   2   open/stale    /home
  work_lv   jfs  71  142  2   open/stale    /WORK
  logs_lv   jfs   2   4   2   open/stale    /logs

  hd7    sysdump 32 32  1   open/syncd   N/A

  hd7x    sysdump 32 32  1   open/syncd   N/A



2.ダンプデバイスの削除


 (1)交換側のディスクに含まれるダンプデバイスを一時的に無効にする
  > sysdumpdev -P -p /dev/sysdumpnull  <-- 1次デバイスが対象の場合。2次デバイスが対象の場合は「> sysdumpdev -P -s /dev/sysdumpnull
  
1次 /dev/sysdumpnull  
  2次 /dev/hd7x
  コピー・ディレクトリ /var/adm/ras
  強制的なコピー・フラグ TRUE
  常時、ダンプを許可 FALSE
  ダンプ圧縮 OFF

  > lsvg -l rootvg
  rootvg:
  LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
  hd7    sysdump 32 32  1   closed/syncd   N/A  <-- closedになったことを確認
  hd7x    sysdump 32 32  1   open/syncd   N/A

 (2)対象ダンプデバイスを削除する
  > rmlv -f hd7
  rmlv: 論理ボリューム hd7が除去されました。

3.ブートリストの変更


 障害ディスクにアクセスしないよう、ブートの優先順位を変更する
  > bootlist -m normal -o
  hdisk0  
<-- 一番先にhdisk0をブート対象とする設定になっている
  hdisk1

  交換ディスクが「hdisk0」の場合、hdisk1のみをブート対象とするよう、リストを変更する
  > bootlist -m normal hdisk1

4.障害ディスク上のミラーリングを解除
  > unmirrorvg rootvg hdisk0
  0516-1246 rmlvcopy: hd5 がブート論理ボリュームである場合には、
  root ユーザとして 'chpv -c <diskname>' を実行して、ブート・レコードを
  消去し、この論理ボリュームの移動/除去元のディスク上に存在している
  ことがある古いブート・イメージがブート・オフされる可能性を回避し
  てください。
  0516-1132 unmirrorvg: quorum の必要性がオンにされました。これを rootvg に対して有効に
  するためにシステムを再始動してください。
  0516-1144 unmirrorvg: rootvg は正常にミラーリング解除されました。システムの
  bosboot を実行してブート・レコードを初期化し直す必要があります。その後
  hdisk1 を組込むために bootlist を修正してください。

  > lspv hdisk0
  PHYSICAL VOLUME: hdisk0        VOLUME GROUP: rootvg
  PV IDENTIFIER: 00062171886e4be5  VG IDENTIFIER 000f8dcd1b973cc3
  PV STATE: active
  STALE PARTITIONS: 0           ALLOCATABLE: yes
  PP SIZE: 32 megabyte(s)          LOGICAL VOLUMES: 11
  TOTAL PPs: 546 (17472 megabytes)  VG DESCRIPTORS: 2
  FREE PPs: 394 (12608 megabytes)
  USED PPs:
0 (0 megabytes)  <-- USED PPsが「0」であれば、障害ディスクのミラーリングは解除されている
  FREE DISTRIBUTION: 77..20..79..109..109
  USED DISTRIBUTION: 33..89..30..00..00

5.障害ディスクへのアクセス停止
  > chpv -v r hdisk1

  > lspv hdisk0
  PHYSICAL VOLUME: hdisk0        VOLUME GROUP: rootvg
  PV IDENTIFIER: 00062171886e4be5  VG IDENTIFIER 000f8dcd1b973cc3
  PV STATE:
removed  <-- 「removed」になったことを確認する
  STALE PARTITIONS: 0           ALLOCATABLE: yes
  PP SIZE: 32 megabyte(s)          LOGICAL VOLUMES: 11
  TOTAL PPs: 546 (17472 megabytes)  VG DESCRIPTORS: 2
  FREE PPs: 394 (12608 megabytes)
  USED PPs:
0 (0 megabytes)
  FREE DISTRIBUTION: 77..20..79..109..109
  USED DISTRIBUTION: 33..89..30..00..00

6.障害ディスクをrootvgから削除

  > reducevg rootvg hdisk0

7.障害ディスクの定義削除
  > rmdev -l hdisk0 -d
  hdisk0 を削除しました

8.ブートイメージの初期化
  > bosboot -a -d hdisk1  <-- 障害でないほうのディスクに対し実施

9.障害ディスクの交換

 障害ディスクを交換する。交換後マシンを起動し、デバイスの認識に問題ないことを確認する
  > d00s0434@[/]#lsdev -Cc disk
  hdisk0 使用可能 10-60-00-2,0 他の SCSI ディスク・ドライブ
  hdisk1 使用可能 10-60-00-3,0 他の SCSI ディスク・ドライブ

 もし、以下のような状態になってしまった場合、いったんデバイスを削除し直し、再認識を行う。
  > d00s0434@[/]#lsdev -Cc disk
  hdisk0 定義済み 10-60-00-
2,0 他の SCSI ディスク・ドライブ
  hdisk1 使用可能 10-60-00-3,0 他の SCSI ディスク・ドライブ
  hdisk2 使用可能 10-60-00-
2,0 他の SCSI ディスク・ドライブ  <-- hdisk0として認識されるべきところを、hdisk2として認識されてしまった

  > rmdev -l hdisk0 -d
  > rmdev -l hdisk2 -d

  > cfgmgr

  > d00s0434@[/]#lsdev -Cc disk
  hdisk0 使用可能 10-60-00-2,0 他の SCSI ディスク・ドライブ
  hdisk1 使用可能 10-60-00-3,0 他の SCSI ディスク・ドライブ

10.交換ディスクをrootvgに追加

  > extendvg rootvg hdisk0 <-- hdisk0をrootvgに追加する
  0516-1254 extendvg: ODM 内の PVID の変更中です。

  > lsvg -p rootvg
  rootvg:
  PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
  hdisk0      active    546    394     77..20..79..109..109     <-- hdisk0が追加された
  hdisk1      active    542    542     109..108..108..108..109 

11.交換ディスクにミラーを作成
  > mirrorvg -s rootvg hdisk0
  0516-1124 mirrorvg: quorum の必要性がオフにされました。これを rootvg に
  対して有効にするためにシステムを再始動してください。
  0516-1126 mirrorvg: rootvg が正常にミラーリングされました。システムの
  bosboot を実行してブート・レコードを初期化する必要があります。その後
  hdisk0 hdisk1 を組込むために bootlist を修正してください。

  > syncvg -v rootvg  
<-- ミラーリングの同期をとる

12.ブートイメージ及びブートリストの更新
  > bosboot -a -d hdisk0   <-- Bootイメージの再作成(まとめて行わず、個々のディスクに対しそれぞれ実施)
  bosboot: ブート・イメージは 7733 ブロック (512 バイト単位) です。
  > bosboot -a -d hdisk1
  bosboot: ブート・イメージは 7733 ブロック (512 バイト単位) です。


  > bootlist -m normal hdisk0 hdisk1  <-- Bootリストの更新
  > bootlist -m normal -o
  hdisk0
  hdisk1

13.ダンプデバイスの作成

 (1)ダンプデバイスの作成
  hdisk0にダンプデバイスを作成する場合
  >
mklv -t sysdump -y hd7 -a e rootvg 32 hdisk0 <-- 指定するPP数の値が32の場合
  hd7

  hdisk1にダンプデバイスを作成する場合
  >
mklv -t sysdump -y hd7x -a e rootvg 32 hdisk1 <-- 指定するPP数の値が32の場合
  hd7x

  上記コマンドが失敗した場合、以下の手順でダンプデバイスを再作成する
  ODM情報を確認する
  > odmget CuAt | grep hd7
  name = "hd7"
  name = "hd7"
  name = "hd7"
  name = "hd7"
  name = "hd7"
  name = "hd7x"
  name = "hd7x"
  name = "hd7x"
  name = "hd7x"
  name = "hd7x"
  > odmget CuDv | grep hd7
  name = "hd7"
  name = "hd7x"
  > odmget CuDvDr | grep hd7
  value3 = "hd7"
  value3 = "hd7x"
  > odmget CuDep | grep hd7
  dependency = "hd7"
  dependency = "hd7x"

  ODM情報を削除する (hd7を削除する場合)
  > odmdelete -o CuAt -q name=hd7
  0518-307 odmdelete:4 個のオブジェクトが削除されました。

  > odmdelete -o CuDv -q name=hd7
  0518-307 odmdelete:1 個のオブジェクトが削除されました。

  > odmdelete -o CuDvDr -q value3=hd7
  0518-307 odmdelete:1 個のオブジェクトが削除されました。

  > odmdelete -o CuDep -q dependency=hd7
  0518-307 odmdelete:1 個のオブジェクトが削除されました。


  再度ダンプデバイスを再作成する
  > mklv -t sysdump -y hd7 -a e rootvg 32 hdisk0

 (2)作成されたダンプデバイスをプライマリ/セカンダリ・ダンプデバイスとして定義する
  プライマリ側が対象の場合
  > sysdumpdev -P -p /dev/hd7
  
1次 /dev/hd7  <-- 1次デバイスとして、/dev/hd7が追加された
  2次 /dev/hd7x
  コピー・ディレクトリ /var/adm/ras
  強制的なコピー・フラグ TRUE
  常時、ダンプを許可 FALSE
  ダンプ圧縮 OFF

  セカンダリ側が対象の場合
  > sysdumpdev -P -s /dev/hd7x
  1次 /dev/hd7
  
2次 /dev/hd7x  <-- 2次デバイスとして、/dev/hd7xが追加された
  コピー・ディレクトリ /var/adm/ras
  強制的なコピー・フラグ TRUE
  常時、ダンプを許可 FALSE
  ダンプ圧縮 OFF

  上記コマンドが失敗した場合、以下の手順でダンプデバイスを再指定する
  > redefinevg -d hdisk1 rootvg  <-- 交換していないほうのディスクを指定し、rootvgのPV集合を再定義する(例は、hdisk0が交換対象だった場合)

  > synclvodm -v rootvg  
<-- ODM情報とLVM情報の同期をとる

  >
sysdumpdev -P -p /dev/hd7  <-- 再度ダンプデバイスを指定する

14.マシンの再起動

 


分類 FAQ
テープ操作/圧縮・解凍 テープ中身のレイアウト・ブロックサイズを判別する
説明
取得したテープのレイアウト・ブロックサイズを判別するには、tcopyコマンドを使用するのがよい。

1.テープ装置の、ブロック・サイズを可変(0)に設定する。
  > smitty tape
  「テープ・ドライブ」-「テープ・ドライブの特性の変更/表示」
  
  ブロック・サイズ (0=可変長)    
[0]

2.調べたいテープをテープ装置に装填し、tcopyコマンドをOUT(第二引数)の指定なしで実行する。
  > tcopy /dev/rmt0
  tcopy:
テープ ファイル: 1、レコード: 1 から 9061、サイズ: 512。     <-- 最初のファイル・マークまでの書き込みは、ブロックサイズ512で取得している
  tcopy: ファイル: 1、ファイルの終りまで: 9061レコード、 4639232バイト。
  tcopy:
テープ ファイル: 2、レコード: 1 から 3600、サイズ: 512。     <-- 次のファイル・マークまでの書き込みは、ブロックサイズ512で取得している
  tcopy: ファイル: 2、ファイルの終りまで: 3600レコード、 1843200バイト。
  tcopy:
テープ ファイル: 3、レコード: 1、サイズ: 512。            <-- その次のファイル・マークまでの書き込みは、ブロックサイズ512で取得している
  tcopy: ファイル: 3、ファイルの終りまで: 1レコード、 512バイト。
  tcopy:
テープ ファイル: 4、レコード: 1 から 2198700、サイズ: 1024。   <-- その次のファイル・マークまでの書き込みは、ブロックサイズ1024で取得している
  tcopy: ファイル: 4、ファイルの終りまで: 2198700レコード、 2251468800バイト。
  tcopy: テープの終りに達しました。
  tcopy: テープの全長は 2257951744 バイトです。

3.調べ終わったら、テープ・ブロックサイズの指定を元に戻す
 


分類 FAQ
テープ操作/圧縮・解凍 巻き戻さないテープデバイス(/dev/rmt*.1)について
説明
テープデバイスの指定を「/dev/rmt0(もしくは/dev/rmt0.0。意味は同じ)」等とした場合、テープへの書き込み終了後、テープ位置は先頭に戻る。
  > cat 01.txt | tctl -f /dev/rmt0 write  <- @
  > tctl fsf 1  
<- A
  > cat 02.txt | tctl -f /dev/rmt0 write  
<- B
  > tcopy /dev/rmt0
  tcopy: テープ ファイル: 1、レコード: 1 から 5484、サイズ: 512。
  tcopy: ファイル: 1、ファイルの終りまで: 5484レコード、 2807808バイト。
  tcopy: テープ ファイル: 2、レコード: 1、サイズ: 512。
  tcopy: ファイル: 2、ファイルの終りまで: 1レコード、 512バイト。
  tcopy: テープの終りに達しました。
  tcopy: テープの全長は 2808320 バイトです。

@:テープに書き込みを行う。 -> 書き込み終了後、テープの位置は先頭に戻る
A:テープの位置を順方向に1ファイル・マーク分移動する
B:移動した場所から、テープに書き込みを実施

01.txtAAAAA 02.txtAAAAA
 ----------
         |
 @<-------
 -------->A
          --------->B


しかし、「
/dev/rmt0.1」とすれば、書き込み終了後の自動巻き戻し操作は行われない。
  > tctl rewind  <- @
  > cat 01.txt | tctl -f /dev/rmt0.1 write  
<- A
  > cat 02.txt | tctl -f /dev/rmt0.1 write  
<- B
  > tctl rewind
  > tcopy /dev/rmt0
  tcopy: テープ ファイル: 1、レコード: 1 から 5484、サイズ: 512。
  tcopy: ファイル: 1、ファイルの終りまで: 5484レコード、 2807808バイト。
  tcopy: テープ ファイル: 2、レコード: 1、サイズ: 512。
  tcopy: ファイル: 2、ファイルの終りまで: 1レコード、 512バイト。
  read: 入力または出力エラーがあります。
  tcopy: テープの終りに達しました。
  tcopy: テープの全長は 2808320 バイトです。

@:テープを先頭まで巻き戻す
A:テープに書き込みを行う。 -> 書き込み終了後、テープの位置は、先頭からファイル・マーク1つ分移動した場所のまま
B:テープに書き込みを行う。 -> 書き込み終了後、テープの位置は、さらにファイル・マーク1つ分移動した場所のまま

01.txtAAAAA 02.txtAAAAA
 @
 -------->A
          --------->B
 


分類 FAQ
テープ操作/圧縮・解凍 絶対パスで取得したtarファイルを相対パスで展開する
説明
paxコマンドはデフォルトで tarアーカイブ形式を読み込むことが出来る。paxの「-s」オプション(ファイル名の置換機能)を用いて、展開するファイル名の先頭の「/(スラッシュ)」を「./」に変更することにより、相対パスでの展開が可能になる。

相対パスで展開する際のコマンド
pax -r -v -f a.tar -s 'A^/A./A'
もしくは
pax -r -v -f /dev/rmt0 -s '/^\//.\//'

  > d00s0436@[/]#tar -tvf /dev/rmt0
  -rw-r--r-- 0 3 311 Feb 21 23:42:46 2005 /WORK/20050220/02.txt  
<-- 絶対パスで取得してしまった
  -rw-r--r-- 0 3 482 Feb 21 23:42:13 2005 /WORK/20050221/01.txt

  > cd /WORK/work
  > pax -r -v -f /dev/rmt0 -s '/^\//.\//'  
<-- 相対パスで展開する
  USTAR 形式アーカイブ
  
./WORK/20050220/02.txt
  ./WORK/20050221/01.txt


  > ls -alR
  合計 32
  drwxr-sr-x 4 root sys 512 Feb 22 00:07 .
  drwxr-sr-x 3 root sys 512 Feb 22 00:07 ..
  drwxr-sr-x 2 root sys 512 Feb 22 00:07 20050220
  drwxr-sr-x 2 root sys 512 Feb 22 00:07 20050221
  ./20050220:
  合計 24
  drwxr-sr-x 2 root sys 512 Feb 22 00:07 .
  drwxr-sr-x 4 root sys 512 Feb 22 00:07 ..
  -rw-r--r-- 1 root sys 311 Feb 21 23:42 02.txt

  ./20050221:
  合計 24
  drwxr-sr-x 2 root sys 512 Feb 22 00:07 .
  drwxr-sr-x 4 root sys 512 Feb 22 00:07 ..
  -rw-r--r-- 1 root sys 482 Feb 21 23:42 01.txt
 


分類 FAQ
システムバックアップ システムバックアップテープ(mksysb)の複製
説明
システムバックアップ(mksysb)のレイアウトは以下のような構成になっている
  > tcopy /dev/rmt0
  tcopy:
テープ ファイル: 1、レコード: 1 から 9061、サイズ: 512。     <-- BOSブート・イメージ
  tcopy: ファイル: 1、ファイルの終りまで: 9061レコード、 4639232バイト。
  tcopy:
テープ ファイル: 2、レコード: 1 から 3600、サイズ: 512。     <-- mkinsttapeイメージ
  tcopy: ファイル: 2、ファイルの終りまで: 3600レコード、 1843200バイト。
  tcopy:
テープ ファイル: 3、レコード: 1、サイズ: 512。            <-- dummy.toc
  tcopy: ファイル: 3、ファイルの終りまで: 1レコード、 512バイト。
  tcopy:
テープ ファイル: 4、レコード: 1 から 2198700、サイズ: 1024。   <-- rootvgデータ...
  tcopy: ファイル: 4、ファイルの終りまで: 2198700レコード、 2251468800バイト。
  tcopy: テープの終りに達しました。
  tcopy: テープの全長は 2257951744 バイトです。

<- ブロックサイズ=512(固定) -> <- ブロックサイズ=512(固定) -> <- ブロックサイズ=512(固定) -> <- テープ装置で指定したブロックサイズ ->
BOSブート・イメージ
(カーネルデバイス・ドライバー)
mkinsttapeイメージ
(./tapeblksz)
(./image.data)
(./bosinst.data)
dummy.toc
(ダミーTOC)
rootvgデータ...
(rootvgマウント済みファイル・システム)


複製の手法


1.マシンに2つのテープデバイスを装着する。

2.両テープ装置の、ブロック・サイズを可変(0)に設定する。
  > smitty tape
  「テープ・ドライブ」-「テープ・ドライブの特性の変更/表示」
  
  ブロック・サイズ (0=可変長)    
[0]

3.コピー元のテープ装置にシステムBKUPテープを装填し、以下コマンドでシステムバックアップテープの複製を行う
  > tcopy /dev/rmt0 /dev/rmt1 (rmt0からrmt1に対し複製)

4.作業が終了したら、両テープ装置のブロックサイズ指定を元に戻す



注意)ちなみに、tcopyコマンドは、入力・出力媒体ともにマルチ・ボリューム(複数のテープにまたがるコピー)には対応してない。

注意)当テープコピーをddコマンドで行う場合は、以下コマンドで行う。
  > dd if=/dev/rmt0.1 of=/dev/rmt1.1

   ただし、ddコマンドを使ってテープ間コピーを行う場合、1回の実行では、次のファイル終了マーク(EOF)の部分までしかコピーされない。
   テープの終了まで、ddコマンドを複数回実行する必要がある。

 +-----
E-------EE---
 |
File1 O File2 OO
 +-----
F-------FF---

 ------> 1回の実行ではここまで
       -------> テープの終了まで複数回実行する

 


分類 FAQ
システムバックアップ 任意のファイルを除外してシステムバックアップを採取する
説明
任意のファイルを除外してシステムバックアップを取得するには、「/etc」以下に、「exclude.[ボリュームグループ名]」という名前のファイルを作成し、そこに、バックアップから除外したいファイルのリストを記述することで実現できる。
  > ls -l ./exclude*:  <-- 「/etc」以下に、「exclude.[VG名]」という名前のファイルを作成する。
-rw-r--r-- 1 root system 3552 May 21 2004 ./exclude.DATA101VG

> view /etc/exclude.DATA101VG  
<-- 上述ファイルに、バックアップから除外したいファイルのリストを記述する。
/TN01/oracle/D8AJ/oractl1/oractl01.ctl
/TN01/oracle/D8AJ/oradata/rbs1/rbs011.dbf
/TN01/oracle/D8AJ/oradata/rbs1/rbs012.dbf
/TN01/oracle/D8AJ/oradata/system/system01.dbf


d00s0246@[/etc]#lsvg -l DATA101VG
DATA101VG:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
orasys01lv jfs 3 3 1 open/syncd /TN01/oracle/D8AJ/oradata/system
oratmp101lv jfs 6 6 1 open/syncd /TN01/oracle/D8AJ/oradata/temp1
orarbs101lv jfs 6 6 1 open/syncd /TN01/oracle/D8AJ/oradata/rbs1


> smitty savevg   
<-- savevgやmksysbでシステムバックアップを取得する際に、以下指定を行うことで、任意ファイルを除外してシステムバックアップできる

ボリューム・グループをテープ/ファイルにバックアップ

フィールドの値を入力または選択してください。
変更を完了したら ENTER キーを押してください。

[入力フィールド]
警告: savevg コマンドを実行すると
選択したメディアに前に保管された
すべてのデータが消去されます。

* バックアップの出力デバイスまたはファイル [/dev/rmt0] +/
* バックアップするボリューム・グループの選択 [DATA101VG] +
バックアップするファイルをリストする いいえ +
新規の vg.data ファイルを生成する はい +
マップ・ファイルを作成する はい +
ファイルを除外する
はい +       <-- 「はい」に設定
必要な場合に /tmp を拡張する はい +
backup のソフトウェア・ いいえ +
パッキングを使用不可にする
1回の出力で書き込むブロック数 [] #
(ブランクの場合は、システム・デフォルトを使用)


なお、excludeファイルにおいて除外ファイルリストを記述する際には、grepで指定する場合の正規表現が使用できる。


例)システムに、ボリュームグループ「DATA105VG」が存在し、本VG内に、以下ファイルシステム(マウントポイント)が生成されているものとする。その場合の
  「exclude.DATA105VG」の記述方法について

  ・/TN01/HULFTDATA/rcv/
  ・/S117/app/files/rcv/
  ・/TN01/savetest/

指定例1)^./TN01/HULFTDATA/DR117002$
  => 結果:ファイル「/TN01/HULFTDATA/DR117002」がバックアップ対象から除外される。

指定例2)^./TN01/HULFTDATA/rcv/DS
  => 結果:ルートからのディレクトリ構造が「/TN01/HULFTDATA/rcv/」に合致し、かつファイル名の頭が「DS」のものがバックアップ対象から除外される

指定例3)/TN01/HULFTDATA/rcv/DR.*
  => 結果:ディレクトリ構造が「/TN01/HULFTDATA/rcv/」に合致し(ただし、構成はルートから出なくてもよい)、ファイル名の頭が「DR」のものがバックアップ対象から
         除外される。(「/IB/TN01/HULFTDATA/rcv/DR117003」などのファイルは、バックアップ対象から除外される)

指定例4)/TN01/HULFTDATA/bkuprcv/.*\.dat$
  => 結果:ディレクトリ構造が「/TN01/HULFTDATA/bkuprcv/」に合致し(ただし、構成はルートから出なくてもよい)、ファイル名の最後が「.dat」のものがバックアップ対象
         から除外される。(「/IB/TN01/HULFTDATA/bkuprcv/DR117003.dat」などのファイルは、バックアップ対象から除外される)


指定例5)/TN01/HULFTDATA/bkuprcv/.*\.tx
  => 結果:ディレクトリ構造が「/TN01/HULFTDATA/bkuprcv/」に合致し(ただし、構成はルートから出なくてもよい)、ファイル名に「.tx」が含まれるものがバックアップ
         対象から除外される。(「/IB/TN01/HULFTDATA/bkuprcv/DR117003.txt」などのファイルは、バックアップ対象から除外される)


指定例6)/TN01/HULFTDATA/snd/.*
  => 結果:ディレクトリ構造が「/TN01/HULFTDATA/snd/」に合致し(ただし、構成はルートから出なくてもよい)、指定以下のものがバックアップ対象から除外される。
        (「/IB/TN01/HULFTDATA/snd/DR117003」などのファイルは、バックアップ対象から除外される)


指定例7)/Adir/
  => 結果:ディレクトリ構造が「/Adir/」に合致し(ただし、構成はルートから出なくてもよい)、指定以下のものがバックアップ対象から除外される。
        (「/IB/Adir/snd/DR117003」などのファイルは、バックアップ対象から除外される)

指定例8)^./Bdir/
  => 結果:ルートからのディレクトリ構造が「/Bdir/」に合致し、指定以下のものがバックアップ対象から除外される。
        (「/Bdir/rcv/DR117003」などのファイルは、バックアップ対象から除外される)

指定例9)^./S117/app/files/rcv/   (指定ディレクトリが、マウントポイントとイコールである場合)
  => 結果:ルートからのディレクトリ構造が「/S117/app/files/rcv/」に合致し、指定以下のものがバックアップ対象から除外される。
        (「/S117/app/files/rcv/」ディレクトリはユーザ権限情報含めバックアップされる。しかし、本ディレクトリ以下のファイルについてはバックアップ対象から
         除外される)


指定例10)^./TN01/savetest/.*    (指定ディレクトリが、マウントポイントとイコールである場合)
  => 結果:ルートからのディレクトリ構造が「/TN01/savetest/」に合致し、指定以下のものがバックアップ対象から除外される。
        (「/TN01/savetest/」ディレクトリはユーザ権限情報含めバックアップされる。しかし、本ディレクトリ以下のファイルについてはバックアップ対象から
         除外される)


指定例11)^./TN01/HULFTDATA/   (指定ディレクトリが、マウントポイント「/TN01/HULFTDATA/rcv/」よりも短い階層を指定した場合)
  => 結果:ルートからのディレクトリ構造が「/TN01/HULFTDATA/」に合致し、指定以下のファイルがバックアップ対象から除外される。
        (「/TN01/HULFTDATA/rcv/」ディレクトリはバックアップされる。ただし、ユーザ権限情報までは復元されない。「/TN01/HULFTDATA/」以下のファイルは
         バックアップ対象から除外される。)

 


分類 FAQ
ユーザー管理 パスワード変更用の専用ユーザーを作成する
説明
パスワード変更のための専用ユーザーを作成する手順は以下。

1.パスワード変更のための専用ユーザー(user01とする)の作成を行う
  > smitty mkuser
   ユーザの追加

  フィールドの値を入力または選択してください。
  変更を完了したら ENTER キーを押してください。

  [TOP] [入力フィールド]
  (一部省略)
  * ユーザ名
[user01]
  1次グループ
[security] + <-- グループの指定を「security」に
  ロール
[ManageAllPasswds] +  <-- ロールの指定を「ManageAllPasswds」に
  初期プログラム [/bin/ksh]
  パスワード登録 [files]  

2.作成した「パスワード変更ユーザー」のロール設定を確認する
  > view /etc/security/user.roles

  default:
    roles =
  user03:
    roles = ManageAllPasswds  
<-- 「ManageAllPasswds(パスワード管理)」の役割が設定されている

3.当ユーザーで、任意ユーザー(user02とする)のパスワードを変更してみる
  > su - user01
  $ pwdadm user02   
<-- パスワードの変更を実施
  "user01" のパスワード変更中
  user02 のパスワード:
  user02 の新パスワード:
  もう一度、新パスワードを入力してください:
  $
                            <-- パスワードが変更できた

なお、当ユーザーでは、rootユーザーのパスワードのみ変更できない。

参考)rootと同等の権限を持つ別ユーザーを作成する
 


分類 FAQ
ユーザー管理 rootと同等の権限を持つ別ユーザーを作成する
説明
AIXでは、rootと同等の権限を持つ別ユーザーを任意に作成することはできない。
ただし、「振る舞いはrootユーザーだが、パスワードはrootユーザのものとは別に指定できる」ユーザであればつくることは可能。

1.ユーザーの作成を行う。
  > smitty mkuser
   ユーザの追加

  フィールドの値を入力または選択してください。
  変更を完了したら ENTER キーを押してください。

  [TOP] [入力フィールド]
  * ユーザ名
[user01]
  ユーザ ID []
<-- 空欄にしておく
  管理ユーザにする
はい
  1次グループ
[system]
  グループ・セット []
  管理グループ []
  ロール []
  
(省略)
  ホーム・ディレクトリ [/home/user01]
  初期プログラム [/bin/ksh]
  パスワード登録 [files]

2.パスワードの変更を行う。
  > smitty passwd

  「ユーザ・パスワードの変更」にて、パスワード変更対象ユーザーを指定

  "user01" のパスワード変更中
  user01 の新パスワード:
  もう一度、新パスワードを入力してください:

3.当ユーザーでログインを行い、初回ログイン時のパスワード変更要求に応える。
  AIX Version 4
  (C) Copyrights by IBM and by others 1982, 1996.
  login: user01
  user01's Password:
  You are required to change your password. Please choose a new one.

  
user01's New password:
  Re-enter user01's new password:

  ログイン完了後、rootユーザーでログインしなおす

4.パスワードが登録されたことを確認。
  >view /etc/security/passwd
  user01:
   password =
wlxyxQaDZRiOE  <-- 暗号化されたパスワードが格納された
   lastupdate = 1100346030
   flags =                 
<-- 上記「3」のログイン作業により、フラグが「ADMCHG」から「null」に変更された。

5.「passwd」ファイルを開き、対象ユーザーのUIDを強制的に「0」に変更する。
  > vi /etc/passwd

  
(修正前)user01:!:6:0::/home/user01:/bin/ksh
  
(修正後)user01:!:0:0::/home/user01:/bin/ksh

6.再度、対象ユーザーでログインし、確認を行う。

  ユーザーとしては「user01」だが・・・
  > u
  
user01

  > last
  
user01 pts/0 192.168.0.2 Nov 13 21:45 ログイン中です。
  root pts/1 192.168.0.2 Nov 13 21:38 - 21:45 (00:06)
  user01 pts/1 192.168.0.2 Nov 13 21:35 - 21:38 (00:03)
  root pts/1 192.168.0.2 Nov 13 20:41 - 21:35 (00:53)
  user01 pts/1 192.168.0.2 Nov 13 20:40 - 20:41 (00:01)

  UIDはあくまで「0」なので、振る舞いは「root」となる。ファイルを作成しても、作成したファイルの所持者は「user01」にならず「root」。
  > who -m
  
root pts/1 Nov 13 20:41 (192.168.0.2)

  また、
当ユーザーで「root」ユーザのパスワードを変更することもできる。
 


分類 FAQ
通信・ネットワーク 匿名ftpサイト(Anonymous FTP)にアクセスするには?
説明
さまざまなソフトを公開しているAnonymous FTPサイトにアクセスする場合、当然そのホストのIDやパスワードは持っていない。しかし、Anonymous FTPサイトには一般に共通したIDがあり、そのIDを使えばログインすることが可能である。

そのIDとは「ftp」もしくは「anonymous」になる。また、パスワードは任意であるが、自分のe-mailアドレスを入力するのが一般的である。

例として、FreeBSDの配布Anonymousサイトにアクセスする。
  >ftp ftp.jp.freebsd.org   <-- FreeBSDの配布Anonymousサイトにアクセスする
  Connected to ftp.jpix.ad.jp.
  220- Welcome to FTP.JPIX.ad.jp,
    :
  220 ftp.jpix.ad.jp FTP server (Version 6.00LS) ready.
  User (ftp.jpix.ad.jp:(none)):
anonymous                <-- ユーザー名は「anonymous」もしくは「ftp」
  331 Guest login ok, send your email address as password.
  
Password:            <-- パスワードは自分のe-mailアドレス
  230- Welcome to ftp.jp.FreeBSD.org presented by JPIX and IRI.
  230-
  230- Please send E-mail to root@ftp.jpix.ad.jp
  230- if you have any questions or problems.
  230-
  230-
  230 Guest login ok, access restrictions apply.
  
ftp>    ---> 後は通常の操作でファイルを取得する

なお、Anonymous FTPサイトでは、ファイルを取得することはできるが、送ることはできない。


分類 FAQ
通信・ネットワーク AIXサーバーを匿名FTPサーバーにする
説明
FTPサーバーの構築方法は、こちら

ここでは、構築したFTPサーバーを 匿名FTPサーバー(AnonymousFTPサーバー)化する方法を説明する。

1.以下コマンドを実行し、FTPサーバーを匿名FTPサーバー化する
  > cd /usr/samples/tcpip/
  > ./anon.ftp

2.上記コマンド実行により、「ftp」「anonymous」2つのユーザーが生成される
  > lsuser -c -a id home ALL | sed '/^#.*/d' | tr ':' '\011'

  root 0 /
  daemon 1 /etc
   :
  ftp 202 /home/ftp
  anonymou 203 /home/ftp

3.ログインしてみる
  C:\>ftp 192.168.0.110
  Connected to 192.168.0.110.
  220 d00s0433 FTP server (Version 4.1 Thu Sep 12 23:46:23 CDT 2002) ready.
  
User (192.168.0.110:(none)): anonymous  <-- 「anonymous」もしくは「ftp」を指定
  331 Guest login ok, send ident as password.
  
Password:   <-- 「パスワード」は任意
  230-Last login: Sat Oct 30 16:06:02 2004 on ftp from ::ffff:192.168.0.2
  230 Guest login ok, access restrictions apply.
  
ftp>   <-- ログインできた
 


分類 FAQ
通信・ネットワーク 各ユーザ宛にメールを送信する/受信されたメールを読む
説明
mailコマンドの使用方法を解説する。

1.メールを送信する

 (1)「>mail [メールを送信したいユーザ]」と入力する
  >mail root

 (2)「Subject:」プロンプトが出るのでメールの題名を入力し、「Enter」キーを押下。
  Subject: Hello!!

 (3)続けて本文を入力する。
  How are you?
  I'm fine.
  
.      <-- 本文が入力し終えたら改行し、「.」とタイプ。その後「Enter」キーを押下。

 (4)「Cc:」を聞いてくるので特になければ、そのまま「Enter」キーを押下。
  Cc:

  => メールが送信される

2.受信メールを確認する

 (1)受信メールを確認したいユーザにスイッチし、「>mail」と入力
  > su - root
  > mail

  以下のように表示される
  メール [5.2 UCB] [AIX 4.1] ヘルプには ? をタイプしてください。
  "/var/spool/mail/root": 1 メッセージ 1 新規
  
>N 1 root Sat Jun 19 02:28 13/301 "Hello!!"  --> メールのリストが表示される
  ?

 (2)上述のように、受信メールのリストが表示されるので、確認したいメール番号(左から2番目の項目に記述された番号。上記例の場合(1)を
    入力する。
  ? 1

  メールが表示される
  メッセージ 1:
  From root Sat Jun 19 02:28:12 2004
  Date: Sat, 19 Jun 2004 02:28:12 -0500
  From: root
  To: root
  Subject: Hello!!

  How are you?
  I'm fine.

  ?

 (3)メールを見終えたら、「q」を入力し、「Enter」を押下。
  ? q
  //mbox 内に1つのメッセージを保管しました

3.各ユーザにおけるメールボックスの中身を確認する

 (1)各ユーザのメールボックスは「/home/[各ユーザ]/mbox」にファイルとして存在する。
  >cat /mbox | more

  From root Sat Jun 19 02:28:12 2004
  Received: (from root@localhost)
  by [ホスト名](AIX4.3/8.9.3/8.9.3) id CAA10864
  for root; Sat, 19 Jun 2004 02:28:12 -0500
  Date: Sat, 19 Jun 2004 02:28:12 -0500
  From: root
  Message-Id: <200406190728.CAA10864@d00s0433>
  To: root
  Subject: Hello!!
  Status: RO

  How are you?
  I'm fine.

 (2)コマンドを発行しメールボックスの中身を確認する場合は、受信メールを確認したいユーザにスイッチし、「> mail -f」を入力。
  > su - root
  > mail -f

  メール [5.2 UCB] [AIX 4.1] ヘルプには ? をタイプしてください。
  "//mbox": 4 メッセージ
  > 1 root Sat Jun 19 02:28 14/312 "Hello!!"
  
  ?

4.その他

 サーバログイン時などに、「You have new mail.」と表示されることがあるが、当タイミングで「from」と入力すると、誰からのメールか確認できる。
 


分類 FAQ
セキュリティ inetdから起動されるプログラムのアクセス制御を行う(TCP Wrapperの導入)
説明
TCPラッパーは、inetdから起動されるプログラムに対して、どこからサービスが要求されたかを調べ、ログを記録すると共にアクセス制限を行うためのソフトウェアである。inetdから起動されるプログラムだけが監視対象となるので、セキュリティ的にはこれだけでは万全と言えないが、主要なサービスに対するアクセス制限を手軽に実現する。

 導入パッケージ(Bull'sより入手)
 freeware.tcp_wrappers ALL x
  + 7.6.1.0 TCP/IP daemon security wrapper package (with IPv6)

1.TCP Wrapperの構成
tcpd TCP Wrapperの本体
tcpdchk TCP Wrapperの設定ファイルが正しいことをチェックするプログラム
tcpdmatch 設定を実験するために、サービス名とアクセス元ホスト名を指定してアクセスの可否を表示宇するプログラム
try-from リモートホストから(rshを使って)呼び出し、ホスト情報を表示するプログラム
safe_finger fingerにアクセスしてきた攻撃者の情報を収集するために使用するプログラム


2.TCP Wrapperの設定


TCP Wrapperは、inetdがリクエストに応じてサーバーを起動する仕組みを利用している。inetdはサーバーの代わりにtcpdを起動し、tcpdがクライアントのアクセス権をチェックすると共に、結果をログに記録する。アクセスが認められるクライアントであれば、tcpdが本来のサーバープログラムを起動する。

クライアントからリクエストが到着すると、tcpdは次の点を確認してアクセスの可否を決定する。

 
 A.クライアントのIPアドレス
  B.名前の詐称が無いこと〜DNSの正引きと逆引きの一致
  C.アドレス詐称がないこと〜ソースルーティングの検出
  D.Identによる認証情報の利用 (オプション)



 (1)「/etc/hosts.allow」と「/etc/hosts.deny」の作成・修正

 アクセス可否の決定と、リクエストに対するアクションを決定するのは「/etc/hosts.allow」と「/etc/hosts.deny」という2つのファイルである。

 「/etc/hosts.allow」にはアクセスを許可する条件を指定し、「/etc/hosts.deny」にはアクセスを拒否する条件を指定する。クライアントからの接続要求は、まず
 「hosts.allow」との一致がチェックされ、次にhosts.denyとの一致がチェックされる。どちらとも一致しなかった場合には、接続が許可される。

 どちらのファイルも記入方法は以下。
 デーモンのリスト : クライアントのリスト [ : シェルコマンド ]

 デーモンのリスト、ないしクライアントのリストに「ALL」と記入すると、全ての場合に一致する。クライアントのリストにおいて、ピリオドで始まる文字列は「サブドメインを
 含むドメイン名」と見なされるほか、ピリオドで終わる文字列は「IPアドレスの一部」と見なされる。

 基本的には、hosts.denyで全てのアクセスを禁止しておいて、必要最小限のものをhosts.allowで許可するという方針を取る。従って、「hosts.deny」には「ALL: ALL」という
 1行のみを記述し、必要なアクセスを以下のように「hosts.allow」で指定する。

 
/etc/hosts.deny
 ALL: ALL

 
/etc/hosts.allow
 ftpd: ALL  <-- ftpへのアクセスを全て許可
 telnetd: .livedoor.co.jp  
<-- 特定のドメインからのtelnetアクセスを許可
 ALL: 192.168.0. 203.140.47.128/255.255.255.224  
<-- 192.168.0/24 と 203.140.47.128/27からの全てのアクセスを許可
 ALL: 127.0.0.1  
<-- 自分からのアクセスを全て許可(必須!)

 Webサーバー(httpd)やメールサーバー(sendmail)など、inetdから起動されないサーバーは、TCP Wrapperによって保護することはできない。また、TCP Wrapperは
 その名の通りTCPベースのサービスにのみ有効であり、UDP/RPCのサービスを保護することができない。

 (2)「/etc/inetd.conf」の修正

 TCP Wrapperはinetdが起動するプログラムをすげ替える仕組みを利用するので、inetdの設定を変更する必要がある。次の例の様に、inetdが/usr/local/bin/tcpdを
 起動するように/etc/inetd.confを書き換える。
 (変更前)
 ftp    stream  tcp6  nowait  root  /usr/sbin/ftpd         ftpd
 telnet  stream  tcp6  nowait  root  /usr/sbin/telnetd       telnetd -a
 pop3   stream  tcp   nowait  root  /usr/local/etc/ipop3d  /usr/local/etc/ipop3d

 (変更後)
 ftp    stream  tcp6  nowait  root  /usr/local/bin/tcpd     ftpd
 telnet  stream  tcp6  nowait  root  /usr/local/bin/tcpd     telnetd
 pop3   stream  tcp   nowait  root  /usr/local/bin/tcpd    /usr/local/etc/ipop3d  
<-- /usr/sbin以外にあるサーバについてはフルパスで指定

 (3)inetdをリフレッシュする
 > refresh -s inetd

 (4)設定が正しくなされているか、テストを行う
 > tcpdmatch telnetd 192.168.1.100
 client: address 192.168.1.100
 server: process telnetd
 access:
denied  <-- 対象のクライアントからのtelnet経由アクセスは拒否されている

 #telnet 192.168.0.110
 試行中...
 192.168.0.110 に接続されました。
 エスケープ文字は '^]' です。
 接続がクローズされました。 
<-- アクセス非許可対象のクライアントからtelnet経由でアクセスしようとすると、やはり拒否される
 d00s0434@[/]#

 アクセス違反は、syslogに吐き出される。

 A./etc/syslog.confの編集
 > vi /etc/syslog.conf
 *.debug /logs/syslog.log  
<-- 当行を最下行に追加

 B.syslogdをリフレッシュする
 > refresh -s syslogd

 C.ログの確認
 > view /logs/syslog.log
 Jan 24 23:07:33 d00s0433 syslogd: restart
 Jan 24 23:07:52 d00s0433 telnetd[11256]:
refused connect from 192.168.1.100 <-- アクセスを拒絶した旨ログ出力なされている
 


分類 FAQ
問題解決 syslogの設定
説明
syslogdデーモンは、他のデーモンから情報を受け取り、それをファイル、端末装置、ユーザ、または他のマシンに送付するのに使用される。当デーモンは構成に応じて、重大なエラーまたはデバッグ出力のみをログに記録する(デフォルトではアクティブなエントリーなし)。

syslogdは「/etc/rc.tcpip」によって開始され、
「/etc/syslogd」構成ファイルに記載された内容をもとに情報の優先順位、送信元・送信先が指定される。

syslogdデーモンは、システム・リソース・コントローラ(SRC)のサブシステムであり、起動/停止は以下コマンドで行う。
設定ファイルである、syslog.confを変更した場合は、「refresh -s syslogd」により設定を有効にする。

syslogdの起動 startsrc -s syslogd
0513-059 syslogd サブシステムは始動しました。サブシステム PID は 4164 です。
syslogdの停止 stopsrc -s syslogd
0513-044 syslogd サブシステムは停止を要求されました。
syslogdの稼働確認 lssrc -g ras
Subsystem Group PID Status
syslogd ras 4164 活動状態
syslogdの再起動 refresh -s syslogd
0513-095 サブシステムのリフレッシュの要求は正常に完了しました。

syslogdデーモンは、「/etc/syslogd.pid」ファイルを作成し、そこにsyslogdデーモンを終了させたり、再構成したりするのに使用されるコマンド・プロセスIDを持った行を記述する。

「/usr/include/sys/syslog.h」インクルード・ファイルは、構成ファイルによって使用される機能(facility)及び優先順位(level)を定義する。ローカルに作成されたアプリケーションは、syslogdデーモンを使用してメッセージログに記録するためにsyslog.hファイルに含まれる定義を使用する。

syslogサブルーチンは、syslogdコマンドによって管理されるシステム・ログにメッセージを書き込む。なお、メッセージは、errnoグローバル変数から得られる。メッセージはsyslogdコマンドによって読み取られ、システム・コンソールまたはログ・ファイルに書き出されるか、または該当のホスト上にあるsyslogdコマンドに転送される。メッセージは、それぞれの優先順位のタイプを示すコードでタグが付けられる。優先順位は、機能(メッセージを生成するシステムのパートを示す)及びレベル(メッセージの重大度を示す)としてエンコードされる。

syslogdデーモンは、データグラム・ソケットを読み取り、「/etc/syslogd.conf」構成ファイルによって示された宛先に各メッセージ行を送信する。syslogdデーモンは、活動化されたとき、もしくは停止シグナルを受け取ったときに、この構成ファイルを読みとる。syslogdデーモンは、「/etc/syslogd.pid」ファイルを作成し、そこにはsyslogdデーモンを終了させたり、再構成したりするのに使用されるコマンド・プロセスIDを持った行を書き込む。syslogdデーモンに送られた終了シグナルは、当デーモンを終了させる。syslogdデーモンは、終了シグナル情報をログに記録してから即時に終了する。

「/etc/syslog.conf」ファイル内の各エントリは、次の部分により構成される。

 ・セレクター・フィールド
 ・アクション・フィールド
 ・ローテーション・フィールド


フィールド間は、1つ以上のタブまたはスペースで区切る。

セレクター・フィールドは、機能(facility)及び優先順位レベル(level)を指定する。機能名をカンマで区切る(例:auth,daemon,mail,syslog,user.info)。セレクターフィールドの機能と優先順位はピリオド(.)で区切る(例:auth.debug)。同じセレクター・フィールド内の複数のエントリはセミコロン(;)で区切る(例:kern.debug;auth.info)。全ての機能を選択するには、アスタリスク(*)を使用する(例:*.info)

アクション・フィールドは、メッセージを受け取る宛先(ファイル、ホスト、またはユーザ)を識別する。リモート・ホストに経路指定された場合、リモート・システムは、それ自体の構成ファイルに示されたとおりにメッセージを処理する。ユーザーの端末装置にメッセージを表示するには、有効な、ログインされているシステム・ユーザの名前を宛先フィールドに入れる必要がある。

ローテーション・フィールドでは、ローテーションを使用する方法を示す。「アクションフィールド」がファイルである場合、ローテーションはサイズまたは時間(あるいはその両方)に基づいて行うことができる。また、ローテーション対象ファイルを圧縮したり、アーカーブしたりすることもできる。

各メッセージは1行単位で、メッセージには行の先頭に不等号括弧(<>)で囲まれた数字によって、マークされた優先順位コードを含めることができる。900バイトを超えるメッセージは、切り捨てられる可能性がある。

●セレクター・フィールド 機能(facility)
kern カーネル
user ユーザー・レベル
mail メール・サブシステム
daemon システム・デーモン
auth セキュリティーまたは権限
syslog syslogdデーモン
lpr ライン・プリンター・サブシステム
news ニュース・サブシステム
uucp uucpサブシステム
local0〜local7 localなfacilityに使用
* すべての機能

●セレクター・フィールド 優先順位レベル(level)  ・・・指定したレベル以上のメッセージを送信対象とする
emerg 緊急メッセージ(KOG_EMERG)を指定。これらのメッセージは、全てのユーザには配布されない。LOG_EMERG優先順位メッセージは、検査用に別のファイルに記録できる。
alert 重大なハードウェアエラーなどの重要メッセージ(LOG_ALERT)を指定する。これらのメッセージは、全てのユーザーに配布される
crit 不適切なログインの試みなどの、エラーとして分類されない重大なメッセージ(LOG_CRIT)を指定。LOG_CRITおよびそれより高い優先順位のメッセージは、システム・コンソールに送られる。
err ディスク書き込みj不成功などのエラー状態を示すメッセージ(LOG_ERR)を指定
warning 異常終了ではあるが、リカバリー可能な状態のメッセージ(LOG_WARNING)を指定
notice 重要な通知メッセージ(LOG_NOTICE)を指定。優先順位の指定がないメッセージは、この優先順位のメッセージにマップされる
info 通知メッセージ(LOG_INFO)を指定。これらのメッセージは、廃棄することもできるが、システムを分析する際に役立つ。
debug デバッグ・メッセージ(LOG_DEBUG)を指定。これらのメッセージは、廃棄することもできる
none 選択された機能を除外する。この優先順位レベルは、同じセレクター・フィールドにアスタリスク(*)の付いたエントリーが先行してある場合のみ有効となる

●アクション・フィールド
File name ファイルの絶対パス名を指定
@host name ホスト名。対象ホストでlogの集中管理を行う
User[,User][...] ユーザー名
* 全てのユーザ

●ローテーション・フィールド
rotate アクション・フィールドの後で指定する
size サイズに基づいたローテーションを行うよう指定。この後には、数値、及びk(キロバイト)またはm(メガバイト)を続ける
time 時間に基づいたローテーションを行うよう指定。この後には、数値、及びh(時)、d(日)、w(週)、m(月)、y(年)のいずれかを続ける。
files ローテーション対象のファイルの総数を指定。この後に数値を続ける。指定されない場合は、ローテーション対象のファイルの数は無制限である。
compress 保管されるローテーション対象ファイルを圧縮する
archive 保管されるローテーション対象ファイルをディレクトリにコピーする。この後にディレクトリ名を続ける。

以下に、指定例をしめす。

例)mail機能からの分を除いた全てのシステム・メッセージを、server01という名のホストに送る
 *.debug;mail.none @server01
 


分類 FAQ
問題解決 uservgをvaryonできないと思ったら、PVIDの情報が消失していた
説明
以下のような状態に陥り、uservgがvaryonできない場合の復旧方法を示す。
なお、PVIDの情報だけでなく、その他情報も消失していないかどうか、事前に確認
(> odmget -q "name=hdisk2" CuAt)を行うこと。
 > lspv
 hdisk0   00062171886e4be5   rootvg
 hdisk1   000f8dcd7038c730    rootvg
 hdisk2   
none             uservg        <-- PVIDの情報がODMから消失
 
 参考)上記と同一の環境(再現テスト環境)を作る
 > exportvg uservg
 > odmdelete -o CuAt -q "name=hdisk2 AND attribute=pvid"
 

1.
ODM情報のバックアップを取得する

  以下ファイルのバックアップを取得する
  /etc/objrepos/Cu*
  /etc/objrepos/Pd*
  /usr/lib/objrepos/sm_*

2.いったんuservgに割り当てていたディスク(hdisk2)を削除し、再認識し直す。
 > rmdev -l hdisk2 -d      <-- デバイスの削除
 > cfgmgr -vl ssar        
<-- 共有ディスク・デバイスの再認識。左はSSAディスクの場合
 > importvg -y uservg hdisk2 
<-- VGのインポートをし直す
 
3.復旧の確認を行う
  1.lsdev -C | grep hdisk、lsdev -C | grep pdisk(共有ディスク[hdisk2]が複数の物理ディスク[pdisk]で構成されている場合)

  2.lspv
    uservgをHACMPの引継ぎ対象としている場合は、サーバ両系でPVIDが一致していること

  3.lsvg、df -k
    マウント状況の確認
 


分類 FAQ
説明

RS/6000,AIX,Linux