ラベル メインフレーム の投稿を表示しています。 すべての投稿を表示
ラベル メインフレーム の投稿を表示しています。 すべての投稿を表示

2010年3月22日月曜日

続・メインフレームエミュレータでLinuxを動かす(5)

今回は、fedora11/s390xにインストールしたDB2 v9.7の動作確認を行いたいと思います。

まず、インストール中に作成したDB2インスタンス"db2inst1"のインスタンスオーナーユーザーである"db2inst1"ユーザーでfedora11/s390xにログインします。パスワードはDB2のインストール中に設定したものを使用します。
[hercules@ap01 ~]$ ssh -l db2inst1 192.168.200.3
db2inst1@192.168.200.3's password:

"db2start"コマンドでdb2inst1インスタンスを起動します。"SQL1063N  DB2START processing was successful" メッセージが表示されれば、インスタンスの起動に成功しています。
db2inst1@localhost ~]$ db2start
03/19/2010 11:42:36     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.

DB2にはサンプルデータベース作成用のコマンド"db2sampl"が付属しています("db2sample"ではないので注意)ので、これを実行します。"'db2sampl' processing complete."のメッセージが表示されれば完了です。
[db2inst1@localhost ~]$ db2sampl

  Creating database "SAMPLE"...
  Connecting to database "SAMPLE"...
  Creating tables and data in schema "DB2INST1"...
  Creating tables with XML columns and XML data in schema "DB2INST1"...

  'db2sampl' processing complete.

作成した"SAMPLE"データベースに接続してみます。 "db2 connect to sample"を実行します。Database server名が"DB2/LINUXZ64"になっていますね。
[db2inst1@localhost ~]$ db2 connect to sample

   Database Connection Information

 Database server        = DB2/LINUXZ64 9.7.1
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE

"SAMPLE"データベース内のテーブル一覧を表示してみます。 "db2 list tables"を実行します。
[db2inst1@localhost ~]$ db2 list tables

Table/View                      Schema          Type  Creation time
------------------------------- --------------- ----- --------------------------
ACT                             DB2INST1        T     2010-03-19-11.53.14.863451
ADEFUSR                         DB2INST1        S     2010-03-19-11.53.51.886267
CATALOG                         DB2INST1        T     2010-03-19-11.54.38.632393
CL_SCHED                        DB2INST1        T     2010-03-19-11.53.12.168361
CUSTOMER                        DB2INST1        T     2010-03-19-11.54.37.661858
DEPARTMENT                      DB2INST1        T     2010-03-19-11.53.12.344265
DEPT                            DB2INST1        A     2010-03-19-11.53.12.769500
EMP                             DB2INST1        A     2010-03-19-11.53.13.125422
EMPACT                          DB2INST1        A     2010-03-19-11.53.14.835833
EMPLOYEE                        DB2INST1        T     2010-03-19-11.53.12.784090
EMPMDC                          DB2INST1        T     2010-03-19-11.54.12.189308
EMPPROJACT                      DB2INST1        T     2010-03-19-11.53.14.673046
EMP_ACT                         DB2INST1        A     2010-03-19-11.53.14.851410
EMP_PHOTO                       DB2INST1        T     2010-03-19-11.53.13.139212
EMP_RESUME                      DB2INST1        T     2010-03-19-11.53.13.589414
INVENTORY                       DB2INST1        T     2010-03-19-11.54.37.422684
IN_TRAY                         DB2INST1        T     2010-03-19-11.53.15.151188
ORG                             DB2INST1        T     2010-03-19-11.53.15.263343
PRODUCT                         DB2INST1        T     2010-03-19-11.54.36.979472
PRODUCTSUPPLIER                 DB2INST1        T     2010-03-19-11.54.39.421663
PROJ                            DB2INST1        A     2010-03-19-11.53.14.385700
PROJACT                         DB2INST1        T     2010-03-19-11.53.14.398559
PROJECT                         DB2INST1        T     2010-03-19-11.53.14.011351
PURCHASEORDER                   DB2INST1        T     2010-03-19-11.54.38.075299
SALES                           DB2INST1        T     2010-03-19-11.53.15.464041
STAFF                           DB2INST1        T     2010-03-19-11.53.15.359394
STAFFG                          DB2INST1        T     2010-03-19-11.53.48.101443
SUPPLIERS                       DB2INST1        T     2010-03-19-11.54.39.021910
VACT                            DB2INST1        V     2010-03-19-11.53.15.712022
VASTRDE1                        DB2INST1        V     2010-03-19-11.53.15.904366
VASTRDE2                        DB2INST1        V     2010-03-19-11.53.15.955794
VDEPMG1                         DB2INST1        V     2010-03-19-11.53.15.806789
VDEPT                           DB2INST1        V     2010-03-19-11.53.15.560107
VEMP                            DB2INST1        V     2010-03-19-11.53.15.640160
VEMPDPT1                        DB2INST1        V     2010-03-19-11.53.15.851954
VEMPLP                          DB2INST1        V     2010-03-19-11.53.16.344550
VEMPPROJACT                     DB2INST1        V     2010-03-19-11.53.15.773254
VFORPLA                         DB2INST1        V     2010-03-19-11.53.16.159036
VHDEPT                          DB2INST1        V     2010-03-19-11.53.15.607765
VPHONE                          DB2INST1        V     2010-03-19-11.53.16.301730
VPROJ                           DB2INST1        V     2010-03-19-11.53.15.674485
VPROJACT                        DB2INST1        V     2010-03-19-11.53.15.739944
VPROJRE1                        DB2INST1        V     2010-03-19-11.53.16.009754
VPSTRDE1                        DB2INST1        V     2010-03-19-11.53.16.058355
VPSTRDE2                        DB2INST1        V     2010-03-19-11.53.16.108992
VSTAFAC1                        DB2INST1        V     2010-03-19-11.53.16.201096
VSTAFAC2                        DB2INST1        V     2010-03-19-11.53.16.248972

  47 record(s) selected.

テーブルの定義を表示させる場合は"db2 describe table <テーブル名>"コマンドを使います。 "STAFF"テーブルに対してこのコマンドを実行してみます。
[db2inst1@localhost ~]$ db2 describe table staff

                                Data type                     Column
Column name                     schema    Data type name      Length     Scale Nulls
------------------------------- --------- ------------------- ---------- ----- ------
ID                              SYSIBM    SMALLINT                     2     0 No
NAME                            SYSIBM    VARCHAR                      9     0 Yes
DEPT                            SYSIBM    SMALLINT                     2     0 Yes
JOB                             SYSIBM    CHARACTER                    5     0 Yes
YEARS                           SYSIBM    SMALLINT                     2     0 Yes
SALARY                          SYSIBM    DECIMAL                      7     2 Yes
COMM                            SYSIBM    DECIMAL                      7     2 Yes

  7 record(s) selected.

STAFFテーブルに対してSQLを発行してみます。
[db2inst1@localhost ~]$ db2 "select id,name,dept from staff"

ID     NAME      DEPT
------ --------- ------
    10 Sanders       20
    20 Pernal        20
    30 Marenghi      38
    40 O'Brien       38
    50 Hanes         15
    60 Quigley       38
    70 Rothman       15
    80 James         20
    90 Koonitz       42
   100 Plotz         42
   110 Ngan          15
   120 Naughton      38
   130 Yamaguchi     42
   140 Fraye         51
   150 Williams      51
   160 Molinare      10
   170 Kermisch      15
   180 Abrahams      38
   190 Sneider       20
   200 Scoutten      42
   210 Lu            10
   220 Smith         51
   230 Lundquist     51
   240 Daniels       10
   250 Wheeler       51
   260 Jones         10
   270 Lea           66
   280 Wilson        66
   290 Quill         84
   300 Davis         84
   310 Graham        66
   320 Gonzales      66
   330 Burke         66
   340 Edwards       84
   350 Gafney        84

  35 record(s) selected.

"db2 terminate"コマンドで、接続を解除できます(db2inst1インスタンスは停止しません)。
[db2inst1@localhost ~]$ db2 terminate
DB20000I  The TERMINATE command completed successfully.

"db2stop"コマンドを実行すると、"db2inst1"インスタンスが停止します。
[db2inst1@localhost ~]$ db2stop
2010-03-19 12:01:07     0   0   SQL1064N  DB2STOP processing was successful.
SQL1064N  DB2STOP processing was successful.

非常に簡単ですが、DB2インストール後の動作確認を行ってみました。

2010年3月21日日曜日

続・メインフレームエミュレータでLinuxを動かす(4)

今回は、"DB2 v9.7 Linux on zseries"をfedora11 on s390x (fedora11/s390x)にインストールしたいと思います。

DB2のインストールに当たっては、母艦Linuxの性能がそれなりでないとツライです。CentOS (s390)を動作させていた環境(Windows上のVirtualPC2007)でDB2のインストールを試したところ、インストーラの起動に30分ぐらいかかってしまいました。 さすがにこれでは先が思いやられるので、今回からは母艦のLinux(CentOS 5.4)をネイティブで(仮想環境でなく)動作させています。

