CentOS 7.5 安装KVM虚拟机(Linux)
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)的更多相关文章
- CentOS 7.5 安装KVM虚拟机(Windows)
一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...
- 命令行安装kvm虚拟机、桥接网络、用virt-manager管理
宿主机CentOS Linux release 7.2.1511 (Core),内核3.10.0-327.el7.x86_64 1.配置宿主机网络桥接 想让虚拟机有自己的ip且外网可访问,需要在安装虚 ...
- CentOS 6.5安装KVM实践
一,安装CentOS6.5,使用最小化的minimal安装二.安装完CentOS后,使用root登录配置网卡,使虚拟机可以使用外网上网 vi /etc/sysconifg/network-script ...
- (转)CentOS7安装KVM虚拟机详解
原文:https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E ...
- 6、安装kvm虚拟机
6.1.虚拟机开启虚拟化: 6.2.检查linux虚拟机cpu是否开启了虚拟化: egrep -o 'vmx|svm' /proc/cpuinfo vmx 6.3.安装kvm管理和安装kvm虚拟机的软 ...
- 11.安装KVM虚拟机
安装KVM虚拟机是一大难题,不按照虚拟机物理机128G内存和强劲的CPU无法充分利用.也不便于后面的jenkins自动部署.安装KVM虚拟机过程我是借鉴了网上下载的马哥linux KVM那块的内容 ...
- Centos7使用pxe安装KVM虚拟机
Centos7使用pxe安装KVM虚拟机 一.安装服务所需的软件 [root@localhost ~]yum install nginx dhcp vsftpd syslinux -y [root@l ...
- centos7安装kvm虚拟机
一 centos7安装kvm虚拟机 1.验证CPU是否支持KVM 结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. [root@centos ~]# egrep '(vmx| ...
- centos6.2安装kvm虚拟机
http://www.wenzizone.com/2012/03/06/centos_6-2_install_kvm.html KVM虚拟机简介 kernel-based Virtual Machin ...
随机推荐
- Python常用模块--re
Python内部的re--传闻中的正则模块,是无数初学者心中的噩梦,几乎到了谈正则色变的地步. 1.正则是干什么的 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常 ...
- typescript精简版1:用ts表示常见数据类型
一:工程准备: 1.全局安装typescript npm i typescript -g // 或 yarn global add typescript vscode 配置 在命令行执行 tsc -- ...
- ORM(一)
1.什么是ORM ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去 ...
- angular笔记_1
第一个angular文件<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js&q ...
- 狄克斯特拉算法(Python实现)
概述 狄克斯特拉算法--用于在加权图中找到最短路径 ps: 广度优先搜索--用于解决非加权图的最短路径问题 存在负权边时--贝尔曼-福德算法 下面是来自维基百科的权威解释. 戴克斯特拉算法(英语:Di ...
- Django——支付宝支付功能
前期准备 首先我们需要获得支付宝提供的权限与接口,在蚂蚁开放平台进行相关申请:https://openhome.alipay.com/platform/appDaily.htm?tab=info 申请 ...
- 潭州课堂25班:Ph201805201 django 项目 第三十六课 后台文章管理(课堂笔记)
get 请求, 1,获取文章标签 , 2,拿到前台传来的值, 3,根据前台传来的值在数据库中查询 4.,返回数据到前台,渲染, 分页算法 : 在 utils 下创建 paginator_script ...
- URAL Palindromic Contest
A. Non-palidromic cutting 考虑无解的情形:只能是形如$aaaaa$.$aaabaaa$.$abababa$这三种情况. 有解时,对于最小划分,答案必定是$1$或者$2$,判断 ...
- Redis设计与实现:读书笔记之一
第一部分:数据结构与对象 Redis支持的数据类型 字符串对象 列表对象 Hash对象 集合对象 有序集合对象 2.数据结构 Redis的所有数据类型都是: key-value pair 对象 Red ...
- ES6_入门(1)_let命令
1. let声明变量只在let命令所在的代码区内有效. "use strict"; /*如果不加"use strict";会报错:Uncaught Syntax ...