创建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)来管理的
- Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型; 每个 Pool在 /etc/libvirt/storage 目录下都有一个 xml 文件。
- Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。
KVM 支持多种 Volume 文件格式:
- raw:是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。
- qcow2:是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。
- vmdk:是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行。