lxc

lxc

lxc

enter description here
enter description here

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复杂
使用系统资源较低
若应用不修改内核的情况下可使用

posted @ 2019-07-08 14:36  Final233  阅读(429)  评论(0编辑  收藏  举报