Linuxで妙にネットワークが重い時の覚え書き

CentOS5マシンで久しぶりにyum updateしたら、パッケージのダウンロードがやたら遅いことが発覚。fastestmirrorの設定を見直しても変わらず。そもそもウチはIIJmioなので、ftp.iij.ad.jpミラーで遅いワケがない。でもほんの数十KB程度のパッケージでも2,3分かかる始末。

で、結局何が悪かったかというと、IPv6でした。DNSのフォールバックに時間食ってたみたい。こちらのブログを参考にさせてもらって無効にしたところ見違えるようなスピードでパッケージが落ちてきました。

XenのDom-0機だったので基本通信しないので今まで気付かずに使ってたんですね(^^;)。

サーバー機のCPU換装メモ

先日までリビング録画マシンに使っていたAthlon X2 4850eが余ったので、サーバー機(ML115 G1)に転用してみました。もともとAthron 64/3500+(2.2GHz, 62W)がついていたのを、X2 BE2400(2.3GHzx2, 45W)に換装して使っていて、今回、2.5GHzx2, 45Wと微妙なクロックアップ。

ただ、ML115は倍率が整数倍しか効かないようで、BE2400では定格が11.5倍のところ11倍動作で2.2GHz動作でした。今回の4850eも同様で2.4GHzと表示されます。またモデルが「Unknown CPU」となるのも同じ(まぁ2007年からBIOS更新されてないので当たり前ですね)。

ちなみにUnkown認識だとLinuxではCool’n Quietは昨日しないみたいですね。どのみちXenカーネルの場合、3.3以降でしかpowernow-k8が機能しないのでCentOS(最新5.4でもXen3.0.3)のウチでは意味ないんですが。

RSSの形式変更

前エントリの「Steins;Gate」みたいなネタバレ記事を書いていて、冒頭のみRSSに表示して、続きは「続きを読む」でパーマリンクというのがいいんじゃないかと考えました。

単純に、サイトのアクセス率を上げて収益狙いでいく意味も含め、単にMTEntryBodyのかわりにMTEntryExcerptタグにして冒頭xx文字のみRSSに掲載するのが一般的ですが、今のところそこまでガッツいてないし、RSSリーダーで読んでる人の利便性を優先。

上記記事のように明示的に「以下興味ある人だけ!」って境界をひいた場合以外は従来通り、というコンセプトで。

Windows Live Writerでは記事中に境界線を入れると、前半(「本文」)はMTEntryBody、後半(「続き」)はMTEntryMoreタグで扱えるようになります。つまり、RSSやAtom内でのタグでは今まで通りMTEntryBodyメインで、その後にMTifでMETnetryMoreが空でない場合のみ「続きを読む」リンクを表示してやればヨサゲ。

ってことで実装してみました。お使いのRSSリーダー上で不具合などありましたらご一報ください。

心づもりとしては、

  • 大半の記事は今まで通り全文表示
  • ひとつ前のStains;Gateのエントリは、「以下ネタバレ」止まりで、続きはリンクをクリック

になってればOKです。ちなみにトップページは勝手にそうなってくれたようです。

Xen上のWHSにPVドライバ導入

ヨドバシのPC書籍コーナーで、「Xen徹底入門」の第二版を発見。完全仮想化(HVM)なWindows OS用のPVドライバの解説も載っていたので、ウチの仮想Windows Home Serverマシンにもそろそろ入れてみるかと購入。いままでの存在は知っていたんですが、まだ不安定という話を聞いていたので見送っていたのですが、本書で取り上げるようになってきてるならそこそこ使えるようになってきたのかなと。また本書の説明では、boot.iniにエントリを追加していつでも無効設定でOS起動できるようでしたし。

DLサイトには記載バージョンよりも新しくなっており、とりあえず0.10.0.83を使用しました。boot.iniを書き換え、ドライバのmsiファイルを実行してインストール。再起動を求められるので再起動すると、とりあえずBSODに。で、一旦PVドライバ無効にして起動し、デバイスマネージャーを見ると「!」が4つのデバイスについていたので、それぞれについて「Reinstall Driver」を実行して再度、再起動。次はちゃんと起動したものの、クライアント側からは見えない。調べてみると、従来の仮想NICが無効になっており、PVドライバーによる新しいNICにDHCPによる別のIPアドレスが振られた状態でした。そこで、PVなNICに元からの固定IPアドレスを振り直すことで、無事クライアントからも認識。

共有フォルダをVistaマシンにネットワークドライブとして割り当て、CrystalDiskMark 2.1で計測した数値を貼っておきます。

(単位:MB/s) 従来 PVドライバ
Sequential Read 4.806 59.970
Sequential Write 6.480 51.225
Random Read 512KB 4.528 61.792
Random Write 512KB 6.704 49.628
Random Read 4KB 2.900 9.594
Random Write 4K 1.531 6.435

 

歴然の差ですね。ただ、Windows Home Server Console表示などのレスポンスはあまり変化が見られません。安定性も含め、バックアップの速度などに改善が見られるかしばらく検証していきたいと思います。

Asteriskでビジュアルボイスメール

iPhoneのビジュアルボイスメールは慣れると激しく便利ですよね。従来の留守電はいつ誰からかかって来たのか、聞いてみないとわからない。複数ある中からある1件を探し出すなんて作業は絶望的に面倒です。

(動画的な意味での「ビジュアル」ではありませんのであしからず)

一方、自宅で使っているAsteriskの留守電は(OSSで実装してるという意味ではスゴいんですが)、通常のプッシュトーン操作による留守電としてもやや使い勝手に難があります。読み上げ順が、時間->日付->メッセージと一般の電話機とは逆で、肝心のメッセージが聞けるまでにひどく待たされます。特にうちは非通知でかかってきて無言で2,3秒という無意味なメッセージがよく溜まるので、いくつも連続で聞いてるとウンザリします。

多分、この再生順はどっか設定をいじれば変えられるんじゃないかとググっていたところ、Web Voice Mailなる機能があることを発見。早速設定してみました。

■設定方法

ウチはソースからコンパイルして入れてるので、あんまディストリ関係ないですが、CentOS 5です。

ソースディレクトリで make webvmail します。オプションでApacheのドキュメントルートを指定したりもできるみたいですが、cgiファイル1つとスタティックファイル(画像)のフォルダだけなので、make時に配置されたメッセージをみて、自分で移動してもさして手間は替わらない気がします。

CentOS 5の場合、suidでperlを動かすために、yum install perl-suidperl も必要でした。

あとは配置したcgiファイルにブラウザでアクセスすればOKでした。AsteriskのボイスメールIDと暗証番号でログインします。

asterisk

こんな感じで留守電が一覧され、「Play」でQuickTimeプラグインが起動してブラウザ上で聞くことが出来ます。なお、最初の一度だけ音声フォーマットを聞かれるので、Asteriskでの録音設定と同じものを選びます。

ちなみに、iPhoneのSafariだとエラーになって再生できませんでした。フォーマットをリニアPCMなWAVにすればいいかも。でも、メール添付で送られてくるファイルはいつも再生できてるんですけどね。

 

いや、しかしこれは便利。やっぱAsteriskはやめられません。おかげで、いつまでもBフレをNextに更新できないσ(^^)ガイル。