既有で行きます (Slackware 14.2へその3)

新しいPCを買うのが,気分的には刺激になってと思いましたが,Windows 7を10に上げたマシンがほとんど利用されていないので,新し味がないのですが,このマシンのWindowsのディスクを外して,空きディスクをつないで,Slackware64をインストールすることにしました.無駄なPC増やしてもしょうがないし.

このマシンは,廃業してしまったクレバリーから2012年始めに買った,AMD A6 (4-core)という,今どき的には珍しいCPUを使ったマシンです(以下,「GW4」と呼びます).Linuxのx68 64bitサポートは,AMD64で本格化したので,その点の問題はありません.Slackware64も,元はSlamd64という,AMD64にSlackwareを対応されるプライベートなプロジェクトが起源です.

昨日の午後に思い立ち,ディスクのつなぎ替えをし,Slackware64 14.2のISOイメージをUSBメモリーにコピーし始めましたが,途中で違うイメージをコピーしていることに気がつきました.このddによるコピーはものすごい時間がかかりますので,かなりの時間を無駄にしてしまいました.夜寝る前にもう一度コピーを仕掛けて寝ました.

さすがに今朝起きたらUSBメモリーへのコピーは完了していたので,起き抜けにGW4に,Slackware64 14.2をインストールしてみました.

空ディスクが,以前GW3で使っていたRAIDの片割れで,setup用のkernelが勝手にmd0, md1を認識していたのを無視してインストールしたら失敗しました^^;

mdadmでmd0, md1を止めてからインストールしなおしたら,難なくブートし,X.org + KDEが起動するところまで確認できました.

あとは,日本語化して,ユーザーのデータをコピーして,サーバー関係をセットアップして,データベースを引っ越して,WikiとWordPressを引っ越して,KVM/QEMUをインストールすれば完了かな^^;

付けたままでもSlackwareのインストールはできますが,今後の作業というか,話を簡単にするため,外しました.作業が終わったら,元に戻すまでです.
もはやGateway機能は持たせませんが,現在のサーバーの通称がGW3なので,それを継承します.

サーバーいろいろいじりました

結局,RAIDはLevel 1(以下”RAID 1″)に戻しました.最大の理由は,GCCやGLibcといった,根幹に関わるソフトのupgradeをしたかったからです.RAID 1にしておけば,GLibcのupgradeをする前に,片方のarrayを外してブートさせて,片肺飛行にして,その状態でupgradeをして,もし不具合が生じたら,外しておいた方のarrayからbootさせれば元に戻せます.これ以上の簡単なsnapshotはありません.

HDD/SSDに余分があれば,外したHDD/SSDをPCから物理的に外して保存し,代わりのHDD/SSDをRAID 1アレーにすればよいです.また次の大手術の時に交換させれば良いです.

で,GCCを5.2に,GLibcは2.22にしました.世の中では,GCCは既に6.1に,GLibcも2.23となっているようですが,Slackware Currentでは,ここまでのようです.

たしか,このGLibcにすれば,FileZillaのインストール条件となるなんかのライブラリーをbuildできたと思います

こんな調子で,しばらく使いつづけようかと思います.

あと,KDE 5を何とかインストールできないかなぁと考えています.

この件は,全くの勘違い.

Kernel 4.2〜4.6の遅さは異常

たぶん,KernelのMLみてればわかるんでしょうけど^^;

4.2で,SSDのサポートが大幅に見直されて,TRIMが危険なドライブをブラックリスト化したというのは知っていますが,ブラックリストに入ってないと思われるSSDについても,4.1.xまでと比べて,ファイルの書き込み速度が異常に遅いです.

ここのところ,RAIDの組み替えや,バックアップ方法を模索していて,rsyncやcpioを頻繁に使い,数百GB規模のファイルのコピーをしています.どうも,お行儀よくIOライブラリを経由して書き込む,のが特別遅いようです.

例えば,新しく組み替えたRAIDのドライブに古いドライブから300GBほどのファイルのコピーを実施すると,4.1.xまでは30分程度で済むのですが,4.2〜4.6では,2日くらいかかります.

4.6に期待したのですがたいして速くなりませんでした.

解らないのは,1TBのSSDをアレーとしたRAIDの再構築(つまり,冗長ディスクに1TB全部書き込む)のは,従前どおり70分くらいで済みます.

GLibcを更新しないといけないとかなのかなぁ.かつて経験したことがありませんが,今回に限っては,Kernelだけ新しくしてもだめ,ということなのでしょうか.

しょうがないので,当分4.1.xにとどまります.さいわい,4.1.xはLongtermとなっています.

いや,分かんないだろう^^;
書き込み先が,SSDの場合.

mdstatをLogWatchで

Software RAIDに限らず,RAIDを動かしていて一番かんじんなのは,冗長diskが故障して,冗長性がなくなったことを遅滞なく知る,ということですね.そのためには,1日1回

cat /proc/mdstat

をすれば普通は十分でしょう.

LogWatchを動かしている人は,そのレポートの中に,/proc/mdstatの内容をそのまま取り込んでくれれば楽だと思うでしょう.

ということでやってみました.結果的にはすごく簡単なことなんですが,ネット検索では,なかなかズバリというものが見つかりませんでしたので,たまには社会奉仕と言うことで,過不足なく公開します.

まず,LogWatchが動いていることが前提です.

で,設定ファイルを作るんですが,LogWatchのドキュメント類をザッと読めばわかりますが,/usr/share/logwatch以下に新規に書いたり,書き直すのは,推奨されていません./etc/logwatchに書きます.

読み込むログはありませんので, /etc/logwatch/conf/services/mdstat.conf は,

Title = "mdstat"
LogFile = NONE

となります.そして, /etc/logwatch/scripts/services/mdstat は,

#!/bin/bash
cat /proc/mdstat

となります.このファイルは,実行可能にしておきます.

これで,あとは,次にLogWatchのレポートが来るのを待つだけです.