Vagrant+Libvirt环境下普通用户自定义网络配置及问题求助
Vagrant-libvirt 问题解决:共享文件夹缺失与自定义网络配置
一、修复默认共享文件夹 /vagrant 缺失
默认情况下Vagrant会自动挂载当前目录到虚拟机的/vagrant,如果没有生成,按以下步骤处理:
- 在Vagrantfile中显式添加共享文件夹配置(指定virtiofs类型适配libvirt):
config.vm.synced_folder ".", "/vagrant", type: "virtiofs" - 登录Rocky Linux 9虚拟机,安装必要的依赖包:
sudo dnf install -y qemu-guest-agent virtiofsd - 重新挂载共享文件夹或重启虚拟机生效:
sudo mount -t virtiofs vagrant /vagrant
二、普通用户创建自定义libvirt网络并配置Vagrantfile
1. 创建自定义网络
- 先确保当前用户加入
libvirt组,获得操作权限:sudo usermod -aG libvirt $USER newgrp libvirt # 刷新组权限(无需重新登录) - 用你编写的
custom-network.xml定义并启动网络:virsh net-define custom-network.xml # 替换成你的xml里定义的网络名称,比如my-custom-net virsh net-start my-custom-net # 设置开机自动启动网络 virsh net-autostart my-custom-net - 验证网络状态:
virsh net-list --all
2. 修改Vagrantfile使用自定义网络
在Vagrantfile中添加私有网络配置,指定自定义网络名称和静态IP:
Vagrant.configure("2") do |config| config.vm.box = "rockylinux/9" # 配置自定义私有网络 config.vm.network "private_network", ip: "192.168.124.10", libvirt__network_name: "my-custom-net", # 替换成你的自定义网络名称 libvirt__dhcp_enabled: false # 静态IP需关闭DHCP # 同步共享文件夹(解决第一个问题) config.vm.synced_folder ".", "/vagrant", type: "virtiofs" end
之后执行vagrant up就能正常启动虚拟机并使用自定义网络了。
内容的提问来源于stack exchange,提问作者christianbueno.1
相关产品推荐
相关产品推荐

