操作系统

当前位置:金沙棋牌 > 操作系统 > 虚拟化配置,CentOS下安装KVM虚拟机和使用说明

虚拟化配置,CentOS下安装KVM虚拟机和使用说明

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-08-29 16:10

CentOS下KVM安装使用说明

最近对虚拟化非常感兴趣,尝试了一下centos 6 从xen开始学习,暂时没搞出来- -||,好像6的内核不支持xen,不过kvm也是不错的,写一些学习笔记,大多是网上各位大神的经验。

KVM(Kernel-based Virtual Machine)的简写,是rhel5.4推出的最新虚拟化技术,目前红帽只支持在64位的rhel5.4上运行KVM,同时硬件需要支持VT技术,使用kvm虚拟机的时候需要关闭SELinux。本文是介绍如何在CentOS下安装KVM。 

一,安装CentOS6.5,使用最小化的minimal安装二、安装完CentOS后,使用root登录配置网卡,使虚拟机可以使用外网上网
vi /etc/sysconifg/network-scripts/ifcfg-eth0
下图作为参考:

1. 查看硬件是否支持虚拟化

KVM需要CPU支持虚拟化,执行以下命令查看是否支持虚拟化:

egrep '(vmx|svm)' --color=always /proc/cpuinfo

图片 1

如果含有vmx或者svm字样,则表示支持CPU虚拟化,Intel是vmx,AMD是svm。

一、安装centos 6.2 后下载163源配置文件
# cd /etc/yum.repos.d/ #进入源目录
# cp CentOS-Base.repo CentOS-Base.repo.bak #备份源文件
用下载的163源配置文件替换CentOS-Base.repo文件内容
# yum update 系统升级
如果不提示错误,CentOS-Base.repo文件中
gpgcheck=0
二、查看硬件是否支持虚拟化
1、KVM需要CPU支持虚拟化,执行以下命令查看是否支持虚拟化:
# egrep 'vmx|svm' /proc/cpuinfo
如果含有vmx或者svm字样,则表示支持CPU虚拟化,Intel是vmx,AMD是svm
否则进入bios进行修改,设置CPU支持虚拟化。
2、检查KVM是否加载成功
# lsmod | grep kvm
显示结果如下表示kvm模块已经加载,如果没有输出信息,则表示没有加载成功:
kvm_amd 50452 0
kvm 109264 1 kvm_amd

1. 查看硬件是否支持虚拟化 KVM需要CPU支持虚拟化,执行以下命令查看是否支持虚拟化:

图片 2

2. 启用SELinux

安装KVM之前需要启用SELinux,执行:

system-config-securitylevel-tui

图片 3

三、配置网络桥接
1、安装tunctl:
# yum install -y tunctl
2、禁用网络管理器
# chkconfig NetworkManager off 和桥接有冲突,要关闭
# service NetworkManager stop
3、创建用以桥接的虚拟网卡,应该可以支持多个虚拟机分别配置不同的网卡,暂时没试过。
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-br0
编辑 ifcfg-br0
# vi ifcfg-br0

# egrep '(vmx|svm)'-color=always /proc/cpuinfo

保存后,重启网络服务
service network restart

3. 安装KVM

直接在线安装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模块已经加载,如果没有输出信息,则表示没有加载成功:

kvm_amd 50452 0

kvm 109264 1 kvm_amd

DEVICE="br0"
TYPE="Bridge"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.1.17
PREFIX=24
GATEWAY=192.168.1.1
DNS1=202.106.46.151
DELAY=0

如果含有vmx或者svm字样,则表示支持CPU虚拟化,Intel是vmx,AMD是svm。

然后测试是否能联网
ping www.linuxidc.com

4. 配置网络

编辑ifcfg-eth0
# vi ifcfg-eth0

2. 启用SELinux 安装KVM之前需要启用SELinux,执行:
# system-config-securitylevel-tui

三、关闭selinux和清空iptables
修改selinux配置文件
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
设置当前selinux
setenforce 0

4.1. 配置桥接

安装tunctl:

yum install -y tunctl

桥接网络配置文件,从ifcfg-eth0复制现有网卡的配置文件,改名为ifcfg-br0:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

修改ifcfg-br0,注意红色的两行,其他部分基本上不用改。

vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=Bridge

BOOTPROTO=static

BROADCAST=192.168.200.255

IPADDR=192.168.200.180

NETMASK=255.255.255.0

NETWORK=192.168.200.0

ONBOOT=yes

修改ifcfg-br0,注意红色的行,其他部分基本上不用改。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.200.255

HWADDR=**:**:**:**:**:**

IPADDR=192.168.200.180

NETMASK=255.255.255.0

