Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになると…
Linux カーネル 3.6 では TCP Fast Open (TFO) という機能がマージされたそうです。詳しくは以下の URL に記載がありますが、一度接続したクライアントは TCP の 3way-handshake を簡略化してコネクションをオープンできる(SYN にデータを載せられる)とい…
最近の高級な言語を使ったネットワークプログラミングではソケットすら意識しなくてもプログラムができてしまいますが、実際にどんな仕組みで通信されているかを知ることは重要です。そこで scapy という任意のパケットを生成するソフトを使ってパケットを一…
ファイルサーバデータの移行 OS 領域と同様に、以下のような流れで行います。 BeyondRAID 環境を構築します。 MDRAID 構築 LVM、ファイルシステム構築 既存データをコピー 既存ディスクの RAID 組み込み MDRAID 構築 3つのディスクを使う部分は RAID5、2つ…
最近はディスクも安くなってきたので、既存の1ディスクで運用しているファイルサーバ (Ubuntu) を RAID 環境に移行してみたいと思います。複数の容量の異なるディスクで冗長性をもたせるには BeyondRAID というやりかたがおもしろそうです。すでに同じこと…
IS01のアップデートがないことが確定してしまい残念な限りです。ところで、この IS01 は android ということもあり、カーネルが OSS として公開されているので、せっかくなのでビルドしてみました。 準備 まずは必要なものをダウンロードしてきます。 (参考…
Cyber-shot HX5V では AVCHD または MP4 形式で動画を撮ることができます。 撮った動画は HDMI ケーブルで繋ぐといった方法で見ることができますが、せっかくなので DLNA を利用して PS3 で見られるようにしてみました。 (DLNA クライアントの機能があれば …
基本的にはgitレポジトリをhttpで公開する -- BONNOH FRACTION 14の通りにやればできます。 ただ、公開したレポジトリに push も出来るようにする場合、push するたびにサーバ側で "git update-server-info" しないと、HTTP経由で最新のリビジョンが見えませ…
Pythonの文字列に対する split は、指定したセパレータで分割することはできますが、指定文字数で分割することはできません(と思います)。そこでPythonで(できればPython的に)どう書いたらよいか考えてみました。 1文字ずつたどりながら処理する ぱっと…
Twitterから新しい分散フレームワークのGizzardというものがOSSで公開されたようです [http://github.com/twitter/gizzard)。Sharding? とかよく分からないのでとりあえず試してみることにしました(が、結局うまくいきませんでした)。 gizzard のビルド gi…