lxcfs 对容器的内存和CPU资源隔离

本文介绍了如何使用lxcfs解决在容器内部无法获取正确CPU和内存资源信息的问题。lxcfs是一个FUSE文件系统,通过将cgroup中的资源信息挂载到容器的proc系统,实现资源视图隔离。安装并配置lxcfs后,容器内的应用可以读取到真实的资源信息,从而避免启动失败。内存设置示例:-m 4g,CPU设置示例:--cpuset-cpus '0-2'。lxcfs对于容器和K8S集群的资源隔离具有重要意义。
摘要由CSDN通过智能技术生成

最近公司的云手机产品遇到一个问题,就是在容器内部获取不到分配的cpu和内存信息,于是找到了lxcfs。什么事lxcfs?

LXCFS is a small FUSE filesystem written with the intention of making Linux containers feel more like a virtual machine. It started as a side-project of LXC but is useable by any runtime.

在容器内使用一些命令如: free, top 等命令其实看到还是物理机的数据,而非容器的数据。这是由于容器并没有做到对 /proc/sys 等文件系统的资源视图隔离。即使容器可以通过 cgroup 的方式对资源的使用情况进行限制,但还是会出现上面的情况,结果就会造成在容器内的部分应由不能获取到正确的硬件资源而启动失败。

lxcfs 横空出世就是为了解决这个问题。
lxcfs 是通过文件挂载的方式,把 cgroup 中关于系统的相关信息读取出来,通过 docker 的 volume 挂载给容器内部的 proc 系统。 然后让 docker 内的应用读取 proc 中信息的时候以为就是读取的宿主机的真实的 proc。
 

安装 lxcfs

wget https://copr-be.cloud.fedoraproject.org/results/ganto/lxc3/epel-7-x86_64/01041891-lxcfs/lxcfs-3.1.2-0.2.el7.x86_64.rpm;
rpm -ivh lxcfs-3.1.2-0.2.el7.x86_64.rpm --force --nodeps
检查安装:
lxcfs -h
Usage:

lxcfs [-f|-d] [-p pidfile] mountpoint
  -f running
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值