创建KVM虚拟机

1.图形化界面创建

第一步:查看软件包组

yum grouplist

第二步:下载GUI界面的软件包组

yum groupinstall "Server with GUI"

第三步:进入图形化界面

startx

2.复制镜像文件

复制镜像文件到 /var/lib/libvirt/images/

/var/lib/libvirt/images/:
CentOS-7-x86_64-DVD-1611.iso

3.可以创建虚拟机了

找到virt-manager工具并安装虚拟机

命令行下创建 && 管理虚拟机

Virt-install:  命令行下创建虚拟机的命令,不过在它后面需要跟上很多的参数
--name: 虚拟机的名字。
--disk Location: 磁盘映像的位置。
--graphics : 怎样连接 VM ,通常是 SPICE 。
--vcpu : 虚拟 CPU 的数量。
--ram : 以兆字节计算的已分配内存大小。
--location : 指定安装源路径
--network : 指定虚拟网络,通常是 virbr0 或者自己设定的 br0 #例如:
virt-install --name=test --disk path=/export/kvm/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/export/download/software/iso/CentOS-7.3-x86_64-DVD.iso --network bridge=br0

KVM虚拟机主要文件位置

/etc/libvirt/qemu       #主配置文件目录
/etc/libvirt/storage #存储池(Storage Pool)配置文件 /var/lib/libvirt/images/: #默认磁盘存储文件目录 主配置文件中有定义
CentOS-7-x86_64-DVD-1611.iso
test1.qcow2 #磁盘存储文件

KVM 通过virsh console连入虚拟机

第一步:centos7系统,在vm-name虚拟机中运行;

 grubby --update-kernel=ALL --args="console=ttyS0"

reboot  #重启

第二步:宿主机上连接vm-name虚拟机

virsh console vm-name

第三步:退出

按 ctrl+] 组合键退出virsh console

远程管理虚拟机

1.前提

virt-manager不仅能管理本地主机上的KVM虚拟机,还能管理其它宿主机上的虚拟机

2.准备

因为 KVM(准确说是 Libvirt)默认不接受远程管理,需要按下面的内容配置被管理宿主机中的两个文件:

vim /etc/default/libvirt-bin
...
start_libvirtd="yes"
libvirtd_opts="-d -l"
...
vim /etc/libvirt/libvirtd.conf
...
listen_tls = 0
listen_tcp = 1
unix_sock_group = "libvirtd"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
...

重启libvirtd服务

systemctl restart libvirt-bin

3.远程管理虚拟机

通过virt-manager工具添加连接,远程连接其他宿主机

virsh命令行下管理虚拟机

virsh list           #列出当前宿主机上处于运行状态的虚拟机
virsh list --all #列出当前宿主机上所有的虚拟机
virsh start vm1 #(虚拟机name) 开启某一台虚拟机
virsh shutdown vm1 # (虚拟机name) 正常关闭一台虚拟机
virsh destroy vm1 # 强制关闭某一台虚拟机
virsh autostart vm1 #开机自启动虚拟机vm1
virsh autostart --disable vm1 #关闭开机自启动
virsh edit vm1 #编辑某个虚拟机的配置文件
virsh pool-list #列出存储池 qemu-img create -f qcow2 -o size=9G /export/kvm/test.qcow2
创建一个大小为 50G 的,格式为 qcow2 的磁盘镜像 查看磁盘信息:
qemu-img info /export/kvm/test.qcow2

KVM虚拟化存储管理

KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的

  1. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型; 每个 Pool在 /etc/libvirt/storage 目录下都有一个 xml 文件。
  2. Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。

KVM 支持多种 Volume 文件格式:

  1. raw:是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。
  2. qcow2:是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。
  3. vmdk:是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行。

