1.认识理解KVM虚拟机

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。
它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。
而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。
广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

2.探讨目标
在CentOS7母机系统上安装KVM服务,并启动一个CentOS虚拟机

安装说明
KVM建立在母机系统上,因此对机器有一定的配置要求,比如svm, selinux等,这些基本问题不大。
另外有网友说不能用VMware虚拟机做母机安装KVM,本次实验用的母机系统使用的是VMware Workstation 14 Pro安装的CentOS7,结果证明可以使用。

KVM使用libvirt这个开源的API进行管理。
libvirt是提供了一个方便的方式来管理虚拟机和其他虚拟化功能的软件的集合,如存储和网络接口管理。这些软件包括一个API库,一个守护进程(Libvirtd),和一个命令行实用程序(virsh)。
libvirt的首要目标是能够管理多个不同的虚拟化供应商/虚拟机管理程序提供一个单一的方式。例如,命令“virsh列表等等都可以用于任何支持现有的虚拟机管理程序列表(KVM、Xen、VMware ESX,等)不需要学习管理程序特定的工具!

3.依赖包安装
yum install -y qemu-kvm libvirt virt-install bridge-utils
安装完上述依赖包好最好重启一下服务器

查看KVM安装的状态,可以使用lsmod查看状态
[root@linux-node1]# lsmod |grep kvm

有上面三行输出,说明KVM安装成功

4.管理服务
启动libvirtd守护进程
systemctl start libvirtd
systemctl status libvirtd

5.安装虚拟机
首先需要下载一个镜像文件到母机本地
我们的KVM虚拟机将要安装CentOS系统,于是到CentOS官网找一个镜像的下载链接,使用wget命令下载到本地
之前测试将镜像下载到/root目录,结果安装开始时提示无法读取镜像文件,为了避免权限问题,我们将镜像文件下载到/home目录
wget http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso -P /home/

执行安装虚拟机命令:

virt-install \
--virt-type=kvm \
--name=kvm- \
--vcpus= \
--memory= \
--location=/home/CentOS--x86_64-Minimal-.iso \
--disk path=/data/vms/kvm-.qcow2,size=,format=qcow2 \
--network bridge=virbr0 \
--graphics none \
--extra-args='console=ttyS0' \
--force

参数解析:
--name=kvm-1   虚拟机名字为kvm-1
--vcpus=2        2个虚拟CPU核心
--memory=2048      2G内存
--disk path=/data/vms/kvm-1.qcow2,size=15,format=qcow2   虚拟机硬盘文件所在目录及名字,大小为15G,格式为qcow2,此参数会自动生成该硬盘文件在对应目录
--network bridge=virbr0    虚拟机桥接用的网卡,不一定是这个名字,在母机上用ifconfig查看实际名字 (这里默认使用的是NAT模式,如果要使用Bridge模式,请参考另外一篇文章)

如果一切正常,会进入安装iso安装界面。

上面的设置跟在图形界面安装操作一样,分别进去设置一下就可以继续安装了,设置完如下

然后敲b开始进行安装,成功安装到最后页面:

回车后虚拟机会从开机界面一直进入到登陆界面,输入root和密码就登陆进了虚拟机系统

CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-8707fc0ebc304aecae24959960933077) 7 (Core)

......

[ 10.953832] Netfilter messages via NETLINK v0.30.
[ 10.967303] ip_set: protocol 6

CentOS Linux 7 (Core)
Kernel 3.10.0-862.el7.x86_64 on an x86_64

localhost login: root
Password:
[root@localhost ~]#

查看虚拟机信息

6.退出虚拟机回到母机系统

同时按Ctrl+]

7.重新连接虚拟机
virsh console kvm-1

8.KVM 操作虚拟机常用命令:
列出所有的虚拟机
virsh list --all

显示虚拟机信息
virsh dominfo kvm-1

显示虚拟机内存和cpu的使用情况
yum install virt-top -y
virt-top

显示虚拟机分区信息
virt-df kvm-1

关闭虚拟机(shutodwn)
virsh shutdown kvm-1

启动虚拟机
virsh start kvm-1

设置虚拟机(kvm-1)跟随系统自启
virsh autostart kvm-1

关闭虚拟机自启
virsh autostart --disable kvm-1

删除虚拟机
virsh undefine kvm-1