1. 事前準備
DB2のインストーラーにはコマンドラインのものとXを使用するものがあるようですが、(自分も含めて)初心者にはXを使用するものが便利だと思います。インストールには長時間を要すると思われるので、今回はfedora11/s390x上でVNCを起動し、VNC下で動作するtwm/xterm上でDB2インストーラーを起動することにしました。yumでVNC関連のパッケージをインストールするために、以下のコマンドを実行します。
# yum -y install xterm twm vnc-server xauth
  DB2インスタンスの作成には"libstdc++.so.5"も必要です。 このライブラリは"compat-libstdc++-33"パッケージで提供されるのですが、yumではインストールできない(パッケージが見つからない)ので、ここで"compat-gcc-32"を検索し、関連パッケージとして表示される"compat- libstdc++-33-3.2.3-68.s390x.rpm"パッケージをダウンロードし、fedora11/s390x上に持っていってrpmコマンドでインストールしました。
# rpm -ivh compat-libstdc++-33-3.2.3-68.s390x.rpm
  IBMのサイトからダウンロードしておいた"DB2 v9.7 Linux on zseries"を母艦Linuxからfedora11/s390x上にscpでコピーします。 コピー完了後、tarコマンドで展開しておきます。
[hercules@ap01 fedora11_s390x]$ scp v9.7_linux390x64_server.tar.gz katzkichi@192.168.200.3:/home/katzkichi

2. VNCサーバの起動
fedora11/s390x上でVNCサーバを起動します。 起動自体は"vncserver"コマンドで可能(初回はパスワード設定が必要)です。が、しかし今回の環境ではvncserverを"ja_JP.UTF-8"ロケールで起動すると、DB2のインストーラが文字化けするという問題に遭遇しました。
fedora11のsshdの設定はロケール情報をクライアントから引き継ぐ設定になっているようですので、母艦Linuxのロケールが"ja_JP.UTF-8"になっていると、sshで母艦側からfedora11にログインした時点でシェルのロケールが"ja_JP.UTF-8"になってしまいます。 今回は以下のように、heculesエミュレータのコンソールからログインしてVNCサーバを起動してこの問題を回避することにしました(ロケールは"POSIX"となるようです)。他の回避策としてはfedora11/s390x側でクライアントのロケールを引き継がないようにする(/etc/ssh/sshd_configをいじる)という手もあります。

3.fedora11/s390x にVNCviewerで接続する
母艦Linux上でvncviewerを起動する場合は問題ないですが、母艦Linuxとは別のマシンでvncviewerを動作させる場合、vncviewerを動作させるマシン上でルーティング設定が必要になります(sshポートフォワーディングを使う手もありますが)。以前におこなった設定が参考になると思います。 接続できると以下のような感じになります。

4. DB2インストーラーの起動
DB2のインストールイメージを展開して作成される"server"ディレクトリにcdし、"./db2setup"をタイプします。 しばらく待つと(母艦Linuxの性能にもよりますが、20分ぐらい)、以下のような"welcome"画面が表示されます。 

画面左側の"Install a product"をクリックしてしばらく待つと、以下のようにインストールする製品を選択する画面に遷移します。 今回は、"DB2 Enterprise Server Edition Version 9.7"を選択しました。

再びしばらく待つと、以下のような"Enterprise Server Edition"インストール用のウィザード画面が立ち上がります。 "Next"をクリックします。 


5. DB2インストール各種設定
以降ウィザードの質問に答える形でDB2インストールのパラメータを設定していきます。今回は以下のような設定としました(なお、各パラメータ設定の先頭の番号は、ウィザードの左側に表示されているものです)。
  • 2. "Software License Agreement" - 同意
  • 3. "Installation type" - デフォルト (変更なし)
  • 4. "Installation action" - デフォルト(変更なし)
  • 5. "Installation directory" - デフォルト(変更なし)
  • 6. "SA MP" - インストールしない ("Do not install SA MP"を選択)
  • 7. "DAS user" - デフォルト (dasusr1ユーザーのパスワードのみ設定)
  • 8. "Instance setup" - デフォルト(変更なし)
  • 9. "Partitioning options" - デフォルト(変更なし)
  • 10. "Instance owning user" - デフォルト (db2inst1ユーザーのパスワードのみ設定)
  • 11. "Fenced user" -  デフォルト (dbfenc1ユーザーのパスワードのみ設定)
  • 12. "Tools catalog" - デフォルト(変更なし)
  • 13. "Notification setup" - 後で設定する ("Do not ... "を選択)
  • 14. "Summary" - 最終確認画面 ("Finish"を押すだけ)
"Summary"画面で"Finish"を押したら、ファイルのコピーが始まります。 コピーが終わるとインストールは終了です。 今回は、以下のように「インストール中にminorな問題が発生した」というメッセージが表示されてしまいました。 

"Log File"タブも確認してみたのですが、何が問題なのかよくわかりませんでした・・・。 ま、今回はあまり気にせず(^^;)先に進むことにします。

ということで、とりあえずDB2のインストール自体は完了しました。 次回は、DB2の起動確認、"SAMPLE"データベースの作成とクエリの発行などを試してみたいと思います。

2010年3月10日水曜日

続・メインフレームエミュレータでLinuxを動かす(3)

yumの実行中に遭遇した二つ目のエラーはこんな感じでした。
-bash-4.0# yum -y install vsftpd
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.s390x 0:2.2.0-0.1.pre4.fc12 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package          Arch            Version                          Repository        Size
==========================================================================================
Installing:
 vsftpd           s390x           2.2.0-0.1.pre4.fc12              fedora           135 k

Transaction Summary
==========================================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 135 k
Downloading Packages:
vsftpd-2.2.0-0.1.pre4.fc12.s390x.rpm                               | 135 kB     00:02
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
rpmlib(PayloadIsXz) は vsftpd-2.2.0-0.1.pre4.fc12.s390x に必要とされています
Complete!
(1, [u'Please report this error in http://yum.baseurl.org/report'])
"rpm_check_debug"や"rpmlib"をキーワードにして検索してみると、どうやらrpm関連のパッケージを更新する必要があるらしいことがわかりました。パッケージの入手先はここです。以下のrpm関連のパッケージをいったん母艦のLinuxにダウンロードし、scpでFedora11にコピーします(scpを使用したのはFedora11でftpdが動いていないため)。なお、scpを実行する前に作業用としてkatzkichiユーザーをFedora11上でadduserしています。
[hercules@ap01 fedora11_s390x]$ ls *.rpm
-rw-r--r-- 1 hercules hercules 1070571  3月  3 11:47 rpm-4.7.1-2.fc11.s390x.rpm
-rw-r--r-- 1 hercules hercules  374716  3月  3 11:47 rpm-libs-4.7.1-2.fc11.s390x.rpm
-rw-r--r-- 1 hercules hercules   54661  3月  3 11:47 rpm-python-4.7.1-2.fc11.s390x.rpm
-rw-r--r-- 1 hercules hercules  105772  3月  3 11:57 xz-libs-4.999.8-0.7.beta.fc11.s390x.rpm
[hercules@ap01 fedora11_s390x]$ scp *.rpm katzkichi@192.168.200.3:/home/katzkichi
katzkichi@192.168.200.3's password:
rpm-4.7.1-2.fc11.s390x.rpm                              100% 1045KB   1.0MB/s   00:00
rpm-libs-4.7.1-2.fc11.s390x.rpm                         100%  366KB 365.9KB/s   00:00
rpm-python-4.7.1-2.fc11.s390x.rpm                       100%   53KB  53.4KB/s   00:00
xz-libs-4.999.8-0.7.beta.fc11.s390x.rpm                 100%  103KB 103.3KB/s   00:00
コピーが終わったら、rpmコマンドでパッケージのインストール/アップデートを行います。
-bash-4.0# ls -l
合計 1592
-rw-r--r-- 1 katzkichi katzkichi 1070571 2010-03-03 02:55 rpm-4.7.1-2.fc11.s390x.rpm
-rw-r--r-- 1 katzkichi katzkichi  374716 2010-03-03 02:55 rpm-libs-4.7.1-2.fc11.s390x.rpm
-rw-r--r-- 1 katzkichi katzkichi   54661 2010-03-03 02:55 rpm-python-4.7.1-2.fc11.s390x.rpm
-rw-r--r-- 1 katzkichi katzkichi  105772 2010-03-03 02:57 xz-libs-4.999.8-0.7.beta.fc11.s390x.rpm
-bash-4.0# rpm -ivh xz-libs-4.999.8-0.7.beta.fc11.s390x.rpm
準備中...                ########################################### [100%]
   1:xz-libs                ########################################### [100%]
-bash-4.0# rpm -Uvh rpm-*
準備中...                ########################################### [100%]
   1:rpm-libs               ########################################### [ 33%]
   2:rpm                    ########################################### [ 67%]
   3:rpm-python             ########################################### [100%]
これで無事にyumが使えるようになります。

次回はいよいよFedora11にDB2をインストールしたいと思います。

2010年3月9日火曜日

続・メインフレームエミュレータでLinuxを動かす(2)

