2015年10月11日日曜日

2015/10/10(土) 計算機環境の整備

●学習環境に関するアンケート 準備
続き。学部の会議に提出する資料として、昨年度の依頼文(Wordファイル)を流用して今年度版を作った。さらにこの依頼文と、科目一覧表(Excelファイル)、アンケートシステムの表示をそれぞれPDF化して、メール添付でIs先生に送付して確認を依頼した。

学部事務室には会議に報告事項1件を追加する旨をメールで連絡した。

●研究室内Wikiの更新
日程のページに10/18(日)の学内害虫駆除について追記した。

●進路指導Webサイトの更新
A先生からメールで流れてきた資料をWebサイトに掲載した。

昨夜用意した現B3, M1向けの告知をメールで流した。

●就職活動の指導
卒研生の就職活動についてMLを通じて10/05(月)に問い合わせたが、どの卒研生からも応答がなかった。A先生に前回報告から変わりない旨のみを報告した。

●計算機環境の整備
★HP ProLiant MicroServer N54Lのメモリ増設
VMware vSphere Hypervisor (ESXi) 5.5のホスト sunlight として稼働している MicroServer N54L に、ずいぶん前に買ったまま放っておいた8 GBのメモリをようやく挿した。増設後に電源を投入し、仮想サーバを再び起動して、無事に動くことを確認した。

ファイルサーバ moonlight として使っているもう1台の同型機はすでに16 GBにまで増やしてある一時は減らしてその分をESXiに廻すことも考えたが、結局2台とも16 GBで動かすことになった。これまでに4 GBのメモリを挿したり8 GBのものと交換したりということを繰り返した。何回やってもMicroServerは扱いづらいと感じるが、それでもずいぶんこの手順に慣れた。

★仮想サーバの保守
サーバ dusk と素体用仮想マシン nimbus で yum update を実行した。次に aurora, dusk, nimbus をいったん poweroff して、 VMware vCenter Converter でバックアップをとった。

★仮想サーバ dawn の作成
卒研生が実験等に使うためのCentOS 7サーバとして dusk を作り、そのときに完成したシステムを置くための本番サーバの名前を dawn に決めた。この dawn をようやく作った。素体の仮想マシン nimbus をコピーして dawn に変更することでインストール作業の大部分を省略することができたが、さらに設定を調整して dusk と同様の設定にする必要はあった。これには5/16(土)にNFSの設定をしたときの記録や、5/10(日)に作った enable-all.sh や setse-all.sh が役に立った。

1) nimbus のバックアップをConverterで書き戻すことで仮想マシン dawn を作った。
2) dawn を起動した。
3) /etc/hostname を編集してホスト名を変えた。
4) /etc/sysconfig/network-scripts/ifcfg-ens160 を編集してIPアドレスを変えた。
5) dawn を再起動した。
6) /etc/fstab を編集してリモートマウントの設定を有効にした。

  NFSサーバ名:/パス名 /home nfs    tcp,rsize=8192,wsize=8192        0 0

7) SELinuxの設定のうちホームディレクトリのNFSマウントを有効にした。

  setsebool -P use_nfs_home_dirs on

8) NFSサーバ (FreeNAS 9.3)側で「Authorized IP addresses」に dawn のIPアドレスを追記した。
9) dawn を再起動した。
10) dawnの /etc/httpd/conf.d/userdir.conf を編集して2か所の「public_html」を「html_dawn」に変更した。
11) dawn の httpd を再起動した。

  systemctl restart httpd

12) SambaやMariaDBのサービスを有効にした。 httpd が読むべきユーザのディレクトリがNFS上にあるからか、それとも public_html ではなく html_dawn であるからか、 httpd_enable_homedirs はonでもoffでも関係ないようであるが、これもとにかく有効にしてある。

  setsebool -P use_nfs_home_dirs on
  setsebool -P httpd_enable_homedirs on
  setsebool -P httpd_use_nfs on
  setsebool -P httpd_can_connect_ldap on

  systemctl enable mariadb
  systemctl start mariadb

まだ十分な動作確認はしておらず、1行だけのPHPスクリプトを書いて phpinfo() を出力を眺めたりphpMyAdminにログインしてみたりした程度であるが、問題なく動いているように見える。

★ifcfg-* のUUIDについて
ふと /etc/sysconfig/network-scripts/ifcfg-ens160 に記述されている設定のうちUUIDはサーバごとに変えなければならないのではないかと気になって調べた。
まず dawn において uuidgen で生成したUUIDに変更してから再起動をかけてみたが、特に動作に違いがあるようにも見えず、昨日悩んだ session_save_path() の挙動にも変わりはなかった。Webを検索したところ、この設定は放っておいて差し支えないらしいことが判ったので、結局 dawn のUUIDも元に戻した。

