TenForward

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

Container

Plamo Linux 5.1 で docker

Plamo Linux は aufs をサポートしていますし,lxc パッケージもありますので,docker を動かすベースとしての必要条件は満たしています.そこで動かしてみましたよ. lxc パッケージをインストールしていない場合はインストールします.(lxc が動作するよう…

docker で 32bit コンテナイメージを作成する

(2013/10/09 追記) docker バイナリは static link されるようになっていますので以下の対応は不要です. 以下を読まなくてもここを読めば OK (^^) → 32-bit container on a 64-bit system · Issue #611 · docker/docker · GitHub lxc を使って x86_64 環境…

docker 初体験

2013/09/02 追記: docker -> コンテナ内の /sbin/init のバインドマウントの代わりに 0.6 からは docker -> /.dockerinit に変わってます.(従来通り /sbin/init の設定になってるヤツも実行可能になってる) -> Fix to "Inject dockerinit at /.dockerinit" …

第1回コンテナ情報交換会で『Linuxコンテナ最新情報』というお題で発表してきました

6/1 に 第1回コンテナ情報交換会 をまったりと神戸で開いてきました.そこでの資料です. https://speakerdeck.com/tenforward/linux-kontenazui-xin-qing-bao-2013-06-01 (Speakers Deck) https://guinan.ten-forward.ws/lxc-20130601/ (オリジナルの html …

Linux 3.8 の User Namespace 機能 (3)

3.8 で実装が完了した! ということで楽しみにしていたユーザ名前空間 (User Namespace) ですが,3.8 の時点ではカーネルのかなりの機能を無効にしないと有効に出来ない状態でした.これでは手元のカーネルをユーザ名前空間を有効にして make できないなあと…

util-linux の nsenter コマンド

util-linuxの 2.23 (現在 2.23-rc1) で nsenter なるコマンドが追加されてるみたいですね.lxc-attach と同様の事ができそうです,と思って試してみました. lxc-start でコンテナ起動# lxc-start -n test01 -d lxc-info で init の PID を調査# lxc-info -n…

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

ここに書いてあるのはカーネル付属のドキュメントに書かれてある事ですので,正確な情報はそちらをご参照ください. ;)前回 (Linux 3.8 で改良された memory cgroup (1) - TenForwardの日記) 試したように,Linux 3.8 からカーネルメモリに対して制限をかけ…

Linux 3.8 で改良された Namespace 機能と lxc-attach コマンド

以前から lxc には lxc-attach というコマンドが含まれていました.このコマンドは OpenVZ やその商用版の Virtuozzo にある vzctl exec というコマンドと同じ目的のもので,コンテナ外のホスト OS 上から直接コンテナ内のコマンドを実行するためのものです…

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

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

Linux 3.8 の User Namespace 機能 (2)

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

Linux 3.8 の User Namespace 機能 (1)

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

Ubuntu 12.04 の lxc (2)

間があいてますが 前回 の続きです.全くたいした内容ではありません.以下は 12.04 だけでなく 12.10 でも通用するお話です.lxc は,Linux kernel 標準で提供されているコンテナ関係の機能 (namespace と cgroup) を使って作られているわけですが,まだ ke…

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

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

Ubuntu 12.04 の lxc (1)

続くかわかりませんが,一応 (1) としときます.:-)Ubuntu 12.04 の lxc (libvirt じゃない) で起動した Ubuntu 12.04 ですが,特にコンテナ特有のパッケージがインストールされてるわけでもなさそうなので,どういう仕組みでコンテナかどうか判断してるのか…

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とか書けば普通に使えるんですが,「あれ〜?ネットワーク通じないなあ」とハマっていたら,なん…

virt-manager の LXC サポート (3)

前回, コンテナ上でシャットダウンすると,なぜかホストが突然死します. http://d.hatena.ne.jp/defiant/20111101/1320146265 なんてことを書いていましたが,ログを見ると lxcContainerDropCapabilities:1012 : libcap-ng support not compiled in, unabl…