今回はFedora11/s390xを起動してyumを動作させる(ただしエラーで更新が失敗する^^;)ところまで書いてみたいと思います。今回はFedora11インストール済みのDASDイメージがすでに準備されているわけなので「すぐに動くだろう」と高をくくっていたら思ったより大変でした。
まずは、上のリンク先からDASDイメージ(f11-s390x.img), README, hercules.cnf, hercules.initをとってきて、母艦のLinuxの適当なディレクトリ(今回は、/home/hercules/fedora11_s390x)に置きます。
[hercules@ap01 fedora11_s390x]$ pwd
/home/hercules/fedora11_s390x
[hercules@ap01 fedora11_s390x]$ ls -l
合計 550516
-rw-rw-r-- 1 hercules hercules      1386  7月 16  2009 README
-rw-rw-r-- 1 hercules hercules 558951862  3月  3 13:00 f11-s390x.img
-rw-rw-r-- 1 hercules hercules      1707  3月  3 01:41 hercules.cnf
-rw-rw-r-- 1 hercules hercules       966 11月 20  2008 hercules.init
READMEを読むと、hercules.initスクリプトを実行すると、トンネリングデバイスなどの各種設定を行ってからherculesを起動してくれるようですが、今回はこのスクリプトを使わずにCentOSのときと同様に手動で各種設定を行ってみます。
まずトンネリングデバイスとIPフォワーディング、IPマスカレードの設定を行います。
[root@ap01 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@ap01 ~]# chown root.hercules /dev/net/tun
[root@ap01 ~]# chmod 660 /dev/net/tun
[root@ap01 ~]# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.200.0/24 -j MASQUERADE
次に、hercules.cnfを編集して、DASDイメージへのパスを正しく設定します。今回は、/home/hercules/fedora11_s390x/f11-s390x.imgとなります。 MAINSIZEとNUMCPUはそれぞれ、1024と4となっていますので、母艦の性能に合わせて適当に変えます。今回は控えめ(?)に512と1にしてみました。
hercules -f hercules.cnfでエミュレータを起動します。以下のようにz/Architectureモードで起動していることがわかります。

エミュレータが起動したら、"IPL 122"と入力してenterしてしばらく待つと、Fedora11が起動します(下図)。
 
この時点で母艦Linux上の別の端末からsshでログインできます。 rootユーザーのパスワードは、"fedora"です。 ログインして"uname -m"コマンドを実行してみると、アーキテクチャ名が"s390x"と表示されますね。
-bash-4.0# uname -m
s390x
bogomips値も見てみます。(どの程度参考になるかわかりませんが)CentOSの時よりはだいぶ大きな値が出てるっぽいです。
-bash-4.0# dmesg | grep -i bogo
Calibrating delay loop (skipped)... 1487.00 BogoMIPS preset
無事Fedora11も起動したので、早速"yum -y update"を実行してみたところ、以下のようなエラーが出てしまいパッケージの更新ができません。
(39/39): glibc-common-2.10.90-20.s390x.rpm                         | 6.0 MB     01:11
------------------------------------------------------------------------------------------
Total                                                      80 kB/s |  28 MB     05:57
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in 
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 305, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 257, in main
    return_code = base.doTransaction()
  File "/usr/share/yum-cli/cli.py", line 422, in doTransaction
    print to_utf8(msg)
  File "/usr/lib64/python2.6/codecs.py", line 351, in write
    data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 20: ordinal not in range(128)
Googleで同様の事例がないか調べてみると、どうもpythonのデフォルトの文字コードがUTF-8でなくASCIIとして認識されていることが問題だそうな。ということで先達に習って、"/usr/lib/python2.6/site-packages/"に以下の内容で、名前が"sitecustomize.py"というファイルを作って、再度実行してみました。
import sys
sys.setdefaultencoding("utf-8")
再度yumを実行してみると、"UnicodeDecodeError:..."のエラーは出なくなりましたが、今度は別のエラーが・・・(続きます)

2010/03/09 追記: UnicodeDecodeErrorのメッセージを追記しました。

2010年3月3日水曜日

続・メインフレームエミュレータでLinuxを動かす(1)

 さて、前回までCentOS v4.7 for S/390をHerculesエミュレータ上で動作させるためにいろいろと書いてきたわけですが、ネタにも尽きてきた(^^;)今日この頃、ふと思い立って検索してみると、IBMの商用RDBMSであるDB2 v9.7のメインフレームLinux向けのトライアル版がIBMの開発者向けwebサイトからダウンロードできる(要登録)ことに気がつきました。 
「これはなんとしても試さねば!」と早速ダウンロードを開始したわけなのですが、よく見れば"Linux for System z (64 bit)"の文字が・・・ えー、今まで使ってきたCent OSにはインストールできないじゃん・・・ (前回まで試していたCentOS v4.7 for S/390は31bit S/390アーキテクチャ用)。

さて、どうしたものでしょうか。CentOS v4.7のs390x(64bit)アーキテクチャ用を再度インストールするという手もありますが、CentOS v4.7では、いかんせん導入されているパッケージが古く、やや時代遅れな感もあります。

というわけで(少々強引な展開ですが)、s390xアーキテクチャ用の別Distributionに乗り換え、その上でDB2のトライアル版を試してみることにします。 選択した(といってもあまり選べない^^;)Distroは以前紹介したFedora11(s390xアーキテクチャ)です。 さて、どうなることやら・・・。

2010年2月20日土曜日

メインフレームエミュレータでLinuxを動かす(12)

前回に続いて、MovableType v4のインストールを行います。MovableType v4にはウィザード形式の設定ツールが添付されており、webブラウザからウィザードを実行すれば設定できてしまいます。うーん、便利。
1.設定ウィザードの起動
Webブラウザからhttp://192.168.200.1/cgi-bin/mt/mt.cgiにアクセスすると、「Movable Typeへようこそ」の画面が表示されますので、"Static web path"と"Static file path" を以下のように設定して「開始」ボタンを押下しました。ところが、「現在のサーバーの構成上その場所にはWebブラウザからアクセスできません」と表示されてしまいました。
とりあえず 今回は、/var/www/cgi-bin/mt/mt-staticディレクトリを/var/www/html以下に移動することにしました。 mt-staticディレクトリの移動後、再びインストールウィザードを起動すると、今度はメッセージが微妙(下図)に変化しています。 変更後の"Static web path", "Static file path"を入力し、「開始」ボタンを押下すると・・・。
 今度は、以下のような画面が表示されました。インストールが継続できるようになりましたので、「次へ」ボタンを押下します。
2. データベース関連の設定
データベース関連の設定値を入力する画面が表示されます。 前回設定したデータベースの設定値をそのまま入力して、「接続テスト」ボタンを押下します。

正しく構成されていれば、「データベースの設定が完了しました。」と表示されますので、「次へ」を押下します。
3. メールアドレスの設定
Blogにコメントなど追加されたときに通知が来るメールアドレスの設定を行います(下図)。通知にはsendmailを使うんですか・・・。 そういえば、sendmail を停止していたことがあったような気がしますが、おもむろに(^^;)立ち上げなおして("# serivice sendmail strat")から、以下のように入力して、「テストメール送信」ボタンを押下します。
正しく送信できれば、「メール設定を完了しました。」と表示されます。「次へ」を押下すると、以下のように「構成を以下のファイルに書き込んだ」旨の画面が表示されますので、再び「次へ」を押下します。

4. システム管理者アカウントの設定
なんだか、s390用のLinuxの話題とはまったく関係のない話になってきてしまいましたが(^^;)、もう少しMovableType v4の設定画面が続きます。 システム管理者アカウントを作成せい、といわれますので設定します。

電子メールアドレスは、hogehoge@localhostではメールアドレスとしては不適切なようなので、今回はとりあえずそれっぽいものを入力して、お茶を濁しました(^^;)。 入力を終えたら「次へ」を押下します。

5. 最初のblogの作成
システム管理者アカウントを作成後、最初のBlogを作成する旨が表示されます。今回の設定では、MovableType v4は/var/www/html以下にBlogを作成しますので、apacheユーザーでそのディレクトリに読み書きできるようパーミッションを設定しました。
[root@localhost mt]# chown apache.apache /var/www/html
[root@localhost mt]# ls -dl /var/www/html
drwxr-xr-x  3 apache apache 4096 Feb  7 23:25 /var/www/html
以下のように入力した後、「インストール」を押下します。

データベースの初期化が完了すると、以下のような画面が表示され、MovableTypeにサインインできるようになります。
「Movable Typeにサインイン」ボタンを押下してサインインすると、"Blog on s390"のダッシュボードが表示されました。
 

以上で、MovableTypeのインストール・設定は完了です。CentOS for s390といってもやはり「普通の」linuxなんだなー、ということが分かりました。

2010年2月14日日曜日

メインフレームエミュレータでLinuxを動かす(11)

