Questions tagged «lxc»

LXC(Linux容器)的缩写LXC是一种操作系统级虚拟化方法,用于在单个控制主机上运行多个隔离的Linux系统(容器)。LXC是Linux容器的用户空间控制包,这是一种轻量级的虚拟系统机制,有时被称为“类固醇中的chroot”。

1
如何在非特权LXC容器中创建/ dev / tun设备?
这个问题类似于openvpn的lxc guest虚拟机中的No tun设备。LXC不断发展,最近引入了无特权的LXC容器,它提供了另一层防止越狱的安全性。 我需要在一个没有特权的容器中创建一个OpenVPN服务器。我不知道如何让容器创建专用的Tun网络设备。 我确实附加lxc.cgroup.devices.allow = c 10:200 rwm到~/.local/share/lxc/mylxc/config。 启动容器后,mknod /dev/net/tun c 10 200返回mknod: '/dev/net/tun': Operation not permitted容器内部。 我使用香草Ubuntu 14.04 64bit作为主机,并使用 lxc-create -t download -n mylxc -- -d ubuntu -r trusty -a amd64 是否有人设法使/dev/tun设备在非特权LXC下运行?
10 openvpn  lxc  tun 

3
LXC容器未启动
我的CentOS LXC容器不再在Ubuntu 14.10机器上启动。我认为问题是在重新启动后开始的,但是我不确定。 yum更新后,当初始化脚本替换为不支持LXC的常规脚本时,我遇到了类似的问题。他们试图启动udev等。但是这一次,我对所有CentOS实例都有这个问题,即使对于那些新创建的实例也是如此。 主机操作系统:Ubuntu14.10 64bit 访客操作系统:Centos 6.5 64bit root@ubuntu-mvutcovici:~# lxc-start --logfile stash-lxc.log --logpriority DEBUG -dn stash lxc-start: lxc_start.c: main: 337 The container failed to start. lxc-start: lxc_start.c: main: 339 To get more details, run the container in foreground mode. lxc-start: lxc_start.c: main: 341 Additional information can be obtained by …
10 lxc  ubuntu-14.10 

1
为什么要使用lxc而不是chroot?
一台ubuntu服务器在单独的域上托管3个应用程序。 每个应用都有自己的开发人员。 应用开发人员属于linux“ sftp”组。 chroot允许每个应用程序开发人员访问密码sftp。 /home/app1/prod /home/app2/prod /home/app3/prod 在sshd_config中 Match Group sftp PasswordAuthentication yes ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no 我们关注的是一个应用程序中的编程漏洞,导致其他两个应用程序中的问题。 我们应该使用lxc容器而不是chroot吗?为什么?对lxc容器的更改对应用程序开发人员是否透明?
10 ubuntu  security  sftp  chroot  lxc 

3
为什么内存受限的LXC容器中的应用程序将大文件写入磁盘会被OOM杀死?
EDIT2:此问题在3.8.0-25-通用#37-Ubuntu SMP下似乎也存在 编辑:我修改了原始标题为“为什么用dd写入文件会触发Linux内存不足管理器”的问题?为了更好地反映出我对以下所述的一般问题感到担忧: 我遇到一个麻烦的情况,当我写一个大小超过内存限制(设置为300MB)的文件时,OOM杀手正在我的LXC容器中强行杀死进程。当我在实际上只有512 MB RAM的Xen虚拟机(EC2 t1.micro)上运行应用程序时,不会发生此问题,因此在尊重容器内存限制的情况下文件缓冲似乎存在一些问题。 作为一个简单的示例,我可以演示dd写入的大文件将如何引起问题。同样,此问题困扰着所有应用程序。我正在寻找解决应用程序缓存过大的一般问题。我了解如何使“ dd”工作。 场景: 我有一个LXC容器,其中memory.limit_in_bytes设置为300 MB。 我尝试将dd添加到约500 MB的文件,如下所示: dd if=/dev/zero of=test2 bs=100k count=5010 大约20%的时间,Linux OOM管理器由该命令触发,并且进程被杀死。不用说,这是非常意想不到的行为。dd旨在模拟容器中运行的程序编写的实际“有用”文件。 详细信息:虽然文件缓存变大(260 MB),但rss和文件映射似乎仍然很低。这是一个在写入过程中memory.stat可能看起来像的示例: cache 278667264 rss 20971520 mapped_file 24576 pgpgin 138147 pgpgout 64993 swap 0 pgfault 55054 pgmajfault 2 inactive_anon 10637312 active_anon 10342400 inactive_file 278339584 active_file 319488 unevictable 0 hierarchical_memory_limit …
10 linux  ubuntu  lxc  oom  cgroup 

