« 2020年6月 | トップページ | 2020年8月 »

2020年7月

2020年7月28日 (火)

IBM Spectrum Discoverのインストール

DNSを構成したのはIBM Spectrum Discoverを試してみたかったから。

IBM Spectrum Discoverは結構便利なデータインデックス用プラットフォームらしい。そして90日間無償プログラムが提供されている。これはありがたい。IBMのリンクは以下の通り。
IBM Spectrum DiscoverのURL

Spectrum DiscoverはVMWareのOVAファイルで提供されている。つまり、ESXi環境があることが前提。環境を持っている人には便利だけれども、物理サーバーで試したいと思っている人には一つ余分なハードルとなるかもしれない。データシートをみてみると、24コア+64GBメモリが必要なる。これは実にハードルが高い。そんな環境を手元で遊ばせている人は少ないだろう。実際自分の環境も仮想コアは8つまで、メモリーは全部合わせても32GB。これで無事インストールできるだろうか、、、、とりあえずトライ。

まずはOVAのダウンロード。予想通りかなりのサイズ。34GBもある。高速化したネットワークでも結構な時間がかかる。

ダウンロードページにリンクがあるインストレーションガイドも一緒にダウンロードしておく。基本的にそのガイドに沿ってインストールを行うことになる。このガイドにインストール時に入力することになるパラメータが記載されているのでインストールに先立って予め用意しておくのが安心。実はここでDNSのIPアドレスを指定しなければならず、先日のDNS構築はこの為でした。

OVAからVMを立ち上げると早速エラー。コア数が足りないと言ってきた。配布されているOVAは24コアで作られている。でも実際に自分の環境が提供できるのは8コアまで。ここは仮想マシーンの設定でコア数を8に設定しなおすことで通過。

VMが立ち上がったので早速以下を実行:
sudo ./mmconfigappliance

用意したパラメータを入力していく。すると、、、、

なんと(やっぱり)最小メモリ量の64GBに満たないからインストールしないと言ってきた。

Discoverinstall

これはこまった。自分が使っている一般的なミニタワーPCでは最大メモリーサイズは32GB。これでは自分の仮想環境ではDiscoverがインストールできないってことかぁ。クラウドの仮想サーバーを使うとしても64GBは大きい(高い)し、、、

善後策を練る必要がある。でも、インストールはとても簡単だってことは分かったので、なんとかメモリーのハードルを越えたいものだ。

2020年7月26日 (日)

Raspberry Pi 4 の到着

Raspberry Pi 4が届いた。スムーズにスタートするためにStart Kitでのスタート。

Img03031

まずは梱包物の確認。一通りのパーツが入っていて一安心。MicroSDカードはプリインストール済みなのでらくちん。
Img03044

やっぱりこの箱を開ける時が一番ドキドキ。中には梱包材が入っているわけでもなく、カードが丸裸で入っている。
Img03046

ケースに入れてMicroSDをセットして結線してパワーオン。
Img03049

一通りのUpgradeを勝手に行ってくれて無事立ち上がった。

これから自主トレ開始になる。コーチはBlue Backs「Raspberry Piで学ぶ電子工作」。で、早々にはまった。
Pythonでソフトを書いていくわけだけれど、Python IDLEがプログラミングメニューに無い。どういうことか???
グーグル検索して以下に貴重な情報があった(救いの神あり)。
Raspberry PiでメニューにPythonとかIDLEが見つからなかった時にやったこと
まずは「設定」→「Main Menu Editor」でPython IDLEにチェックを入れるとのガイドがあった。でも、Main Menu EditorにPython IDLEがない。上記情報では、idleのインストールが必要かもと重要なアドアイスが書かれていた。
で、以下を実行した。
sudo apt-get install idle-python2.7
sudo apt-get install idle-python3.7

インストール後、Main Menu Editorに以下が現れた。
IDLE (using Python 2.7)
Python 3 (IDLE)

Main Menu Editorでこれらにチェックをいれてイ、IDLEが使用可能となった。