今回と次回の2回でCentOS/390にBlogツールとして有名なMovableTypeのインストール手順を紹介したいと思います。メインフレーム用Linuxといってもアプリケーションをインストールする上では普通のLinuxなので、(s390特有の理由で)特にはまる点はないと思います。
今回はMovableType v4を動作させるための下準備を、次回はMovableType付属のツールを使用した環境設定作業を紹介したいと思います。なお、MovableTypeの最新版は、2010/2月時点でv5なのですが、CentOS/390がサポートしているMySQLのバージョンがv4.1である都合上、今回はMovableType v4のインストールを行うことにしました。
1. MySQLとApacheのインストール
yumのgroupinstallコマンドで"MySQL Database"と"Web Server"をインストールします。これで十分かと思いきや、どうやらデータベース本体を動作させるためのパッケージはgroupinstallではインストールされない模様なので、"mysql-server"は別途インストールしました。
[root@localhost ~]# yum -y groupinstall "MySQL Database"
[root@localhost ~]# yum -y groupinstall "Web Server"
[root@localhost ~]# yum -y install mysql-server
ここで試しにapacheが起動できるか試してみました。以下のコマンドでapacheを起動します。
[root@localhost ~]# service httpd start
Starting httpd: [  OK  ]
WebブラウザでCentOS/390(http://192.168.200.1)にアクセスすると、以下のようにapacheのテストページが表示され、apacheが動作していることが確認できます。

2. MovableTypeのインストール
MovableType v4(個人ライセンス版)のzipファイルをここからダウンロードし、CentOS/390の/home/katzkichiにコピーした後(前回設定したSamba経由だと便利)、unzipで展開し、/var/www/cgi-bin/mtにおきます。
[katzkichi@localhost ~]$ unzip -q MT-4_27-ja.zip
[katzkichi@localhost ~]$ su -
Password:
[root@localhost ~]# cd /home/katzkichi
[root@localhost katzkichi]# ls -ltr
total 6940
drwxr-xr-x  14 katzkichi katzkichi    4096 Dec 24 11:58 MT-4.27-ja
drwxr-xr-x   2 katzkichi katzkichi    4096 Jan 30 12:03 Desktop
-rwxr--r--   1 katzkichi katzkichi 7082231 Feb  3 23:49 MT-4_27-ja.zip
[root@localhost katzkichi]# mkdir /var/www/cgi-bin/mt
[root@localhost katzkichi]# mv MT-4.27-ja/* /var/www/cgi-bin/mt
[root@localhost katzkichi]# ls -l /var/www/cgi-bin/mt
total 136
drwxr-xr-x   4 katzkichi katzkichi  4096 Dec 24 11:58 addons
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 alt-tmpl
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 default_templates
drwxr-xr-x  39 katzkichi katzkichi  4096 Dec 24 11:58 extlib
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 import
-rw-r--r--   1 katzkichi katzkichi  3248 Dec 24 11:58 index.html
drwxr-xr-x   3 katzkichi katzkichi  4096 Dec 24 11:58 lib
-rwxr-xr-x   1 katzkichi katzkichi   401 Dec 24 11:58 mt-add-notify.cgi
-rwxr-xr-x   1 katzkichi katzkichi   390 Dec 24 11:58 mt-atom.cgi
-rwxr-xr-x   1 katzkichi katzkichi   383 Dec 24 11:58 mt.cgi
-rwxr-xr-x   1 katzkichi katzkichi 20000 Dec 24 11:58 mt-check.cgi
-rwxr-xr-x   1 katzkichi katzkichi   399 Dec 24 11:58 mt-comments.cgi
-rw-r--r--   1 katzkichi katzkichi  1647 Dec 24 11:58 mt-config.cgi-original
-rwxr-xr-x   1 katzkichi katzkichi   469 Dec 16 15:00 mt-cp.cgi
-rwxr-xr-x   1 katzkichi katzkichi   400 Dec 24 11:58 mt-feed.cgi
-rwxr-xr-x   1 katzkichi katzkichi   405 Dec 24 11:58 mt-ftsearch.cgi
-rwxr-xr-x   1 katzkichi katzkichi   393 Dec 24 11:58 mt-search.cgi
drwxr-xr-x  16 katzkichi katzkichi  4096 Dec 24 11:58 mt-static
-rwxr-xr-x   1 katzkichi katzkichi   392 Dec 24 11:58 mt-tb.cgi
-rwxr-xr-x   1 katzkichi katzkichi   883 Dec 24 11:58 mt-testbg.cgi
-rwxr-xr-x   1 katzkichi katzkichi   396 Dec 24 11:58 mt-upgrade.cgi
-rwxr-xr-x   1 katzkichi katzkichi   346 Dec 24 11:58 mt-wizard.cgi
-rwxr-xr-x   1 katzkichi katzkichi  1084 Dec 24 11:58 mt-xmlrpc.cgi
drwxr-xr-x   5 katzkichi katzkichi  4096 Dec 24 11:58 php
drwxr-xr-x  17 katzkichi katzkichi  4096 Dec 24 11:58 plugins
-rw-r--r--   1 katzkichi katzkichi  4771 Dec 24 11:58 readme.html
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 search_templates
drwxr-xr-x   7 katzkichi katzkichi  4096 Dec 24 11:58 tmpl
drwxr-xr-x   2 katzkichi katzkichi  4096 Dec 24 11:58 tools
apacheがMovableTypeのCGIを実行可能なように、パーミッションを変えておきます。
[root@localhost katzkichi]# chown -R apache.apache /var/www/cgi-bin/mt
3. mysqldの起動とrootパスワードの設定
まず、mysqldを起動します。
[root@localhost ~]# /etc/init.d/mysqld start
Initializing MySQL database:  [  OK  ]
Starting MySQL:  [  OK  ]
次に、管理ユーザーである"root"のパスワードを設定します。
[root@localhost ~]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SET PASSWORD FOR root@localhost=PASSWORD('XXXXXXXXXX');
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
念のため、パスワードが設定されていないユーザーをすべて削除しておきます。
[root@localhost ~]# mysql -uroot -pXXXXXXXXXX
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>  DELETE FROM user WHERE password='';
Query OK, 1 row affected (0.00 sec)
mysql> exit
Bye
4. データベースの作成とMovableType用のユーザー定義
Blogデータを格納するデータベースと、CGI経由でそのデータベースを参照・更新するためのユーザーを作成します。今回はデータベース名は"mtdb", ユーザー名は"katzkichi"とします。
まず、"mtdb"データベースを作成します。mysqlshowコマンドで"mtdb"データベースが作成されたことを確認できます。
[root@localhost ~]# mysqladmin -u root -pXXXXXXXXXX CREATE mtdb
[root@localhost ~]# mysqlshow -pXXXXXXXXXX
+-----------+
| Databases |
+-----------+
| mtdb      |
| mysql     |
| test      |
+-----------+
次に、katzkichiユーザーにmtdbへのアクセス権を与えます。"IDENTIFIED BY"句でパスワードを指定します。
[root@localhost ~]# mysql -u root -pXXXXXXXXXX mtdb
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> GRANT all privileges ON mtdb.* TO katzkichi@localhost IDENTIFIED BY 'YYYYYYYYYY';
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
katzkichiユーザーでmtdbにアクセスできるか確認します。
[root@localhost ~]# mysql -ukatzkichi -pYYYYYYYYYY mtdb
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 32 to server version: 4.1.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show tables;
Empty set (0.00 sec)

mysql> exit
Bye

次回はMovableType v4の付属ツールを使用して、CentOS/390でBlog環境を設定したいと思います。

2010年2月8日月曜日

CentOS/390でJava6使えます

前回、「次回はMovableTypeをインストールします」と書いていたのですが、CentOS/390で(gcjでない)Javaが使えると分かったので、備忘録として書いておこうと思います。
ここから、"IBM 31-bit SDK for Linux on zSeries architecture, Java Technology Edition 2009-12-18" (Java6)がダウンロードできます(要ユーザー登録)。
RPM形式をダウンロードして、CentOS/390にインストールしてみました。なお、依存関係でcompat-libstdc++-33パッケージが必要なので、yumで先にインストールしています。
[root@localhost katzkichi]# yum -y install compat-libstdc++-33
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for compat-libstdc++-33 to pack into transaction set.
compat-libstdc%2B%2B-33-3 100% |=========================| 3.5 kB    00:00
---> Package compat-libstdc++-33.s390 0:3.2.3-47.3 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 compat-libstdc++-33     s390       3.2.3-47.3       base              233 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 233 k
Downloading Packages:
(1/1): compat-libstdc++-3 100% |=========================| 233 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: compat-libstdc++-33          ######################### [1/1]

Installed: compat-libstdc++-33.s390 0:3.2.3-47.3
Complete!
[root@localhost katzkichi]# rpm -ivh ibm-java-s390-sdk-6.0-7.0.s390.rpm
Preparing...                ########################################### [100%]
   1:ibm-java-s390-sdk      ########################################### [100%]
"java -version"を実行してみました。
[root@localhost katzkichi]# /opt/ibm/java-s390-60/bin/java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build pxz3160sr7-20091215_02(SR7))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux s390-31 jvmxz3160sr7-20091214_49398 (JIT enabled, AOT enabled)
J9VM - 20091214_049398
JIT  - r9_20091123_13891
GC   - 20091111_AA)
JCL  - 20091202_01

最新のJavaが使えることが分かったので(パフォーマンスはともかくとして)、さらに色々と楽しめそうです。

メインフレームエミュレータでLinuxを動かす(10)

s390用といってもCentOSなので、普通のLinuxサーバとして動作させるためには(s390用だからといって)特別な設定は必要ありません。
今回はCentOS for s390(以下CentOS/390)上でSambaを動作させ、CentOS/390上に定義されている一般ユーザーのホームディレクトリを母艦Linuxと同じLAN上にあるWindowsマシンからネットワークドライブとして使用可能とするように設定したいと思います。

