导航:首页 > 程序命令 > kvm命令创建虚拟机

kvm命令创建虚拟机

发布时间:2024-01-17 18:11:48

㈠ 如何在kvm服务器上创建虚拟机

创建虚拟机镜像
要在一台host上跑起一个虚拟机一般需要两个步骤:
第一步:创建虚拟机镜像
qemu-img
create
-f
raw
/images/vm1.raw
8G
qmeu-img创建的镜像是一个稀疏文件,也就是说刚创建出来的文件并没有8G,它会随着数据的增多慢慢增加,直到8G
第二步:启动虚拟机
kvm
/imges/vm1.raw
运行结果:
因为镜像里面没有任何内容,所以提示找不到可引导设备。
使用qemu-img管理镜像
qemu-img基本命令
上节介绍了使用qemu-img创建镜像,这一节将会介绍qemu-img在镜像管理上的强大功能。
qemu-img有很多命令,包括下面常用的,当然qemu-img
-h你懂得。
info
查看镜像的信息
create
创建镜像
check
检查镜像
convert
转化镜像的格式,(raw,qcow
……)
snapshot
管理镜像的快照
rebase
在已有的镜像的基础上创建新的镜像
resize
增加或减小镜像大小
创建镜像
qemu-img
create
-f
<fmt>
-o
<options>
<fname>
<size>
举例:
qemu-img
create
-f
raw
-o
size=4G
/images/vm2.raw
hzgatt@hzgatt:~/images$
ll
total
0-rw-r--r--
1
hzgatt
hzgatt
4.0G
6月
29
14:11
vm2.raw
hzgatt@hzgatt:~/images$
ll
-s
total
00
-rw-r--r--
1
hzgatt
hzgatt
4.0G
6月
29
14:11
vm2.raw
hzgatt@hzgatt:~/images$
qemu-img
info
vm2.raw
image:
vm2.raw
file
format:
raw
virtual
size:
4.0G
(4294967296
bytes)
disk
size:
0
虽然ls中看到文件的大小是4G,但是实际上磁盘大小是0。这就是稀疏文件
转化
将一个镜像文件转化为另外一种格式,qemu-img支持的格式可以看qemu-img
-h最后一行。
Supported
formats:
vvfat
vpc
vmdk
vdi
sheepdog
rbd
raw
host_cdrom
host_floppy
host_device
file
qed
qcow2
qcow
parallels
nbd
dmg
tftp
ftps
ftp
https
http
cow
cloop
bochs
blkverify
blkdebug
转化命令:
qemu-img
convert
-c
-f
fmt
-O
out_fmt
-o
options
fname
out_fname
-c:采用压缩,只有qcow和qcow2才支持
-f:源镜像的格式,它会自动检测,所以省略之
-O
目标镜像的格式
-o
其他选先
fname:源文件
out_fname:转化后的文件
看例子:
hzgatt@hzgatt:~/images$
qemu-img
convert
-c
-O
qcow2
vm2.raw
vm2.qcow2
hzgatt@hzgatt:~/images$
ll
-s
total
136K
0
-rw-r--r--
1
hzgatt
hzgatt
5.0G
6月
29
13:55
vm1.raw
136K
-rw-r--r--
1
hzgatt
hzgatt
193K
6月
29
14:22
vm2.qcow2
0
-rw-r--r--
1
hzgatt
hzgatt
4.0G
6月
29
14:11
vm2.raw
hzgatt@hzgatt:~/images$
qemu-img
info
vm2.qcow2
image:
vm2.qcow2
file
format:
qcow2
virtual
size:
4.0G
(4294967296
bytes)
disk
size:
136K
cluster_size:
65536
如果想看要转化的格式支持的-o选项有哪些,可以在命令末尾加上
-o

hzgatt@hzgatt:~/images$
qemu-img
convert
-c
-O
qcow2
vm2.raw
vm2.qcow2
-o
?
Supported
options:
size
Virtual
disk
size
backing_file
File
name
of
a
base
image
backing_fmt
Image
format
of
the
base
image
encryption
Encrypt
the
image
cluster_size
qcow2
cluster
size
preallocation
Preallocation
mode
(allowed
values:
off,
metadata)
增加减少镜像大小
注意:只有raw格式的镜像才可以改变大小
hzgatt@hzgatt:~/images$
qemu-img
resize
vm2.raw
+2GB
hzgatt@hzgatt:~/images$
ll
-s
total
136K
0
-rw-r--r--
1
hzgatt
hzgatt
5.0G
6月
29
13:55
vm1.raw
136K
-rw-r--r--
1
hzgatt
hzgatt
193K
6月
29
14:22
vm2.qcow2
0
-rw-r--r--
1
hzgatt
hzgatt
6.0G
6月
29
14:28
vm2.raw
hzgatt@hzgatt:~/images$
qemu-img
info
vm2.raw
image:
vm2.raw
file
format:
raw
virtual
size:
6.0G
(6442450944
bytes)
disk
size:
0

