Centos8关于kvm-qemu、libvirt和nmcli创建桥网络的使用和理解

有4种安装方式,但是只说说命令行
01 图形方式安装 非常重要 非常简单
02 完全文本模式 现场配置虚拟机的规格 一般适用于不带图形界面的宿主机
03 命令行模式 重中之重 非常常用,模板镜像+配置文件
04 通过飞机驾驶舱安装和管理虚拟机 了解

其实kvm-qemu就是虚拟机,kvm是虚拟机内存与cpu。qemu是虚拟机其他io设备。而libvirt中的virsh是虚拟机的管理工具,可以方便管理虚拟机,例如: virsh list --all 查看所有虚拟机 virsh domiflist +虚拟机查看虚拟机的网络连接

相比之下virsh唯一特别之处可能是可以通过xml文件直接配置虚拟机
virsh define xxx.xml 生成xxx虚拟机
virsh dumpxml xxx 查看xxx虚拟机xml文件
virsh edit xxx 编辑xxx虚拟机xml文件 修改时xml文件只有在关机状态下有效

安装qemu-kvm,libvirt

查看电脑是否支持虚拟化
cat /proc/cpuinfo | egrep ‘vmx|svm’
下载并安装

yum install qemu-kvm qemu-img \
 virt-manager \
 libvirt libvirt-python libvirt-client  \
 virt-manager \
 virt-install \
 virt-viewer -y

qemu-kvm: KVM模块
libvirt: 虚拟管理模块
virt-manager: 图形界面管理虚拟机
virt-install: 虚拟机命令行安装工具

创建虚拟机

命令行创建虚拟机
首先需要创建镜像文件,镜像文件作为磁盘,你创建什么格式磁盘文件后面就生成什么格式镜像

qemu-img create -f   qcow2  test 10G  
qemu-system-x86_64 -m 2048 -smp 2 -boot order=cd -cdrom /home/images/CentOS-8.2.2004-x86_64-dvd1.iso -hda /home/test -display vnc=:22
-m 内存
-smp cpu个数
-boot order=cd 启动方式
-cdrom  本地镜像启动
-hda 文件格式

使用libvit包创建虚拟机,两个命令作用一样

virt-install   --ram 2048 --vcpus 2  --name test  --cdrom=/home/images/CentOS-8.2.2004-x86_64-dvd1.iso  --disk /home/test  --graphics vnc,port=5900,listen=0.0.0.0

我是使用的时vnc连接,如果出现以下问题:
RFB protocol error:
正常来说,RFB协议会根据网络质量自动调整画面质量。
但如果KVM服务器的VNC服务不能提供该功能或者无法
根据网络质量适配画面质量,就会出现以上错误提示。
我们清楚原因后,解决起来也就很简单了。
在VNC客户端远程主机的属性选项里,选中Options选项卡。
Picture quality画面质量选择
Medium中等质量

修改镜像格式

注意是大写O
qemu-img conver -f qow2 -O raw /home/test /home/test.raw
-f 文件格式 -O 输出格式

使用镜像文件启动

只要创建虚拟机就生成了镜像文件,制作好镜像后,启动镜像文件
qemu-system-x86_64 -m 2048 -smp 2 -drive file=镜像文件,format=镜像格式 -display vnc=:1(端口为5900+1)
(将-drive file=镜像文件,format=镜像格式 替换为 -hda 镜像文件,也能运行,但是会有警告)
虚拟机安装系统后,使用镜像启动,和创建虚拟机的区别就在于不需要启动的iso,不需要设置设置磁盘,因为系统和磁盘都在生成的镜像文件中

# qemu-system-x86_64命令无法找到,没有这个命令需要链接下,举个例子:
ln -s /usr/libexec/qemu-kvm /usr/local/bin/qemu-system-x86_64
我们公司镜像是在这个位置,不一样自己调整吧

使用virsh启动镜像,没试过,但应该是:
修改xml文件的磁盘路径
在这里插入图片描述
然后
virsh destroy xxx
vrish create xxx.xml 生成虚拟机,并运行

virsh undefine xxx 即使删除虚拟机,只要镜像文件还在,xml中的配置是该磁盘镜像,就能生成一模一样的虚拟机

添加网卡

创建网卡,centos官方的命令,centos8之后都是用NetWorkManager

原本的eth0网卡与eth0连接
在这里插入图片描述
生成一个br0网卡,一个bridge-br0连接
在这里插入图片描述
将eth0和br0绑定,生成brdige-slave-eth0连接
在这里插入图片描述
将eth0删除
在这里插入图片描述
现在将虚拟机与br0连接(virsh attach-interface …),会自动生成tun类型的vnet0网卡,vnet0连接,再执行(virsh attach-interface …),会生成vnet1网卡,vnet1连接
在这里插入图片描述

(1) Create a bridge named bridge-br0.
生成一个虚拟网卡,桥类型,名叫br0, 并生成一个连接叫做bridge-br0
[root@host]# nmcli con add type bridge ifname br0

(2) Disable spanning tree protocol (STP)
关掉名为bridge-br0的connection的stp
[root@host]# nmcli con modify bridge-br0 bridge.stp no

(3) Set the IP address, etc. (adjust the parameters appropriately)
设置一系列参数,默认是dhcp,可以跳过
[root@host]# nmcli con modify bridge-br0 ipv4.method manual ipv4.address “192.168.199.100/24” ipv4.gateway “192.168.199.254” ipv4.dns 8.8.8.8 ipv4.dns-search example.com
Note that, in CentOS 7.0, the syntax was ‘ipv4.addresses 192.168.199.100/24 192.168.199.254’. This has been changed in the later minor versions.

(4) Connect the physical port eth0 to the bridge just created.
将物理网卡eth0与桥连接,生成brige-br0的从属连接,名为bridge-slave-eth0
[root@host]# nmcli con add type bridge-slave ifname eth0 master bridge-br0

(5) Delete the physical port and reboot the system immediately as the connection will be lost
[root@host]# nmcli con del enp0s25; reboot
删除名为eth0的连接,官网说dhcp不用删,但是我不删不对
If your host uses dhcp, not static IP, skip steps (3) and (5).

查看当前机器的网卡
virsh domiflist 虚拟机 查看虚拟机网络连接
virsh dumpxml 虚拟机 > 虚拟机.xml 将当前虚拟机配置xml写入当前文件夹的xml文件
然后删除虚拟机再用新xml创建虚拟机
自动生成的xml文件位于/etc/libvirt/qemu
注意修改xml文件路径参数

添加磁盘

先创建磁盘文件,方法和创建镜像文件一样,文件后缀没用,只是为了方便识别
(也能用qemu info 文件名, 查看该文件格式、大小等信息)
qemu craete -f qcow2 test.qcow2 10G
virsh attach-disk 虚拟机 --source test.qcow --target sdc

由于模拟的IDE体系结构,无法将磁盘连接到正在运行的域,会报错“无法热插拔磁盘总线’ide’。”
而你关掉虚拟机又无法运行命令。所以这里使用scsi架构,有了hda和hdb应该是hdc,为了让虚拟机知道是scsi架构所以使用sdc

然后执行
virsh dumpxml 虚拟机名 > /etc/libvirt/qemu/ 虚拟机.xml
virsh define 虚拟机.xml
将运行域的更改跟新到xml文件

也可以修改xml文件
virsh edit 虚拟机





sdb scsi
hdb ide

可以通过修改xml增加ide磁盘,但删除只能备份xml,删除虚拟机,修改备份,
重建虚拟机,其他类型可以在运行是修改

virsh edit 虚拟机
virsh destroy 虚拟机
virsh create 虚拟机.xml

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值