1. CentOS/390でsambaをインストールし、sambaサービスを起動する。
yumでsambaをインストールします。 groupinstallで"Windows File Server"を指定するのがよさそうです。
[root@localhost ~]# yum -y groupinstall "Windows File Server"
Setting up Group Process
Setting up repositories
update                    100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
addons                    100% |=========================|  951 B    00:00
extras                    100% |=========================|  951 B    00:00
Setting up repositories
Reading repository metadata in from local files
Passing package list to Install Process
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba to pack into transaction set.
samba-3.0.28-0.c4.9.s390. 100% |=========================| 114 kB    00:05
---> Package samba.s390 0:3.0.28-0.c4.9 set to be updated
---> Downloading header for system-config-samba to pack into transaction set.
system-config-samba-1.2.2 100% |=========================|  22 kB    00:00
---> Package system-config-samba.noarch 0:1.2.21-1.el4.1 set to be updated
---> Downloading header for sysreport to pack into transaction set.
sysreport-1.3.15-8.noarch 100% |=========================| 9.5 kB    00:00
---> Package sysreport.noarch 0:1.3.15-8 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 samba                   s390       3.0.28-0.c4.9    base               16 M
 sysreport               noarch     1.3.15-8         base               19 k
 system-config-samba     noarch     1.2.21-1.el4.1   base              191 k

Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 16 M
Downloading Packages:
(1/3): samba-3.0.28-0.c4. 100% |=========================|  16 MB    10:12
(2/3): system-config-samb 100% |=========================| 191 kB    00:11
(3/3): sysreport-1.3.15-8 100% |=========================|  19 kB    00:01
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: samba                        ######################### [1/4]
  Installing: system-config-samba          ######################### [2/4]
  Installing: sysreport                    ######################### [3/4]
  Removing  : sos                          ######################### [4/4]

Installed: samba.s390 0:3.0.28-0.c4.9 sysreport.noarch 0:1.3.15-8 system-config-samba.noarch 0:1.2.21-1.el4.1
Complete!
インストールが完了したら、sambaのサービスを起動します。
[root@localhost ~]# service smb start
Starting SMB services: [  OK  ]
Starting NMB services: [  OK  ]
2. Sambaユーザーを設定する。
Sambaユーザーを設定します。 CentOS/390上の一般ユーザー(今回はkatzkichiユーザー)のホームディレクトリを共有可能としたいと思います。"smbpassword"コマンドでkatzkichiユーザーのパスワードを設定します。
[root@localhost ~]# smbpasswd -a katzkichi
New SMB password:
Retype new SMB password:
Added user katzkichi.
3. Windows上でCentOS/390へのstatic routeを設定する。
Windows上のコマンドプロンプトから以下のコマンドを実行して、CentOS/390へのstatic routeを設定します。10.1.243.222はCentOS/390を動作させている母艦LinuxのIPアドレスです
C:\Documents and Settings\katzkichi>route ADD 192.168.200.1 MASK 255.255.255.255 10.1.243.222
routeを設定したら、pingが通るか確認するとよいです。
C:\Documents and Settings\katzkichi>ping -n 1 192.168.200.1

Pinging 192.168.200.1 with 32 bytes of data:

Reply from 192.168.200.1: bytes=32 time=8ms TTL=63

Ping statistics for 192.168.200.1:
    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 8ms, Maximum = 8ms, Average = 8ms
ちなみに、(当たり前ですが)この段階でWindows上から直接CentOS/390にsshログインできるようになります。結構便利です。
4. ネットワークドライブの割り当て
ネットワークドライブの割り当てを行います。Windowsのデスクトップにある"マイネットワーク"アイコンを右クリックして、「ネットワークドライブの割り当て」を選択すると以下のような画面が表示されます。 ドライブは"Z:"、フォルダには"\\192.168.200.1\katzkichi"を指定して、「完了」を押下します。

以下のような画面が表示されたら、ユーザー名に"katzkichi"、パスワードには2.で設定したものを指定し、「OK」を押下します。

うまく接続できれば、/home/userのホームディレクトリがwindows上で表示されます。

ホームディレクトリに読み書きできるか確認してみるとよいです。 Windows上からホームディレクトリを直接読み書きできるようになるとなかなか便利です。

次回は、(無謀なことに)BlogツールであるMovableTypeのインストールに挑戦します!

2010年1月30日土曜日

メインフレームエミュレータでLinuxを動かす(9)

今回は新しくDASDを追加し、ルートファイルシステム("/")の拡張を行いたいと思います。インストール時点でauto partitionを選択した結果、ルートファイルシステムはLogical Volume Manager (LVM)管理下のVolume Group(VG)に含まれる論理ボリューム(LV)であるLogVol00上にマウントされています。ここの情報を参考にルートファイルシステムを拡張したいと思いますが、このマニュアルではLVM管理下のファイルシステムの拡張については扱っていないので、若干追加の作業が必要です。

1. DASDファイルの追加
母艦Linux上で新たにDASDファイルを作ります。 今回は3390-1型のDASDを作ることにしました。VOLSERは"DASD02"です。
[hercules@ap01 centos_v47_s390]$ dasdinit -lfs DASD02 3390-1 DASD02
HHCDU044I Creating 3390 volume DASD02: 1113 cyls, 15 trks/cyl, 56832 bytes/track
HHCDU041I 1113 cylinders successfully written to file DASD02
HHCDI001I DASD initialization successfully completed.
2. hercules.cnfの編集
hercules.cnfにdevice 0121としてDASD02を足します。
[hercules@ap01 centos_v47_s390]$ vi hercules.cnf
# 0580    3420    ickdsf.ipl
  0120    3390    DASD01
  0121    3390    DASD02 
3. herculesの起動
herculesを起動します。herculesがDASD02を正しく認識していれば、下図のようにherculesコンソールで確認できます。

4. DASDをオンラインにする。
CentOS for s390にrootでログインし、以下のようにしてdevice番号0121のDASDをオンラインにします。今回の環境では、DASD02は/dev/dasdbとして認識されました。
[root@localhost]# cd /sys/bus/ccw/drivers/dasd-eckd/
[root@localhost dasd-eckd]# ls
0.0.0120  0.0.0121
[root@localhost dasd-eckd]# cd 0.0.0121
[root@localhost 0.0.0121]# ls
alias         cmb_enable  detach_state  discipline  online    uid       vendor
availability  cutype      devtype       erplog      readonly  use_diag
[root@localhost 0.0.0121]# cat online
0
[root@localhost 0.0.0121]# echo 1 > online
[root@localhost 0.0.0121]# ls -ltr
total 0
-r--r--r--  1 root root 4096 Jan 16 13:24 vendor
-rw-r--r--  1 root root 4096 Jan 16 13:24 use_diag
-r--r--r--  1 root root 4096 Jan 16 13:24 uid
-rw-r--r--  1 root root 4096 Jan 16 13:24 readonly
-rw-r--r--  1 root root 4096 Jan 16 13:24 erplog
-r--r--r--  1 root root 4096 Jan 16 13:24 discipline
-r--r--r--  1 root root 4096 Jan 16 13:24 devtype
-r--r--r--  1 root root 4096 Jan 16 13:24 cutype
-rw-r--r--  1 root root 4096 Jan 16 13:24 cmb_enable
-r--r--r--  1 root root 4096 Jan 16 13:24 availability
-r--r--r--  1 root root 4096 Jan 16 13:24 alias
-rw-r--r--  1 root root 4096 Jan 16 13:24 detach_state
-rw-r--r--  1 root root    0 Jan 16 13:24 online
lrwxrwxrwx  1 root root    0 Jan 16 13:24 block -> ../../../../block/dasdb
/dev/dasd以下に dasdbが追加されています。
[root@localhost ~]# ls -l /dev/dasd*
brw-rw----  1 root disk 94, 0 Jan 17 05:16 /dev/dasda
brw-rw----  1 root disk 94, 1 Jan 17 05:16 /dev/dasda1
brw-rw----  1 root disk 94, 2 Jan 17 05:16 /dev/dasda2
brw-rw----  1 root disk 94, 4 Jan 17 05:54 /dev/dasdb
/dev/dasd:
total 0
drwxr-xr-x  2 root root 100 Jan 17 05:16 0.0.0120
drwxr-xr-x  2 root root  60 Jan 17 05:54 0.0.0121
5. DASDをフォーマットし、パーティションを作成する。
DASD02を"dasdfmt"コマンドでフォーマットした後、"fdasd"コマンドでパーティションを作成します。今回は/dev/dasdb1の1パーティションのみ作成しました。
[root@localhost 0.0.0121]# dasdfmt -b 4096 -d cdl -f /dev/dasdb -l DASD02 -p -y

cyl  1113 of  1113 |##################################################| 100%

Finished formatting the device.
Rereading the partition table... ok
[root@localhost 0.0.0121]# fdasd /dev/dasdb
reading volume label: VOL1
reading vtoc        : ok

Command action
   m   print this menu
   p   print the partition table
   n   add a new partition
   d   delete a partition
   v   change volume serial
   t   change partition type
   r   re-create VTOC and delete all partitions
   u   re-create VTOC re-using existing partition sizes
   s   show mapping (partition number - data set name)
   q   quit without saving changes
   w   write table to disk and exit

