本来是用的vmware,不过后来想试下KVM,想着装个ZSTACK也行,结果zstack使用网络安装没搞明白,把物理机系统毁了,这下彻底完蛋了,只好还装个centos了,但是又不想用VMWARE就想起来用KVM,正好也是学习下,说来就来,搞起

安装系统,就不用详细说了,可以参照我以前的pxe安装系统。

系统安装好后,关闭selinux,关闭firewalld

然后需要创建一个网桥,这样虚拟机可以通过网桥直接连接到物理机的物理网络,方便使用

创建网桥:

拷贝一份网卡的配置文件

cp ifcfg-em1 ifcfg-br1

更改内容为如下

DEVICE="br1"
TYPE="Bridge"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=172.17.3.13
NETMASK=255.255.255.0
GATEWAY=172.17.3.254
DNS1=114.114.114.114

以上红色字体的是重要部分,其他和网卡配置一样就行

然后需要更改下em1的配置

DEVICE="em1"
ONBOOT="yes"
BRIDGE=br1

红色部分是绑定到br1网桥

重启下网络服务

systemctl restart network

好了,网络部分就完事了,我们开始安装kvm需要的软件包

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

安装完毕后,基本的kvm虚拟机所需要的软件包都已经安装完毕

lsmod | grep kvm

查看下是否已经加载KVM模块

[root@node13 win7]# lsmod | grep kvm
kvm_intel
kvm kvm_intel
irqbypass kvm

启动kvm所需的libvirtd服务

systemctl start libvirtd

设置为开机启动

systemctl enable libvirtd

至此,基础服务已经安装完毕,下面我们开始创建虚拟机之旅

创建一个kvm虚拟机的磁盘文件存放目录

然后先创建一个虚拟机的磁盘文件,也叫镜像格式

qemu-img create -f raw /data/kvm/win7/system.raw 300G

 100G

注意:raw格式不支持快照

硬盘格式总体上分为两种:1为全镜像格式,2为稀疏格式

全镜像格式(典型代表raw格式),其特点:设置多大就是多大,写入速度快,方便的转换为其他格式,性能最优,但是占用空间大

稀疏模式(典型代表qcow2格式),其特点:支持压缩,快照,镜像,更小的存储空间(即用多少占多少)

创建一个虚拟机

virt-install --virt-type kvm --name win7 --ram  --cdrom=/opt/23403_GRMCULXFRER_ZH-CN_MICRO_v2.iso --disk path=/data/kvm/win7/system.raw --network bridge=br1 --graphics vnc,listen=0.0.0.0 --noautoconsole

上面有几个重要的地方

虚拟机名字,内存,使用的安装镜像,虚拟机磁盘位置,我们选择了我们刚才创建的raw磁盘,使用vnc,网络桥接模式通过br1

我们来看下vnc的端口

看到是5900

我们通过VNC工具连接上去,IP是这台宿主机也就是物理机IP端口是5900

至此,已经安装完毕

然后说下虚拟机管理

virsh list 显示正在运行的虚拟机

virsh list --all 显示正在运行和停止以及各种状态虚拟机

销毁,删除一个虚拟机

virsh destroy win7

彻底删除需要取消这个虚拟机域的定义

virsh undefine win7

启动一个虚拟机

virsh start win7

关闭一个虚拟机

virsh shutdown win7

另外还有很多管理命令,大家可以自行研究下

centos7.4下的KVM虚拟机安装使用的更多相关文章

  1. .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7

    目录: .net core 2.2 部署CentOS7(1)安装虚拟机 .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7 .net core 2.2 部署CentOS7( ...

  2. Mac系统下使用VirtualBox虚拟机安装win7--第一步 安装vbox虚拟机

    Mac系统下使用VirtualBox虚拟机安装win7操作步骤: 第一步 安装vbox虚拟机 1.先下载vbox,下载地址:: https://www.virtualbox.org/wiki/Down ...

  3. KVM 虚拟机 安装配置

    原创博文安装配置KVM http://www.cnblogs.com/elvi/p/7718574.htmlweb管理kvm http://www.cnblogs.com/elvi/p/7718582 ...

  4. Centos7.3下mysql5.7.18安装并修改初始密码的方法

    Centos7.3下mysql5.7.18安装并修改初始密码的方法 原文链接:http://www.jb51.net/article/116032.htm 作者:Javen205 字体:[增加 减小] ...

  5. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  6. kvm虚拟化学习笔记(三)之windows kvm虚拟机安装

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  7. Centos7下搭建KVM虚拟机

    PRE-INSTALL ============================================================= kvm相关安装包及其作用 qemu-kvm 主要的K ...

  8. kvm虚拟机安装

    KVM虚拟化技术介绍 概述 KVM是基于内核的虚拟化技术(Kernel-based Virtual Machine),于2007年的Linux 2.6.20被合并进Linux内核.KVM要求CPU支持 ...

  9. KVM虚拟机安装报错 KVM is not available

    在linux系统上使用kvm安装系统时,如果你的cpu不支持虚拟化技术那么可能会报以下错误: Warning:KVM is not available. This may mean the KVM p ...

随机推荐

  1. Ubuntu 16下单机安装配置zookeeper和kafka

    网上其他的没有一个能直接照做完成的,我这个也是看了些帖子,整出来的怕以后忘记 建议连接工具:Bitvise SSH Client 一.安装配置zookeeper 下载zookeeper 3.4.13: ...

  2. 深度系统 deepin 15.9 关闭桌面

    深度系统 deepin 15.9 关闭桌面 由于特别的原因,关闭深度的桌面. sudo systemctl disable lightdm 如果需要在命令模式进入桌面可以使用以下命令. sudo se ...

  3. ie 9.10 兼容性问题 遇到的坑

    1.ie9 中ajax 跨域调用时 error报错信息为”No Transport”   原因是 ajax跨域 本人用的是 cors解决方案 但是ie9一下版本 对cors默认是不允许的所以需要我们自 ...

  4. python中的文件处理

    一 文件操作 (----------------------------------------------------------------------) 一 介绍 计算机系统分为:计算机硬件,操 ...

  5. 使用Dockerfile创建镜像

    Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义的镜像. 一.基本结构 Dockerfile由一行行命令语句组成,并且支持以#开头的注释行. 一般而言,D ...

  6. Java核心-多线程-并发控制器-Semaphore信号量

    Semaphore是非常有用的一个多线程并发控制组件(Java还有CountDownLatch.CyclicBarrier.Exchanger多线程组件),它相当于是一个并发控制器,是用于管理信号量的 ...

  7. Nginx 流量和连接数限制

    1.Nginx流量限制 实现流量限制由两个指令 limit_rate 和 limit_rate_after 共同完成: limit_rate 语法:limit_rate rate; 默认值:limit ...

  8. android 中activity重启的方法

    private void reLoadActivity(){ Intent intent = new Intent(context, SettingsActivity.class); intent.s ...

  9. shell中使用类似Python的参数处理

    params=$* for param in ${params} do name=$() value=$() if [[ "$name" = "run_type" ...

  10. 让WebStrom支持SSH协议的子项目

    让WebStrom支持SSH协议的子项目 在大项目中, 经常会遇到子项目(submodule)使用ssh的情形, 但是WebStrom不直接支持它. 下面以MAC为例,在PC中的处理类似. 打开ter ...