CentOS 7部署KVM之二安装配置

----本文修改整理自网络,非本人原创。

环境准备

由于没有物理机可用,在自己的VMware Workation中搭建完成。首先查看VMware Workation是否支持虚拟化,如红框内没打钩,打钩即可。

 

操作系统:CentOS 7.1

IP地址:10.0.0.60 

软件包:系统自带yum源

关闭防火墙

关闭SELinux

开始安装

检查CPU是否支持虚拟化

# grep -E 'svm|vmx' /proc/cpuinfo
vmx 为Intel的CPU指令集
svm 为AMD的CPU指令集

安装软件包

# yum install -y qemu-kvm libvirt virt-install virt-manager bridge-utils

在这条命令中我们安装了qemu-kvm,libvirt,virt-install,virt-manager这四个包,下面了解一下这4个包的作用。

qemu-kvm

该软件包主要包含KVM内核模块和基于KVM重构后的QEMU模拟器。KVM模块作为整个虚拟化环境的核心工作在系统空间,负责CPU和内存的调度。QEMU作为模拟器工作在用户空间,负责虚拟机I/O模拟。

依赖包qemu-img

主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。

libvirt

提供hypervisor和虚拟机管理的API。

依赖包libvirt-client

KVM客户端命令行管理过年根据virsh,负责虚拟机的启动、停止和管理等。

依赖包libvirt-daemon

libvirtd守护进程,作为客户端管理工具跟hypervisor和虚拟机之间的桥梁。

依赖包libvirt-daemon-driver-xxx

从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。

依赖包bridge-utils

网桥管理工具包,负责桥接网络的创建、配置和管理等工作。

virt-install

创建和克隆虚拟机的命令行工具包。

virt-manager

图形界面的KVM管理工具。

基本配置

激活并启动libvirt服务

# systemctl enable libvirtd.service
# systemctl start libvirtd.service

配置桥接网络

默认情况下所有虚拟机只能够在host内部互相通信,如果需要通过局域网访问虚拟机,需要创建一个桥接网络。

1.停止NetworkManager服务

# systemctl stop NetworkManager

该服务开启的情况下直接去修改网卡的配置文件会造成信息的不匹配而导致网卡激活不了。

2.修改以太网卡配置文件

# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  BRIDGE=br0
  ONBOOT=yes
  TYPE=Ethernet

原有的以太网络不需要配置IP地址,指定桥接的网卡设备(如br0)即可。

3.修改桥接网卡配置文件

# vim /etc/sysconfig/network-scripts/ifcfg-br0
  TYPE=Bridge
  DEVICE=br0
  ONBOOT=yes
  NM_CONTROLLED=yes
  BOOTPROTO=static
  IPADDR=10.0.0.60
  GATEWAY=10.0.0.2
  NETMASK=255.255.255.0

桥接网卡的需要配置IP地址,当然也可以用DHCP。需要注意的是桥接网卡br0中DEVICE的名字一定要与以太网卡eth0中BRIDGE对应。

NM_CONTROLLED参数表示该网卡是否被NetworkManager服务管理,设置为no的话就是不接管,那么之前不用停止NetworkManager服务。

开启转发功能并修改ulimit参数

# echo 1 > /proc/sys/net/ipv4/ip_forward
# /bin/echo "* soft nproc 65500" >>/etc/security/limits.conf
# /bin/echo "* hard nproc 65500" >>/etc/security/limits.conf
# /bin/echo "* soft nofile 65500" >>/etc/security/limits.conf
# /bin/echo "* hard nofile 65500" >>/etc/security/limits.conf

重启网卡使之生效。

# systemctl restart network.service

验证模块

# lsmod |grep kvm
#

说明模块没有加载,需要加载kvm模块。kvm,只是Linux内核的一个模块,不需要安装,只需要加载。加载命令如下

# modprobe kvm
# modprobe kvm_intel

连接hypervisor,可以使用如下命令:

# virsh -c qemu:///system list       ###此命令需要重启服务器后使用,否则会报错
error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
# reboot
# virsh -c qemu:///system list
Id    Name                           State
----------------------------------------------------   (由于没有创建虚拟机,所以没有条目显示)

创建虚拟机

创建ISO镜像:

# dd if=/dev/cdrom of=/opt/CentOS-7.1.iso

创建虚拟机硬盘:

# qemu-img create -f qcow2 /kvmdir/test.img 4G

创建虚拟机:

# virt-install --name Centos --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.1.iso --disk path=/kvmdir/test.img  --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

各参数说明:

--name Centos                    ###指定虚拟机名字
--virt-type kvm                  ###指定虚拟机类型
--ram 1024                       ###指定虚拟机内存大小
--cdrom=/opt/CentOS-7.1.iso      ###指定虚拟机OS安装介质路径
--disk path=/kvmdir/test.img     ###虚拟机安装位置
--network=default                ###指定VM网卡类型
--graphics vnc,listen=0.0.0.0    ###指定VNC或字符console 
--vcpus 5 ###指定VM可以使用cpu个数
--vcpus 5,maxcpus=10 ###可以使用5颗cpu,最大支持10颗cpu

打开VNC客户端,输入本机ip:5900(第一个默认就是5900,第二个是5901,以此类推),可连接到所通过vmvare创建的kvm虚拟机上,然后就是安装Centos7的过程。  

到此,kvm虚拟机安装完成。

 

posted @ 2017-03-13 14:48  雅俗丶共赏  阅读(789)  评论(0编辑  收藏  举报