NETWORK=192.168.200.0

ONBOOT=yes

BRIDGE=br0

重启network服务

service network restart

这里需要注意,如果启用了NetworkManager,最好关闭该服务,因为该服务与network有冲突。

DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BRIDGE="br0"
BOOTPROTO=none
IPADDR=192.168.1.17
PREFIX=24
GATEWAY=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
DNS1=202.106.46.151
HWADDR=00:1E:67:07:EC:30
重新启动网络
# service network restart

图片 4

清空iptables
iptables -F
保存iptables规则
service iptables save

4.2. 配置转发

执行以下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

这一步虽然只有简单的一条命令,但却很关键。如果不执行这一步,所有的虚拟机将无法上网。另外,上一步配置完桥接之后重启network,会自动将ip_forward改为0,所以重新配置网络后,不要忘了执行该命令。发现虚拟机无法上网的时候,也可以检查一下ip_forward值。

四、配置虚拟机
1、图形化配置
从菜单中启动,或者运行virt-manager进入图形管理界面,由于比较简单,在此不详述,不过img的位置要好好配置一下,kvm安装后会有一个默认位置,不注意的话容易占满空间。或者直接硬盘分区时单独给/var分一个区。
2、 命令行配置
首先定义变量,然后执行virt-install 进行安装,不定义变量也可以,但是命令会很长。
name=vm1
port=6900
img=/vms/vm1/vm1.img
ostype=linux
osvariant=rhel5
ram=800
cpu=1
sizeG=10
eth=br0
iso=/software/CentOS/CentOS-5.5-x86_64-bin-DVD-1of2.iso
virt-install --name $name --ram $ram --vcpus=$cpu
--disk path=$img,size=$sizeG --network bridge=$eth --os-type=$ostype --os-variant=$osvariant --cdrom $iso --vncport=$port --vnc
执行完以上命令,如果没有错误的话,就会打开虚拟系统安装界面。

四、安装KVM
使用yum安装:
yum -y install qemu-kvm libvirt python-virtinst bridge-utils avahi dmidecode
安装完成后重启虚拟机
init 6

5. 禁用SELinux

system-config-securitylevel-tui

至此,KVM已经安装完毕,接下去可以创建虚拟机,安装系统。

五、其他命令行及工具
查看正在运行的虚拟机:
virsh -c qemu:///system list
虚拟机的主要管理命令式virsh,进入virsh管理shell之后:

3. 安装KVM

重启完成后,测试kvm是否安装成功
stat /dev/kvm
执行结果:
  File: "/dev/kvm"
  Size: 0              Blocks: 0          IO Block: 4096  字符特殊文件
Device: 5h/5d  Inode: 9503        Links: 1    Device type: a,e8
Access: (0666/crw-rw-rw-)  Uid: (    0/    root)  Gid: (  36/    kvm)
Access: 2015-06-28 16:56:11.463134124 0800
Modify: 2015-06-28 16:56:11.463134124 0800
Change: 2015-06-28 16:56:11.463134124 0800

6. 配置虚拟机

六、其他问题
1、虚拟机重新配置
虚拟机的配置文件保存在/etc/libvirt/qemu目录下,扩展名是xml。
修改相应的文件即可重新配置虚拟机。
2、虚拟机备份及恢复
备份:拷贝/etc/libvirt/qemu目录下的xml配置文件,以及xml中设置的img文件。
恢复:进入virsh,执行define 目录下的xml文件路径
3、开机自动启动虚拟机
命令行下:在autostart目录下的虚拟机名。

直接在线安装KVM:
# yum install -y kvm kmod-kvm kvm-qemu-img libvirt Python-virtinst virt-manager virt-viewer bridge-utils

在vb上执行这个命令不会有结果, 我这个是在真机上执行的结果

6.1. 图形化配置

从菜单中启动:应用程序à系统工具à虚拟系统管理器进入图形配置界面,或者运行virt-manager进入图形管理界面,由于比较简单,在此不详述。**

6 从xen开始学习,暂时没搞出来- -||,好像6的内核不支持xen,不过kvm也是不错的,写一些学习笔...

安装完成后重启主机:
# reboot

测试libvirtd是否可以正常启动
service libvirtd start
service libvirtd restart

6.2. 命令行配置

首先定义变量,然后执行virt-install 进行安装,不定义变量也可以,但是命令会很长。

name=vm1

port=6900

img=/vms/vm1/vm1.img

ostype=linux

osvariant=rhel5

ram=800

cpu=1

sizeG=10

eth=br0

iso=/software/CentOS/CentOS-5.5-x86_64-bin-DVD-1of2.iso