Command (m for help): p

Disk /dev/dasdb:
    1113 cylinders,
      15 tracks per cylinder,
      12 blocks per track
    4096 bytes  per block
volume label: VOL1, volume identifier: DASD02
maximum partition number: 3

 ------------------------------- tracks -------------------------------
               Device      start      end   length   Id  System
                               2    16694    16693       unused

Command (m for help): n
First track (1 track = 48 KByte) ([2]-16694):
Using default value 2
Last track or +size[c|k|M] (2-[16694]):
Using default value 16694

Command (m for help): p

Disk /dev/dasdb:
    1113 cylinders,
      15 tracks per cylinder,
      12 blocks per track
    4096 bytes  per block
volume label: VOL1, volume identifier: DASD02
maximum partition number: 3

 ------------------------------- tracks -------------------------------
               Device      start      end   length   Id  System
          /dev/dasdb1          2    16694    16693    1  Linux native

Command (m for help): w
writing VTOC...
rereading partition table...
[root@localhost 0.0.0121]# 

6. PV (Physical Volume)の作成とVGの拡張
DASD上のパーティションをVGに所属させるためにPV化し、次に"VolGroup01" VGに所属させてVGを拡張します。
[root@localhost 0.0.0121]# pvcreate /dev/dasdb1 
  Physical volume "/dev/dasdb1" successfully created
[root@localhost 0.0.0121]# vgextend VolGroup01 /dev/dasdb1
  Volume group "VolGroup01" successfully extended
pvscanコマンドで/dev/dasdb1がVG VolGroup01の一部になったことが確認できます。
[root@localhost 0.0.0121]# pvscan 
  PV /dev/dasda2   VG VolGroup01   lvm2 [2.19 GB / 32.00 MB free]
  PV /dev/dasdb1   VG VolGroup01   lvm2 [768.00 MB / 768.00 MB free]
  Total: 2 [2.94 GB] / in use: 2 [2.94 GB] / in no VG: 0 [0   ]
7. LV の拡張とファイルシステムの拡張
ルートファイルシステムが載っているLV("LogVol00")を拡張し、その後ルートファイルシステムを新しいLVのサイズに合わせて拡張します。今回はdasda2の残り32MB+dasdb1の768MBあわせて800MB拡張することにします。
[root@localhost 0.0.0121]# lvextend -L +800MB /dev/VolGroup01/LogVol00
  Extending logical volume LogVol00 to 2.53 GB
  Logical volume LogVol00 successfully resized
pvscanを実行すると、すべてのPE (Physical Extent)を使い切ったことが分かります。
[root@localhost 0.0.0121]# pvscan 
  PV /dev/dasda2   VG VolGroup01   lvm2 [2.19 GB / 0    free]
  PV /dev/dasdb1   VG VolGroup01   lvm2 [768.00 MB / 0    free]
  Total: 2 [2.94 GB] / in use: 2 [2.94 GB] / in no VG: 0 [0   ]
ext2onlineで ルートファイルシステムを拡張します(注:最近のlinuxではresize2fsコマンドでext3ファイルシステムのオンライン拡張を行うようですが、CentOS v4.7 for s390に付属のresize2fsはマウントされているファイルシステムを拡張できないようです。)
[root@localhost 0.0.0121]# ext2online /dev/VolGroup01/LogVol00
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
dfコマンドでルートファイルシステムの使用状況を確認します。 拡張前は使用率86%だったので、無事ファイルシステムが拡張されたことが分かります。
[root@localhost 0.0.0121]# df -m
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup01-LogVol00
                          2550      1456       966  61% /
/dev/dasda1                 97        16        77  17% /boot
none                       125         0       125   0% /dev/shm

8.次回の起動時のための準備
今回追加したDASDが次回の起動時も自動的に利用可能になるように準備します。まず、/etc/modprobe.confの"options dasd_mod dasd="の行に、",121"を追加します。
[root@localhost 0.0.0121]# cat /etc/modprobe.conf

alias ctc0 ctc
options dasd_mod dasd=120,121
alias scsi_hostadapter zfcp
次に/bootにあるinitrd.imgを再作成します。
[root@localhost 0.0.0121]# cd /boot
[root@localhost boot]# mv initrd-2.6.9-78.0.8.EL.img initrd-2.6.9-78.0.8.EL.img.org
[root@localhost boot]# mkinitrd -v initrd-2.6.9-78.0.8.EL.img 2.6.9-78.0.8.EL
Creating initramfs
Looking for deps of module scsi_mod
Looking for deps of module sd_mod        scsi_mod
Looking for deps of module scsi_mod
Looking for deps of module unknown
Looking for deps of module zfcp  qdio scsi_transport_fc scsi_mod
Looking for deps of module qdio
Looking for deps of module scsi_transport_fc     scsi_mod
Looking for deps of module scsi_mod
Looking for deps of module scsi_mod
...
...
Loading module zfcp
Loading module dm-mod
Loading module dasd_mod with options dasd=120,121
Loading module dasd_eckd_mod
Loading module dasd_fba_mod
Loading module jbd
Loading module ext3
Loading module dm-mirror
Loading module dm-zero
Loading module dm-snapshot
最後に"zipl -V"コマンドを実行します。
[root@localhost boot]# zipl -V
Using config file '/etc/zipl.conf'
Target device information
  Device..........................: 5e:00
  Partition.......................: 5e:01
  Device name.....................: dasda
  Device driver name..............: dasd
  DASD device number..............: 0120
  Type............................: disk partition
  Disk layout.....................: ECKD/compatible disk layout
  Geometry - heads................: 15
  Geometry - sectors..............: 12
  Geometry - cylinders............: 3339
  Geometry - start................: 24
  File system block size..........: 4096
  Physical block size.............: 4096
  Device size in physical blocks..: 25596
Building bootmap '/boot//bootmap'
Building menu 'rh-automatic-menu'
Adding #1: IPL section '2.6.9-78.0.8.EL' (default)
  kernel image......: /boot/vmlinuz-2.6.9-78.0.8.EL at 0x10000
  kernel parmline...: 'root=/dev/VolGroup01/LogVol00' at 0x1000
  initial ramdisk...: /boot/initrd-2.6.9-78.0.8.EL.img at 0x800000
Adding #2: IPL section 'linux'
  kernel image......: /boot/vmlinuz-2.6.9-78.EL at 0x10000
  kernel parmline...: 'root=/dev/VolGroup01/LogVol00' at 0x1000
  initial ramdisk...: /boot/initrd-2.6.9-78.EL.img at 0x800000
Preparing boot device: dasda (0120).
Preparing boot menu
  Interactive prompt......: enabled
  Menu timeout............: 15 seconds
  Default configuration...: '2.6.9-78.0.8.EL'
Syncing disks...
Done.

以上でルートファイルシステムの拡張は終了です。 問題なく起動できるか再起動してみるのがよいと思います。
次回は各種サーバを動かしてみたいと思います。

2010年1月26日火曜日

メインフレームエミュレータでLinuxを動かす(8)

さて引き続きCentOS for s390をいじって行きたいと思います。インストールも無事終わりましたので、なにはともあれアップデートを行います。 アップデートを行う前に、DASDファイルのバックアップを取っておくのもよいです(万が一の時にすぐにインストールの直後の状態に戻せる)。
アップデート自体は、"yum -y update"を実行するのみです(以下は少し端折っています)。
 
[root@localhost ~]# yum -y update
Setting up Update Process
Setting up repositories
update                    100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
addons                    100% |=========================|  951 B    00:00
extras                    100% |=========================|  951 B    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================|  93 kB    00:00
update    : ################################################## 256/256
primary.xml.gz            100% |=========================| 543 kB    00:35
base      : ################################################## 1437/1437
primary.xml.gz            100% |=========================|  194 B    00:00
primary.xml.gz            100% |=========================| 1.8 kB    00:00
extras    : ################################################## 4/4
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for util-linux to pack into transaction set.
...
...
---> Downloading header for bash to pack into transaction set.
bash-3.0-19.7.c4.1.s390.r 100% |=========================|  48 kB    00:00
---> Package bash.s390 0:3.0-19.7.c4.1 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 kernel                  s390       2.6.9-78.0.8.EL  update             17 M
 sos                     noarch     1.7-6.6.c4       base              102 k
     replacing  sysreport.noarch 1.3.15-8

Updating:
 Canna                   s390       3.7p3-9.c4       update            7.2 M
 Canna-libs              s390       3.7p3-9.c4       update            449 k
 ...
 vsftpd                  s390       2.0.1-7.c4       update            142 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update      54 Package(s)
Remove       0 Package(s)
Total download size: 85 M
Downloading Packages:
(1/56): util-linux-2.12a- 100% |=========================| 1.5 MB    00:03
...
(56/56): bash-3.0-19.7.c4 100% |=========================| 1.8 MB    00:10
warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821
Public key for util-linux-2.12a-24.c4.s390.rpm is not installed
Retrieving GPG key from http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
Importing GPG key 0x443E1821 "CentOS-4 key "
Key imported successfully
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : setup                        ##################### [  1/111]
  ...
  ...