1
我可以在LXC容器中使用其他Linux发行版吗?
我们正在开发针对Debian Lenny(和其他一些产品)的服务器产品。但是,由于驱动程序需求,开发人员的个人选择等原因,我们在硬件上运行Ubuntu(12.04)。 是否可以在Ubuntu 12.04的LXC容器中运行Debian Lenny?
10 lxc 

8
如何自动启动非特权Lxc容器?
在Ubuntu 14.04上,我创建了一个无特权的容器,可以手动启动和停止该容器。 但是,我希望这与系统一起启动和停止。 我在容器的配置中添加了以下内容: lxc.start.auto = 1 lxc.start.delay = 5 但是,系统脚本似乎没有选择非特权容器。 linuxcontainers.org上有与此相关的线程,但是该解决方案似乎仅限于root用户。 有没有针对非root用户(经root用户同意)执行此操作的干净方法?



3
在较重的虚拟化环境(Xen,KVM,Hyper-V,VMVare)下使用LXC
是否可以在较重的虚拟化环境(Xen DomU,KVM,Hyper-V,VMVare)下使用LXC?我想将其用作安全性(隔离)工具,限制资源消耗的能力对我而言并不是优先考虑的事情。我只是想以一种简单的方式来完成它。类似于在非虚拟服务器上使用LXC。我不想在生产服务器上使用过于棘手的设置。

3
为什么在有Linux-vserver时使用LXC?
我不是LXC专家,但据我所知它确实与linux-vserver相似。 如果这是正确的,我想知道为什么在已经拥挤的虚拟化阵营中还有另一个参与者?LXC提供(或保证)linux-vserver没有什么? 我是linux-vserver的长期用户,我记得大约在多年前就出现了所有此类虚拟化宣传。最近一段时间,开发速度有所放缓,但从未完全停止-我知道是因为开发人员帮助我将其恢复到linux / hppa上的有用状态(至少在Gentoo中如此)。他们定期使用所有最新的功能(与LXC使用的容器基础结构)针对最新的内核推出补丁,甚至与GRsecurity集成。 从事LXC工作的人们可能有充分的理由这样做,而不是加入已经建立好的linux-vserver基础?那我想知道。 这与主线集成有关吗?那么为什么不像Linux的XenLinux那样使linux-vserver适应集成呢?

5
LXC,端口转发和iptables
我有一个10.0.3.2在主机上运行的LXC容器()。服务正在端口port上的容器内部运行7000。 从主机(10.0.3.1,lxcbr0),我能达到的服务: $ telnet 10.0.3.2 7000 Trying 10.0.3.2... Connected to 10.0.3.2. Escape character is '^]'. 我很想让外部容器可以访问在容器内运行的服务。因此,我想7002将主机上的端口转发到7000容器上的端口: iptables -t nat -A PREROUTING -p tcp --dport 7002 -j DNAT --to 10.0.3.2:7000 结果为(iptables -t nat -L): DNAT tcp -- anywhere anywhere tcp dpt:afs3-prserver to:10.0.3.2:7000 尽管如此,我仍无法使用转发的端口从主机访问服务: $ telnet 10.0.3.1 7002 Trying 10.0.3.1... telnet: Unable …