Blue Backsコーチの元、無事自主トレが開始できることになった訳だけれども、Raspberry Pi 4ではPython IDLEを使うのは古いってことなんだろうか?との戸惑いが残る初日となった。

2020年7月23日 (木)

VMWare上のCentOS7.7でDNSを立ち上げた

とあるアプリケーションを試してみたくなった。で、そのアプリケーションはDNSでのFQNを前提としている。前から、自前DNSがあるといろいろと便利だろうと思っていたので立ち上げてみた。

環境はCentOS 7.7。VMWare ESXi 6.0, Parent OSはWindows10。
VMは20GBディスク+1GBメモリの最小構成。

Step1: bindをインストール

# yum -y install bind bind-utils

Step2: /etc/named.confの編集

options {
// listen-on port 53 { 127.0.0.1; };  << コメントアウト
listen-on port 53 { 192.168.1.250; }; << 実際にListenするIPアドレスに変更
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; };     << コメントアウト
allow-query { 192.168.1.0/24; };  << 受け付けるIPアドレス

正引き用に以下を追加する。ここではドメイン名としてpathpilot.localを、/var/namedに保存する設定ファイル名をpathpilot.localにしている。
zone "pathpilot.local" IN {
  type master;
  file "pathpilot.local";
  allow-update { none; };
};

逆引き用に以下を追加する。
zone "1.168.192.in-addr.arpa" IN {
     type master;
     file "pathpilot.local.rev";
     allow-update { none; };
};

Step3: /var/named/pathpilot.localの作成

以下の内容でpathpilot.localを作成。serialは任意の数字列で良いみたい。
DNSとしてpath01.pathpilot.local、このpath01と今回登録したいdiscoverのIPアドレスを設定する。

