麒麟系统V10 SP2 KVM virt-install 创建虚拟机

2022-11-19 09:50:20 浏览数 (1)

virt-install 创建虚拟机

virt-install参数说明

--name 指定虚拟机名称

--memory 分配内存大小

--vcpus 分配CPU核心数

--disk 指定虚拟机磁盘文件,size指定分配大小单位为G

--network 网络类型

--pxe 基于PXE完成安装

--accelerate 加速

--cdrom 指定系统iso镜像

--location

从ftp,http,nfs启动,如ftp://192.168.10.7/dvd;nfs:192.168.10.7:/dvd

--graphics 图形化控制台 none 不启用

--vnc 启用VNC远程管理

--vncport 指定VNC监控端口,默认端口为5900

--vnclisten 指定VNC绑定IP,默认绑定127.0.0.1,改为0.0.0.0

--os-type 虚拟机类型 linux,windows

--os-variant [使用"osinfo-query os" 查看支持的版本]

--force 如果有yes或者no的交互式,自动yes

--noautoconsole 表示不会自动连入虚拟机的控制台

--extra-args 根据--location指定的方式安装GuestOS时,用于传递给内核的额外选项

--extra-args='console=tty0 console=ttyS0,115200n8'

表示为创建的虚拟机指定内核启动时的内核参数,此处为虚拟机内核添加的参数为console=tty0 console=ttyS0,115200n8

--console pty,target_type=serial

--boot

指定安装过程完成后的配置选项,如指定引导设备次序、使用指定的而非安装的kernel/initrd来引导系统启动等 ;例如:

--boot cdrom,hd,network 指定引导次序

指定启动系统的内核及initrd文件

代码语言:javascript复制
--boot kernel=KERNEL,initrd=INITRD,kernel_args="console=/dev/ttyS0"

Linux 虚拟机创建

  • ISO 镜像安装虚拟机 kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持快照镜像,zlib磁盘压缩,AES加密等;

创建qcow2 磁盘文件

代码语言:javascript复制
qemu-img create -f qcow2 /kvm/img/kylin01.img 50G

创建虚拟机

代码语言:javascript复制
virt-install 
    --name=kylin001 
    --memory=4096 
    --vcpus=2 
    --disk path=/kvm/img/kylin001.img,format=qcow2,bus=virtio 
    --accelerate 
    --cdrom /kvm/iso/Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso 
    --vnc --vncport=5910 
    --vnclisten=0.0.0.0 
    --network bridge=br0,model=virtio 
    --noautoconsole
  • 从网络创建虚拟机

创建qcow2 磁盘文件

代码语言:javascript复制
qemu-img create -f qcow2 /kvm/img/kylin002.img 50G

创建虚拟机

代码语言:javascript复制
virt-install 
    --name kylin002 
    --memory 4096 
    --vcpus 2 
    --disk path=/kvm/img/kylin002.img,format=qcow2,bus=virtio 
    --accelerate 
    --location http://192.168.100.234:18080/kylin_x86/ 
    --graphics vnc,listen=0.0.0.0,passwd=password 
    --network bridge=br0,model=virtio 
    --extra-args='console=tty0 console=ttyS0,115200n8' 
    --noautoconsole
  • 导入虚拟机磁盘镜像创建虚拟机

拷贝系统磁盘文件

代码语言:javascript复制
[root@kylin-node03 img]# ls  -ll  /kvm/img/kylin007.img 
-rw-r--r-- 1 qemu qemu 3993305088 Nov 12 16:05 /kvm/img/kylin007.img
[root@kylin-node03 img]# pwd
/kvm/img

创建虚拟机

代码语言:javascript复制
virt-install 
--name kylin007 
--memory 2048 
--vcpus 2 
--disk /kvm/img/kylin007.img,format=qcow2,bus=virtio 
--accelerate 
--import 
--network bridge=br0,model=virtio  
--graphics vnc,listen=0.0.0.0,passwd=password 
--noautoconsole
  • PXE 创建虚拟机
代码语言:javascript复制
virt-install 
  --name guest1-rhel7 
  --memory 2048 
  --vcpus 2 
  --disk size=8 
  --network bridge=br0,model=virtio 
  --pxe 
  --accelerate 
  --graphics vnc,listen=0.0.0.0,passwd=password 
  --os-variant rhel7 
  --noautoconsole
  • Kickstart 自动化创建虚拟机

创建qcow2 磁盘文件

代码语言:javascript复制
qemu-img create -f qcow2 /kvm/img/kylin002.img 50G

创建虚拟机

代码语言:javascript复制
virt-install -v 
        --arch x86_64 --virt-type kvm 
        --name kylin008 
        --memory 4096 
        --vcpus  2 
        --disk /kvm/img/kylin008.img,cache=writeback,io=threads,bus=virtio 
        --os-type linux 
        --location http://192.168.100.234:18080/kylin_x86/ 
        --network bridge=br0,model=virtio 
        --graphics vnc,listen=0.0.0.0 --noautoconsole 
        --initrd-inject  "/mnt/ks/ks.cfg" 
        --extra-args     "ks=file:/ks.cfg  
        console=tty0 console=ttyS0,115200n8 
        hostname=kylin008" 

Windows 虚拟机

  • ISO 镜像安装虚拟机