Complete!
アップデートが完了したら、再起動します。
# shutdown -h now
Herculesのコンソールで、HHCCP010Iメッセージが出たら、再度IPLします。
...
Shutting down interface ctc0:
   OK  !
Shutting down loopback interface:
   OK  !
Starting killall:
   OK  !
Sending all processes the TERM signal...

Sending all processes the KILL signal...
Saving random seed:
Turning off swap:

Turning off quotas:
Unmounting pipe file systems:

Unmounting file systems:

Halting system...
md: stopping all md devices.
md: md0 switched to read-only mode.
HHCCP042I SYSCONS interface inactive
Power down.
CPU0000: SIGP Stop and store status (09) CPU0000, PARM 00000000: CC 0
HHCCP010I CPU0000 store status completed.
Command ==> IPL 120
CentOS for s390が起動したらrootユーザーで再度loginします。
# ssh 192.168.200.1
[root@ap01 ~]# ssh 192.168.200.1
root@192.168.200.1's password:
Last login: Sat Jan 16 12:38:27 2010 from 192.168.200.2
今後の作業のために一般ユーザーを追加し、一旦ログアウトします。
[root@localhost ~]# useradd -d /home/hoge hoge
[root@localhost ~]# passwd hoge
Changing password for user hoge.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# exit
logout
先ほど追加した一般ユーザーで再度ログインします。
[hercules@ap01 ~]$ ssh -l hoge 192.168.200.1
hoge@192.168.200.1's password:
[hoge@localhost ~]$
次は、デフォルトで起動しているサービスのうち使わないものを停止したいと思います(エミュレータ上でCentOSを動作させているので、無駄なものは極力動かしたくないのです)
[hoge@localhost ~]$ su - 
Password: 
[root@localhost ~]# chkconfig --list
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
cups            0:off   1:off   2:on    3:on    4:on    5:on    6:off 
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
rpcgssd         0:off   1:off   2:off   3:on    4:on    5:on    6:off
messagebus      0:off   1:off   2:off   3:on    4:on    5:on    6:off
iiim            0:off   1:off   2:on    3:on    4:on    5:on    6:off
psacct          0:off   1:off   2:off   3:off   4:off   5:off   6:off
netdump         0:off   1:off   2:off   3:off   4:off   5:off   6:off
rawdevices      0:off   1:off   2:off   3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
tux             0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
readahead       0:off   1:off   2:off   3:off   4:off   5:on    6:off
auditd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
dc_server       0:off   1:off   2:off   3:off   4:off   5:off   6:off
netplugd        0:off   1:off   2:off   3:off   4:off   5:off   6:off
haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off
ipmi            0:off   1:off   2:off   3:off   4:off   5:off   6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
kudzu           0:off   1:off   2:off   3:off   4:off   5:off   6:off
mdmpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
xfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
rhnsd           0:off   1:off   2:off   3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
rpcidmapd       0:off   1:off   2:off   3:on    4:on    5:on    6:off
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
yum             0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
ypbind          0:off   1:off   2:off   3:off   4:off   5:off   6:off
dc_client       0:off   1:off   2:off   3:off   4:off   5:off   6:off
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off
portmap         0:off   1:off   2:off   3:on    4:on    5:on    6:off
winbind         0:off   1:off   2:off   3:off   4:off   5:off   6:off
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
FreeWnn         0:off   1:off   2:off   3:off   4:off   5:off   6:off
canna           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfslock         0:off   1:off   2:off   3:on    4:on    5:on    6:off
squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off
nscd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off
readahead_early 0:off   1:off   2:off   3:off   4:off   5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
xinetd based services:
        rsync:  off
        klogin: off
        echo-udp:       off
        eklogin:        off
        gssftp: off
        echo:   off
        chargen-udp:    off
        kshell: off
        time-udp:       off
        chargen:        off
        daytime:        off
        cups-lpd:       off
        daytime-udp:    off
        krb5-telnet:    off
        time:   off

cups/sendmailはこのマシン上では動かしていてもしょうがない気がする(^^;)ので停止し、もう立ち上がらないようにします(ちなみにランレベルはrunlevelコマンドで確認できます)。
[root@localhost ~]# service cups stop
Stopping cups: [  OK  ]
[root@localhost ~]# service sendmail stop
Shutting down sm-client: [  OK  ]
Shutting down sendmail: [  OK  ]
[root@localhost ~]# chkconfig cups off
[root@localhost ~]# chkconfig sendmail 

次回は、(前回も書きましたが)DASDの追加について書きたいと思います。

2010年1月20日水曜日

Fedora11 on s390x

Fedora Projectでもs390xアーキテクチャの検討をしているようです。 Preview版のようですがFedora11インストール済みのHercules用DASDイメージもあるみたいです。 

2010年1月17日日曜日

メインフレームエミュレータでLinuxを動かす(7)

前回の続きです。


9. AnacondaでのCentOS v4.7 インストール
Hercules上で動作しているCentOSインストーラーにsshでログインします(rootユーザーでパスワードはありません)。
[root@ap01 ~]# ssh 192.168.200.1
The authenticity of host '192.168.200.1 (192.168.200.1)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.200.1' (RSA) to the list of known hosts.
Welcome to the Red Hat Linux install environment 1.1 for S/390
"Welcome to the Red Hat Linux install environment 1.1 for S/390"のメッセージの後しばらく待つと、インストールの間に使用したい言語を選択する画面(下図)表示されます。
"Japanese"も選択肢にありますが、選んでも「インストーラーは日本語をサポートしていません」的なメッセージが出てしまうので、大方の人は"English"を選択することになると思います。

インストール時に使用する言語を選択すると、"Install method"を選択する画面に移ります。今回は"HTTP"を選択します。
 

HTTPインストールに使用するリポジトリのサーバー名とパス名を入力します。今回は、理研のサーバー(サーバー名に"riken.ftp.jp", パス名に"/Linux/centos/4.7/os/s390")を使用させていただくことにしました(下図)。
 

"OK"を押すと、以下のような画面が表示され、リポジトリから"stage2.img"を取得しているのが分かります。 もし、「サーバーにアクセスできない」というようなメッセージが表示される場合は、前回までに設定した、IPフォワーディング/マスカレード、DNS関係の設定が正しいか確認します。


その後「Xを起動できなかった」というメッセージが表示されます(下図)。今回は "Use text mode"を選択します。

この後、"Welcome To CentOS 4.7!"と表示されるので"OK"を押下して先に進むと、"Installation Type"を選択する画面に移ります。今回は"Server"を選択します。

 次は、(s390/s390x独特の設定だと思うのですが)DASD関連の設定です。 まず、"FCP Devices"と表示された画面で"Add"を押下すると、以下のようにDASDの設定値を入力する画面がポップアップします。
正直どんな値を入力すればよく分からない(^^;)設定なのですが 、とりあえず"Device number"さえ合っていれば動きそうな感じ(実際動きました)なので、上の図のような感じで入力して"OK"を押下します。 
ポップアップ画面が消えた後、"OK"を押下すると、「パーティションテーブルが読めないからDASDを初期化するがいいか」とたずねてくる(下図)ので、"YES"を選択して、DASDを初期化します(初期化には数分かかると思います)。

 

初期化が終了すると、"Disk Partitioning Setup"という画面が表示されます(下図)。 x86のCentOS等と同様、パーティション/マウントポイント等を設定することができますが、今回は"Auto partition"を選択して、インストーラーに「おまかせ」することにします。

"Auto partition"で設定したパーティションレイアウトは以下のようになりました。LVMが使用されていますね。

DASD関係の設定の後は、ネットワーク関係の設定です。 まず、CTCの設定を行います。 入力すべきは "Point to Point (IP)"の欄だけです(その他の部分は入力済みのはずです)。 今回は"192.168.200.2"を入力します。

次はデフォルトゲートウェイおよびDNSサーバーの設定です。設定が正しければ、"OK"を押下して次に進みます。
 

この後しばらく、x86用のCentOSインストールでも行う設定が続きます。以下のような設定を行いました。
  • ホスト名(前回CentOSインストーラーに設定したものと同じ、"localhost")
  • ファイアウォールの設定(今回は"No firewall"としました)
  • SELinuxの設定(こちらも"Disabled"としました)
  • 各国語サポートの追加("日本語"を追加しました)
  • デフォルト言語の設定("English"としました)
  • タイムゾーンの設定("Asia/Tokyo"としました)
  • rootパスワードの設定
これらを設定し終えると、"Reading package information"というメッセージが表示され、数分(母艦Linuxのインターネット回線の速度や、母艦Linuxの性能にもよります)待たされます。Herculesのコンソール画面で"ESC"キーを押下すると、HerculesがエミュレーションしているCPUの各種レジスタやデバイス等の動作状況(下図)が表示されますので、Herculesが止まっていないか心配な(^^;)方は、この画面を見てみるのもよいかも知れません。

しばらくすると、以下のようなインストールパッケージの選択画面が表示されます。 今回は"Server"を選択していますので、X-window関係のパッケージはデフォルトでは選択されていません。基本的にデフォルトで選択されているものをそのままインストールすることにしましたが、"Printing Support"は外しました(パッケージサイズが結構大きいので)。

 

