JUGEMテーマ:インターネット
# Drupal 9.5 から 10.1 への移行
## 前準備
### 動作確認
11月5日、JPUGサイトのバックアップを取得し、手元のサーバにインストールしてアップデートの試行をおこなった。
ubuntu 22.04 の上で、PHP8.1 での動作確認をした。
* PHP8.1 で JPUGサイトのコピー(Drupal 9.5.x)が動作することを確認。
* PHP8.1でDrupal 10.1が動作することを確認。
## Drupal10 をインストール
いつものスクリプトで、そのまま移行し、トップページにアクセスしてみたらエラーが起きた。
```
TypeError: Drupal¥Core¥Render¥Renderer::doTrustedCallback(): Argument #1 ($callback) must be of type callable, array given, called in /home/juk/Drupal/html+/core/lib/Drupal/Core/Render/Renderer.php on line 797 in Drupal¥Core¥Render¥Renderer->doTrustedCallback() (line 57 of core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php).
```
"Renderer.php on line 797" のエラーを検索すると、エラー箇所をtry〜catch にして回避する、次の投稿が見つかった。
cf. https://www.drupal.org/forum/support/upgrading-drupal/2023-05-30/migration-from-959-to-101
さらに、アップデートスクリプト(http://localhost/update.php)を試みると、使っているテーマ(Burtikをカスタムしたjpugと管理用のSeven)が Drupal10 でサポートとされなくなっていることが判明。さらに、幾つかの拡張モジュールも互換性がなくなっていた。
メッセージ:
```
Status Details
Errors found
Incompatible theme
The following theme is installed, but it is incompatible with Drupal 10.1.6:
JPUG
Review the suggestions for resolving this incompatibility to repair your installation, and then re-run update.php.
Removed core modules
You must add the following contributed modules and reload this page.
CKEditor
Quick Edit
RDF
These modules are installed on your site but are no longer provided by Core.
For more information read the documentation on deprecated modules.
Removed core theme
You must add the following contributed theme and reload this page.
Seven
This theme is installed on your site but is no longer provided by Core.
For more information read the documentation on deprecated themes.
```
## Drupal9からDrupal10への移行準備(追加)
一旦、もとの Drupal9 の状態に戻した。
### 1. Drupal10対応テーマを追加
Drupal10の標準テーマで、Drupal9 でも使えるテーマ、 Olivero と Claro をインストールして、「Olivero」を [デフォルトに設定] した。
(http://localhost/admin/appearance)
* Olivero
* Claro
さらに、jpug(Burtikのカスタム) と Seven はアンインストールした。
- jpug
- Seven
その他の使っていないテーマもアンインストールした。
- Bartik 9.5.11 (Deprecated)
- Stark 9.5.11
そして、管理用テーマに 「Claro」を選択して [構成を保存] した。
### 2. 拡張モジュールをアンインストール
管理者権限でログインし、拡張機能のアンインストール頁(http://localhost/admin/modules/uninstall)にて、"(Deprecated)" とされているモジュールをすべてチェックし、「アンインストール」を実行した。
- CKEditor
- Quick Edit
- RDF
### 3. 一時的にDevelモジュールをインストールし、キャッシュをクリア(※再々試行時)
Develモジュールの最新版(Devel-5.1.2) をインストールした。
拡張機能のリスト頁(http://localhost/admin/modules)にて、「Devel]にチェックして [インストール] を実行する。
トップメニューの [Devel] ボタンを押し、表示されたサブメニューの [Clear Cache] を押す。
拡張機能のアンインストール頁(http://localhost/admin/modules/uninstall)にて、"Devel" モジュールをチェックし、「アンインストール」を実行した。
コマンドラインでデータベースにアクセスし、キャッシュテーブルをすべてクリアした。
```
$ psql drupal8
TRUNCATE cache_bootstrap;
TRUNCATE cache_config;
TRUNCATE cache_container;
TRUNCATE cache_data;
TRUNCATE cache_default;
TRUNCATE cache_discovery;
TRUNCATE cache_dynamic_page_cache;
TRUNCATE cache_entity;
TRUNCATE cache_markdown;
TRUNCATE cache_menu;
TRUNCATE cache_render;
TRUNCATE cache_toolbar;
```
## Drupal10を再インストール
### 1. Drupal10 を再インストール
### 2.エラー箇所をtry〜catch にして回避。
(※再々試行時はエラーは出なかったので、そのまま。)
前出の "Renderer.php on line 797" のエラーの対策についての記述に従い、ソースコードを改修した。
```php
try {
return $this->doTrustedCallback($callback, $args, $message, TrustedCallbackInterface::THROW_EXCEPTION, RenderCallbackInterface::class);
}
catch (¥Throwable $e) {
//devel_dump($callback);
//ddebug_backtrace(FALSE,0,0);
}
```
※ devel_dump() と ddebug_backtrace() は Devel 拡張モジュールのファンクションなので、最初はコメントアウト。
リロードすると、"Renderer.php on line 797" のエラーは出ないが、次のエラーとなった。テーマの画面レイアウトは効いていなかった。
```
Warning: Trying to access array offset on value of type null in Drupal¥Core¥Render¥Element¥HtmlTag::preRenderHtmlTag() (line 97 of core/lib/Drupal/Core/Render/Element/HtmlTag.php).
```
### 3. 開発用モジュールをインストール
"Renderer.php on line 797" のエラー対処についての記事にあった Devel モジュールをインストールした。
(https://ftp.drupal.org/files/projects/devel-5.0.2.tar.gz)
拡張機能のリスト頁(http://localhost/admin/modules)にて、「Devel]にチェックして [インストール] を実行した。
インストールはできたが、次のエラーが出るようになった。
(※再々試行時はエラーは出なかった。)
```
Warning: Trying to access array offset on value of type null in Drupal¥Core¥Render¥Element¥HtmlTag::preRenderHtmlTag() (line 86 of core/lib/Drupal/Core/Render/Element/HtmlTag.php).
```
### 4. キャッシュのクリア
トップメニューに追加された [Devel] を押し、現れた開発用メニューの「cache clear」を押した。
すると、テーマの画面レイアウトが適用され、メニュー表示も日本語が適用された。
### 5. データベースの更新
「サイトの状態」のエラー(http://localhost/admin/reports/status#error) から、「データベース更新」の 「データベースのアップデートスクリプト」を実行した。
なにもしないで、「ページが見つかりません」 (http://localhost/update.php/selection) が表示された。
(※再々試行時も同様。)
http://localhost/update.php からデータベースの更新を行った場合も上記と同様になった。
## Drupal10を再々インストール
12月5日にJPUGサイトのバックアップを取り直し、アップデートの再々試行を行った。結果は、再試行時とほぼ同様で、最後のデータベースの更新ができなかった。
drupal サイトの管理用プログラム drush をインストールし、データベースの更新を試みたところうまくいった。
```
$ cd ~/Drupal/jpug/
$ composer require --dev drush/drush
$ ./vendor/bin/drush --version
$ export PATH="$PATH:$HOME/Drupal/jpug/vendor/bin"
$ which drush
$ drush --version
$ sudo chmod -R go+rwX $HOME/Drupal/jpug101/sites/default/files/
$ drush updatedb
```
]]>
JUGEMテーマ:車/バイク
クロスバイクがまたパンクしたようなので買い替えたいとの家族の声に、詳細を尋ねると数ヶ月前にパンク修理をしてもらったばかりとのことだった。そして、これまで何度かパンク修理をしてもらっていたがこのところ頻繁に空気が抜けるようになったとのことだった。
空気を入れてすぐに抜けるわけではないとのことなので、チューブ交換をしてみようと提案した。
10年以上前に購入したGIANT GLIDE というクロスバイクだったので、実際にパーツを確認してみたところ、
JUGEMテーマ:コンピュータ
先日、ディスプレイを交換して問題なく解像度は4Kに上がり(諧調は落ちたものの)喜んでいた。それもつかの間、マウスカーソルを隣のノートPCに移したところ、カーソルが消えてしまい、もとに戻らないことが判った。もともと、起動時などにマウスカーソルが動かず、クライアントの Synergy を停止する必要があったり、サーバの Synergy を起動しなおしたりすることもあったが、そうしたその場しのぎも全く効かなくなった。
マウス&キーボードの共有に Synergy-1.8.8 を使っていた。Synergy のフリー版で、Linux でも使えて重宝していた。ノートPCをブックスタンドに立てて使っているので、キーボードが打ちづらいのでしばらく辛坊して使いつつ、何か情報はないかと探した。
そのうちに見つけたのが "Using Synergy with a 4K display and non-4K displays together" でさっそく試してみたが、状況は変わらなかった。
それから数日、思い出しては、プロパティ設定をするファイルを変えてみたり、また、別のオプションを試してみたりしていた。あるとき、諧調が8bitsカラーに落ちてしまったことを思い出し、試しにまた別のオプションを設定して試してみた。すると、クライアント側にマウスカーソルが移動することが確認でき、その後は以前と同じように使えるようになった。
]]>
JUGEMテーマ:コンピュータ
デスクトップPCのディスプレイ DELL U2711(最大解像度WQHD 2560x1440)の調子が悪くなって2,3年、画面になにも表示されず、真ん中で半分ずつ別の色が表示されたままににり、電源を入れ直すと正常に戻るといった具合。10年くらい使ってたので寿命ということで買い替えようと思いつつ使い続けてたのだが、最近はモニターが熱を持ってくると電源を入れ直しても直らず、しばらく電源を切って冷却してからやりなおさなければならなくなり、深刻に時間の無駄と考え、新しいディスプレイの物色をはじめた。
当初は、国産でもう少しだけ大きいのにしようとだけ思い探す中、"エルゴトロン LX デスクモニターアーム/34インチ(3.2~11.3kg)まで/VESA規格対応" という設置器具をキャンペーンで見つけて衝動買いしてしまった。最大34インチと言う条件でのディスプレイの物色となった。
PC本体もそろそろ買い替えなくてはならないので、漠然と4K対応という条件も加味して、アイ・オー・データ機器 LCD-M4K321XVB (31.5型)というのに目をつけた。調べているうちに I-O DATA のディスプレイも外国産OEMということなので、より安いジャパンネクスト JN-IPS320FLUHDR-N(32型) というのを見つけた。
ここで、気になるのがディスプレイインターフェースで、現状はDVIポートを使っている。このPCは、DELL XPS8700 でグラフィックボードはNVIDIA GeForce GTX 745 4GB DDR3 で、DVIx1, HDMIx1, VGAx1 である。一方、ジャパンネクストのディスプレイのインターフェースは、Display Port 1.2x1、HDMI 2.0x1、HDMI 1.4x2である。PC本体にDisplay Portはないので、HDMIで繋がるかどうかというところである。また、ディスプレイの解像度はより大きい4K(3840×2160)なので、単純に大丈夫だろうとしか考えてなかった。
ディスプレイの交換にあたり、デスクモニターアームの取り付けをしなくてはならないが、このためには一旦机の上のものをすべて取り払い、引き出しも抜いて机の後ろにさぎょうをするために入れるようにしなくてはならなかった。ついでに、10年分の埃も取り去るのが得策と考え、大掃除を配線のし直しをした。マシンをすべてシャットダウンして、ネットワークケーブルもすべて一旦スイッチングハブからはずして繋ぎ直すのだが、結局10台くらいスイッチに繋がっていたことを改めて知ったw 大掃除は1日では終わらず、ルータの電源の接触不良などもあり、さらにもう1日費やして作業環境がだいたい元に戻った感じで、机の上が少し広がったのはせめてもの救いだ。
ディスプレイに付属のHDMI2.0ケーブルで接続して、PCを起動してみると無事表示された。ログインして調べてみると4Kの解像度3840×2160になっていた。ただし、8ビットカラーモードである。もとの、WQHD モードの解像度2560x1440にしてみたところ、ひどくかすれた表示になってしまったので、もとに戻した。4K(60Hz)択一のディスプレイだったのかな。古いPCだったが、ある程度先を見越したスペックにしてたので助かったようだ。本当はとっくに買い替えているはずだったが、歳の所為か時間に追い越されている。
]]>
JUGEMテーマ:コンピュータ
Rocky Linux は RHEL 8.4 がベースなので、まず、移行対象の CentOS8 のバージョンを CentOS 8.4.x にする必要があるらしい。
(*) CentOS 8.2からの移行について書かれた記事もあったが確認はしていない。
(*) 2022年2月現在では、RockyLinux 8.5になっている。
(http://a98.jugem.jp/?eid=430)
2代目にしてやっとクアッドコアサーバとなり、4コアx2スレッド8CPUが使えるようになり、CPUもゴロの良い 777 (Core i7-7700)になった。
(http://a98.jugem.jp/?eid=449)
仕事でクラウドを使うことになり、OpenStackをインストール、さらに、OpenShift も試してみることになったのだが、こちらは、8CPUが必要ということで、さらに余裕が欲しいので新調することにした。 ミニサーバーが前提なので、Xeonは諦めざるを得ないが、CPUはゴロの良い 999 にしようかと。(あるいは、最近TVKで日曜の夜に再放送している「銀河鉄道999」を見てる影響か?)
]]>[【OpenStackチャレンジ】 第1回 OpenStackインストール編 | システムや業務のプロデュースカンパニー | 株式会社アドックインターナショナル](https://www.adoc.co.jp/blog/e000247.html)
centos-release-openstack-rocky をインストール
## 前準備
ホスト名設定
(変更したい場合は、これを行いログインし直す)
```
[root@centos7base ~]# hostname -F /etc/hostname
[root@centos7base ~]# logout
CentOS Linux 7 (Core)
Kernel 3.10.0-1160.6.1.el7.x86_64 on an x86_64
centos7stack login:
CentOS Linux 7 (Core)
Kernel 3.10.0-1160.6.1.el7.x86_64 on an x86_64
centos7stack login: root
Password:
Last login: Thu Dec 10 21:11:38 on ttyS0
[root@centos7stack ~]#
```
ロケールを英語utf-8に
```
[root@centos7stack ~]# cat > /etc/environment
LANG=en_US.utf-8
LC_ALL=en_US.utf-8
^D
```
OS 更新
# yum update -y
SELinux 解除
```
[root@centos7stack ~]# vi /etc/selinux/config
[root@centos7stack ~]# grep SELINUX /etc/selinux/config
# SELINUX= can take one of these three values:
#SELINUX=enforcing
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
SELINUXTYPE=targeted
```
OS再起動
(Kernelの更新がなければ、`setenfoce 0` を実行するだけでよい。
# shutdown -r now
firewalldの停止と自動起動無効化
# systemctl stop firewalld.service
# systemctl disable firewalld.service
# systemctl status firewalld.service
Network Managerの停止と自動起動無効化
# systemctl stop NetworkManager.service
# systemctl disable NetworkManager.service
# systemctl status NetworkManager.service
EPEL (Extra Package for Enterprise Linux) のリポジトリをインストール
# yum install -y epel-release
## インストール
<http://ossfan.net/setup/openstack-03.html>
OpenStack rocky のインストール
# yum -y install centos-release-openstack-rocky
PackStackのインストール
# yum -y install openstack-packstack
## 設定
PackStackを利用してオールインワンのOpenStack環境を構築
ここでは、1台のサーバにOpenStackの全コンポーネントを導入するので、 --allinone オプションを付与して実行する。PackStackではPuppetを使った自動構築が行われる。
# packstack --allinone
ここでエラー:
```
[root@centos7stack ~]# packstack --allinone
Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20201210-222856-WnX0b3/openstack-setup.log
Packstack changed given value to required value /root/.ssh/id_rsa.pub
Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
Pre installing Puppet and discovering hosts' details[ ERROR ]
ERROR : Failed to run remote script, stdout:
stderr: Warning: Permanently added '192.168.1.171' (ECDSA) to the list of known hosts.
+ trap t ERR
+ facter -p
facter: error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory
++ t
++ exit 127
Please check log file /var/tmp/packstack/20201210-222856-WnX0b3/openstack-setup.log for more information
Additional information:
* A new answerfile was created in: /root/packstack-answers-20201210-222857.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
[root@centos7stack ~]#
```
※エラーが出たので、一旦削除して、他のパッケージ(rocky の かわりに ussuri, train, stein, queen, pike)を試してみたがうまくゆかず。
"leatherman_curl.so.1.3.0: cannot open shared object file"の解決を試みた。
```
[root@centos7stack ~]# rpm -ql leatherman | grep curl
/usr/lib64/leatherman_curl.so.1.10.0
[root@centos7stack ~]# rpm -ql leatherman | grep leatherman_
/usr/lib64/leatherman_curl.so.1.10.0
/usr/lib64/leatherman_dynamic_library.so.1.10.0
/usr/lib64/leatherman_execution.so.1.10.0
/usr/lib64/leatherman_file_util.so.1.10.0
/usr/lib64/leatherman_json_container.so.1.10.0
/usr/lib64/leatherman_locale.so.1.10.0
/usr/lib64/leatherman_logging.so.1.10.0
/usr/lib64/leatherman_ruby.so.1.10.0
/usr/lib64/leatherman_util.so.1.10.0
/usr/share/locale/fr/LC_MESSAGES/leatherman_locale.mo
/usr/share/locale/fr/LC_MESSAGES/leatherman_logging.mo
```
以下を実行し、ランタイムライブラリを該当マイナーバージョンにシンボリックリンク
# ln -sf /usr/lib64/leatherman_curl.so.1.10.0 /usr/lib64/leatherman_curl.so.1.3.0
# ln -sf /usr/lib64/leatherman_dynamic_library.so.1.10.0 /usr/lib64/leatherman_dy¥namic_library.so.1.3.0
# ln -sf /usr/lib64/leatherman_execution.so.1.10.0 /usr/lib64/leatherman_executio¥n.so.1.3.0
# ln -sf /usr/lib64/leatherman_file_util.so.1.10.0 /usr/lib64/leatherman_file_uti¥l.so.1.3.0
# ln -sf /usr/lib64/leatherman_json_container.so.1.10.0 /usr/lib64/leatherman_jso¥n_container.so.1.3.0
# ln -sf /usr/lib64/leatherman_locale.so.1.10.0 /usr/lib64/leatherman_locale.so.1¥.3.0
# ln -sf /usr/lib64/leatherman_logging.so.1.10.0 /usr/lib64/leatherman_logging.so¥.1.3.0
# ln -sf /usr/lib64/leatherman_ruby.so.1.10.0 /usr/lib64/leatherman_ruby.so.1.3.0
# ln -sf /usr/lib64/leatherman_util.so.1.10.0 /usr/lib64/leatherman_util.so.1.3.0
今度はセグメントフォルトエラー(メモリー不足か?←8GBに増やしてもだめだった)
```
Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
[ 7492.560609] facter[9889]: segfault at 6 ip 00007f5e28eb056d sp 00007ffe49409ef8 error 6 in libstdc++.so.6.0.19[7f5e28e55000+e9000]
Pre installing Puppet and discovering hosts' details[ ERROR ]
ERROR : Failed to run remote script, stdout:
stderr: Warning: Permanently added '192.168.1.171' (ECDSA) to the list of known hosts.
+ trap t ERR
+ facter -p
bash: line 3: 9889 Segmentation fault (core dumped) facter -p
++ t
++ exit 139
Please check log file /var/tmp/packstack/20201210-231509-OgG_sN/openstack-setup.log for more information
Additional information:
* A new answerfile was created in: /root/packstack-answers-20201210-231510.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
```
ssh ログインで known_hosts 登録を手動でしてみた。
```
[root@centos7stack ~]# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:iXp3zYA0t9TnrgshR+Vkf/s1bAPAMDjsYDrv0GrX9lQ.
ECDSA key fingerprint is MD5:53:23:30:4f:0c:2f:e5:7d:99:15:ec:8b:63:bd:34:6a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Last login: Thu Dec 10 21:12:04 2020
[root@centos7stack ~]# logout
Connection to localhost closed.
[root@centos7stack ~]#
[root@centos7stack ~]# ip a | grep inet | grep brd
inet 192.168.1.171/24 brd 192.168.1.255 scope global noprefixroute dynamic eth0
[root@centos7stack ~]# ssh 192.168.1.171
The authenticity of host '192.168.1.171 (192.168.1.171)' can't be established.
ECDSA key fingerprint is SHA256:iXp3zYA0t9TnrgshR+Vkf/s1bAPAMDjsYDrv0GrX9lQ.
ECDSA key fingerprint is MD5:53:23:30:4f:0c:2f:e5:7d:99:15:ec:8b:63:bd:34:6a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.171' (ECDSA) to the list of known hosts.
Last login: Thu Dec 10 22:31:01 2020 from localhost
[root@centos7stack ~]# logout
Connection to 192.168.1.171 closed.
[root@centos7stack ~]#
```
※SSHの鍵生成は関係なし。
RDOパッケージのインストール、OSをアップグレードしてから、packstack を実行してみた。
# yum install https://rdoproject.org/repos/rdo-release.rpm
# yum upgrade -y
# packstack --allinone
これも同じセグメントフォルト
結局、OSのマイナーリリースに合わせたディストリビューションがあって、以下のページを見るべきだったと判明。
[Packstack — RDO](https://www.rdoproject.org/install/packstack/)
centos-release-openstack-train をインストール
JUGEMテーマ:コンピュータ
JUGEMテーマ:コンピュータ
Raspbian OSを使うと、Raspberry Piに Pi Camera を繋ぐと簡単に画像や動画が撮影できる。
Pi Camera Rev 1.3 なるものが手元にあったのを思い出して、繋いでみたが、意外と手こずった。
ググると次のような手順がすぐにみつかる。
手順 0) Pi Camera をRaspberry Pi本体に接続してブート
手順 1) 未設定の場合は、raspi-config でカメラモジュールをサポートにしてリブート
手順 2) 撮影コマンドraspistillやraspividを実行
ハードの接続に問題がなければ、vcgencmd をつぎのように実行すると、
$ vcgencmd get_camera
output: supported=1 detected=1
のような結果となる。ここで、接続異常の場合は、
output: supported=1 detected=0
となるので、コネクター回りの接続状態を確認する必要がある。
正常に接続されていても、撮影コマンドを実行すると、また、エラーが出てしまった。
$ raspistill -o image.jpg
mmal: No data received from sensor. Check all connections, including the Sunny one on the camera board
待ちきれないので、Ctrl+Cを押下。
^Cmmal: Aborting program
エラーでググってみると、/boot/config.txt を編集し、core_freq=250 にしてとか、さらにだめなら、Pi CameraのLEDをオフにする disable_camera_led=1を設定して、リブートをすればよいなどあった。
うちの Pi はそれでもうまくゆかなかったので、 /boot/config.txtを眺めてみると arm_freq=900 にて、オーバードライブモードにしてあったので標準の700に戻してリブートするとうまくいったので、LEDは元に戻した。
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=900
arm_freq=700# for more options see http://elinux.org/RPi_config.txt
core_freq=250
sdram_freq=400
over_voltage=0
start_x=1
gpu_mem=128#uncomment for pi-camera led set to off
#disable_camera_led=1
結構、微妙なんだな、たまにエラーが。。。
Pi 3でうまくゆかなかったのは、このためか?
参照
https://raspberrypi.stackexchange.com/questions/74631/raspberry-pi-camera-module-not-working-v1-3
]]>
JUGEMテーマ:インターネット
Serversman@VPSのインスタンスが障害対応で初期化されて(こんなことは初めて)、あれこれ復旧に数日かかったあげく、面倒くさそうで後回しにしてて、やっと取り掛かったVPN設定。
結局、構成ファイル(vpn_*.config) のバックアップをリストアすれば良いだけだった。
ダウンロードサイト:
https://www.softether-download.com/ja.aspx?product=softether
から、最新版のパッケージをダウンロードしてインストールし、構成ファイルをバックアップからコピーして起動する。
起動スクリプトは、OSディストリビューション毎に異なるので、それと構成ファイルのバックアップだけは忘れないようにしよう。
# 今回は、急遽、障害対応のためと設定したOpenVPNの設定のほうが大変だった(何事も最初の構築は大変、あとはバックアップから戻せば済むという話)。
]]>
JUGEMテーマ:コンピュータ
PBSProで便利なったことのひとつに、状態監視用コマンド(qstat, pbsnodes)の出力フォーマット指定があるのでここにメモしておく。
コマンドオプションとして "-F json" を追加するだけ。
使用例:
qstat -f -F json
pbsnodes -av -F json
JUGEMテーマ:インターネット
JUGEMテーマ:コンピュータ
VPSのサーバ再構築の続きは httpd、古い(Webの世界で相対的に)人間なのでApacheを使っている。最近は、LetsEncrypt のおかげで、RapidSSLもFujiSSLにもお世話にならないで済むようになった。
そして、VirtualHost はこれまで通り重宝するが、覚えているから大丈夫と思っていた設定ノウハウの記憶にかげりが。
httpd.conf に、
Include vhost.d/*.conf
を追加してブラウザでリロード。「ようし、きた」と言うのを心の中で準備していたのが、ああああぁ。httpd サービスの起動エラー。「そんなことはないはず」とあれこれ設定ファイルをいじるのだが、どれも失敗する。
いいかげん経って、vhostd.d/サーバホスト名.conf ファイルの "<VirtualHost *:443>" の設定で ErrorLog に指定したファイルを覗いてみると、
[error] Oops, no RSA, DSA or ECC server certificate found for 'サーバホスト名:0'?!
なるエラーが記録されてた。
]]>
JUGEMテーマ:インターネット
仕事が遅れ気味というのに、ServersMan@VPS にCentOS6 でサーバ再構築をするはめになっているのだが、送信したメールがGMailに届かないことに気が付いた。戻ってきたエラーメッセージを見ると次のように書かれていた。
<なんとか@gmail.com>: host gmail-smtp-in.l.google.com[…]
said: 550-5.7.1 […] Our system has detected that this
message 550-5.7.1 does not meet IPv6 sending guidelines regarding PTR
records and 550-5.7.1 authentication. Please review 550-5.7.1
https://support.google.com/mail/?p=IPv6AuthError for more information 550
5.7.1 . *.* - gsmtp (in reply to end of DATA command)
さっそく、参照先:https://support.google.com/mail/?p=IPv6AuthError を見てみるのだが、よくわからず。DNSの逆引き設定をきちんとしてみてもだめ。
なので、再びググる。で、見つけたのがこれ:
実に、ぴったりだった。
]]>
JUGEMテーマ:インターネット
長年愛用していたServersman@VPSで、初めての障害遭遇。もっとも、障害にあったのは関西方面に追加して移設したVPSサーバで、当初CentOS7にアップグレードしようとして、 initscripts-9.49.17しばりであきらめ、向学のためUbuntu 14.4 で構築しなおしたものだった。もっとも、Ubuntu 14もEOLなのでリプレースを考えていたところだった。サービス会社からの報告によると、障害がおきたのは15時くらいで、 23時半前には復旧と称してるので、その日のうちに復旧しないサーバは初期化して、障害対応は終わりと受けとれる。
まあ、そんなわけで、この際CentOS7にアップグレードしようと再び思い、リプレースをはじめたのではあるが、途中、OpenVZ の initscripts-9.49 しばりでパッケージの更新ができない状況が改善されていないことが判り、セキュリティ上の不安があるので、結局、CentOS6に戻すことにした。
泣く泣く、元々使っていてスタンバイしていたテスト用サーバに切り替えることに。
# 管理画面を見てると、Serversman@Disk を契約しておけば、バックアップ/リストアができるようなので、このオプションもありかと思う。
]]>
JUGEMテーマ:コンピュータ
CentOS7にいつもと違うキーボードを繋いで作業をしたときのこと。
localectl コマンドで簡単に設定できるのを楽しんでいたところ、ついつい間違えたキーボード設定にしてしまった。
c.f. https://www.atmarkit.co.jp/ait/articles/1811/30/news060.html
キーコードが変わってしまって、ログインが難しくなってしまった(TT)
↑入力できるキーを左から右へ、各段タブ区切りでタイプした図
localectl でもう一度入力するには、マッピングを調べながら入力しなくてはならず面倒なので、インストール用ISOイメージのDVDで立ち上げ、レスキューモードで起動して、マウントしたシステムディスクのファイルを編集することにした。
1. Troubleshooting 2. Rescue a CentOS system
メニューを選択して、レスキューモードで立ち上げる。
]]>
JUGEMテーマ:コンピュータ
「OpenVZ環境下のiptablesルール数」を見て、なるほどと思ったので覚書。
不正アクセスをはじこうと、機械的にルールを増やしたところ、エラーメッセージがいつも最終行に出るので不思議だった。
# service iptables start
iptables: Applying firewall rules: iptables-restore: line 2899 failed
[FAILED]# cat -n /etc/sysconfig/iptables | tail -3
2897 -A INPUT -m limit --limit 1/s -j LOG --log-prefix "[IPTABLES INPUT] : "
2898 -A INPUT -j DROP
2899 COMMIT
OpenVZによる仮想環境では、iptablesの設定可能ルール数に上限があるということで、実際に調べてみた。
# head -2 /proc/user_beancounters ; grep numiptent /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
numiptent 80 83 256 256 9
これでは、全然足りないわけだ。
]]>