创建磁盘镜像

代码语言:javascript复制
qemu-img create -f qcow2 /kvm/img/win10.img 80G

创建虚拟机cdrom

--disk 需要创建磁盘镜像

--disk path 指定size磁盘则直接创建磁盘镜像

代码语言:javascript复制
virt-install 
--name win10 
--memory 4096 --vcpus=2 
--disk path=/kvm/img/win10.img,format=qcow2,size=80,bus=virtio  
--accelerate --network bridge=br0 
--os-type=windows
--cdrom /kvm/iso/cn_windows_10_1809.iso 
--graphics vnc,listen=0.0.0.0,port=5920 
--disk /kvm/iso/virtio-win-0.1.215.iso,device=cdrom,bus=ide,perms=ro 
--noautoconsole
  • 导入虚拟机磁盘镜像创建虚拟机
代码语言:javascript复制
virt-install 
--name win10_01 
--memory 4096 
--vcpus 2 
--disk /kvm/img/win10.img,format=qcow2,bus=virtio 
--accelerate 
--import 
--network bridge=br0,model=virtio  
--graphics vnc,listen=0.0.0.0,passwd=password 
--noautoconsole

通过vnc来控制台访问

查看虚拟机vnc 端口

代码语言:javascript复制
virsh vncdisplay win10_01

virsh 命令介绍

查看所有虚拟机

virsh list --all

虚拟机开机

virsh start kylin001

虚拟机关机或断电

默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务,在安装KVM linux虚拟机必须配置此服务。

yum install acpid

systemctl enable acpid && systemctl restart acpid

虚拟机关机

virsh shutdown kylin001

强制关闭电源

virsh destroy kylin001

配置文件启动虚拟机(虚拟机默认的配置文件路径 /etc/libvirt/qemu/)

virsh create /etc/libvirt/qemu/kylin001.xml

虚拟机开机自启动

virsh autostart kylin001

virsh autostart --disable kylin001

导出KVM虚拟机配置文件(备份虚拟机文件)

virsh dumpxml kylin001 > /etc/libvirt/qemu/kylin002.xml

xml文件注册虚拟机

virsh define /etc/libvirt/qemu/kylin002.xml

删除kvm虚拟机

virsh undefine kylin001

说明:该命令只是删除kylin001的xml配置文件,并不删除虚拟磁盘文件

挂起服务器

virsh suspend kylin001

恢复服务器

virsh resume kylin001

查看虚拟机vnc端口

virsh vncdisplay kylin001

查看虚拟机挂载磁盘信息

virsh domblklist kylin001

修改虚拟机名称

virsh domrename kylin001 --new-name kylin002

查看虚拟机网卡

virsh domiflist kylin001

virsh --help 查看帮助

虚拟机快照备份恢复

默认快照的名称为随机指定分配,可使用snapshot-create-as命令指定快照名称

virsh snapshot-create-as 【虚拟机名】 【快照名】

对win10虚拟机创建快照,指定快照名称

代码语言:javascript复制
virsh  snapshot-create-as win10_01  win10_01_20221113
Domain snapshot win10_01_20221113 created

默认随机生成快照名

代码语言:javascript复制
virsh snapshot-create win10_01

查看虚拟机快照

代码语言:javascript复制
virsh snapshot-list win10_01

查看当前虚拟机镜像快照

代码语言:javascript复制
virsh snapshot-current win10_01

查看虚拟机镜像文件,文件路径/var/lib/libvirt/qemu/snapshot/

代码语言:javascript复制
[root@kylin-node03 ~]# ll /var/lib/libvirt/qemu/snapshot/win10_01/win10_01_20221113.xml 
-rw------- 1 root root 8667 Nov 13 11:28 /var/lib/libvirt/qemu/snapshot/win10_01/win10_01_20221113.xml

恢复虚拟机快照

确认恢复快照节点,恢复到 win10_01_20221113

代码语言:javascript复制
[root@kylin-node03 ~]# virsh snapshot-list  win10_01
 Name                Creation Time               State
----------------------------------------------------------
 win10_01_20221113   2022-11-13 11:25:51  0800   running

执行恢复,并确认恢复版本

代码语言:javascript复制
[root@kylin-node03 ~]# virsh snapshot-revert  win10_01 win10_01_20221113

删除虚拟机快照,查看虚拟机快照

代码语言:javascript复制
[root@kylin-node03 ~]# qemu-img info /kvm/img/win10.img

删除快照

代码语言:javascript复制
[root@kylin-node03 ~]# virsh snapshot-delete win10_01  win10_01_20221113

虚拟机克隆

克隆设备必须暂停或关闭虚拟机,virt-clone命令本地克隆主机名、uuid、mac地址等信息已经自动进行了修改。

代码语言:javascript复制
virt-clone -o kylin002 -n kylin003 -f /kvm/img/kylin003.qcow2

-o 被克隆虚拟机

-n 克隆后新的虚拟机

-f 克隆后新虚拟机的磁盘

启动虚拟机

代码语言:javascript复制
virsh  start kylin003

对比两个主机配置文件的差别

代码语言:javascript复制
vimdiff  kylin002.xml  kylin003.xml

获取虚拟机vnc 端口

代码语言:javascript复制
virsh vncdisplay kylin003
:1

0 人点赞