lxc
lxc
kvm是有自己的内核
lxc: LinuX Contaller
- chroot 根切换
- namespaces 名称空间 能操作自己的用户空间的功能,各自都切割的用户空间(隔离)
- CGroups 控制组 相当于资源分配 限制用户空间使用的硬件资源
lxc简单使用:
- xc-checkconfig:检查系统环境是否满足容器使用要求;
- lxc-create:创建lxc容器;
lxc-create -n NAME -t TEMPLATE_NAME
lxc-create -n centos7 -t centos - lxc-start:启动容器;
lxc-start -n NAME -d
lxc-start -n centos7 -d - lxc-info:查看容器相关的信息;
lxc-lnfo -n NAME
lxc-info -n centos7 - lxc-console:附加至指定容器的控制台;
lxc-console -n NAME -t NUMBER
lxc-console -n centos 7 -t 0 - lxc-stop:停止容器;
- lxc-destory:删除处于停机状态的容器;(删除前先关闭)
- lxc-snapshot:创建和恢复快照;
lxc-snapshot -n NAME
lxc-snapshot -n centos7 创建
lxc-snapshot -n centos7 -L 将快照列出
lxc-snapshot -n centos7 -d snap0 删除快照 - lxc-clone 克隆
lxc-clone -s old new
lxc-clone -s centos7 centos7-clone
[root@Final ~]# yum info lxc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Available Packages
Name : lxc
Arch : x86_64
Version : 1.0.11
Release : 2.el7
Size : 140 k
Repo : epel/x86_64
Summary : Linux Resource Containers
URL : http://linuxcontainers.org
License : LGPLv2+ and GPLv2
Description : Linux Resource Containers provide process and resource isolation without
: the overhead of full virtualization.
[root@Final ~]# yum install lxc lxc-templates -y
[root@Final ~]# rpm -ql lxc
rpm -ql lxc-templates
lxc-checkconfig 检查当前系统是否支持LXC
[root@Final ~]# cd /usr/share/lxc/templates/
[root@Final templates]# cp lxc-centos{,.bak}
修改模板文件
改下BASH源就可以了
[base]
name=CentOS-$release - Base
#baseurl=http://mirror.centos.org/altarch/7/os/$basearch/
baseurl=ftp://192.168.10.254/pub/yum/
[updates]
name=CentOS-$release - Updates
baseurl=http://mirror.centos.org/altarch/7/updates/$basearch/
enabled=0
创建一个
[root@Final ~]# lxc-create -n centos7 -t centos
修改密码
[root@Final ~]# chroot /var/lib/lxc/centos7/rootfs passwd
Changing password for user root.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
lxc web管理界面
https://github.com/lxc-webpanel/LXC-Web-Panel
git clone https://github.com/lxc-webpanel/LXC-Web-Panel
yum install git -y
yum list all |grep flask
yum install python-flask
[root@Final LXC-Web-Panel]# python ./lwp.py
* Running on http://0.0.0.0:5000/
客户端访问
用户名密码admin
firefox 192.168.10.254:5000
Namespaces
Mount namespaces:挂载点
UTS namespaces:主机名与域名
IPC namespaces:信号量、消息队列和共享内存
PID namespaces:进程号
Network namespaces:网络设备、网络栈、端口等
User namespaces:用户和组
cgroups
blkio:块设备I0
cpu:CPU
cpuacct:CPU资源使用报告
cpuset:多处理器平台上的CPU集合
devices:设备访问
freezer:挂起或恢复任务
memory:内存用量及报告
perf_event:对cgroupp的任务进行统一性能测试
net_cls:cgroup中的任务创建的数据报文的类别标识符
lxc是轻量级虚拟化软件
内核是共享的
管理比KVM复杂
使用系统资源较低
若应用不修改内核的情况下可使用