$TTL 1D
@ IN SOA path01.pathpilot.local. root.pathpilot.local. (
      2020072301 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
    IN NS path01.pathpilot.local.
path01 IN A 192.168.1.250
discover IN A 192.168.1.120

新たにDNSにサーバーを追加した場合は、discoverの下にサーバー名とそのIPアドレスを追記すればよい。

Step4: /var/named/pathpilot.local.revの作成

$TTL 1D
@ IN SOA path01.pathpilot.local. root.pathpilot.local.(
               2020072301 ; serial
               1D ; refresh
               1H ; retry
               1W ; expire
               3H ) ; minimum
       IN NS path01.pathpilot.local.
250 IN PTR path01.pathpilot.local.
120 IN PTR discover.pathpilot.local.

新たにDNSにサーバーを追加した場合は、IPアドレスの最後値(discoverの場合は192.168.1.120の120)とサーバー名を追加すればよい。

Step5: ちゃんと設定できたか確認

/etc/named.confの確認。何も表示されなければOKなんだと思う。
# named-checkconf

Step3で作成したファイルの確認
# named-checkzone pathpilot.local /var/named/pathpilot.local
zone pathpilot.local/IN: loaded serial 2020072301
OK
#

Step4で作成したファイルの確認
# named-checkzone pathpilot.local.rev /var/named/pathpilot.local.rev
zone pathpilot.local.rev/IN: loaded serial 2020072301
OK
#

Step6: Firewallの設定

以下コマンドを実行してFirewallにdnsサービスを追加、確認する。
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client dns ssh
  ports:  
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Step7: namedのスタート

# systemctl start named
# systemctl enable named
# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
Active: active (running) since 木 2020-07-23 16:49:24 JST; 2s ago
Process: 67484 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 67496 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
Process: 67494 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
Main PID: 67498 (named)
Tasks: 4
CGroup: /system.slice/named.service
└─67498 /usr/sbin/named -u named -c /etc/named.conf

7月 23 16:49:24 localhost.localdomain named[67498]: zone 1.168.192.in-addr.arpa/IN: loaded serial 2020072301
7月 23 16:49:24 localhost.localdomain named[67498]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: zone localhost/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: zone pathpilot.local/IN: loaded serial 2020072301
7月 23 16:49:24 localhost.localdomain named[67498]: zone localhost.localdomain/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: all zones loaded
7月 23 16:49:24 localhost.localdomain named[67498]: running
7月 23 16:49:24 localhost.localdomain named[67498]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted
7月 23 16:49:24 localhost.localdomain named[67498]: resolver priming query complete
#

以上でDNSサーバーの設定は完了。次にDNSクライアント側からDNSにアクセスして動作確認する。

Step8: DNSクライアント側の設定と正引きと逆引きの確認

クライアント側でも以下をインストール。
yum install bind-utils

その後、以下を実施。
resolv.confの設定
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.250
domain pathpilot.local
#

正引きの確認
# nslookup discover.pathpilot.local
Server: 192.168.1.250
Address: 192.168.1.250#53

Name: discover.pathpilot.local
Address: 192.168.1.120

#

逆引きの確認
# nslookup 192.168.1.250
250.1.168.192.in-addr.arpa name = path01.pathpilot.local.



以上でDNSの設定は完了。

追記:
/var/named/pathpilot.localと.revを変更したら、変更内容を反映させるために以下を実行のこと。
systemctl restart named

 

2020年7月 4日 (土)

Spectrum Scale GUIのインストール その2

新しい環境のScaleにGUIをインストールしようとしたら大いにはまった。

以下をインストールしようとしたら依存性を指摘された。
[root@snode-0 work]# rpm -ihv lib64boost_regex1.53.0-1.53.0-5-omv2013.0.x86_64.rpm
警告: lib64boost_regex1.53.0-1.53.0-5-omv2013.0.x86_64.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID bf81de15: NOKEY
エラー: 依存性の欠如:
libicui18n.so.51()(64bit) は lib64boost_regex1.53.0-1.53.0-5.x86_64 に必要とされています
libicuuc.so.51()(64bit) は lib64boost_regex1.53.0-1.53.0-5.x86_64 に必要とされています
[root@snode-0 work]#

で、以下から探してきてインストールしようとしたら再び依存性問題。
https://pclinuxos.pkgs.org/rolling/pclinuxos-x86_64/lib64icu51-51.2-3pclos2015.x86_64.rpm.html

[root@snode-0 work]# rpm -ihv lib64icu51-51.2-3pclos2015.x86_64.rpm
エラー: 依存性の欠如:
icu-data >= 51.2 は lib64icu51-51.2-3pclos2015.x86_64 に必要とされています
[root@snode-0 work]#

で、以下から坂してきてインストールが完了した。
https://pclinuxos.pkgs.org/rolling/pclinuxos-x86_64/icu-data-51.2-3pclos2015.noarch.rpm.html

[root@snode-0 work]# rpm -ihv icu-data-51.2-3pclos2015.noarch.rpm
準備しています... ################################# [100%]
更新中 / インストール中...
1:icu-data-51.2-3pclos2015 ################################# [100%]
[root@snode-0 work]# rpm -ihv lib64icu51-51.2-3pclos2015.x86_64.rpm
準備しています... ################################# [100%]
更新中 / インストール中...
1:lib64icu51-51.2-3pclos2015 ################################# [100%]
[root@snode-0 work]# rpm -ihv lib64boost_regex1.53.0-1.53.0-5-omv2013.0.x86_64.rpm
警告: lib64boost_regex1.53.0-1.53.0-5-omv2013.0.x86_64.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID bf81de15: NOKEY
準備しています... ################################# [100%]
更新中 / インストール中...
1:lib64boost_regex1.53.0-1.53.0-5 ################################# [100%]
[root@snode-0 work]#

こんなことは以前なかったので嫌な予感。
次にpostgresqlのインストールでつまづき。

[root@snode-0 work]# rpm -ivh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm を取得中
curl: (22) The requested URL returned error: 404 Not Found
エラー: https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm をスキップします - 転送に失敗しました

URLが無いと言っている。で、代わりに以下を実行。

[root@snode-0 work]# yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
読み込んだプラグイン:fastestmirror, langpacks
pgdg-redhat-repo-latest.noarch.rpm | 6.5 kB 00:00:00
/var/tmp/yum-root-YH2Gsr/pgdg-redhat-repo-latest.noarch.rpm を調べています: pgdg-redhat-repo-42.0-11.noarch
/var/tmp/yum-root-YH2Gsr/pgdg-redhat-repo-latest.noarch.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ pgdg-redhat-repo.noarch 0:42.0-11 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

中略ーーーーー

インストル:ー
pgdg-redhat-repo.noarch 0:42.0-11

完了しました!
[root@snode-0 work]#

嫌な予感は的中。Performance Collectorが動かない。

[root@snode-0 build]# systemctl status pmcollector -l
● pmcollector.service - zimon collector daemon
Loaded: loaded (/usr/lib/systemd/system/pmcollector.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since 土 2020-07-04 12:26:04 JST; 5s ago
Process: 3987 ExecStart=/opt/IBM/zimon/sbin/pmcollector -C /opt/IBM/zimon/ZIMonCollector.cfg -R /var/run/perfmon (code=exited, status=1/FAILURE)
Main PID: 3987 (code=exited, status=1/FAILURE)

7月 04 12:26:04 snode-0 pmcollector[3987]: /opt/IBM/zimon/sbin/pmcollector: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /lib64/libicuuc.so.51)
7月 04 12:26:04 snode-0 pmcollector[3987]: /opt/IBM/zimon/sbin/pmcollector: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /lib64/libicui18n.so.51)
7月 04 12:26:04 snode-0 systemd[1]: Unit pmcollector.service entered failed state.
7月 04 12:26:04 snode-0 systemd[1]: pmcollector.service failed.
7月 04 12:26:04 snode-0 systemd[1]: pmcollector.service holdoff time over, scheduling restart.
7月 04 12:26:04 snode-0 systemd[1]: Stopped zimon collector daemon.
7月 04 12:26:04 snode-0 systemd[1]: start request repeated too quickly for pmcollector.service
7月 04 12:26:04 snode-0 systemd[1]: Failed to start zimon collector daemon.
7月 04 12:26:04 snode-0 systemd[1]: Unit pmcollector.service entered failed state.
7月 04 12:26:04 snode-0 systemd[1]: pmcollector.service failed.
[root@snode-0 build]#