virt-install --name $name --ram $ram --vcpus=$cpu

--disk path=$img,size=$sizeG --network bridge=$eth

--os-type=$ostype --os-variant=$osvariant --cdrom $iso --vncport=$port --vnc

执行完以上命令,如果没有错误的话,就会打开虚拟系统安装界面。

重启完成后,检查kvm模块是否加载:
# lsmod | grep kvm

五、配置网络桥接
检查系统中是否启用了NetworkManager,最好关闭该服务,因为该服务与network有冲突。
chkconfig |grep NetworkManager
如果存在NetworkManager
chkconfig NetworkManager off
service NetworkManager stop

6.3. 其他命令行及工具

查看正在运行的虚拟机:

virsh -c qemu:///system list

虚拟机的主要管理命令式virsh,进入virsh管理shell之后:

图片 5

显示结果如下表示kvm模块已经加载,如果没有输出信息,则表示没有加载成功:
kvm_amd 50452 0
kvm 109264 1 kvm_amd

从ifcfg-eth0复制现有网卡的配置文件,改名为ifcfg-br0:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

7. 其他问题

4. 配置网络

修改ifcfg-br0,注意红色的两行,其他部分基本上不用改。
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
HWADDR=08:00:27:1D:26:B2
UUID=251576f1-0ae3-4a52-b0e1-9343a7ad936d
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=stataic
IPADDR=10.0.0.156
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=202.96.64.68
DNS2=202.96.69.38

7.1. 虚拟机重新配置

虚拟机的配置文件保存在/etc/libvert/qemu目录下,扩展名是xml。

修改相应的文件即可重新配置虚拟机。

配置桥接
安装tunctl:
# yum install -y tunctl

 

7.2. 虚拟机备份及恢复

备份:拷贝/etc/libvert/qemu目录下的xml配置文件,以及xml中设置的img文件。

恢复:进入virsh,执行define

桥接网络配置文件,从ifcfg-eth0复制现有网卡的配置文件,改名为ifcfg-br0:
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

修改ifcfg-eth0,仅保存以下几行。
vi /etc/sysconfig/network-scripts/ifcfg-eth0

7.3. 开机自动启动虚拟机

支持图形界面设置。

命令行下:在autostart目录下建立相关虚拟机配置文件的软链接。

1. 查看硬件是否支持虚拟化 KVM需要CPU支持虚拟化,执行以下命令查看是否支持虚拟化: egrep (vmx|svm) --color=always /p...

修改ifcfg-br0,注意红色的两行,其他部分基本上不用改。
# vim /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=eth0
HWADDR=08:00:27:1D:26:B2
UUID=251576f1-0ae3-4a52-b0e1-9343a7ad936d
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BRIDGE=br0

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=192.168.200.255
IPADDR=192.168.200.180
NETMASK=255.255.255.0
NETWORK=192.168.200.0
ONBOOT=yes

重启network服务
service network restart

修改ifcfg-br0,注意红色的行,其他部分基本上不用改。

正在关闭接口 eth0: bridge br0 does not exist!
                                                          [确定]
关闭环回接口:                                            [确定]
弹出环回接口:                                            [确定]
弹出界面 eth0:                                            [确定]
弹出界面 br0: Determining if ip address 10.0.0.156 is already in use for device br0...
                                                          [确定]

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

执行ifconfig
br0     Link encap:Ethernet  HWaddr 08:00:27:1D:26:B2
          inet addr:10.0.0.156  Bcast:10.0.0.1  Mask:255.255.255.0
          inet6 addr: fe80::ba97:5aff:feb7:98b5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1210 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:74677 (72.9 KiB)  TX bytes:7509 (7.3 KiB)

DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.200.255
HWADDR=**:**:**:**:**:**
IPADDR=192.168.200.180
NETMASK=255.255.255.0
NETWORK=192.168.200.0
ONBOOT=yes
BRIDGE=br0

eth0      Link encap:Ethernet  HWaddr 08:00:27:1D:26:B2
          inet6 addr: fe80::ba97:5aff:feb7:98b5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5625 errors:0 dropped:0 overruns:0 frame:0
          TX packets:359 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:425234 (415.2 KiB)  TX bytes:65054 (63.5 KiB)

重启network服务
# service network restart

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

这里需要注意,如果启用了NetworkManager,最好关闭该服务,因为该服务与network有冲突。

virbr0    Link encap:Ethernet  HWaddr 52:54:00:CA:22:F4
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:2449 (2.3 KiB)

配置转发
执行以下命令:
# echo 1 > /proc/sys/net/ipv4/ip_forward

