前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >麒麟系统V10 SP2 KVM virt-install 创建虚拟机

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

作者头像
Kevin song
发布2022-11-19 09:50:20
4K0
发布2022-11-19 09:50:20
举报
文章被收录于专栏:运维监控日志分析

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
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档