ログを見ると以下を訴えている。
/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /lib64/libicuuc.so.51)

ここからは以下の情報をもとに対処した。
https://qiita.com/MyDeacy/items/03e8c529a9076e1e7691

以下をダウンロードした。
https://bigsearcher.com/mirrors/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz

/usr/local/srcを作ってそこに上記tar.gzを展開した。
# tar -xzfv gcc-9.2.0.tar.gz

ディレクトリーを移動。
# cd /usr/local/src/gcc-9.2.0

依存関係をダウンロード。
# ./contrib/download_prerequisites

ビルド用ディレクトリ作成し、移動。
# mkdir build
# cd build

Makefile作成
# ../configure --enable-languages=c,c++ --prefix=/usr/local --disable-bootstrap --disable-multilib

Makeとインストール
# make
# make install

設定
# vi /etc/ld.sl.conf
最後の行に以下を追記。
/usr/local/lib64

反映
ldconfig -v

ここまでやって(ビルドに数時間かかった)エラーが解消されない。

今作ったはずのlibstdc++so.6はどこにあるのか???

[root@snode-0 /]# find -name libstdc++.so.6

./root/work/src/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
./usr/lib64/libstdc++.so.6

どうやら、今つくったビルド環境の中にあるようだ。その中をみると、libstdc++.so.6はシンボリックリンクになっていて、libstdc++.so.6.27にリンクしている。
[root@snode-0 /]# ls /root/work/src/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 -l
lrwxrwxrwx 1 root root 19 7月 4 11:29 /root/work/src/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 -> libstdc++.so.6.0.27

他方はlibstdc++.so.6.19をリンクしている。
[root@snode-0 /]# ls /usr/lib64/libstdc++.so.6 -l
lrwxrwxrwx. 1 root root 19 2月 11 17:54 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
今の環境では/usr/lib64を参照しているであろうから、ここのシンボリックリンクを今作ったモジュールに書き換えてやればいいだろう。で、以下を実行した。
/usr/lib64に移動して、libstdc++.so.6のリンクを削除。
[root@snode-0 lib64]# unlink ./libstdc++.so.6
ここのlibstdc++.so.6を今作ったlibstdc++.so.6.27にリンクさせる。
[root@snode-0 lib64]# ln -s /root/work/src/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27 ./libstdc++.so.6

