1.创建镜像
Sugon03:/dsx01 # qemu-img create -f raw second.raw 20G
Formatting 'second.raw', fmt=raw size=21474836480
2.打开vnc,然后在终端中输入virt-manager,出现virt-manager图形管理界面,然后点击新建
3.选择已有的iso安装
4.配置内存和CPU
5.选择刚刚创建好的raw文件作为镜像的存储空间,大小是20G
6.选择网络,用先前配置好的网桥br0
7.最后就像安装普通suse系统一样安装就行了。
【图怎么都不见了,fuck】
2021.1.6补充
1、常用命令
virsh list查看有哪些虚拟机
virsh list -all 查看所有虚拟机
virsh start wukong01 开机
virsh create /xxx/xxx/libvirt.xml 根据主机配置文件启动主机。(这种方式启动的虚机,shutdown之后就看不到了,不能用start命令启动虚机)
virsh define /xxx/xxx/libvirt.xml 根据配置文件定义虚拟机,virsh list --all可以看到虚拟机状态是shutoff,可以用start命令启动虚机
virsh dumpxml wukong01把虚拟机的信息dump出来,方便移植。(xml信息可以自己手动生成,创建虚机时系统也会默认自动生成位置是/etc/libvirt/qemu)
virsh edit wukong01 编辑虚机的xml配置文件,不建议使用vim编辑。
virsh vncdisplay wukong01 用来查看虚拟机的vnc端口
virsh destroy wukong01 彻底删除虚拟机
qemu-img create -f raw wukong01 20G 创建虚拟机磁盘
qemu-img info wukong01 查看虚拟机磁盘信息
使用virsh shutdown wukong01时失败,原因是物理机的命令没有进入虚拟机中
需要在虚拟机中安装acpid,由此可以接收物理机发来的ACPI指令
2、虚拟机复制和移植怎么弄
首先是把xml文件复制一份,然后是disk复制一份,再就是 virsh define xxx.xml,最后start起来,一模一样的虚拟机就诞生了(包括IP,这个时候会
出现IP冲突,即原来虚拟机一切正常的情况下如果把备份的文件重新拉起来,原虚拟机的IP就会被占用,因此需要立刻修改新拉起来的虚拟机的IP)
(centos还需要在ifconfig最下面一行加mac地址,保证mac地址不一致才行)
3、查看虚拟机的自动生成的xml文件和网络文件信息/etc/libvirt/qemu
4、直接在终端输入virsh,即可在物理机的命令界面管理虚拟机--【然而还是没进去】
5、virsh是由libvirt提供的虚拟机管理工具,可以管理kvm和xen
6、虚拟机扩容。目前只支持磁盘格式为qcow2的虚拟机,步骤如下:
virsh shutdown wukong(关闭虚机)
qemu-img info wukong(查看磁盘信息)
qemu-img resize wukong +10G(磁盘扩容10G)
virsh start wukong(敲df -h就可以查看是否扩容成功)
扩容后挂载磁盘时一定要记得 mkfs.ext3 /dev/vda* 否则提示/dev/vda*写保护,将以只读方式挂载,未知的文件系统(null)
7、磁盘格式转换
qemu-img convert -p -f raw wukong -O qcow2 wukong或qemu-img convert -p -f raw -O qcow2 wukong wukong
-f 需要转换文件的文件格式
-O 指定要转换的目标格式
-p 显示转换过程信息
8、磁盘性能
raw的虚拟机会比qcow2的虚拟机IO效率高,网上的说话是快25%,如果追求性能,可以选raw格式
两种格式,就磁盘的利用率来说,都是一样的,因为实际占用的快数量是一样的。
ls raw格式 磁盘看到的就是理论大小,du看到的是实际大小
ls qcow2和du qcow2看到的都是实际大小
scp或者tar raw磁盘时,会消耗网络IO或CPU
因此,做这些操作时,最好先把raw转换成qcow2格式
qemu-img convert -0 qcow2 wukong.raw wukong.qcow2
9、重启物理机后virsh list报错,报错如下
error:failed to connect to tht hypervisor
error:no valid connection
error: Failed to connect socker to '/usr/local/var/run/libvirt/libvirt-sock':no such file or directory
出现这种报错的背景是重启系统,之前都是正常的,那么首先判断进程在不在
ps -ef|grep libvirt* 如果进程不在
重启libvirt即可 :libvirtd -d
10\通过复制虚拟机文件创建虚拟机后,需要修改网卡的配置,尤其是mac和uuid
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=172.16.15.16
NETMASK=255.255.255.192
GATEWAY=172.16.15.62
UUID=3b47b3a8-3480-4747-b421-9b736ec8d006
MACADDR=52:54:00:c8:82:06
IPV6ADDR=fe80::5054:ff:fec8:8206