----本文修改整理自网络,非本人原创。
环境准备
由于没有物理机可用,在自己的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虚拟机安装完成。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com