CentOS 7 安装KVM,并创建虚拟机

使用KVM(基于内核的虚拟机)+ QEMU的虚拟化。 需要具有Intel VT或AMD-V功能的CPU。

  • 安装KVM
[root@kvm-centos7 ~]# yum -y install qemu-kvm libvirt virt-install bridge-utils

# 确保模块已加载

[root@kvm-centos7 ~]# lsmod | grep kvm 
kvm_intel             170181  0 
kvm                   554609  1 kvm_intel
irqbypass              13503  1 kvm

[root@kvm-centos7~]# systemctl start libvirtd 
[root@kvm-centos7~]# systemctl enable libvirtd 
  • 为KVM虚拟机配置桥接网络

参考:http://blog.csdn.net/wh211212/article/details/54135565 实验环境: OS:CentOS Linux release 7.3.1611 (Core) Network:双网卡bonding 硬件:DELL R420,16G 1CPU 4核

# 网卡配置,新建ifcfg-bro,然后修改相关配置如下:
[root@kvm-centos7 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm-centos7 network-scripts]# cat ifcfg-br0 
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=static
IPADDR=192.168.1.133   # 自定义
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DEFROUTE=yes

# ifcfg-bond0配置文件修改
[root@kvm-centos7 network-scripts]# cat ifcfg-bond0 
DEVICE=bond0
TYPE=Ethernet
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=none
BRIDGE=br0
ONBOOT=yes
BONDING_OPTS="mode=5 miimon=100"

桥接网络配置完成重启网络服务,查看ifconfig如下:

[root@kvm-centos7 network-scripts]# systemctl restart network

查看ifconfig,看网络服务是否正常

创建虚拟机

安装GuestOS并创建虚拟机。此示例显示安装CentOS 7

  • 通过网络在文本模式上安装GuestOS,虚拟机的映像默认放置在/var/lib/libvirt/images作为存储池,但本示例显示创建和使用新的存储池。
[root@kvm-centos7~]# mkdir -p /var/kvm/images # 创建新的存储池

[root@kvm-centos7 ~]# virt-install \
--name elk \
--ram 4096 \
--disk path=/var/kvm/images/elk.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant rhel7 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://mirrors.aliyun.com/centos/7/os/x86_64/' \
--extra-args 'console=ttyS0,115200n8 serial'

正常加载状态如下:

上面指定的相关参数含义如下:更多参考man virt-install

--name  指定虚拟机的名称
--ram 指定Virtual Machine 
--disk的内存量path = xxx,size = xxx 
'path ='⇒指定虚拟机
size ='⇒指定虚拟机的磁盘数量
--vcpus 指定虚拟CPU 
--os-type 指定GuestOS 的类型
--os-variant 指定GuestOS的类型 - 可能确认列表中使用以下命令osinfo-query os 
--network 指定虚拟机的网络类型
--graphics 指定图形的类型。如果设置为“无”,则意味着非图形。 
--console 指定控制台类型
--location 指定安装的位置,其中from 
--extra-args 指定在内核中设置的参数
  • 在文本模式下安装,与常见的安装步骤相同。安装完成后,首先重新启动,然后登录提示如下所示。

重新安装kvm虚拟机,记录安装步骤

virt-install -d --virt-type=kvm --name=aniu-saas-1  --vcpus=8 --memory=12288 --location=/media/CentOS-7-x86_64-Minimal-1611.iso --disk path=/dev/cl/aniu-saas-1 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force

注:命令行安装操作比较麻烦,注意多看提示。

下面附上笔者网卡配置信息

  • 网桥配置
[root@aniu-saas network-scripts]# cat ifcfg-br0 
DEVICE="br0"
TYPE="Bridge"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="br0"
ONBOOT="yes"
IPADDR="192.168.0.205"
PREFIX="24"
GATEWAY="192.168.0.1"
DNS1="114.114.114.114"
  • 网卡配置
[root@aniu-saas network-scripts]# cat ifcfg-em1 
TYPE="Ethernet"
NAME="em1"
UUID="999a275e-eac8-4323-bdf8-f7c7434b7737"
DEVICE="em1"
ONBOOT="yes"
BRIDGE="br0"
  • location参数笔者建议换成http或者nfs的加载系统镜像。

安装成功界面如下图:

  • 安装完成后,由于安装的时候没有配置网络,发现虚拟机也没有自动分配网络,就添加了虚拟机网络,参考如下:
[root@localhost network-scripts]# cat ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=a38ceceb-5f4e-4d08-a108-d83c176ea85b
DEVICE=eth0
ONBOOT=yes
IPADDR="192.168.0.206"
PREFIX="24"
GATEWAY="192.168.0.1"
DNS1="114.114.114.114"

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上配置Redis复制

Redis是一个开源键值数据存储,使用内存存储模型和可选的磁盘写入来实现持久性。它具有事务,发布/订阅消息传递模式以及其他功能之间的自动故障转移功能。Redis...

1010
来自专栏小白安全

端口转发----lcx.exe

什么情况下需要端口转发: Web服务器在内网中,远程桌面无法连接,因此需要进行端口转发。 内网IP的80端口通过端口映射到外网IP的80端口上, ...

3159
来自专栏会跳舞的机器人

Dubbo无法创建新线程异常解决方案

结合上面的异常信息,我们可以知道dispatcher的默认配置值为all(AllChannelHandler来处理消息请求),因为测试环境上部署了好几个应用,如...

1252
来自专栏北京马哥教育

双网卡如何上网

正题: 公司业务需求,一台服务器,双网卡,需要同时访问外网和内网。在设置过程中,同事反映原本好用的内网地址(192.168.1.100)在设置上外网地址...

3057
来自专栏章鱼的慢慢技术路

虚拟机的基本网络配置

1965
来自专栏云计算教程系列

# 如何在Ubuntu 16.04上配置绑定为缓存或转发DNS服务器 ###

在学习如何配置网站和服务器时,DNS或域名系统通常是一个难以实现的组件。虽然大多数人可能会选择使用其托管公司或其域名注册商提供的DNS服务器,但创建自己的DNS...

450
来自专栏运维技术迷

RHEL下KVM虚拟化部署-安装虚拟化

一、KVM概述 1.KVM介绍 KVM(Kernel-based Virtualization Machine ) –基于内核的完全虚拟化解决方案 –红帽...

2543
来自专栏乐享123

Netcat Command

1554
来自专栏张戈的专栏

Linux服务器的进程查看命令详解

Linux 服务器正常启动后,提供服务时会调用程序,占用进程。这时候我们如何查看系统中有哪些进程在被调用呢?我们可以通过以下命令来查看。 一、ps 命令 ps ...

9829
来自专栏SDNLAB

OpenDaylight与Mininet应用实战之OpenFlow协议分析

1 实验目的 在实验平台上熟悉SDN原理操作,通过wireshark抓包工具可以直接看到控制器与OVS交换机的通信过程、分析OpenFlow(以下简写为OF)协...

33610

扫码关注云+社区