これで無事pmcollectorが動くようになった。

[root@snode-0 lib64]# systemctl status pmcollector -l
● pmcollector.service - zimon collector daemon
Loaded: loaded (/usr/lib/systemd/system/pmcollector.service; enabled; vendor preset: disabled)
Active: active (running) since 土 2020-07-04 12:37:29 JST; 3min 55s ago
Main PID: 31521 (pmcollector)
Tasks: 13
Memory: 6.1M
CGroup: /system.slice/pmcollector.service
└─31521 /opt/IBM/zimon/sbin/pmcollector -C /opt/IBM/zimon/ZIMonCollector.cfg -R /var/run/perfmon

7月 04 12:37:29 snode-0 systemd[1]: Started zimon collector daemon.
[root@snode-0 lib64]# ls /root/work/src/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 -l

しかし、これは何か変だ。このScaleが動いている環境自体が怪しい。。。。。

 

 

 

 

2020年7月 2日 (木)

Spectrum Scale GUIのインストール

忘れない内に、、、
Scale GUIのインストール
以下RPMのインストール
rpm -ivh ....
/usr/lpp/mmfs/5.0.3.0/gpfs_rpms/gpfs.java-5.0.3-x.x86_64.rpm 
/usr/lpp/mmfs/5.0.3.0/zimon_rpms/rhel7/gpfs.gss.pmsensors-5.0.3-0.el7.x86_64.rpm
libboost_regex.so.1.53.0のインストール(pmcollectorに必要)
  boost-regex-1.53.0-27.el7.x86_64.rpmをダウンロードしインストール
/usr/lpp/mmfs/5.0.3.0/zimon_rpms/rhel7/gpfs.gss.pmcollector-5.0.3-0.el7.x86_64.rpm
PostgreSQL serverのインストール (gpfs.guiに必要)
# rpm -ivh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
# yum install postgresql10 postgresql10-libs postgresql10-server postgresql10-contrib
/usr/lpp/mmfs/5.0.3.0/gpfs_rpms/gpfs.gui-5.0.3-0.noarch.rpm
以上でgpfs guiのインストールは完了。
systemctl start gpfsgui で開始
startがエラーになった場合、ssytemctl status gpfsgui で確認
check4pgsqlがstatus=1でエラー終了している場合は
systemctl status postgresql-10.service で、サービスがinactiveで有ることを確認(これが原因)
systemctl start postgresql-10.service を実行。
systemctl start gpfsgui を再度実行。
Browserからguiをインストールしたノードをアクセス。
最初のGUIアクセスでCLIにてユーザーを作成するようにガイドがでる。ユーザー名としてrootは使えないの(仮にrootでアカウントを作ってもGUIにログオンする際にrootでのログオンは拒絶される)。
Performance Collectorをセットアップする。
センサーを全てのNodeにインストールする。
/usr/lpp/mmfs/5.0.3.0/zimon_rpms/rhel7/gpfs.gss.pmsensors-5.0.3-0.el7.x86_64.rpm
GUIノードで以下を実行し、各ストレージノードのコレクターをイネーブルにする。
      # mmchnode --perfmon -N snode-0,snode-1
CollectorとSensorの各ノード間の時間が15分以上ずれているとCollectorはSensorからデータを収集しない。以下のEventが発生する(pnodeのStatusがDegradeと表示される。そこをクリックするとイベントリストが表示される。その場合はNTPの再同期を実施 (systemctl restart chronyd)。
gui_pmsensors_connection_failed
Cause: The performance monitoring sensor service 'pmsensors' is not sending any data. The service might be down or the time of the node is more that 15 minutes away from the time on the node hosting the performance monitoring collector service 'pmcollector'.

« 2020年6月 | トップページ | 2020年8月 »