配置转发
执行以下命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
这一步虽然只有简单的一条命令,但却很关键。如果不执行这一步,所有的虚拟机将无法上网。
另外,上一步配置完桥接之后重启network,会自动将ip_forward改为0,所以重新配置网络后,不要忘了执行该命令。发现虚拟机无法上网的时候,也可以检查一下ip_forward值。

这一步虽然只有简单的一条命令,但却很关键。如果不执行这一步,所有的虚拟机将无法上网。另外,上一步配置完桥接之后重启network,会自动将ip_forward改为0,所以重新配置网络后,不要忘了执行该命令。发现虚拟机无法上网的时候,也可以检查一下ip_forward值。

六、安装虚拟机
修改 qemu.conf 配置
vi /etc/libvirt/qemu.conf

图片 6

vnc_listen = "0.0.0.0"
user = "root"
group = "root"
dynamic_ownership = 0

重启libvirtd服务
service libvirtd restart

新建用于存放虚拟机相关文件的目录
mkdir /kvm

使用winscp将centos6.5的安装光盘镜像复制到/kvm

新建用于存放虚拟机的目录
mkdir /kvm/vm

安装虚拟机
virt-install --name centos --ram 1024 --vcpus=1 --disk path=/kvm/vm/vm1.img,size=10 --network bridge=br0 --os-variant=rhel6 --cdrom /kvm/CentOS-6.5-x86_64-bin-DVD1.iso --vnclisten=10.0.0.156 --vncport=6900 --vnc

参数详解:
--vcpus    分配给虚拟机CPU个数
--disk path    虚拟磁盘所在的路径
--size    虚拟磁盘大小,单位是GB
--network bridge    指定虚拟机使用的桥接网卡
--os-variant    虚拟机的操作系统类型
--cdrom    安装虚拟机操作系统的光盘镜像的路径
--vnclisten    vnc的监听IP
--vncport    vnc的监听端口
--vnc    使用vnc进行连接

然后使用vnc-viewer连接虚拟机 ,
如果用VNC VIEWER连接虚拟机一闪而过,设置vnc的 ColourLevel=rgb222
使用vnc-viewer连接10.0.0.156:6900就可以远程安装这台虚拟机了

在kvm虚拟机中安装操作系统和在其他虚拟机上没有什么不同的地方
安装完成后, 在kvm虚拟机中进行网卡配置后,就可以使用putty进行远程连接了

如果需要虚拟机随系统启动,就执行
virsh start centos

在VirtualBox中嵌套安装kvm时, 使用vnc远程安装系统是没有问题的, 但是在启动kvm虚拟机的过程中,非常非常的慢, 我等了二十几分钟也没有启动成功. 而且cpu的负载很高
所以在有条件的情况下, 可以使用真机进行实验.

Virsh语法参考

virsh list                                列出运行中的虚拟机
virsh start centos                启动centos虚拟机
virsh shutdown centos        关闭centos虚拟机
virsh destroy centos            强制关闭centos虚拟机
virsh autostart centos        设置centos自动启动
virsh undefine centos        删除centos虚拟机
virsh suspend centos        暂停centos虚拟机
vrish resume centos            恢复centos虚拟机
virsh reboot centos            重启centos虚拟机
virsh edit centos                编辑centos虚拟机
virsh vncdisplay  centos    vnc显示 

--------------------------------------分割线

KVM中Linux虚拟机的硬盘添加方法 http://www.linuxidc.com/Linux/2013-02/80067.htm

Linux入门学习教程:虚拟机体验之KVM篇  http://www.linuxidc.com/Linux/2015-03/114462.htm 

RHEL6 KVM虚拟化创建桥接网卡-网桥 http://www.linuxidc.com/Linux/2013-08/88517.htm

RedHat Linux KVM虚拟机桥接 http://www.linuxidc.com/Linux/2013-02/79934.htm

CentOS 5.6下KVM的安装/桥接设置/虚拟机创建及运行 http://www.linuxidc.com/Linux/2012-12/76883.htm

Ubuntu下用libvirt安装KVM虚拟机时找不到/bin/qemu-kvm问题解决 http://www.linuxidc.com/Linux/2013-08/88985.htm

RedHat6.5下安装配置KVM虚拟机 http://www.linuxidc.com/Linux/2014-10/107972.htm

KVM虚拟化之嵌套虚拟化nested  http://www.linuxidc.com/Linux/2015-05/117026.htm

--------------------------------------分割线

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/132424.htm

图片 7

本文由金沙棋牌发布于操作系统,转载请注明出处:虚拟化配置,CentOS下安装KVM虚拟机和使用说明

关键词:

上一篇:R2015b的镜像安装方法与卸载金沙棋牌

下一篇:没有了