hadoop虚拟机网络配置 虚拟机网络配置( 二 )


首先 , 内核支持tap/tuns设备:
设备驱动程序-
网络支持-
[M]通用调谐器/TAP设备
driver support
如果当前内核没有支持 , 可以重新只编译相应模块加入 , 方法很简单:
将当前内核配置文件cp到内核源码目录下:
[root@LFS ~]#cp /boot/config-[kernel-version] /usr/src/linux
[root@LFS ~]#cd /usr/src/linux
配置内核 , 将TUN/TAP选择模块(M) , 如上所示:
[root@LFS ~]#make menuconfig
重新只编译模块(M),不编译核心(*)支持的东东:
[root@LFS ~]#make modules
编译好后在/usr/src/linux/drivers/net下可以找到tun.ko:
[root@LFS net]#ls -l /usr/src/linux/drivers/net/tun.ko
-rw-r--r-- 1 root root 11116 Mar 23 20:29 /usr/src/linux/drivers/net/tun.ko
[root@LFS net]#
将它cp到当前内核的模块目录的相应位置:
[root@LFS net]#cp /usr/src/linux/drivers/net/tun.ko /lib/modules/`uname -r`/kernel/drivers/net
重新建立模块依赖关系:
[root@LFS net]#depmod
现在就可以加载它了 :
[root@LFS net]#modprobe tun
检查一下:
[root@LFS net]#lsmod |grep tun
tun 8704 0
[root@LFS net]#
OK. 成功不重新编译整个内核加入特殊模块支持
如果你的xx卡不被内核支持 , 又可以编译成模块 , 自己怕重新编译内核后出问题就可以用这个办法只编译自己需要的模块 , 然后手动安装到相应位置 , 再加载它 。
这样编译速度要也比编译整个内核快 , 不会对系统有任何损害 , 就可以使用上XX卡喽 。 ^_^
要注意三点:
1.内核源码必须与当前内核版本完全一致 , 否则编译出的模块是不能用的 。
2.注意只make modules(编译模块),没有make modules_install(自动安装模块到/lib/modules下)
3.加载新编译的模块前必须先运行depmod , 否则modprobe找不到它
其实使用当前内核配置文件(/boot/config-[kernel-version]),只加入自己需要的模块 , 不做任何其他改 , make modules_install应该也不会有问题的 。
不过最稳妥的办法还是手动安装它,控制权在自己手里更踏实嘛 :-)
OK,转回qemu上网问题
如果使用udev管理设备(通常2.6.x内核的发行版都已经使用udev),当modprobe tun后就会自动建立/dev/net目录 , 并创建出tun设备 , 做好相关链接:
[root@LFS net]#ls -l /dev/net/tun
lrwxrwxrwx 1 root root 6 Mar 25 15:35 /dev/net/tun -> ../tun
[root@LFS net]#
【hadoop虚拟机网络配置 虚拟机网络配置】如果很不幸 , 你没看到它 , 就需要自己手动做这些工作了


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。