㈡ KVM:virt-install创建虚拟机

grep -E 'vmx|svm' /proc/cpuinfo

#-E grep的扩展模式

#当前cpu是否支持硬件虚拟化

lsmod | grep kvm

#检查是否加载kvm模块,kvm只是一个linux模块,在kvm安装完成后整个linux系统会变成一个hypervisor(虚拟机管理层)。而qemu和virt、virsh相当于是两个家族,qemu只支持命令行模式(创建、删除、管理等操作),virt-install创建虚拟机,virsh只能管理虚拟机(无法创建),virt-manager提供web界面。

总结来说,libvirt家族和qemu家族都可以实现对虚拟机的生命周期管理,同一个目的不一样的工具而已。

mkdir /home/vm

将CentOS-7-x86_64-Minimal-1810.iso上传到此目录下

virt-install -n centos3 -r 256 --disk /home/vm/ccc.img,format=qcow2,size=2 --network bridge=br0 --os-variant=rhel7.6 --cdrom /home/vm/CentOS-7-x86_64-Minimal-1810.iso --vnc --vncport=6666 --vnclisten=0.0.0.0

-n    虚拟机名字

-r    内存(默认单位MB)

--disk    制定磁盘(可以提前使用qemu-img创建,也可以在此处创建)

    *使用qemu-img创建磁盘    qemu-img create -f qcow2 aaa.img 10G

--network    指定虚拟机使用的网络,这里使用br0,需要提前准备好此桥设备

--cdrom    指定镜像文件

--vnc    设置vnc,指定vnc监听端口和监听地址

#上述命令输入完成后直接回车即可

弹出上述告警框不用理会

此时查看宿主机打开端口,出现我们监听的6666端口

使用vnc客户端新建连接,ip地址填宿主机地址,端口6666,名称就是虚拟机名称

颜色级别设置成rgb222,然后点击OK

双击连接图标,进入安装界面

注意:

1、在执行virt-install时一定要仔细,别漏了任何一个参数。我就是少了--vnc这个参数导致vnc怎么也连不上

2、宿主机要跑虚拟机,确保cpu、内存资源足够,否则安装会出问题

㈢ 创建基于SRIOV的KVM虚拟机

本文来自微信公众号“ICT大融合”。

一、利用 iso 创建虚机

1.       安装环境:

适用于centos/redhat.

2.       安装准备:

yum -y install kvm

yum -y install qemu-kvmpython-virtinst libvirt libvirt-python virt-manager libguestfs-toolsbridge-utils virt-install

systemctl startlibvirtd.service

systemctl enablelibvirtd.service

3.       构建虚拟网络:

brctl addbr br0

brctl addif br0 ens6np0

注:ens6np0是netreonome CX-25G智能网卡,

[root@test4 vms]# ethtool -i ens6np0

driver: nfp

