More Related Content
PDF
PPTX
PDF
MINCS – containers in the shell script PDF
PDF
Introduction to Initramfs - Initramfs-tools and Dracut PPTX
PDF
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12 PPTX
What's hot
PPT
PDF
PDF
PDF
PDF
WSL2+docker+JupyterとVS Codeリモート環境の構築 PDF
PPTX
ラズパイ2で動く Docker PaaSを作ってみたよ PDF
PDF
PDF
Tricky implementation of Go ARM soft float PDF
PDF
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜 KEY
PPTX
パケットジェネレータipgenから見るnetmap KEY
ODP
PDF
PDF
RancherでMesosクラスタをデプロイしてみる的ななにか PPTX
PDF
Similar to Lxc cf201207-presen
PDF
PDF
PDF
PDF
PPTX
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~ PDF
PDF
アプリ開発検証はLXC+Ansibleで楽ちんにやろう! PDF
Infinite Debian - Platform for mass-producing system every second PDF
PDF
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08 PPTX
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話 PDF
PDF
PDF
PPTX
PDF
PDF
PDF
PDF
Lpicl304Seminar Presentations on 20150118 PDF
More from Kouhei Maeda
PDF
CouchDB on Androidでスタンドアローンアプリ。 PDF
PDF
ldapvi & python-ldap で stress-free life PDF
PDF
PDF
PDF
PDF
Goodby Hatena, hello Sphinx PDF
PDF
PDF
とあるWeb企業でのDebianシステムの使い方。 PDF
PDF
Recently uploaded
PPTX
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」 PDF
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜 PDF
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版 PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信 PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望 Lxc cf201207-presen
- 1.
- 2.
- 3.
2009 年 12月の
東京エリア Debian 勉強会の
ネタの焼き直しです
. . . . . .
- 4.
自己紹介
まえだこうへい
▶ Debian JP Project Leader(2011, 2012) / CouchDB JP
▶ 勤務先:渋谷の会社
▶ Python 関連の Debian パッケージのメンテナンスなど
▶ 職場で使用している OpenStack の構築・運用で必要な、
周辺ツールの開発、構築とか
▶ 執筆
▶ Git によるバージョン管理 (オーム社)
▶ KVM 徹底入門 (翔泳社)
▶ ゆったリラックス! CouchDB があるところ (@IT) #5
▶ 知って見るみる KVM(@IT)
▶ 今日は (一応)lxc JP として呼ばれたようです
. . . . . .
- 5.
宣伝。
Google group でlxc JP 1
流量の少ない緩いやりとり
をしてます:)
1
https://groups.google.com/group/lxc-jp/about?hl=ja
. . . . . .
- 6.
LXC とは?
▶ Linux Containers のこと
▶ コンテナを稼働させるホスト自体のカーネルの機能
▶ LXC を管理するための lxc-* コマンドラインツール
▶ LXC で使えるコンテナ
▶ システムコンテナ:いわゆる OS の仮想化
▶ アプリケーションコンテナ:特定のプロセスの分離
▶ para,full-virtualization とは違うのでホストカーネル上で
動くものしかコンテナでは使えない
▶ 他のコンテナ技術:OpenVZ, Linux-VServer,Solaris
Containers, FreeBSD jail
. . . . . .
- 7.
- 8.
- 9.
kernel option 確認
$ lxc-checkconfig
Kernel config /proc/config.gz not found, looking in other places...
Found kernel config file /boot/config-3.0.0-1-amd64
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled
--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
Note : Before booting a new kernel, you can check its configuration
. . . . . .
- 10.
- 11.
確認する
即席コンテナで稼働確認
$sudo lxc-execute -n hoge -f -- /bin/bash
# lxc-info -n hoge
state: RUNNING
pid: 4520
$ sudo lxc-stop -n hoge <-別のシェルで実行。
. . . . . .
- 12.
システムコンテナを使う
1. ネットワークの設定
2. cgroup ファイルシステムのマウント
3. コンテナの rootfs 作成
4. コンテナのファイルの微調整
5. コンテナの起動
簡単に Debian 環境を増やせて、すぐ起動できるのが良いで
すね!
. . . . . .
- 13.
- 14.
リソースの管理
▶ cgroup(Control Group) を使う
▶ UI として lxc-cgroup コマンドが用意されている
▶ cgroup ファイルシステム経由でリソース管理する
cgroup /sys/fs/cgroup cgroup defaults 0 0
▶ システムコンテナの rootfs はどこでも良い。Debian で
は/var/lib/lxc 以下に置くのがデフォルト
▶ Debian では/etc/default/grub に下記を設定し、
update-grub2 の実行が必要。2
GRUB_CMDLINE_LINUX="cgroup_enable=memory"
2
http://wiki.debian.org/LXC . . . . . .
- 15.
libvirt の話
▶ Squeeze では使えない。
▶ Wheezy/Sid の libvirt(0.9.12) では一部機能制限があるが
使える。
▶ 一部:shutdown, reset, reboot ができない
▶ Upstream の 7/12 のコミット 97d7f02 で shutdown が一
部制限付きで Fix されたので、0.9.14 からは使えるか
も。3
3
Wheezy では使えない、ということですね…. . . . . .
- 16.
domain XML のサンプル
(test.xml)
<domain type=’lxc’>
<name>test</name>
<memory>500000</memory>
<os>
<type>exe</type>
<init>/sbin/init</init>
</os>
<vcpu>1</vcpu>
<clock offset=’utc’/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
<filesystem type=’mount’>
<source dir=’/var/lib/lxc/debian/rootfs’/>
<target dir=’/’/>
</filesystem>
<interface type=’network’>
<source network=’default’/>
</interface>
<console type=’pty’ />
</devices>
</domain>
. . . . . .
- 17.
起動と確認
$ sudovirsh --connect net-start default
$ sudo virsh --connect lxc:/// define text.xml
$ sudo virsh --connect lxc:/// start test
$ sudo virsh --connect lxc:/// list
Id Name State
----------------------------------
5579 test running
. . . . . .
- 18.
- 19.
現状
▶ 常用としては、さくらの VPS で Debian Squeeze でカス
タムビルドカーネル& lxc パッケージを使用
▶ ネットワークの設定は/etc/network/if-up.d/に NIC およ
びブリッジの再設定を行うスクリプトを実行させて
いる
. . . . . .
- 20.
私の悩み
▶ lxc コマンド群は、LXC を可動するホスト上でしか使え
ない
▶ 複数ホストノードを扱う場合は不便
▶ libvirt を使いたいが、XML 用意するのは面倒
▶ VirtManager とか使いたくない。コマンドラインでやり
たい
. . . . . .
- 21.
- 22.
開発の動機
▶ 7/6 に@yssk22 に発表依頼されたので、2 年半前のネタ
を焼き直しすることにした4
▶ 実は 7/28 の pyfes で Git ネタ発表内容にもどうしようか
悩んでいた
▶ libvirt 経由で LXC 管理なら OpenStack も、とか一瞬考
えたが、妻子持ちの個人環境としては面倒
4
https://twitter.com/yssk22/status/221236629631803394.
. . . . .
- 23.
- 24.
- 25.