TenForward

技術ブログ。はてなダイアリーから移転しました

Linux

Linux 3.8 で改良された memory cgroup (1)

Linux 3.8 で User Namespace 機能が入った!と浮かれていて,cgroup のメモリコントローラに入った改良に全く気づいていませんでした (^_^;) 他に freezer サブシステムにも改良加わってますよ (階層化かな).この辺りでしょうか. KS2012: memcg/mm: Improv…

Linux 3.2 の Thin Provisioning (3)

Linux 3.2 の Thin Provisioning (2) - TenForwardの日記の続編.ついこないだ試したと思ったら,試したのってもう 1 年前なことに気づき,時間の経つのが早い事に愕然としています... (>_既に 3.8 kernel がリリースされたのに「何が Linux 3.2 だ」と思わ…

Linux 3.8 の User Namespace 機能 (2)

ブログのテーマを変えてみました.数日間,今のとはまた別のでしたが,コードの表示部分が見にくかったのでまた変えました ^^;閑話休題Linux 3.8 の機能と書きましたが,今回はそれを利用している側を少し見てみました.lxc の開発中のコードが github にあ…

Linux 3.8 の User Namespace 機能 (1)

コンテナを実現するのにカーネルに必要な機能としては大きく分けて 名前空間 リソース制限 があります.リソース制限は cgroup として実装されています (ここではこの話は置いときます).名前空間は,その対象となる空間と他の空間を分ける機能を持っていま…

Linux Kernel の User Namespace 機能と lxc (1)

色々な Namespace の機能はコンテナを動かす上で重要な機能なのですが,Linux kernel でこれから実装される予定の機能がいくつかあります.そのうちの結構重要なのが User Namespace です.今の lxc コンテナは,起動するとコンテナ内の root (uid:0) とホス…

CRIU (2)

通信中のプロセスを dump して restore してみます.CRIU (1)] の時と同じく SD 誌 2012/11 月号の内容とほぼ変わりません. まずは適当に wget などで少し時間のかかるものを取得してみます.wget http://example.com/plamo64-1.0_dvd.iso dump を実行しま…

CRIU (1)

CRIU とは "Checkpoint Restart In Userspace" で Linux のプロセスの状態を保存して停止させ,また同じ状態で再開させる機能 (の実装) の事です.面白そうな機能なので試してみました.なお,丁度 技術評論社から出ている Software Design 誌の 2012 年 11 …

ext3, 4 のジャーナルファイルのデフォルトのサイズ

