centos5.6下kvm的安装/桥接设置/虚拟机创建及运行
2012-12-25 20:11
363 查看
原创内容,如有转载必须注明出处,否则追究。
首先提一个概念"桥接",网上各种说法,但自己的理解是:以一个物理网卡为基本硬件,创建一个虚拟的路由器(路由器的概念不用说了吧)。当虚拟机需分配IP地址时,我们创建一个临时的虚拟网卡,并将这个网卡连接到虚拟路由器上,虚拟网卡通过虚拟路由器从真实的DHCP端得到IP地址。
宿主主机系统:
centos5.6-64bit,文本模式,有openssh-server
ip:192.168.135.125
1.安装KVM
# yum install -y kvm kmod-kvm kvm-qemu-img libvirt python-virtinst virt-manager virt-viewer bridge-utils
安装完成后重启主机:
# reboot
重启完成后,检查kvm模块是否加载:
# lsmod |grep kvm
kvm_intel 50380 6
kvm 305081 1 kvm_inte
2.配置桥接
安装tunctl:
# yum install -y tunctl
添加一个桥设备br0,并添加下面的内容
# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=dhcp //可根据实际情况设置静态IP也可
修改物理网卡em1的设置,本例中的br0是桥接在em1上
# vim /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE="em1"
BOOTPROTO="dhcp"
HWADDR="00:22:19:63:A7:F6"
IPV6INIT="no"
NM_CONTROLLED="yes"
ONBOOT="yes"
BRIDGE=br0
做完以上内容,重启一下网络服务
# service network restart
以下这段内容非常重要,桥接成功与否均是源于这一步!
在/etc目录下创建qemu-ifup文件:
# vim /etc/qemu-ifup
添加如下内容:
#!/bin/sh
set -x
switch=br0
if [ -n "$1" ];then
/usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1
/usr/bin/sudo /sbin/ip link set $1 up
sleep 0.5s
/usr/bin/sudo /usr/sbin/brctl addif $switch $1
exit 0
else
echo "Error: no interface specified"
exit 1
fi
为了简单直接给予任何人对该文件的所有权限,否则虚拟机将还是无法分配到ip地址
#chmod 777 /etc/qemu-ifup
解释下该文件的作用,该文件的主要作用就是在启动虚拟机时,使用tunctl创建一个虚拟网络设备(tapN,N=0、1、2...可理解为一个网卡或者是路由器上的一个插口),并将该设备使用桥接控制工具brctl添加到switch(桥br0)上。可理解为在一个路由器上开了一个新的网线插口。这一步的操作是桥接成功的关键,网上的很多教程均没有提到,本人多次尝试失败后来只好去看官网的文档,最终才得以知道问题的真相。
3.配置转发
执行以下命令:
#echo 1 > /proc/sys/net/ipv4/ip_forward
4.创建虚拟机镜像
为了使用方便本人先做一些链接,这样就可以直接使用命令kvm、kvm-img:
# ln -s /usr/libexec/qemu-kvm /usr/bin/kvm
# ln -s /usr/bin/qemu-img /usr/bin/kvm-img
在创建虚拟机镜像之前,我们假设你已经将操作系统ios文件拷贝到相应的位置(随意),本例的CentOS-5.6-x86_64-bin-DVD-1of2.iso是放在了/data/kvmtest路径下。
创建文件:
# kvm-img create centos.img -f raw 6GB
创建虚拟机镜像:
# kvm -m 512 -cdrom CentOS-5.6-x86_64-bin-DVD-1of2.iso -drive file=centos.img -boot d -net nic -net user -nographic -vnc :0
以上操作均是在宿主主机192.168.135.125进行的,执行以上操作之后,我是在windows端通过图形界面工具VNCViewer连接到测试服务器192.168.135.125:0,如果使用的是-vnc :1,那么就应该是连接到192.168.135.125:1,以此类推。linux下也有vncviewer工具。安装配置过程就是通过vncviewer进行操作的。
5.启动虚拟机
# kvm -m 1024 -drive file=centos.img -net nic,macaddr=55-54-53-52-66-01 -net tap -vnc :0
此处本人随便填了一个mac地址。执行以上操作后,可以通过VNCViewer连接192.168.135.125:0可以看到该虚拟机实例的启动过程。
此文为本人实践的笔记,如有任何问题,欢迎交流!
首先提一个概念"桥接",网上各种说法,但自己的理解是:以一个物理网卡为基本硬件,创建一个虚拟的路由器(路由器的概念不用说了吧)。当虚拟机需分配IP地址时,我们创建一个临时的虚拟网卡,并将这个网卡连接到虚拟路由器上,虚拟网卡通过虚拟路由器从真实的DHCP端得到IP地址。
宿主主机系统:
centos5.6-64bit,文本模式,有openssh-server
ip:192.168.135.125
1.安装KVM
# yum install -y kvm kmod-kvm kvm-qemu-img libvirt python-virtinst virt-manager virt-viewer bridge-utils
安装完成后重启主机:
# reboot
重启完成后,检查kvm模块是否加载:
# lsmod |grep kvm
kvm_intel 50380 6
kvm 305081 1 kvm_inte
2.配置桥接
安装tunctl:
# yum install -y tunctl
添加一个桥设备br0,并添加下面的内容
# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=dhcp //可根据实际情况设置静态IP也可
修改物理网卡em1的设置,本例中的br0是桥接在em1上
# vim /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE="em1"
BOOTPROTO="dhcp"
HWADDR="00:22:19:63:A7:F6"
IPV6INIT="no"
NM_CONTROLLED="yes"
ONBOOT="yes"
BRIDGE=br0
做完以上内容,重启一下网络服务
# service network restart
以下这段内容非常重要,桥接成功与否均是源于这一步!
在/etc目录下创建qemu-ifup文件:
# vim /etc/qemu-ifup
添加如下内容:
#!/bin/sh
set -x
switch=br0
if [ -n "$1" ];then
/usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1
/usr/bin/sudo /sbin/ip link set $1 up
sleep 0.5s
/usr/bin/sudo /usr/sbin/brctl addif $switch $1
exit 0
else
echo "Error: no interface specified"
exit 1
fi
为了简单直接给予任何人对该文件的所有权限,否则虚拟机将还是无法分配到ip地址
#chmod 777 /etc/qemu-ifup
解释下该文件的作用,该文件的主要作用就是在启动虚拟机时,使用tunctl创建一个虚拟网络设备(tapN,N=0、1、2...可理解为一个网卡或者是路由器上的一个插口),并将该设备使用桥接控制工具brctl添加到switch(桥br0)上。可理解为在一个路由器上开了一个新的网线插口。这一步的操作是桥接成功的关键,网上的很多教程均没有提到,本人多次尝试失败后来只好去看官网的文档,最终才得以知道问题的真相。
3.配置转发
执行以下命令:
#echo 1 > /proc/sys/net/ipv4/ip_forward
4.创建虚拟机镜像
为了使用方便本人先做一些链接,这样就可以直接使用命令kvm、kvm-img:
# ln -s /usr/libexec/qemu-kvm /usr/bin/kvm
# ln -s /usr/bin/qemu-img /usr/bin/kvm-img
在创建虚拟机镜像之前,我们假设你已经将操作系统ios文件拷贝到相应的位置(随意),本例的CentOS-5.6-x86_64-bin-DVD-1of2.iso是放在了/data/kvmtest路径下。
创建文件:
# kvm-img create centos.img -f raw 6GB
创建虚拟机镜像:
# kvm -m 512 -cdrom CentOS-5.6-x86_64-bin-DVD-1of2.iso -drive file=centos.img -boot d -net nic -net user -nographic -vnc :0
以上操作均是在宿主主机192.168.135.125进行的,执行以上操作之后,我是在windows端通过图形界面工具VNCViewer连接到测试服务器192.168.135.125:0,如果使用的是-vnc :1,那么就应该是连接到192.168.135.125:1,以此类推。linux下也有vncviewer工具。安装配置过程就是通过vncviewer进行操作的。
5.启动虚拟机
# kvm -m 1024 -drive file=centos.img -net nic,macaddr=55-54-53-52-66-01 -net tap -vnc :0
此处本人随便填了一个mac地址。执行以上操作后,可以通过VNCViewer连接192.168.135.125:0可以看到该虚拟机实例的启动过程。
此文为本人实践的笔记,如有任何问题,欢迎交流!
相关文章推荐
- CentOS-6.7安装KVM及创建ubuntu14.04-server虚拟机
- kvm安装配置,创建虚拟机,centos环境
- RHEL6.4 KVM安装 网卡桥接设置 PXE无人值守安装虚拟机
- centos7 安装kvm, 并创建虚拟机
- 虚拟机安装CentOS 后设置桥接网络
- G5老服务器安装centos6.8,在centos6.8中安装KVM,并创建centos7.4虚拟机
- CentOS 7 安装KVM,并创建虚拟机
- 虚拟机(VMware)安装centos后的IP设置
- Centos6.0(32位)安装设置方法(虚拟机或实体机安装方法一样)
- 创建虚拟机及安装Centos7
- centos---无线上网的电脑所安装的虚拟机网络设置
- 认识linux、创建虚拟机、安装Centos 7
- 坚持#第281天~KVM3-QEMU虚拟机的热迁移、桥接、NAT、仅主机模式、创建/删除一个QEMU虚拟机的脚本、
- Linux的发展,创建虚拟机并安装CentOS系统,
- CentOS/RHEL_6.2 KVM桥接设置
- 学习方法,认识Linux及创建虚拟机和安装CentOS7
- CentOS6.3下安装kvm和创建kvm虚拟机
- Vmware创建虚拟机和安装Centos6
- 1.4 创建虚拟机&1.5 安装CentOS7&1.6 配置ip(上)&1.7 配置ip(下)
- 虚拟机oracle virtualbox 上安装centos6.5 网络设置