3
短期专用VM的技术
我正在尝试构建一个将运行软件组件的短期(CI和测试版本)的系统,根据我的要求,每个组件都必须驻留在专用主机上,这是强制性的。我正在将该定义也包括半虚拟化选项,因为这似乎会让我头疼。 我在Mac上工作,所以几乎每种技术都失效了,libvirt和quemu等等对我都不起作用。但是我正在计划部署到Debian。因此,只要我可以编写主机及其来宾域的配置脚本,就可以将在Debian上运行的所有内容放回桌面上。 我想要的设置是,我可以用来引导Debian安装程序,这意味着在启动时,机器会自动进行预配置(Chef,Puppet,Babushka,不要介意),并且该预配置的一部分应该构建一个可用于引导容器的模板rootfs。还需要提供容器本身,以便在容器出现时知道要执行的工作,可以执行该工作,然后退出。 简而言之,这是我需要的工作流程: 启动计算机(虚拟或其他),并准备好进行工作。 该工作应由Chef / puppet / babushka / etc安装的脚本执行 进行工作时,应启动虚拟机进行工作。 VM应该完成工作,退出并将其资源释放给父/主机。(重要的是,在合理的硬件上,它至少可以扩展到数百个来宾VM) 我已经尝试过以下内容,并出于以下原因放弃了它们: 对于主机 带有Instalinux(支持LinuxCOE)的预种子Debian微型ISO映像(不好: 根本没有用(“未找到内核模块”(因为Instalinux映像与FTP存储库不同步,显然该解决方案非常脆弱,它也没有太大的余地安装空间,并且无法将已知的SSH密钥,主机密钥等放置到计算机上,这简直是火如虹,最终我会拥有一台正在运行的计算机,但无法访问它) 种子前Debian netinst ISO(不好:与上述问题相同,但至少安装通常会完成,因为ISO和FTP存储库之间没有内核差异。安装后的范围仍然有限。 良好:绝对可靠且可重复,易于在Mac或裸机上的任何VM技术堆栈上使用,可以在任何地方使用,但是我无法对其进行足够的后期安装) 各种构建rootfs并将其编译为可启动硬盘映像的方法(不好:我所能做的工作很少,就像地狱一样,很难安装到真实的机器上,而且构建过程很复杂。 良好: 如果我可以使它工作,这似乎为使用ssh密钥,主机密钥,主机名,从Git安装的软件以及其他任何东西将机器预配置为给定规格提供了最大的范围,但是问题是如何打包进行分发,或编写脚本来娱乐。) 老实说,我不确定人们应该使用什么技术将虚拟机从无到有,带到正在运行,运行和有用的系统中。在我看来,这就像三个步骤:a)操作系统,b)系统配置(用户等),然后c)文件系统更改。 对于来宾(虚拟)计算机: 很多事情,大多数情况下,我认为答案是用创建的只读rootfs debootstrap和LXC容器上的特殊分区,其中包含为此特定实例(作业清单)要完成的工作。插入所有有关构建操作系统,引导,创建用户,从git中签出软件以及进行工作的一般警告。 我真的不确定要使用什么工具,看来问题应该得到很好解决。但是我只是找不到真正开始的地方。 多数人似乎建议主机,我应该选择一种虚拟化技术,将计算机引导至工作状态,然后对其进行快照(libvirt似乎是逻辑上的最爱)。使用快照启动任何后续安装以进行测试或投入生产。 对于来宾计算机,lxc似乎提供了最简单的选项,除了在现有的所有内核中中断容器的后台运行并稍后通过控制台连接到该容器之外,稳定的Debian可用的最新版本的lxc已有18个月以上的历史了。 ,并且缺少许多广泛使用的功能。 通常,我是一名应用程序开发人员,并且我不经常使用服务器级技术(并且我确信SF会将这个问题标记为“过于主观”),但是我确实不确定要使用哪些工具。 最后一句话是,我知道一个类似的堆叠项目(travis-ci.org)正在为此使用Vagrant框。这似乎是一种比较钝的工具,它是大型,慢速,面向红宝石的工具,专门用于对用于关键服务基础架构的测试VM进行小型桌面配置,但我也知道其中一些人,他们比我聪明,所以也许他们只是放弃了。 任何帮助表示赞赏。

2
桥接LXC容器以托管eth0,以便它们可以拥有公共IP
更新: 我在那里找到了解决方案:http : //www.linuxfoundation.org/collaborate/workgroups/networking/bridge#No_traffic_gets_trough_.28except_ARP_and_STP.29 # cd /proc/sys/net/bridge # ls bridge-nf-call-arptables bridge-nf-call-iptables bridge-nf-call-ip6tables bridge-nf-filter-vlan-tagged # for f in bridge-nf-*; do echo 0 > $f; done 但是我希望对此有专家意见:禁用所有bridge-nf- *是否安全?他们在这里做什么? 更新结束 我需要将LXC容器桥接到主机的物理接口(eth0),并阅读有关该主题的大量教程,文档和博客文章。 我需要容器具有自己的公共IP(我之前已经完成了KVM / libvirt)。 经过两天的搜索和尝试,我仍然无法使其与LXC容器一起使用。 主机运行一个新安装的Ubuntu Server Quantal(12.10),仅安装libvirt(我在这里不使用)和lxc。 我使用以下命令创建了容器: lxc-create -t ubuntu -n mycontainer 因此他们也运行Ubuntu 12.10。 / var / lib / lxc / …

2
LXC是否足够安全以进行VPS托管?
现在,我正在使用Linux VServer进行VPS托管。但是它缺少一些我需要的功能(例如,cpu使用虚拟化,来宾系统的配额支持等),因此我正在考虑切换到OpenVZ或直接切换到LXC。我在某处阅读过LXC还不被认为是安全的(例如,http://en.gentoo-wiki.com/wiki/LXC#MAJOR_Temporary_Problems_with_LXC_-_READ_THIS)-这仍然是真的吗?因为我不知道管理客人的人,所以我真的必须注意安全。
8 security  linux  openvz  lxc 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.