我在 Ubuntu 下有一个 WinXP 虚拟机,这个 Ubuntu 上的每个用户都应该有权运行这个 VM。但是每次有人运行这个 VM 时,都会设置文件权限,400并且600(相应地.VirtualBox/VirtualBox.xml和.VirtualBox/Machines/win/win.xml)和所有权设置为最后一个用户。然后我将它们改回444and 666,因此任何用户都可以访问 VM,但我正在寻找永久解决方案。
背景:用户属于vboxusers组,Ubuntu 8.04,Virtualbox 4.0.16
编辑:根据目前的答案,我必须解释一下:我们每天只需要大约 5-10 分钟的时间使用这个 XP VM,所以一直运行它并只是连接到它在我们的工作流程中并不是很好的解决方案。
我正在通过 PXE 从另一个 virtualbox VM(使用 cobbler)启动一个 virtualbox VM。两台机器都有 2 个适配器:1) 外部网络和 2) 仅主机网络。
“客户端”虚拟机通过 PXE(使用仅主机网络适配器)成功引导到安装程序,但随后安装程序甚至不会尝试下载预置文件(根据服务器日志)或获取 IP 地址(再次根据到服务器日志 -之前确实显示了 TFTP 请求)。
我掉进一个壳里,看到:
我如何让安装程序看到我的网络适配器,或者至少我如何找到这个问题的原因?
这是 PXE 菜单项:
default linux
prompt 0
timeout 1
label linux
kernel /images/ubuntu-10.04-server-x86_64/vmlinuz
ipappend 2
append initrd=/images/ubuntu-10.04-server-x86_64/initrd.gz locale= interface=auto text root=/dev/sda1 priority=critical auto url=http://192.168.56.101/cblr/svc/op/ks/system/pierrot hostname=pierrot domain=local.lan suite=lucid
Run Code Online (Sandbox Code Playgroud) 我昨天在 VirtualBox 中安装了 Windows Server 2012,现在 2012 VM 显示未找到网络适配器。
目前我有一个 Windows Server 2003 虚拟机和一个 Windows 7 虚拟机,它们都具有互联网,无需任何额外配置,为什么我在 2012 服务器上遇到问题?我只需要设置一个静态IP,我不关心互联网。
我们在 Windows 7 计算机上的 VirtualBox 中运行 CentOS 版本 6.3 时遇到问题。症状如下:
几个小时甚至几天内一切正常。然后发生了一些破坏系统的事情。
发生这种情况后我们还能做什么:
什么不起作用:
当发生这种情况时,我们在服务器上看到的内容如下:
在 /var/log/messages 中我们得到以下内容:
Jun 14 01:10:48 devvm kernel: e1000 0000:00:03.0: eth0: Detected Tx Unit Hang
Jun 14 01:10:48 devvm kernel: Tx Queue <0>
Jun 14 01:10:48 devvm kernel: TDH <2e>
Jun 14 01:10:48 …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,它需要涉及各种事件的确切时间戳的复杂测试。
例如,假设我们有两个主机:h1 和 h2。
现在,如果我在 h1 上运行 tcpdump,我会得到一个相关的时间戳。h2 也是如此。
现在,假设 h1 向 h2 发送一个 ICMP 数据包。据我所知,数据包应该在离开 h1 时记录在 h1 的 tcpdump 上,当 h2 接收到相同的数据时记录在 h2 的 tcpdump 上。
现在我正在使用 VirtualBox 将主机模拟为 Ubuntu 机器。
所以我有两个问题:
一,我对 tcpdump 的假设是否正确?
其次,我能否绝对确定两个虚拟机的中心时间相同。我知道这在物理网络中是不可能的。但是,由于虚拟机共享一个公共系统,我想知道是否也是如此。如果没有,有没有其他方法可以确保在测试时同步?
[结束语]:对于那些可能好奇的人,VirtualBox 配置了 NTP,如果您有类似的任务,设置 NTP 可以从您的待办事项列表中删除。
在解决启动时反复崩溃后,fsck我注意到一些文件被删除,其中之一是 sqlite pkg 数据库,所以现在当我运行时,例如pkg install somepackage我得到这个错误:
pkg: sqlite: file is encrypted or not a databse
Run Code Online (Sandbox Code Playgroud)
所以我的问题实际上有两个方面:
pkg重新开始跑步fsck工具删除的文件?我有一个简单的 Vagrant Ubuntu 虚拟机设置,使用 Virtual Box,在 Mac 上运行。
我正在使用专用网络,配置了静态专用 IP,如下所示:
Vagrant.configure("2") do |config|
config.vm.network :private_network, ip: "10.11.12.13"
end
Run Code Online (Sandbox Code Playgroud)
这工作正常,除非我在 wifi 和有线网络之间来回切换。当我这样做时,我似乎无法再使用它的静态 IP 地址连接到 VM。我试过停止并重新启动虚拟机,甚至破坏并重新创建虚拟机,但无济于事。
有没有办法重置网络连接,以便私有 IP 回来?我可以直接在 VirtualBox 或其他任何地方访问它。我可以让它工作的唯一方法是现在实际重新启动我的整个机器。
我正在设置一个高可用性的无共享地理分布式 Web 服务器,为其域使用多个 A 记录。现在我更关心高可用性——“当我拔掉任何一根电源线时,每个浏览器仍然可以看到我的网站”——而不是速度。
Web 服务器软件在每个物理机的一台虚拟机内运行。(我使用的 Web 服务器和虚拟机管理程序真的很重要吗?如果是,我目前正在使用 Apache 和 VirtualBox)
有人建议我放弃我计划用来保持 Web 服务器同步的当前极其复杂的自制系统,并用 Gluster 替换它。
这些替代方案中的哪一个更好?
让主机操作系统仅运行管理程序并仅存储VM 磁盘映像。在每个虚拟机内,安装 Gluster 软件,设置指向 VM 磁盘映像内某个文件夹(砖块)的 GlusterFS 挂载点,并使用该挂载点(或其中的文件夹)作为 Web 根目录。
在主机操作系统运行仅在管理程序和存储都在VM图像和单独的文件夹(砖),我让VM访问。在每个虚拟机内,安装 Gluster 软件,设置一个指向 VM 磁盘映像外部砖块的 GlusterFS 挂载点,并使用该挂载点(或其中的文件夹)作为 Web 根目录。
让主机操作系统运行管理程序和 Gluster。在主机操作系统上,设置一个 GlusterFS 挂载点,指向实际物理磁盘上其他地方的某个文件夹(砖块)。允许 VM 作为 Web 根访问 GlusterFS 挂载点。(无需在虚拟机内部安装 Gluster 软件)。
让主机操作系统运行管理程序和 Gluster。在主机操作系统上,设置一个 GlusterFS 挂载点,指向实际物理磁盘上其他地方的某个文件夹(砖块)。由于两个 Web 服务器应该是相同的,因此告诉虚拟机管理程序将虚拟磁盘映像存储在 GlusterFS 挂载点内。
还有什么?
我怀疑比我更了解 Gluster 的人会立即说“如果你做 #4,(一些可怕的事情会发生),和(其他一些数字)原因(其他一些可怕的事情)......所以唯一的选择是实际有效的是(唯一剩余的数字)”。(即,我不认为这是一个主观问题)。
我的设置:
sudo vagrant up一直在工作,突然它停止工作......它一直卡在SSH auth method: private key直到超时。
所以我在sudo vagrant up启用 GUI 的情况下运行以检查错误,以及我发现的内容:
Scanning for Btrfs filesystems
/dev/mapper/vagrant--vg-root: contains a file system with errors, check forced.
/dev/mapper/vagrant--vg-root: Inodes that were part of a corrupted orphan linked list found.
/dev/mapper/vagrant--vg-root: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options)
fsck exited with status code 4
The root filesystem on /dev/mapper/vagrant--vg-root requires manual fsck …Run Code Online (Sandbox Code Playgroud) 在我的特殊情况下,在安装了 Ubuntu 18.04 Bionic 和 VirtualBox-5.2.20 的新服务器后,自动启动 guest 虚拟机的旧方法似乎不再可用。并不是说它有那么美妙——但它确实有效。似乎没有任何干净的方法可以解决这个问题 - systemd 和 VirtualBox 如何协同工作以实现智能启动、控制和关闭?
virtualbox ×10
ubuntu ×3
fsck ×2
vagrant ×2
adapter ×1
boot ×1
corruption ×1
freebsd ×1
glusterfs ×1
kernel ×1
linux ×1
mac-osx ×1
networking ×1
preseed ×1
private-ip ×1
pxe-boot ×1
systemd ×1