e2fsprogs にこんなコードが. /* * Find a reasonable journal file size (in blocks) given the number of blocks * in the filesystem. For very small filesystems, it is not reasonable to * have a journal that fills more than half of the filesys…

Linux 3.3 の新機能 Network priority cgroup (2)

前回,Linux 3.3 の新機能 Network priority cgroup - TenForwardの日記で行った Network priority cgroup を久々に調べていました.調べたのはこの優先度の設定がどこで設定されるか?って所ですが,この機能のコミットは結構シンプルなので,すぐにわかり…

Linux 3.3 の新機能 Per-cgroup TCP buffer limits (3)

Linux 3.3 の新機能 Per-cgroup TCP buffer limits (2) - TenForwardの日記 の続編.かなり間が開いてしまって,自分でも忘れかけてます.前回と同様に,カーネルのコードを読んだりしていますが,私はその辺りの知識は殆どありませんので,間違いがある場合…

Linux 3.3 の新機能 Per-cgroup TCP buffer limits (2)

(2014-03-06 追記) この部分のコード,sysctl パラメータ経由で TCP buffer に対して制限をかけるというコードはうまく動かないようで Linux 3.13 で削除されています.これがなんか値が合わないなあ,ってなってた原因ですかね? (新しいコード見てないので…

Linux 3.3 の新機能 Per-cgroup TCP buffer limits

Linux 3.3 の cgroup 関連新機能 - TenForwardの日記 で少し紹介した Per-cgroup TCP buffer limits を軽いノリで試してみました. (2012/04/12 追記) この機能,文字通り TCP の時のバッファサイズの制限を行うものですが,root cgroup (メモリコントローラ…

Linux 3.3 の新機能 Network priority cgroup

Linux 3.3 の cgroup 関連新機能 - TenForwardの日記 で少し紹介した 3.3 の新機能である Network priority cgroup を簡単に試してみました.net_prio に関連するのは以下のうち, $ ls /sys/fs/cgroup/net_prio/ cgroup.clone_children cgroup.procs net_pr…

Linux 3.3 の cgroup 関連新機能

Linux 3.3 が出たので入れてみました.とりあえずいつものように cgroup 関係の新機能を.この辺りですかね. CONFIG_CGROUP_MEM_RES_CTLR_KMEM CONFIG_NETPRIO_CGROUPとりあえずメモリコントローラ関連のパラメータとして $ ls /sys/fs/cgroup/memory/*kmem…

Plamo64-1.0 で VMware Player 4.0.2

最近 libvirt 経由の KVM で楽々,という感じでしかデスクトップで使っている Plamo Linux 上では仮想マシンは使っていませんでしたが,ML で質問があったのをきっかけに試してみました.ハマり所満載ですが,一応動きましたのでメモしておきます. 前提 Pla…

btrfs 初体験

btrfsを使ってみました.何も目新しいこともすごいことも書いてなくて,適当にググった情報からやったことのメモ. lxc+btrfsは鉄板です! https://twitter.com/#!/peo3/status/167968708436832256 との事だったので,「確かにそうだ」と思って. mkfs # mkf…

Linux 3.2 の Thin Provisioning (2)

Linux 3.2 の Thin Provisioning (1) の続編.とりあえず前回でファイルシステムを作成して,実際より大きな領域が見えるようになりましたので,少し使ってみました. 100MB の領域でしたので,とりあえず 80MB のファイルを作ってみます.root@plamo64:/mnt…

Linux 3.2 の Thin Provisioning (1)

Linux 3.2 で入った Thin Provisioning を試してみました.Device Mapper 経由で使います.kernel 付属文書には dmsetup を使った例が載っていますが,そこにも実際は LVM2 とかのツールを使うことになるよ,みたいなことは書かれていますので,見てみたとこ…

Linux 3.2 の CFS bandwidth control (2)

Linux 3.2 の CFS bandwidth control (1) - TenForwardの日記 の続編.簡単に動きを見てみました.シェルを二つ起動して,こんなスクリプトを実行してみました. # while :; do true ; done結果は top コマンドで観測.まあ,これでは厳密にちゃんと動いてい…

Linux 3.2 の CFS bandwidth control (1)

今年もよろしくです.kernel 3.2 で CFS bandwidth control という機能が入ったようですね.早速 3.2 を CONFIG_CFS_BANDWIDTH を有効にして構築してみました. General setup ---> [*] Control Group support ---> [*] Group CPU scheduler ---> [*] CPU ba…

lxc の仮想ネットワークのパフォーマンス測定

先日,kvm の仮想 NIC やネットワーク構成を変えてパフォーマンス測定を行いました (→SR-IOV を有効にする(3) - TenForwardの日記) が,それと同じようなテストを lxc でネットワーク構成を変えてやってみました. テスト環境 lxc を稼働させた PC は 日本HP…

lxc で SR-IOV ハマり道

SR-IOV で出現した VF は lxc から見たら普通のネットワークインターフェースに見えるので lxc.network.type=phys lxc.network.link=eth3 lxc.network.flags=upとか書けば普通に使えるんですが,「あれ〜?ネットワーク通じないなあ」とハマっていたら,なん…

macvtap でつないだ kvm ゲストとホスト間の通信

kvm ゲストの仮想 NIC を macvtap 経由で物理 NIC に直接アタッチするとパフォーマンスが良いようですね.macvtap については MacVTap - Linux Virtualization Wiki libvirt 文書の Domain XML format のDirect attachment to physical interface セクション…

SR-IOV を有効にする(3)

企画第 3 弾.SR-IOV を有効にする (2) - TenForwardの日記 の続編.きちっとギガのスイッチをはさんでリモートのホストからベンチマークを実行してみました.ちなみにゲスト OS は CPU コアを 1 つ割り当てており,メモリは 1024MB です.(2011/12/26: vhos…

SR-IOV を有効にする (2)

前回の続編. RHEL6のマニュアル lspciでデバイスの情報を調べます.Intel 82576 を積んだ NIC ですので $ lspci | grep 8257601:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)01:00.1 Ethernet controller: Inte…

SR-IOV を有効にする

Ubuntu Linux 11.10 で SR-IOV を有効にするメモ.ホストは 日本HP Redirect 日本HP 旧モデル情報 8100 Elite SF−スペック (Directplusモデル)の Core i5 でメモリ 8GB 積んだマシンです. # lspci | grep 82576 01:00.0 Ethernet controller: Intel Corpo…

/dev/ptmx でハマり道

lxc を使用する際,仮想端末回りをセキュアにするために newinstance オプションを付けて devpts をマウントするのは,以前 紹介ずみです.ココでも少しハマりましたが,またハマったのでメモっておきます. devpts の newinstance オプション カーネル付属…

MacBook Pro で Ubuntu Linux 11.10 (1)

MacBook Pro で Ubuntu 11.04 - TenForwardの日記 MacBook Pro で Ubuntu Linux 10.10 (2) - TenForwardの日記 MacBook Pro で Ubuntu 10.04 - TenForwardの日記 MacBook Pro で Ubuntu 9.10 (タッチパッドの違和感をなくす) - TenForwardの日記 と延々続く …

libvirt 上で Fedora15 コンテナ

が動く模様.詳しくは lxc-jp の google group を.また何か試したりしたらここでも書くかも?

MacBook Pro で Ubuntu Linux 11.04 (5)

MacBook Pro で Ubuntu 11.04 (2) - TenForwardの日記 でバックライトの照度調整が出来ないと書きましたが,強引に maverick のリポジトリから対象となるモジュール (mbp-nvidia-bl-dkms) をインストールすれば OK でした (元々ソース配布だし)./etc/apt/so…