CentOS 7.5 安装KVM虚拟机(Linux)的更多相关文章

  1. CentOS 7.5 安装KVM虚拟机(Windows)

    一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...

  2. 命令行安装kvm虚拟机、桥接网络、用virt-manager管理

    宿主机CentOS Linux release 7.2.1511 (Core),内核3.10.0-327.el7.x86_64 1.配置宿主机网络桥接 想让虚拟机有自己的ip且外网可访问,需要在安装虚 ...

  3. CentOS 6.5安装KVM实践

    一,安装CentOS6.5,使用最小化的minimal安装二.安装完CentOS后,使用root登录配置网卡,使虚拟机可以使用外网上网 vi /etc/sysconifg/network-script ...

  4. (转)CentOS7安装KVM虚拟机详解

    原文:https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E ...

  5. 6、安装kvm虚拟机

    6.1.虚拟机开启虚拟化: 6.2.检查linux虚拟机cpu是否开启了虚拟化: egrep -o 'vmx|svm' /proc/cpuinfo vmx 6.3.安装kvm管理和安装kvm虚拟机的软 ...

  6. 11.安装KVM虚拟机

    安装KVM虚拟机是一大难题,不按照虚拟机物理机128G内存和强劲的CPU无法充分利用.也不便于后面的jenkins自动部署.安装KVM虚拟机过程我是借鉴了网上下载的马哥linux   KVM那块的内容 ...

  7. Centos7使用pxe安装KVM虚拟机

    Centos7使用pxe安装KVM虚拟机 一.安装服务所需的软件 [root@localhost ~]yum install nginx dhcp vsftpd syslinux -y [root@l ...

  8. centos7安装kvm虚拟机

    一 centos7安装kvm虚拟机 1.验证CPU是否支持KVM 结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. [root@centos ~]# egrep '(vmx| ...

  9. centos6.2安装kvm虚拟机

    http://www.wenzizone.com/2012/03/06/centos_6-2_install_kvm.html KVM虚拟机简介 kernel-based Virtual Machin ...

随机推荐

  1. Jmeter元件——JSON Extractor后置处理器

    场景使用 json extractor后置处理器用在返回格式为json的HTTP请求中,用来获取返回的json中的某个值.并保存成变量供后面的请求进行调用或断言等. 使用方法 1.常规操作 路径:选择 ...

  2. python 数据结构之二分查找的递归和普通实现

    二分查找就是待查找的列表进行分半搜索 如下所示 二分查找普通实现: def erfen(alist, item): start = 0 end = len(alist) - 1 while start ...

  3. 如何基于asp.net core的Identity框架在mysql上作身份验证处理

    首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityS ...

  4. 说说我安装pyspider遇到的那些坑

    现在python3.7  >>pip install pyspider    配置环境变量 前置的phantomjs 无界面浏览器,设置就不说了 cmd 中运行pyspider all  ...

  5. 通过ipmitool找回遗忘的iDrac地址

    Background: 在使用Dell服务器的过程中,如果发生一下情况:可以进入系统,但是忘记iDrac卡的地址,在系统的某个Linux下,可以使用ipmitool这个工具来get一下硬件的信息,从而 ...

  6. My Web Developer Roadmap

    必需技能部分,可以理解为通用的.基础的技能,不管我们选择哪个方向都是通用的,包括但不限于 Git 使用.HTTP/HTTPS.数据结构和算法等.当然了,学习能力是必须具备的. 从一开始学习web前端, ...

  7. Android:ViewGroup和View的Touch事件

    Android中ViewGroup和View中的Touch事件传递机制分析 关键字:GroupView:View:Touch事件 基础知识: onInterceptTouchEvent():在View ...

  8. Android强制关闭某个指定应用 “关闭应用”

    强制关闭指定的应用程序: // 传入应用的包名即可kill掉应用 private void forceStopApp(String packageName) { ActivityManager am ...

  9. 上一篇是copy了整理网上的内容,这篇是一个推荐

    因为公司用的 轮播组件是 aui 的 ui库 这个轮播有样式单一等等很多的问题.... 包括滑动BUG(自己也踩了一个小坑,高度和宽度问题...需要设定好,滑动提示按钮点 丑陋............ ...

  10. python流程控制之if、 while和for 循环

    1.if 语句 语法1 if 条件:# 代码1# ... # cls='human'# sex='female'# age=18## if cls == 'human' and sex == 'fem ...