シンプルハンドLXC(Linux Containers)
2618 ワード
LXCはLinux containersの略称で、オペレーティングシステムレベルの仮想化技術です.オペレーティングシステム階層でプロセスに仮想的な実行環境を提供します.仮想実行環境はコンテナ(container)と呼ばれます.コンテナに特定のcpuノードとmemoryノードをバインドし、特定の割合のcpu時間、IO時間を割り当て、使用可能なメモリサイズ(メモリとswap空間を含む)を制限し、deviceアクセス制御を提供し、独立したnamespace(ネットワーク、pid、ipc、mnt、uts)を提供することができる.
Dockerを知っていればLXCを聞いたことがあるかもしれません.
インストール
システムテンプレートの表示
システムの作成
時間がかかる
開始
lxcが作成したシステムを表示
コンソールからシステムへ
ていし
プロファイルによるシステムへのアクセス
参照先:
https://segmentfault.com/a/1190000000443812
https://www.ibm.com/developerworks/cn/linux/l-lxc-containers/
https://knowledge.sakura.ad.jp/2108/日本語
Dockerを知っていればLXCを聞いたことがあるかもしれません.
インストール
sudo apt-get install lxc
システムテンプレートの表示
ls /usr/share/lxc/templates/
lxc-alpine lxc-centos lxc-fedora lxc-oracle
lxc-altlinux lxc-cirros lxc-gentoo lxc-plamo
lxc-archlinux lxc-debian lxc-openmandriva lxc-sshd
lxc-busybox lxc-download lxc-opensuse lxc-ubuntu
システムの作成
時間がかかる
sudo lxc-create -t ubuntu -n zqw
# -n name
開始
sudo lxc-start -n zqw -d
lxcが作成したシステムを表示
sudo lxc-ls
コンソールからシステムへ
sudo lxc-console -n zqw
、システム内でshellを実行できます.ていし
lxc-stop -n zqw
プロファイルによるシステムへのアクセス
# gitian
# https://github.com/devrandom/gitian-builder/blob/master/etc/lxc.config.in
lxc.tty = 4
lxc.pts = 1024
lxc.rootfs = ROOTFS
lxc.arch = ARCH
lxc.cgroup.devices.deny = a
# /dev/null and zero
lxc.cgroup.devices.allow = c 1:3 rwm
lxc.cgroup.devices.allow = c 1:5 rwm
# consoles
lxc.cgroup.devices.allow = c 5:1 rwm
lxc.cgroup.devices.allow = c 5:0 rwm
lxc.cgroup.devices.allow = c 4:0 rwm
lxc.cgroup.devices.allow = c 4:1 rwm
# /dev/{,u}random
lxc.cgroup.devices.allow = c 1:9 rwm
lxc.cgroup.devices.allow = c 1:8 rwm
lxc.cgroup.devices.allow = c 136:* rwm
lxc.cgroup.devices.allow = c 5:2 rwm
# rtc
lxc.cgroup.devices.allow = c 254:0 rwm
# mounts points
lxc.mount.entry=proc ROOTFS/proc proc nodev,noexec,nosuid 0 0
lxc.mount.entry=sysfs ROOTFS/sys sysfs defaults 0 0
# Container with network virtualized using a pre-configured bridge named br0 and
# veth pair virtual network devices
# On the host, run: ifconfig br0 up 10.0.2.2
# Alternatively, you can use another IP range for the bridge interface, in this case set
# the environment variables GITIAN_HOST_IP and LXC_GUEST_IP appropriately.
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = GUESTLINK
lxc.network.ipv4 = GUESTIP/24
lxc.network.ipv4.gateway = auto
lxc.utsname = gitian
sudo lxc-start -n gitian -f gitian-builder/var/lxc.config
sudo lxc-attach -n gitian -f gitian-builder/var/lxc.config
# -n name
# -f file ,
参照先:
https://segmentfault.com/a/1190000000443812
https://www.ibm.com/developerworks/cn/linux/l-lxc-containers/
https://knowledge.sakura.ad.jp/2108/日本語