KVM (虚拟机创建及管理,存储管理)的更多相关文章

  1. 使用Python-Libvirt GUI 实现KVM 虚拟机 界面化管理

    一.KVM环境的搭建 1.安装VMware(略) 2.在VMware中安装Linux系统(略,Ubuntu16.04) 打开支持虚拟化 网络选择桥接模式 3.安装qemu apt-get instal ...

  2. OpenStack入门篇(四)之KVM虚拟机介绍和管理

    1.查看虚拟机,启动虚拟机 [root@linux-node1 ~]# virsh list --all Id Name State --------------------------------- ...

  3. 虚拟化技术之kvm虚拟机创建工具virt-install

    在前边的博客中,我们创建KVM虚拟机用到了virt-manager,这个工具是一个图形化工具,创建虚拟机很方便:除此我们还是用virsh define/create +虚拟机配置文件来创建虚拟机,这种 ...

  4. 虚拟化技术之kvm虚拟机创建工具qemu-kvm

    在前边的博客中我们介绍了如何创建kvm虚拟机,以及一些常用的工具的介绍和使用,今天我们来了解下kvm原始工具qemu-kvm:为什么说qemu-kvm是一个原始的工具呢,如果你用kvm虚拟机,心细的你 ...

  5. KVM虚拟机的日常管理与配置

    1. 查看KVM虚拟机配置文件及运行状态(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录. (2) virsh命令帮 ...

  6. 记录KVM虚拟机常用操作管理命令

    环境说明 centos7中的KVM NAT方式是kvm安装后的默认方式.它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机. 检查当前的网络设置 # virsh net-li ...

  7. 给新建的kvm虚拟机创建网络接口

    (一)首先必须创建网卡连接桥接口的启动脚本和停止脚本,其中脚本中的 $1:表示为虚拟机的网卡的右边接口,这两个脚本就是讲虚拟机的网卡的右边接口接在网桥上,实现桥接模型     # 1:/etc/qem ...

  8. [ kvm ] 学习笔记 7:KVM 虚拟机创建的几种方式

    通过对 qemu-kvm.libvirt 的学习,总结三种创建虚拟机的方式: (1)通过 qemu-kvm 创建 (2)通过 virt-install 创建 (3)通过 virt-manager 创建 ...

  9. KVM虚拟机管理——虚拟机克隆

    1. 概述2. 部署基本操作系统虚拟机3. 配置虚拟机3.1 修改/etc/sysconfig/network3.2 删除/etc/sysconfig/network-scripts/ifcfg-et ...

随机推荐

  1. 容器编排系统K8s之flannel网络模型

    前文我们聊到了k8s上webui的安装和相关用户授权,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14222930.html:今天我们来聊一聊k8s上的网络 ...

  2. java中变量和标识符名命名规范

    变量存放的是内存地址,当定义一个变量后,我们可以通过变量名找到该内存地址,可以修改该内存区间的值. 标识符的命名规范:首字母:字母,下划线,$符号:其余部分:数字,字母,下划线,$. 标识符应该避开j ...

  3. Redis学习之路(二)Redis集群搭建

    一.Redis集群搭建说明 基于三台虚拟机部署9个节点,一台虚拟机三个节点,创建出4个master.4个slave的Redis集群. Redis 集群搭建规划,由于集群至少需要6个节点(3主3从模式) ...

  4. Java实现PDF和Excel生成和数据动态插入以及导出

    一.序言 Excel.PDF的导出.导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策. 公司有这么两个需求: 需求一.给了一个表单,让把 ...

  5. LeetCode220 存在重复元素 III

    给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ. 示例 1: 输入: ...

  6. 来不及解释!Linux常用命令大全,先收藏再说

    摘要:Linux常用命令,很适合你的. 一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windo ...

  7. selenium自动化 | 实现抢课功能

    # -*- coding: utf-8 -*-"""Created on Wed Jan 1 23:39:34 2020@author: billie程序运行环境要求:- ...

  8. Sentry(v20.12.1) K8S 云原生架构探索,SENTRY FOR JAVASCRIPT 故障排除

    系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...

  9. 通过show profile分析sql语句

    set profling=1; select count(*) from xuehao; show profiles; show profile for query 1; mysql> set ...

  10. innnodb_doublewrite

    有写场景下,双写缓冲确实没必要,例如,你也许像在备库上禁用双写缓冲,此外,一些文件系统,例如zfs做了同样的事,所以,没必要再让innodb做一遍. innodb_double_write=0 即可关 ...