Linux下kvm宿主机死机,看到一些朋友苦虚拟机久矣,分享下我使用KVM的一些经验和技巧...

作为 Linux 用户,不管是 IT 开发,还是普通的爱好者,出于种种原因总是离不开虚拟机软件。由于某些原因我很早就接触过各种虚拟机软件,到目前为止或多或少几乎使用过所有常见的虚拟机软件或平台,包括大家最熟悉的 VMWare、VBox,windows 上曾经的 Virtual PC 和如今系统自带的 Hyper-V,MacOS 上的 Parallels Desktop,以及虚拟化平台 ESXi 和 Proxmox VE 等……这些软件在各自平台和特定使用场景下各有其优势,但是现在,我个人使用的 Linux 上唯一在用的虚拟机软件,就是今天的主角—— KVM

KVM的优点

1. 安装方便。

从 KVM 的全称:Kernel-based Virtual Machine 就可以看出,KVM 实际是 linux 内核提供的虚拟化架构,可将内核直接充当 hypervisor 来使用,只要不是过于老旧的电脑,现在主流的 Linux 发行版都是可以几乎0配置地使用 KVM。相比之下,VMWare 和 VBox 并不是每一个发行版的软件仓库中都会包含的,这时候需要去对应官网下载安装包手动安装;即使是仓库中有可以直接通过包管理安装,它们想要正常使用还需要编译内核模块,每次系统内核升级后还需要重新编译,某些情况下还有可能编译失败无法使用,而 KVM 的安装只需要一步:# debian系

sudo apt install qemu-kvm

# Redhat系

sudo yum install qemu-kvm

# 可选,仅当不加 sudo 执行 kvm 命令提示权限错误时使用

sudo adduser $USER kvm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KVM 宿主下创建的虚拟,可以使用桥接模式、NAT 模式或者直接连接宿主物理网卡的模式来进行网络配置。以下是在 Linux KVM 宿主下创建的虚拟的网络配置方法: 1. 桥接模式 桥接模式可以使虚拟直接通过宿主的物理网卡连接到网络,可以使虚拟获得独立的 IP 地址。具体步骤如下: 1. 在宿主上创建一个虚拟网桥,使用以下命令: ``` brctl addbr br0 ifconfig br0 up ``` 2. 将宿主的物理网卡连接到虚拟网桥,使用以下命令: ``` brctl addif br0 eth0 ``` 其中,`eth0` 是宿主的物理网卡名称。 3. 在虚拟中,指定网络接口为桥接模式,使用以下命令: ``` virsh edit <vm-name> ``` 在 XML 配置文件中添加以下内容: ``` <interface type='bridge'> <mac address='52:54:00:xx:xx:xx'/> <source bridge='br0'/> <model type='virtio'/> </interface> ``` 其中,`<mac address='52:54:00:xx:xx:xx'/>` 是虚拟的 MAC 地址,`<source bridge='br0'/>` 是连接到虚拟网桥 `br0`。 4. 在虚拟中配置 IP 地址和网关,使用以下命令: ``` sudo ip addr add <ip-address>/<netmask> dev eth0 sudo ip route add default via <gateway-ip-address> ``` 其中,`<ip-address>` 是虚拟的 IP 地址,`<netmask>` 是虚拟的子网掩码,`<gateway-ip-address>` 是宿主的 IP 地址。 2. NAT 模式 NAT 模式可以使虚拟通过宿主的 IP 地址访问网络,但无法直接从外部访问虚拟。具体步骤如下: 1. 在虚拟中,指定网络接口为 NAT 模式,使用以下命令: ``` virsh edit <vm-name> ``` 在 XML 配置文件中添加以下内容: ``` <interface type='network'> <mac address='52:54:00:xx:xx:xx'/> <source network='default'/> <model type='virtio'/> </interface> ``` 其中,`<mac address='52:54:00:xx:xx:xx'/>` 是虚拟的 MAC 地址。 2. 在虚拟中配置 IP 地址和网关,使用以下命令: ``` sudo ip addr add <ip-address>/<netmask> dev eth0 sudo ip route add default via <gateway-ip-address> ``` 其中,`<ip-address>` 是虚拟的 IP 地址,`<netmask>` 是虚拟的子网掩码,`<gateway-ip-address>` 是宿主的 IP 地址。 3. 直接连接物理网卡模式 直接连接物理网卡模式可以使虚拟通过宿主的物理网卡访问网络,但需要在虚拟中手动配置 IP 地址和网关。具体步骤如下: 1. 在虚拟中,指定网络接口为直接连接物理网卡模式,使用以下命令: ``` virsh edit <vm-name> ``` 在 XML 配置文件中添加以下内容: ``` <interface type='direct'> <mac address='52:54:00:xx:xx:xx'/> <source dev='eth0'/> <model type='virtio'/> </interface> ``` 其中,`<mac address='52:54:00:xx:xx:xx'/>` 是虚拟的 MAC 地址,`<source dev='eth0'/>` 是连接到宿主的物理网卡。 2. 在虚拟中手动配置 IP 地址和网关,使用以下命令: ``` sudo ip addr add <ip-address>/<netmask> dev eth0 sudo ip route add default via <gateway-ip-address> ``` 其中,`<ip-address>` 是虚拟的 IP 地址,`<netmask>` 是虚拟的子网掩码,`<gateway-ip-address>` 是宿主的 IP 地址。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值