いう、約60ドルで中国から購入したデベロッパーボードを使って運営しているホームサーバーの管理にISPConfig3という管理ソフトを導入して使用している。Mailサーバー、Webサーバー、DNSそしてnginxプロキシなどをWEBブラウザから一括管理できるので重宝している。いうシリーズで多様な組み合わせのサーバー設定のチュートリアルが掲載されている。mailにはDoveCot、DNSにはBindを使ったサーバー構築の手順が述べられており、実は自分のサーバーはこれを参考にして立ち上げた。(DNSとNGINX、PHP、MySQLの部分はともかく、メールサーバーとメールフィルターの設定は自分ひとりの能力では手も足も出なかった。設定できたのは上の記事のおかげである)最近バージョンのアップデートをしようと思い立ち、コントロールパネルに指示されているiSPsonfig-update.shというコマンドを実行してみた。コントロールパネルにログインしようとしてみたところいつもログイン画面が出るはずのurlが空っぽのページになっている。他のサービス(メール、Webサイト、DNS、SSHなど)は普通に動いているので、IPSConfigのダッシュボードへのログインが表示できないという限定された不具合だ。Errorとなっているので、これはPHPの実行時、ページレンダリングの途中でおかしくなっている、とあたりをつけた。Errorが記録されていた。上のエラーメッセージはindex.phpの31行目config.inc.phpを読み込もうとしたところ、拒否されました。../libr/config.inc.phpのアクセスレベルがきつすぎるようだ、。そこでこのファイルを調べてみるとOwner,GroupともISPCONFIGとなっているのは良いとして、Ownerのみに読み書き権限があたえられており、Groupレベルで読み書き禁止となっている。それではと、Groupレベルでの読み出しも許可に書き換えてみたところ、あっさりと復活した。config.inc.phpこれが普通とは思わない。何らかの理由でサーバーのワーカープロセスとファイルのオーナー情報が背反しているためにファイルアクセスできなくなっていると考える。思い当たることがあって、同じサーバー内部でModxを使ったサイトを運営しているのだが、アップデートするたびにSetupフォルダーをマニュアルで削除しなくてはならない、という作業が発生している。Setupフォルダーの削除はインストール画面でチェックをいれてやれば自動的に行ってくれるはずなのだが、このサーバーではそれができてない。いうわけで、本日わかったこと。Linuxのアクセスレベル管理がいまいち理解できてないなあ。A2lifeReply表題の件。自分はなんとなく、SDカードのアクセス速度はハードディスクのアクセス速度よりも早いのだ、と思っていたのだが、これは実は大変な思い違いだった。思い込んでいた理由は、機械部品に読み書きするより、半導体のほうに読み書きするほうが早いのだろうと単純に考えていたのだが、どうも違うらしい。SDカードの構造が関係しているようだが、同じカードでも初期のSDカードと現在普通に売っているSDHCでももちろん差がある。それでもハードディスクのスピードにはかなわないのだ、という。killerとも言われる至極危険なコマンドなので、ご注意を。自分でやってみてファイルシステムの中身が蒸発したと文句を言われても責任を持てません。)クラス10のカードなので保証最低速度が10MB/Sだからこんなものか。上記のサイトの結果と比較しても同じくらいのスピードだ。サイトの情報を眺めていると、SDカードが破損する、という報告が多数見られるのは、SDカードのメモリー構造が激しい書き換えで摩耗してしまう結果だから、一度SDカードからブートしたら、OSはUSBスティックのメモリー上で動作したほうがよい、というように書いてあるブログが結構ある。SDカードでダメならUSBのフラッシュカードだって同じだろうと思うのだが真偽のほどは分からない。上のサイトでもUSBのサムドライブで動作させた場合のアクセス速度を測っているが、SDカードの約半分以下のスピード。Cruiser、一部のサイトで言っているようなスピードが改善した、というような結果にはなっていない。早くなり、かつ動作が安定した、と言っているサイトには具体的な数値が出ていない。USB経由でHDDに接続した場合は速度向上の効果が得られそうだ。興味をそそられる部分があって、それはOSのカーネルの立ち上がりからの処理は、USBに接続されたデバイスから実行することができる、SDカード上に必要なのは/bootフォルダに置かれたファイルのみ、と説明されているところで、つまりはSDカードに展開される2GBの実装イメージのうち、本当にSDカード側において置かなければならない部分はFATのパティションの部分のみ、ファイルサイズで言うと20メガバイトにも満たない、ということが判った。オリジナルの2GBのイメージはパティションが二つあり、一つは56メガバイトのFAT、もうひとつは(2GB-56MBの)Linuxのファイルシステムになっている。イメージをコピーし、gpartedを使ってパティションをディスク容量分まで拡大。それぞれRPiに接続して準備完了。いうのは、上記のサイトで報告されている、HDDの読み書き速度とほぼ同程度。それでもSDHCのほぼ3倍の早さがでている。SSDも半導体ドライブだが、こちらはHDDよりも早い、という宣伝文句で高くても皆文句を言わず買っているわけなので、もっと早くてもよさそうなものだが、290ドルのネットブックに付属してきたものなので、高性能を期待するのが無理か。公称最高速が60MB/Sで、そのうち10~15%はオーバーヘッドというこどなので、50MB/SくらいでUSBのほうが飽和するから、そちらの影響かも。どちらにしても消費電力は低いはず。ご覧のとおり、たったの2MB/S。クラス2のカードで、RPiの要求仕様であるクラス4をも満たしていないが問題なく起動する。コントロールがUSB側のstorageに移るのでよしとしておく。MB/sreal1m17.178suser0m0.030ssys0m2.620sSDカードの破損の原因だが、1)電源のパワーが足りない。必要とされる700ミリアンペア以上を供給できない電源を使っていてうまく書き込むことができない。2)SDカードが書き込まれている最中にカードを抜いてしまう。主原因であり、read/writeの回数が許容回数を上回ってしまうのだ、という議論は説得力が薄い、と個人的には感じている。(今のセットアップで問題が起きれば考え直すかもしれない)(追記:どうも初期のファームウエアにも問題があったようだ。piでググってみてほしい。)RPiにパワースイッチがあれば2の問題は防げるのだが、コストカットの観点からスイッチはついていない。black($45)にはしっかりついており、確実にパワーダウンできるのに比べると見劣りする。Partyからいくつか発売されており(1)(2)、これを買い求めれば良いだけの話ではある。側のファイルを見る方法、というのはいくらでも方法が書いてあるのだが、その逆をやろうとするとあまり無い、いや、あるのだけれど、あっちに少し、こっちに少し。Wikiに書いてあったのでそれをもとにやってみた。smbfs案の定、何もアップデートされなかった。パスワードがついてない。0で、ファイルシステムをマウントしなおす。1テラバイトがアクセスできるようになった。FMEAはFEMAではない。FMEAはFEMAではない。