続・ネットワークの設定

先週注文した物理NICが届いたので早速、PCIeスロットに取り付けました。計算した通り、基盤の短いデスクトップNICアダプターをグラフィックボードの空冷ファンに干渉しないように取り付け、サーバーアダプターのほうはグラフィックボードの遠いスロットに設置することができました。

UIで確認すると2つの物理NICが自動で認識されていました。Time is Moneyといったところでしょうか。

不意に電源が入ることを防ぐためにデフォルトで有効になっているWake on LANを無効にしてみます。

# vsish -e set /net/pNics/vmnic0/wol d
# vsish -e set /net/pNics/vmnic1/wol d
# vsish -e set /net/pNics/vmnic2/wol d
# esxcli network nic get -n vmnic0 Advertised Auto Negotiation: true Advertised Link Modes: Auto, 10BaseT/Half, 100BaseT/Half, 10BaseT/Full, 100BaseT/Full, 1000BaseT/Full Auto Negotiation: true Cable Type: Twisted Pair Current Message Level: -1 Driver Info: Bus Info: 0000:00:1f:6 Driver: ne1000 Firmware Version: 0.8-4 Version: 0.8.4 Link Detected: true Link Status: Up Name: vmnic0 PHYAddress: 0 Pause Autonegotiate: false Pause RX: false Pause TX: false Supported Ports: TP Supports Auto Negotiation: true Supports Pause: false Supports Wakeon: true Transceiver: Virtual Address: Wakeon: Disabled

# poweroff

ただし、電源投入再起動すると自動で有効に戻ってしまうのですね。今日は作業終了です。

物理NIC買い忘れた

ESXiホストと仮想マシンのIPアドレスは別に必要だったため、物理NICをAmazon.co.jp でお買い物。

ギガビット デスクトップPCI-e 10/100/1000 Mbps自動ネゴシエーションネットワークアダプタ(インテル 82574L / EXPI9301CT チップセット)NIC、シングル銅RJ45ポート(短縮版)

インテル PRO/1000 PT サーバ・アダプタ EXPI9400PT

届くのが来週なのでESXiホストのオレオレ認証局からSSL証明書をインポートしました。

「自己認証局(CA)と自己証明書(SSL)を Windows 版の XCA で管理してみる」

が詳しいので参照することをお勧めしますが、インポートはEdgeブラウザの[設定] -[証明書の管理] – [インポート]-[証明書のインポートウィザードの開始]から、作成した証明書を[インポート]しました。

ブラウザからホスト名でエラーなしでアクセスできることを確認して作業終了です。

来週こそゲストOSインストールしたいです。

VMware ESXiのホスト設定してみる

前回はRTX810のマルチセッションを張ってセカンダリのネットワークアドレスをルーティングする設定をしました。

今回はVMware ESXiをSSH接続してコマンドから、セカンダリのネットワークにホスト設定していきたいと思います。チュートリアル | Vmware ESXi IPアドレスの設定

SSHはTeraTermのショートカットをデスクトップに作成。コマンドラインをプロパティから設定します。

"C:\Program Files (x86)\teraterm\ttermpro.exe" <IP Address>:22 /auth=challenge /user=root /ask4passwd

チャレンジレスポンス認証でパスワード入力、ホストにSSHログインして作業開始。

メンテナンスモードに切り替え
# esxcli system maintenanceMode set --enable true
IPアドレス一覧確認 # esxcli network ip interface ipv4 get
静的IPアドレスを変更 # esxcli network ip interface ipv4 set -i vmk0 -I 192.168.101.10 -N 255.255.255.0 -t static -g 192.168.101.1
ゲートウェイを変更 # esxcli network ip route ipv4 add --gateway 192.168.101.1 --network 0.0.0.0

メンテナスモードを終了して再起動
# esxcli system maintenanceMode set --enable false # reboot

続いて、ブラウザから http://192.168.101.10 と入力して管理画面にログインしてホスト設定をします。

