LXC的HOOK pre_start和pre_mount
摘要:LXC容器有许多HOOK,通过指定这些HOOK对应的脚本,可以在容器的各个阶段做一些处理。 但是有些小伙伴不知道如何正确使用这些HOOK。 下面是官方对这些HOOK的解释: lxc.hook.pre-start (called before any initialization is done) l
阅读全文
在指定网络名字空间执行命令
摘要:对于容器来说,可以与host共享网络名字空间,也可以用单独的网络名字空间。这个可以通过container的配置文件来指定。 如果需要用单独的网络名字空间,可以指定容器的网络类型为veth: lxc.network.type = veth 如果要跟host共享网络名字空间,那么可以指定容器的网络类型为
阅读全文
驱动跟应用程序的异步通知
摘要:通常应用程序跟驱动之间交互,主要是通过轮询的方式。这种方式效率非常低下。 下面介绍一种异步通知的方式。在这种模式下,应用程序不需要查询驱动,当驱动需要应用程序读取数据时,发送一个信号给应用程序,应用程序收到信号后,再去从驱动读取数据。 驱动代码: #include <linux/miscdevice
阅读全文
OpenWrt系统处理USB设备插入的流程
摘要:内核检测到USB设备的插入之后,需要通知用户空间进程来处理。目前有2种通知方式: 1.内核调用call_usermodehelper_setup()/call_usermodehelper_exec()从而运行用户空间进程来处理。可以通过/sys/kernel/uevent_helper或者/pro
阅读全文
从容器中访问网络服务器产生延迟的问题的分析和解决
摘要:首先让我们先复现这个问题。 1.创建一个lxc 容器develop,容器的网络类型为veth. 2.在容器里面安装curl以及tcpdump. 3.用tcpdump对以下3个地方进行抓包: a.容器的网络接口; b.host这边的bridge接口; c.host的对外接口; 4.在容器中用curl来
阅读全文