我在上一篇日志用unshare创建轻量级虚拟环境中介绍了如何用系统调用unshare创建一个虚拟机. 这一个方法正是参照了mininet的实现方式, 我将其用C语言实现, 达到了mininet中创建虚拟网络节点(包括主机和交换机)的效果. 这一篇文章中, 我想直接引用mininet的代码来阐述实现的方法. 除此之外, 我还会介绍mininet识别网络节点输出的结束, 以及中断进程,接收命令, 创建虚拟网卡等功能的实现.
Read more用unshare创建轻量级虚拟环境
在测试和使用openvswitch的时候, 一部分人会使用KVM(kernel virtual machine)创建虚拟机.但KVM需要有一定的硬盘的支持, 还传说需要CPU支持虚拟化. 而也有一部分人使用LXC. LXC是一个轻量级的虚拟化技术, 占用的空间更小, 门槛也更低. 有兴趣的同学可以看一下 http://lxc.sourceforge.net/(需翻墙) https://help.ubuntu.com/12.04/serverguide/lxc.html 在Mininet中, 开发者也用了类似的方法生成虚拟环境. 在对mininet的代码研究的时候, 我觉得我可以把一些基础的功能捡出来, 然后用C实现. 这一时兴起才有了我编的小程序和这篇总结的文章.
Read more