左ペインの[ネットワーク]-[TCP/IPスタック]-[デフォルトのTCP/IP]をクリックして左上のえんぴつ印の[設定の編集]からホスト名とドメインを入力して[保存]して作業終了です。

次はゲストOSのインストールをしてみたいですね。

ヤマハルーターRTX810のマルチセッション- DHCP固定IP払い出し-フィルタ型ルーティング設定してみる

新たに固定IPが必要な方にプロバイダ契約を変更せずにマルチセッションで2つ目のプロバイダ接続ができる業界最安値のインターリンク のNTT東西フレッツ対応「フレッツZOOT NEXT お試し最大2か月無料」を申し込み早速、ヤマハルーターRTX810 をフレッツ光ネクストのONU「PR-500MI」にブリッジ接続にしてマルチセッションしてみました。

今回は、YAMAHA RTX1200 。マルチセッション組む時に見落とした事
を参考にコマンドから設定してみました。


詳細は 同時接続するときの設定例ヒント/アイディア|FAQ for YAMAHA RT Series / PPPoE が役に立ちました。

デフォルトゲートウェイのpp 1, pp 2 にプライマリとセカンダリのプライベートIPアドレスをフィルターするパケットルールを適用して上記資料にあるようにNATディスクリプタを共有設定しました。

ip route default gateway pp 1 filter 600000 gateway pp 2 filter 600001
ip lan1 address 192.168.100.1/24
ip lan1 secondary address 192.168.101.1/24

ip filter 600000 pass 192.168.100.0/24 * * * *
ip filter 600001 pass 192.168.101.0/24 * * * *