(参考Webページ)
piyolian: RHEL6: NIC UUID.
irix_jp: RHEL6/SL6/CentOS6 ネットワーク設定まとめ.

★仮想サーバ aurora の設定変更
サーバ aurora は卒研生が利用できるように設定していた。しかし、実験用サーバとして dusk があり、さらに本番用サーバとして dawn を作ったので、卒研生が aurora を直接使う必要性はほとんど無くなった。もし卒研生が開発したシステムを aurora に置くことがあるとしても、その導入や保守は結局のところ私がやることになるであろう。したがって aurora は私のみが使えればよい。
そこで、ファイルサーバ moonlight にあるホームディレクトリを aurora からNFSでリモートマウントする設定を削除して、 aurora のローカルディスクにあるホームディレクトリをSambaで共有することにした。この作業においても5/16(土)にNFSの設定をしたときの記録が役に立った。

1) vipw /etc/passwd で学生のアカウントを削除した。 pwconv で shadow も更新した。
2) /etc/fstab からリモートマウントのエントリを削除した。
3) aurora を再起動した。
4) /etc/samba/smb.conf を確認した。もともとある程度の設定作業はしていたので特に変更の必要はなさそうであった。
5) Sambaを有効にした。

  setsebool -P samba_enable_home_dirs on
  systemctl enable nmb
  systemctl enable smb
  systemctl start nmb
  systemctl start smb

6) ファイルサーバに置いていたホームディレクトリの中身を aurora にコピーした。
7) httpd が html_aurora を読めるようにSELinuxに設定を追加した。なお、 httpd が読むべきユーザのディレクトリが public_html ではなく html_aurora であるからか httpd_enable_homedirs はonでもoffでも関係ないようであるが、とにかくこれもonのままにしてある。

  semanage fcontext -a -t httpd_user_content_t '/home/[^/]*/html_[^/]*(/.*)?'
  restorecon -R ~ユーザ名/html_aurora

最後の7)が dawn や dusk では不要であったのは、これらのサーバのホームディレクトリがNFSサーバ上にあり、なおかつSELinuxで httpd_use_nfs が有効になっているからではないかと思う。NFSを使うのをやめた aurora では7)をしたところWebブラウザから html_aurora 下のファイルにアクセスできるようになった。

●卒業研究の指導
サーバ dusk にMuさんのユーザアカウントを作り、本人にメールで連絡した。

●gw 授業準備
10/07(水)の第3回の授業中に「ブートストラップ」という言葉について言及したが、説明の中に曖昧な部分があったことを思い出したので、自室内の本をあれこれひっくり返したりWebを検索したりして調べた。
コンピュータやOSの「ブート」や「ブートストラップ」が bootstrap (靴ひも)から来ていることはもともと知っていた通りである。もとをたどれば何かの冗談に由来すると記憶していたが、これはうろ覚えであった。調べた結果、次のことが判った。

  • 「ほら吹き男爵」の話に、沼に落ちたときに自分の靴ひもを引っ張って自分を引き上げたという話がある。 参考文献: リンク1, リンク2.
  • "pull itself by the bootstraps" という表現には「自力で(何かしらを)する」というような意味がある。
  • コンパイラの分野で「ブートストラップ」とは「ある機種の既存のコンパイラを利用して別の機種のコンパイラを作成する手法」を指す。参考文献: 情報処理学会: 「情報処理ハンドブック」(第1版), オーム社, 1989.
  • ダグラス・エンゲルバートは「仕事を進める手段を改良できる有望な研究成果を研究者がフィードバックする」ことについて、このような研究者たちを「ブートストラップグループ」と呼ぶようになった。参考文献: Bardini, T., 森田 哲(訳): 「ブートストラップ―人間の知的進化を目指して」, コンピュータ・エージ社, 2002.
  • 「パイレーツ・オブ・カリビアン」シリーズの2作目と3作目に登場する Bootstrap Bill の名前の由来は、上記のような意味合いや冗談とは無関係である。

意外に、OSの本の索引を見ても「ブート」が見当たらないことが多かった。専門用語というよりごく普通の言葉として扱われているようである。ただし、ブートの過程が学術的な興味の対象になりにくくて言及そのものが少ないという側面もあるのかもしれない。

●その他
G先生からある1年次生にpkの資料を渡すよう依頼されたので、来週10/12(月)の導入2で渡す旨を回答した。

自室の掃除をした。

0 件のコメント:

コメントを投稿