KVM (虚拟机创建及管理,存储管理)

一笑奈何 提交于 2020-05-01 04:07:05

#<font color=red>创建KVM虚拟机</font>

###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工具并安装虚拟机

#<font color=red>命令行下创建 && 管理虚拟机</font>

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

#<font color=red>KVM虚拟机主要文件位置</font>

/etc/libvirt/qemu       #主配置文件目录
/etc/libvirt/storage       #存储池(Storage Pool)配置文件


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

#<font color=red>KVM 通过virsh console连入虚拟机</font>

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

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

reboot  #重启

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

virsh console vm-name

第三步:退出

按 ctrl+] 组合键退出virsh console

#<font color=red>远程管理虚拟机</font> ###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工具添加连接,远程连接其他宿主机

#<font color=red>virsh命令行下管理虚拟机</font>

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

#<font color=red>KVM虚拟化存储管理</font>

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上 运行。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!