dns server select 600000 pp 1 any . 192.168.100.1-192.168.100.254 dns server select 600001 pp 2 any . 192.168.101.1-192.168.101.254
dhcp scope 1 192.168.100.2-192.168.100.254/24 dhcp scope 2 192.168.101.2-192.168.101.254/24
pp select 2
ip pp nat descriptor 1000
dhcp scope bind 2 192.168.101.10 ab:cd:ef:12.34:56 ←端末のmacアドレス(DHCP固定IP払い出し

あとはコントロールパネルから固定IPを設定したWindows10からインターネットに接続できることを確認して作業終了です。

次はVMwareのホスト設定したいですね。

VMware ESXi6.7をインストールしてみた

先週の続きは、富士通PRIMERGY TX1310 m3 に2.5インチSSDを換装するためのケーブルが届き無事、SSDでのUEFI(BIOS)起動ができたところまででした。

今週は、VMware ESXi6.7 をSSDにインストールしようとしてつまづいた点をメモ。

VMware ESXi リンク:VMware vSphere Hypervisor 6.7 ダウンロード センター にたどり着き、ESXi6.7本体をダウンロード。ライセンスキーをメモしてDVDにiso として焼く→ドライブからインストーラーが起動・・・しませんorz
Google先生に訊いてみるとDVDブートは機種特有の問題があるようでした。

【TECHブログ】RX1330M3とTX1310M3ご購入時の検討点 | PG-Direct

VMware ESXi 6.x(5.x)とDebian系Linux

インストールする際には、以下のツールをご用意ください。

USBのDVDROMドライブ(機械についているのに。。。です。別途用意します。)

DVDがダメならUSBならと rufus.exe を使ってUSB起動ドライブを作成、メモリを差してサーバー起動するとESXiインストーラーが始まったようです。

VMware vSphere Hypervisor(ESXi)をインストールしてみる を参考にセットアップするとインストール完了。画面からroot アカウント、パスワードを入力してログインできました。

次はルーターやホストのネットワーク設定をしてみたいですね。

TX1310 m3のHDDベイ→2.5インチSSD延長ケーブル買い忘れた

購入前から何か嫌な予感がしていたのですよね。

TX1310 m3 が自宅に届いたので開梱したところ、3.5インチHDDベイの構造的に本体直付けのケーブルレスになっており、2.5インチSSDを取り付けるにはSATA、電源ケーブルを延長しないとマズかったようです。

幸い、Amazon.co.jp で追加注文して事なきを得ました。

コムイ 7+15pin SATA延長ケーブル オスtoメス 電源+データ伝送 (0.3m)

届くのが来週とのことなのでそれまで作業はお預けです…orz

Crucial SSD購入報告

現役のLinuxが導入から5年経ち、CentOS6 のサポート期限につきOSの更新時期に来ていたので改めてハードウェアを購入することにしました。

次期サーバー機はXeon 4コア32GBメモリ、1TB HDD x2の【サードパーティーカスタムモデル】富士通 PRIMERGY TX1310 M3(Xeon E3-1225v6/32GB/2x 1TB)

 PGダイレクトで注文済みでしたが、内蔵の3.5インチHDDベイを オウルテック 2.5インチHDD/SSD用→3.5インチサイズ変換ブラケット でSATA2.5インチSSDに交換する予定でAmazon.co.jpで注文したCrucial SSD 1000GB MX500 内蔵2.5インチ 7mm MX500 が先に自宅に届いたので購入報告。(あとケーブル、USB3.0-DVDドライブその他。)

OSの選定は悩みますがCentOS7をESXi で仮想化する予定です。

書評 – TensorFlowで始める株式投資のためのディープラーニング

手習いでPython(Windows10-Anaconda3-Jupyter Notebook) を応用できる分野として数年前からブームとなっているAIによる株価分析に興味を持っており、TensorFlowを始めたい初学者にも再現性のある本書。

TensorFlowで始める株式投資のためのディープラーニング| Amazon.co.jp

実際に全銘柄データをダウンロード、Pythonでマージするところから第1章を始めて、第2章で古典的な線形回帰分析、第3章はディープラーニングの概念、理論の説明、第4章で実際にTensorFlowで分析した結果を線形回帰分析した結果と比べて評価するまでを学習者とデータ加工、表、グラフへの出力をしてゆきます。プログラムコードはURLからもダウンロードできるのでタイプが苦手な人にもGoogle力とデバッグ知識があれば再現可能な内容となっています。AIをはじめ、ディープラーニング、機械学習の概念をつかむのに画像解析だけじゃないところが画期的といえましょう。Python で株式投資の奥深い概念をどこまで応用できるか興味のある人には最適な入門書だと思います。

PHP再コンパイル

Apache2.4をWorkerモードで起動したい・・・そんな理由で結局、PHP7.4を再コンパイルしました。

# vi /etc/httpd/conf.modules.d/00-mpm.conf

LoadModule mpm_worker_module modules/mod_mpm_worker.so ←チェックアウト
#LoadModule mpm_event_module modules/mod_mpm_event.so ←コメントアウト

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

とでたのでyum install –enablerepo=remi, remi-php74 php-mysqlnd php74-php-mysqlnd

apache停止 PHP再コンパイル apachectl -V でWorker モード起動確認しました。

[root@www conf.modules.d]# apachectl -V
[Sat Jun 27 17:27:57.558701 2020] [so:warn] [pid 3872:tid 140188049873088] AH01574: module php7_module is already loaded, skipping
Server version: Apache/2.4.43 (codeit) Server built: May 7 2020 12:24:30 Server's Module Magic Number: 20120211:92 Server loaded: APR 1.7.0, APR-UTIL 1.6.1 Compiled using: APR 1.7.0, APR-UTIL 1.6.1 Architecture: 64-bit Server MPM: worker threaded: yes (fixed thread count) forked: yes (variable process count)

新たに警告、module php7_module is already loaded, skipping がでましたが起動には問題ないのでこちらは追々、解決していくことにします。

AWSのCentOS7にPHP7.4をソースからインストール – OpenSSL1.1.1 TLS1.3 対応

AWSのCentOS7.8にPHP7.4をyumでインストールしたものの、OpenSSLのバージョンが1.0.2k-fips 26 Jan 2017と古いままだったのでOpenSSL-1.1.1g PHP7.4.7 をソースビルドしてCode-ITリポジトリからApache2.4をインストールした顛末をメモ。

CentOS7にOpenSSL1.1.1をインストール | Qiita

OpenSSLは上記記事を参考に/usr/local/openssl-1.1.1 にインストール済みです。ただパスが通っていないので以下の通りにシンボリックリンクを貼りました。追記)/usr/local/openssl-1.1.1 への環境変数も追加で登録しました。