version: rev-2020.01.13.0820.a3cf8e9 (o-

firmware-version: 0.0.3.5 0.30 sriov-2.1.16.1nic

expansion-rom-version:

bus-info: 0000:02:00.0

4.       安装虚拟机

mkdir  -p /home/vms/

virt-install --virt-type=kvm --name=centos88 --vcpus=2--memory=4096 --location=/home/CentOS-7-x86_64-DVD-1908.iso --diskpath=/home/vms/centos88.qcow2,size=40,format=qcow2 --network bridge=br0--graphics none --extra-args='console=ttyS0' –force

注:

安装镜像iso一定放在/home/或其他可访问目录,否则提示没有操作权限。

然后一路按照提示,设置相应参数,直到虚拟机构建完成。

安装完成之后,用virshlish查看虚拟机状态。

[root@test4 vms]# virsh list

 Id   Name                          State

----------------------------------------------------

 2     centos88                      running

以上是虚拟机的网卡是基于virtio并接入主机的bridge,用ps可以看到相应进程。

[root@test4 ~]# ps -e |grep kvm

15484 ?       00:00:38 qemu-kvm

15491 ?       00:00:00 kvm-pit/15484

18406 ?       00:00:14 qemu-kvm

18413 ?       00:00:00 kvm-pit/18406

[root@test4 ~]# ps -e |grep vhost

15486 ?       00:00:00 vhost-15484

18408 ?       00:00:00 vhost-18406

二、用通过镜像创建基于 SRIOV 虚拟机。

1.       创建vf :

echo 2 > /sys/class/net/ens6np0/device/sriov_numvfs

可以用如下命令查看,

lspci -kd 19ee:

lspci | grep -i ethernet

注意:19ee是netreonome的PCI vendor ID号。

2.       创建虚拟机镜像文件:

cp centos88.qcow2 centos7.200.qcow2

chown qemu:qemu centos7.200.qcow2

cp centos88.xml centos7.200.xml

3.       修改配置文件

vi centos7.200.xml

其中,uuid采用uuidgen 命令生成。

选项Interface进行修改,Mac地址随便改一个,不重复就行。关键是修改vf的PCI地址,用lspci获取。

virsh define centos7.200.xml

4.       创建磁盘:

qemu-img create /home/vms/centos200.img 40G

5.       启动虚机:

virsh start centos200

三、常见命令

virsh基本命令:

virsh list                 # 查看在运行的虚拟机

virsh mpxml vm-name      # 查看kvm虚拟机配置文件

virsh start vm-name        # 启动kvm虚拟机

virsh shutdown vm-name     # 正常关机

virsh destroy vm-name      # 非正常关机,强制关闭虚拟机(相当于物理机直接拔掉电源)

virsh undefine vm-name     # 删除vm的配置文件

ls /etc/libvirt/qemu

# 查看删除结果,Centos-6.6的配置文件被删除,但磁盘文件不会被删除

virsh define file-name.xml # 根据配置文件定义虚拟机

virsh suspend vm-name      # 挂起,终止

virsh resumed vm-name      # 恢复被挂起的虚拟机

virsh autostart vm-name    # 开机自启动vm

virsh console <虚拟机名称>   # 连接虚拟机

virt-install参数:

–name指定虚拟机名称

–memory分配内存大小。

–vcpus分配CPU核心数,最大与实体机CPU核心数相同

–disk指定虚拟机镜像,size指定分配大小单位为G。

–network网络类型,此处用的是默认,一般用的应该是bridge桥接。

–accelerate加速

–cdrom指定安装镜像iso

–vnc启用VNC远程管理,一般安装系统都要启用。

–vncport指定VNC监控端口,默认端口为5900,端口不能重复。

–vnclisten指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。

–os-type=linux,windows

–os-variant=rhel6

--name 指定虚拟机名称

--ram 虚拟机内存大小,以 MB 为单位

--vcpus 分配CPU核心数,最大与实体机CPU核心数相同

–-vnc 启用VNC远程管理,一般安装系统都要启用。

–-vncport 指定VNC监控端口,默认端口为5900,端口不能重复。

–-vnclisten 指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。

--network 虚拟机网络配置

  #其中子选项,bridge=br0 指定桥接网卡的名称。

–os-type=linux,windows

–os-variant=rhel7.2

--disk 指定虚拟机的磁盘存储位置

  #size,初始磁盘大小,以 GB 为单位。

--location 指定安装介质路径,如光盘镜像的文件路径。

--graphics 图形化显示配置

  #全新安装虚拟机过程中可能会有很多交互操作,比如设置语言,初始化 root 密码等等。

--extra-args 根据不同的安装方式设置不同的额外选项

㈣ 安卓开启kvm

创建KVM虚拟机_安卓kvm虚拟机可以用两种方法创建kvm虚拟机,一种是virt-manager管理工具创建,一种是命令行的方式。1.命令行方式创建kvm虚拟机。先创建qcow2格式的镜像文件,大小为20G。qemu-imgcreate-fqcow2/data/kvm/images/centos7.6×86.qcow20G输入命令进行虚拟机的安装:virt-install–name=centos7.6×86–vcpus=2–ram=2048–diskpath=/data/kvm/imag

阅读全文

与kvm命令创建虚拟机相关的资料

热点内容
javamap底层 浏览:263
卖华为云服务器 浏览:105
中颖单片机烧录器 浏览:841
pdf转换成图片免费软件 浏览:454
编程语言怎么做出来的 浏览:617
文件夹英文名排序 浏览:56
西二旗最高程序员 浏览:99
台湾写真内部加密无删减视频 浏览:830
在线照片压缩变小 浏览:654
隐藏配置文件夹 浏览:186
php分布式模块化开发 浏览:389
wula是什么app 浏览:832
豌豆荚里怎么降低安卓手机版本 浏览:371
桌面的文件夹怎样解散 浏览:796
贵州贵阳山洞服务器云空间 浏览:221
年薪48万程序员老公 浏览:917
使用预构建的python 浏览:532
加密对冲基金交易有限公司 浏览:357
烟台制冷压缩机价格 浏览:249
平板能用腾讯云服务器吗 浏览:867