"OK"を押下すると、パッケージのインストールが始まります。これはかなり時間がかかる(例によって、回線スピードと母艦の性能による)と思いますので、気長に待ちます。

インストールが完了すると、以下のような画面が表示されます。

"Reboot"を押すと、CentOSインストーラーがシャットダウンされ、インストーラーを動作させていたSSH端末も切断されます。Herculesコンソールは以下のようなメッセージを表示してコマンド入力待ち状態となります。


ここでHerculesのコマンドラインから、"IPL 120"と入力してEnterするとインストールが完了したばかりのCentOS v4.7 for s390が起動します。

10. CentOS v4.7 for s390の起動
CentOS v4.7 for s390が起動完了すると、Herculesコンソールは以下のようにログインプロンプトを表示します。

コンソールのコマンドラインを使用してログインすることも可能なのですが(CentOSに渡したい文字列の先頭にピリオドをつける)、非常に使いにくいので、インストール時に行ったように、母艦Linux上でもう一つ端末を立ち上げてSSHでHercules上のCentOSにログインするのがよいと思います。

早速ログインして、"uname -m"を実行してみると・・・。

# [root@localhost ~]# uname -m
s390
おー、ハードウェア名が"s390"になっている!(当たり前ですが、ちょっとうれしいですね)
続いて、Bogomips値を確認してみます。

[root@localhost ~]# dmesg | grep -i bogomips
Calibrating delay loop... 392.39 BogoMIPS (lpj=1961984)
むう、こんなものか・・・ 比較のため母艦の方も確認してみましょう。

[hercules@ap01 ~]$ dmesg | grep -i bogomips
Calibrating delay loop (skipped), value calculated using timer frequency.. 2281.82 BogoMIPS (lpj=1140913)
母艦Linuxのbogomips値に比べて、おおよそ1/5弱の値になっているようですね。ま、こんなものでしょうか。ちなみに、我が家には玄箱HGというNASボックスもあるのですが、そいつのBogomips値は173ぐらいですので、とりあえず玄箱HGよりは速い(!?)という事になりました。 さらにもう一つ付け加えると、実は母艦LinuxもWindows上のVirtual PCで動作しています。つまり、"CentOS(s390) on Hercules on CentOS(x86) on Virtual PC on Windows"という感じで動いています。

とりあえずインストール編は今回で終了です。 次回以降は、各種サーバーアプリケーションの立ち上げや、DASDの追加などについて書きたいと思います。

2010年1月14日木曜日

メインフレームエミュレータでLinuxを動かす(6)

今回からCentOS v4.7 for s390のインストールを行うわけですが、以下注意点です。
  1. 途中でインストールを中止する場合はHerculesのコマンドライン(Herculesコンソールのカーソルが点滅しているところ)で"QUIT"と入力すると、Herculesが終了します。 
  2.  今回はCentOS v4.7のインストールに必要なRPMファイル等はインターネット上のリポジトリを利用します。母艦のLinuxは何らかの方法でインターネットにアクセス可能である必要があります(CentOS v4.7のDVDインストールイメージが利用可能な場合は、母艦のLinux上でFTPサーバーを動かして、CentOSインストーラーからアクセスさせるという方法もあります)。
 前置きが長くなりましたが、CentOS v4.7のインストールを開始したいと思います。インストールの際には、母艦上のLinuxで最低でもHerculesのコンソールを動かす端末とインストーラーに接続する端末(後述)の2つを立ち上げておく必要があります。 VNCや、GNU screenなどが便利です。

6. 母艦Linux上でのネットワーク関連の設定

Herculesが起動するとtun0というPoint-To-Pointネットワークデバイスが母艦のLinux上で使用可能になります。
# ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.200.2  P-t-P:192.168.200.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING  MTU:1500  Metric:1
          RX packets:78613 errors:0 dropped:0 overruns:0 frame:0
          TX packets:335202 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:4948166 (4.7 MiB)  TX bytes:446524718 (425.8 MiB) 
 
後々このデバイス経由でCentOSインストーラーにloginすることになるので、Point-to-PointネットワークのHercules側(192.168.200.1)にこのデバイス経由で正しく接続可能なようにstatic routeを設定しておきます。母艦のLinux上で以下のコマンドを実行します。
# route add 192.168.200.1 gw 192.168.200.2 
次に、母艦のLinuxをHercules側から見てインターネットに対してNATルーターのように動作させるために、母艦のLinux上で以下のコマンドを実行します(母艦のLinuxではeth0を使用してインターネットに接続しているものとしています)。
# echo "1" > /proc/sys/net/ipv4/ip_forward 
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.200.0/24 -j MASQUERADE

7. インストーラーの起動
HerculesのコンソールからCentOSインストーラーを起動します。Herculesのコマンドラインで、
IPL generic.ins
と入力してenterすると、下図のようにCentOSインストーラーが起動します。



インストールのステップは大きく2つの部分に分かれています。最初の部分は、CentOSインストーラーに基本的なHerculesの構成情報(DASD, CTCIのデバイスアドレスなど)を渡す部分、後の部分はおなじみのanacondaインストーラーによる部分です。
基本的にはインストーラーが聞いてくる質問に答えていけばいいのですが、(私が手順を知らないだけかもしれませんが)基本的に後戻りができません。途中で入力値を間違えると、いったんHerculesエミュレータ終了した後最初からやり直しということになります。

8. Anacondaが起動するまで
"IPL generic.ins"と入力した後、しばらくすると以下のような画面が表示され、インストーラーがユーザーからの入力待ちの状態で停止します。



ここでは、ユーザーはCentOSインストーラーに対して使用可能なネットワークアダプタの種類を伝える必要があります。今回はCTC(Channel To Channel link)を使用していますので、".ctc"と入力してenterします。 なお、".ctc"の最初のピリオドは省略できません。ピリオドを省略するとHerculesは「自身に対するコマンドが入力された」と認識してしまいます。

以下、各種ネットワーク関係のパラメータを、インストーラーに対して応答していきます。以下は今回使用したネットワーク関係のパラメータ(太字になっているものがHerculesに対する応答部分)です。ピリオドをつけるのを忘れずに!
Enter 'qeth' for OSA-Express Fast Ethernet, Gigabit Ethernet                             +
  (including 1000Base-T), High Speed Token Ring, and ATM
  (running Ethernet LAN emulation) features in QDIO mode.
Enter 'lcs' for OSA  2 Ethernet/Token Ring, OSA-Express Fast Ethernet in
  non-QDIO mode, OSA-Express High Speed Token Ring in non-QDIO mode and
  Gigabit Ethernet in non-QDIO mode.
.ctc
ctc
Enter the bus ID and the device number of your CCW devices.
CTC/ESCON and LCS need two subchannels:
(e.g. "0.0.0600,0.0.0601" will configure the CTC or ESCON interface
with the subchannels 0x600 and 0x601)
QETH needs three subchannels p.e. 0.0.0300,0.0.0301,0.0.0302
.0.0.0420,0.0.0421
0.0.0420,0.0.0421
Enter the FQDN of your new Linux guest (e.g. s390.redhat.com):
.localhost.localdomain
localhost.localdomain
Enter a valid IP address of your new Linux guest:
.192.168.200.1
192.168.200.1
Enter a valid network address of the new Linux guest:
.255.255.255.255
255.255.255.255
Enter the IP of your CTC / ESCON / IUCV point-to-point partner:
.192.168.200.2
192.168.200.2
Select which protocol should be used for the CTC interface
0 for compatibility with p.e. VM TCP service machine (default)
1 for enhanced package checking for Linux peers
3 for compatibility with OS/390 or z/OS peers
.0
0 

ネットワーク関係のパラメータを一通り入力すると、インストーラーがCTCデバイスを起動します(下図)。 少々見づらいですが、でHerculesのコマンドラインのすぐ上に、"ctc0: connected with remote side"と表示されています。この状態になると、母艦のLinuxからHercules(192.168.200.1)に対してpingが通るようになります。



最後に、DNSサーバーのIPアドレスおよびDASDのデバイスアドレスを入力します。 DASDのデバイスアドレスは今回は"120"です(hercules.cnfで設定したのと同じもの)。

Enter your DNS server(s), separated by colons (:):
.8.8.8.8
8.8.8.8
Enter your DNS search domain(s) (if any), separated by colons (:):
.

ctc0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
-00
          inet addr:192.168.200.1  P-t-P:192.168.200.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:88 (88.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.200.2   0.0.0.0         255.255.255.255 UH    0      0        0 ctc0
127.0.0.1       0.0.0.0         255.255.255.255 UH    0      0        0 lo
0.0.0.0         192.168.200.2   0.0.0.0         UG    0      0        0 ctc0

Enter DASD range (e.g. 200-203   or  200,201,202,203)
Press  for autoprobing (not recommended):

.120
120

DASDのデバイスアドレスを応答してしばらくすると、CentOSインストーラーが、
Connect now to 192.168.200.1 to start the installation
というメッセージを表示します(下図)。このメッセージが表示された後、別の端末からCentOSインストーラーに対してssh/telnetでログインすると、インストールの第2部(大部分はx86 CentOSのインストールと同様)が始まります。




次回はインストールの続きです。