# mv /usr/bin/openssl /usr/bin/openssl.bak
# ln -s /usr/local/openssl-1.1.1/bin/openssl /usr/bin/openssl

# export PATH=/usr/local/openssl-1.1.1/bin:$PATH

CentOS 6 の環境にPHP7をインストールしてApacheで動かすまで

少々古い記事ですがPHP7.4のコンパイルに必要そうなパッケージはyumで一気に揃えます。

# yum -y install httpd-devel gd-devel libxml2-devel mysql-devel t1lib-devel
# yum -y install bzip2-devel curl-devel gmp-devel aspell-devel recode-devel
# yum -y install libmcrypt-devel

PHP7.4.7は公式から/usr/local/src にwget でダウンロード、解凍します。

# cd /usr/local/src
# wget https://www.php.net/distributions/php-7.4.7.tar.gz
# tar zxvf php-7.4.7.tar.gz
# cd php-7.4.7 # ./configure --with-apxs2=/usr/bin/apxs --bindir=/usr/local/bin --with-openssl=/usr/local/openssl-1.1.1 --with-libxml --with-mysqli --with-zlib --with-curl --with-xsl --with-gettext --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gmp \ --enable-mysqlnd \ --enable-mbstring \ --enable-bcmath \ --enable-pcntl \ --enable-cgi \ --enable-cli \ --enable-exif \ --enable-ftp \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-sysvmsg \ --enable-shmop \ --enable-calendar \ --enable-opcache \ --enable-intl \ --disable-debug

途中、make testでopcacheインストールしてないよ!とかいろいろ怒られましたがyumでその都度インストール対応しました。

# yum --enablerepo=epel,remi-php74 install php-opcache

make & make install

# make
# make install

で表題の件。

CentOS7にyumでHTTP/2.0対応Apache/OpenSSLを導入してみる

CodeITリポジトリ導入。Apache2.4本体、秘密鍵のインストールして起動・・・

# cd /etc/yum.repos.d && wget https://repo.codeit.guru/codeit.el`rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)`.repo
# yum install httpd

# cd /etc/pki/tls/certs/
# make localhost.crt
# make localhost.key # cd ../private/ # cp ../certs/localhost.key ./
# cp localhost.key localhost.key.orig ## 秘密鍵のパスフレーズを解除 # openssl rsa -in localhost.key.orig -out localhost.key

## Apache httpd HTTPSとHTTP/2通信用の設定
## ssl.confの # Virtual Host Context 行下に追記

# vi /etc/httpd/conf.d/ssl.conf

Protocols h2 http/1.1 (追記 # systemctl start httpd

起動しようとしたのですが失敗しました。

systemctl status httpd.service -l でエラーメッセージを取得すると、

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP

Google先生に訊いてみるとApache がWorker として起動していてPHPと不整合している旨了解しました。/etc/httpd/conf.modules.d/00-mpm.conf を編集して

#LoadModule mpm_event_module modules/mod_mpm_event.so ←チェック
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so ←チェックを外す

するとApache 起動しました。

PHPインストール時のMPMのエラーを手っ取り早く解消する

AWSのt2.microではPHPのソースビルドでも「aws virtual memory exhausted: メモリを確保できません」エラーが出てスワップを作らないとインストールできなかったほど限界で、マルチスレッドからシングルスレッドになりスピードダウンは否めないのでWorkerモードしてもどの程度負荷軽減できるか課題の残るところです。phpinfo.php で確認すると無事、OpenSSL1.1.1g TLS1.3 対応しました。

スワップ作成は以下のサイトが参考になりました。

[Rails] CapistranoでEC2へデプロイ:EC2仮想メモリ不足トラブルシュート