/dev/ptmx でハマり道

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

virt-manager の LXC サポート (2)

間が開きましたが virt-manager の LXC サポート (1) - TenForwardの日記 の第2弾.libvirt 上で lxc の OS コンテナを動かすお話です.あまり中身がないエントリなのは前回と同じ.こんな環境上で実験しています. Plamo Linux 5.0 開発版 (x86_64) kernel …

virt-manager の LXC サポート (1)

何気に virt-manager の ChangeLog を見ていると, Basic 'New VM' wizard support for LXC guestsおおっ!早速試してみました. OSコンテナ 「接続を追加する」を選択すると LXC が選択肢にあります. 「新しい仮想マシンの作成」をやると,接続先の選択肢…

libvirt 上で Fedora15 コンテナ

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

LXC-jp / 日本語で lxc (やその他コンテナ) のお話ができる場所

日本語でlxcとかコンテナの話や質問が出来る場が欲しいなあ。どっかありませんかね? https://twitter.com/#!/ten_forward/status/86633606956597249 というのに応えて @mkouhei さんが作ってくださいました!! lxc JP (Googleグループ) 興味のある方はどしど…

lxc でコンテナ内でコマンド実行

OpenVZ/Virtuozzo だと vzctl exec 101 ls とかやるとコンテナ101内で ls を実行したのと同じになります.lxc の場合は lxc-console も lxc-execute も同じようには使えません.以下でそれに使えるようなコマンドが紹介されています.(vzctl enter と同等の…

lxc-debian テンプレートで作った Debian コンテナの reboot 問題

なんか reboot の話題ばっかり.どんだけコンテナを reboot するのが好きやねん...というわけで debian コンテナの話題です.こちらは Ubuntu の問題と違って,おそらくどんなホスト OS 上で実行しても起きる問題な気がします.これは配布物に含まれる lxc-d…

RHEL6 の lxc 関係情報

RHEL6 を使った lxc のよくまとまった情報があったので紹介しておきます. RHEL6.0 で LXC (Linux コンテナ) - めもめも Control Groups (cgroups) - めもめも

(解決!) natty 上の lxc の natty コンテナの reboot の問題

先日書いたreboot問題,普通に Natty をインストールして,普通に lxc-create コマンドで作成しても起きる問題なので,重い腰を上げて英語で質問を lxc-users ML に投げましたよ.ホント恥ずかしいレヴェルの英語です.すると,Daniel Lezcano さんから速攻…

natty 上の lxc の natty コンテナの reboot の問題

Ubuntu natty を入れて,その上で # lxc-create -t natty -n 001みたいに natty コンテナを作ります.コンテナを # lxc-start -n 001 -dと起動させて # lxc-console -n 001でコンソールにアクセスし,ログインします.その後,reboot コマンドを投入すると..…

lxc コンテナ上の iptables のログ

lxc コンテナ上でホストの iptables ルールとは別のルールで iptables を使うことは可能ですが,そこでログを吐くとコンテナの syslog に吐かれたり,ホストの syslog に吐かれたりします.ちょっと調べてみましたが,まだその辺りは解決出来てないようです…

lxc のネットワーク仮想化の phys

今まで母艦でブリッジ作って,コンテナは veth でアタッチ,ってのばかりでしたが,phys ってのをやってみました.だから? って話ですが (^_^;),一応メモ.Ubuntu 10.10 上で ubuntu@ubuntu001:~$ sudo lxc-execute -n test -s lxc.network.type=phys -s lx…

linux 2.6.37 の新機能 "I/O throttling" (2)

昨日の『linux 2.6.37 の新機能 "I/O throttling"』の続編. # ls -l /dev/sdc* brw-rw---- 1 root disk 8, 32 1月 12日 19:01 /dev/sdc brw-rw---- 1 root disk 8, 33 1月 12日 19:02 /dev/sdc1 というディスクに対してまずは書き込み. # mount -t cgroup …