サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
nigaky.hatenablog.com
Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになるというもので、Webサーバなど単一のポートに多くのコネクションが来るようなワークロードで、複数プロセスでうまく負荷分散ができるようになるそうです。 (これまでだと一人がaccept()してそれぞれの worker に渡すというようなモデルがありましたが、これでは accept() する部分がボトルネックになってしまいがちでした。) BSDでは元々 SO_REUSEPORT オプションはあったようですが、マルチキャスト通信で使うもののようです。Linux
Linux カーネル 3.6 では TCP Fast Open (TFO) という機能がマージされたそうです。詳しくは以下の URL に記載がありますが、一度接続したクライアントは TCP の 3way-handshake を簡略化してコネクションをオープンできる(SYN にデータを載せられる)という機能のようです。 TCP Fast Open: expediting web services [LWN.net] 面白そうな機能なので実際に使ってみて、使い方をまとめてみました。 準備 カーネル kernel 3.6 ではまだクライアント側の機能しかマージされていないので、さらに新しいカーネルを使います(3.7 でサーバ側の機能もマージされるようです)。今回は git で取ってきた最新 (12250d843e8489ee00b5b7726da855e51694e792) をビルドして使いまし
最近の高級な言語を使ったネットワークプログラミングではソケットすら意識しなくてもプログラムができてしまいますが、実際にどんな仕組みで通信されているかを知ることは重要です。 そこで scapy という任意のパケットを生成するソフトを使ってパケットを一つ一つ作成し、echo サーバとTCP で通信してみたいと思います。 Scapy scapy のインストール scapy は Ubuntu ではパッケージになっているので apt で入りますが、CentOS6 ではパッケージになっていなかったので自分で取ってきて入れました。 # wget http://www.secdev.org/projects/scapy/files/scapy-latest.tar.gz # tar xvf scapy-latest.tar.gz # cd scapy-2.1.0 # ./setup.py install
ファイルサーバデータの移行 OS 領域と同様に、以下のような流れで行います。 BeyondRAID 環境を構築します。 MDRAID 構築 LVM、ファイルシステム構築 既存データをコピー 既存ディスクの RAID 組み込み MDRAID 構築 3つのディスクを使う部分は RAID5、2つのディスクを使う部分は RAID1 にします。 データ移行のため、まずは2つのディスクを使って RAID5、1つのディスクで RAID1 を構成します。 # mdadm -C -l5 -n3 -e1 --assume-clean /dev/md2 /dev/sdb4 /dev/sdc5 missing # mdadm -C -l1 -n2 -e1 --assume-clean /dev/md3 /dev/sdb5 missing LVM、ファイルシステム構築 2つの md デバイスをまとめて一つの LVM
最近はディスクも安くなってきたので、既存の1ディスクで運用しているファイルサーバ (Ubuntu) を RAID 環境に移行してみたいと思います。 複数の容量の異なるディスクで冗長性をもたせるには BeyondRAID というやりかたがおもしろそうです。すでに同じことをされている方もいますが、既存の環境を壊さずに移行するというところにこだわってやってみたいと思います。 nakanote blog UbuntuでDrobo風なNASを作る 環境 Ubuntu 10.04 移行前 1TB のディスク1つ、RAID なし。 sda(1TB) : OS領域(20GB), スワップ(2GB), ファイル置き場(978GB) 移行後 OS領域は RAID1、ファイル置き場は BeyondRAID で冗長性と拡張性を持たせる 400GB, 1TB, 2TB のディスク3つで冗長性を持たせた環境を構築 フ
IS01のアップデートがないことが確定してしまい残念な限りです。 ところで、この IS01 は android ということもあり、カーネルが OSS として公開されているので、せっかくなのでビルドしてみました。 準備 まずは必要なものをダウンロードしてきます。 (参考:AndroidエミュレータでLinuxカーネルをデバッグ!! (1/3) − @IT MONOist) カーネルソース SH Developers Square - オープンソースソフトウェア クロスコンパイラ git://android.git.kernel.org/platform/prebuilt.git .config IS01本体の/proc/config.gzから持ってきます。 その他必要に応じて開発環境のパッケージなど。 以下のように展開します。 # mkdir android # cd android # t
このページを最初にブックマークしてみませんか?
『nigaky.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く