使用Xen虚拟化,有没有办法让其中一个客户驻留在Xen VM Server上,将它指向本地物理监视器?通常我只是从另一台机器VNC进入,但想知道是否有一种方法只使用一台机器并且仍然具有与vm客户机的gui接口.
在Xen代码./xen/include/asm-x86/config.h中,我看到内存布局代码是:
/*
137 * Meng: Xen-definitive guide: P81
138 * Memory layout:
139 * 0x0000000000000000 - 0x00007fffffffffff [128TB, 2^47 bytes, PML4:0-255]
140 * Guest-defined use (see below for compatibility mode guests).
141 * 0x0000800000000000 - 0xffff7fffffffffff [16EB]
142 * Inaccessible: current arch only supports 48-bit sign-extended VAs.
143 * 0xffff800000000000 - 0xffff803fffffffff [256GB, 2^38 bytes, PML4:256]
Run Code Online (Sandbox Code Playgroud)
我对PML4的简称非常困惑.我确实知道x86_64只使用64位中的48位.但PML4的缩写是什么?它可以帮助我理解它背后的数字.
谢谢!
对于 exynos 5250,我已经在 arm cortex-A15 平台上安装了 xen。1).我已经将 ubuntu 作为 domU(来宾操作系统)运行,并且我想将 android 作为第二个来宾操作系统运行。2)任何人都可以帮助我如何配置,我必须在Android层中配置。
我编写了一个简单的基于MirageOS的Unikernel来执行基本的HTTP GET调用.虽然当我将它作为Unix二进制文件运行时它没有任何问题,但是当我为XEN(mirage configure --xen
)配置它并启动make
命令时,我得到以下错误:
ocamlbuild -use-ocamlfind -pkgs lwt.syntax,cohttp.lwt,cohttp.lwt-core,mirage-console.xen,mirage-http,mirage-types.lwt -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -tag-line "<static*.*>: -syntax(camlp4o)" -cflag -g -lflags -g,-linkpkg,-dontlink,unix main.native.o
+ ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package mirage-types.lwt -package mirage-http -package mirage-console.xen -package cohttp.lwt-core -package cohttp.lwt -package lwt.syntax -syntax camlp4o unikernel.cmx main.cmx -o main.native.o
File "_none_", line 1:
Error: No implementations provided for the following modules:
Unix referenced from /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_engine),
/home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_unix),
/home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_io),
/home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_log),
/home/mirage/.opam/system/lib/ipaddr/ipaddr_unix.cmxa(Ipaddr_unix),
/home/mirage/.opam/system/lib/xenstore_transport/xenstore_transport_lwt_unix.cmxa(Xs_transport_lwt_unix_client),
/home/mirage/.opam/system/lib/conduit/conduit-lwt-unix.cmxa(Conduit_lwt_unix),
/home/mirage/.opam/system/lib/cohttp/cohttp_lwt_unix.cmxa(Cohttp_lwt_unix_debug),
/home/mirage/.opam/system/lib/cohttp/cohttp_lwt_unix.cmxa(Cohttp_lwt_unix)
Command exited with code 2.
Compilation unsuccessful after …
Run Code Online (Sandbox Code Playgroud) 我已经遵循了这个非常优秀的教程,让Xen使用Ubuntu但是我无法将控制台安装到我的虚拟机(domU)中.我extra = '2 console=xvc0'
在/ etc/xen/hostname_here .cfg文件中有这样的行,就像他们说的那样,但我无法获得控制台.
如果我静态地为VM分配IP,我可以通过SSH连接到它,但是现在我需要能够使用DHCP为它提供一个地址(因为那是我正在尝试调试的,所以有问题).我知道我有一个免费的DHCP地址(虽然我现在得到的更多),所以我认为这不是问题所在.我看过谷歌和Xen论坛也无济于事.
有任何想法吗?
我需要确定我的Python脚本何时在Xen虚拟机中运行.VM将运行Linux.
我在平台模块中找不到任何明显的东西.我能得到的最接近的是platform.platform()中'xen'的外观
>>> platform.platform()
'Linux-2.6.18-194.el5xen-x86_64-with-redhat-5.5-Final'
Run Code Online (Sandbox Code Playgroud)
确定这个的最佳方法是什么?
谢谢.
我正在尝试添加一个开关,将Linux内核日志发送到XenServer6上的串行控制台.
可以在EXTLinux配置文件(/boot/extlinux.conf
)上编辑内核命令选项.
这是一段摘录:
serial 1 115200
default xe
prompt 1
timeout 50
label xe
# XenServer
kernel mboot.c32
append /boot/xen.gz mem=1024G dom0_max_vcpus=4 dom0_mem=752M lowmem_emergency_pool=1M crashkernel=64M@32M console= vga=mode-0x0311 --- /boot/vmlinuz-2.6-xen root=LABEL=root-tfnnfzfp ro xencons=hvc com2=115200,8n1 console=com2 console=hvc0 console=tty0 quiet vga=785 splash --- /boot/initrd-2.6-xen.img
label xe-serial
# XenServer (Serial)
kernel mboot.c32
append /boot/xen.gz com1=115200,8n1 console=com1,vga mem=1024G dom0_max_vcpus=4 dom0_mem=752M lowmem_emergency_pool=1M crashkernel=64M@32M --- /boot/vmlinuz-2.6-xen root=LABEL=root-tfnnfzfp ro console=tty0 xencons=hvc console=hvc0 --- /boot/initrd-2.6-xen.img
Run Code Online (Sandbox Code Playgroud)
---
命令行上的三个破折号()是什么意思?
是加载3个启动文件?
我试图在我的 Ubuntu 系统上安装 VM 软件。由于我对 linux 不是很熟悉,所以我遵循了官方 Ubuntu 站点上的指南。现在我在 Xen 环境中运行 Ubuntu,但我不想使用 Xen 来制作我的虚拟机。
我安装了 Virtualbox 以创建我的 VM,但 Virtualbox 不能在 Xen 环境中运行。
我曾尝试使用谷歌搜索从我的系统中删除 Xen 的方法,但我无法做到。这是我迄今为止尝试过的:
/boot/grub/grub.cfg
set default="Xen 4.1-amd64"
以设置default=1
教程推荐的设置。它使我的笔记本电脑以恢复模式启动,我必须生成一个新的 grub 配置文件,将默认值恢复为 xen。/boot/grub/menu.lst
但我的系统上没有任何称为该文件的文件user@BEL-8WF4XW1:~$ sudo find / -name menu.lst
用户@BEL-8WF4XW1:~$
make uninstall
但我没有使用源代码。yum
并执行sudo yum install kernel
其次,sudo yum remove xen kernel-xen libvirt
但这也不起作用。老实说,我很失落。任何人都可以帮助我让我的 Ubuntu 恢复到我尝试遵循该指南之前的状态吗?
我有一台运行 Xen 4.4 的 Debian 服务器。我想创建一个新的 Windows 7 虚拟机并从 ISO 映像安装它。这是我用于此目的的配置文件:
kernel = "/usr/lib/xen-4.4/boot/hvmloader"
builder = 'hvm'
name = "win7"
uuid = "44dee145-256a-4450-9270-73aebd8b64a5"
memory = 2048
vcpus = 1
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [
'phy:/dev/vg0/win7-demo-disk,hda,w',
'file:/tmp/Win7.iso,hdc,r,devtype=cdrom',
]
vif = [ "mac=00:16:3e:46:e6:fb,bridge=br0" ]
boot="dc"
vnc = 1
vnclisten = "0.0.0.0"
vncunused = 1
localtime = 1
vncpasswd = "XXXXXXXX"
Run Code Online (Sandbox Code Playgroud)
我执行这个命令:xl create win7.cfg
它打印以下错误:
Parsing config from win7.cfg
WARNING: ignoring "kernel" directive for HVM guest. …
Run Code Online (Sandbox Code Playgroud) 我正在使用pyxs
Python Xenstore客户端模块编写Upstart守护程序,该守护程序监视盒子上GPIO控制器上的一堆输出引脚.启动后,守护程序的基本结构是导出相关引脚,为引脚添加相应的Xenstore路径,以及为每个Xenstore路径添加和监视监视.手表部分是线程化的 - 对于每个手表,使用目标工人方法创建一个线程,该方法监视手表的变化.根据PyXS文档,您基本上必须执行以下操作:
# monitor is a pyxs.client.Client.Monitor object, and watch adds a
# watch to the given path
monitor.watch(path, path_token)
# wait for events on the watched path - returns a pair if there is an
# event, the first is the event path and the second is the path token
monitor.wait(sleep=...)
Run Code Online (Sandbox Code Playgroud)
我的问题是,wait
如果没有sleep=<time>
指定参数,是否调用块- 从PyXS文档中不清楚是否是这种情况.
代码大致是这样的:
from pyxs.client import Client
from pyxs.exceptions import PyXSError
from threading import Thread
...
class gpiod(object):
def __init__(self,...): …
Run Code Online (Sandbox Code Playgroud) xen ×10
linux ×2
linux-kernel ×2
python ×2
ubuntu ×2
arm ×1
bootloader ×1
debian ×1
hypervisor ×1
mirage ×1
ocaml ×1
paging ×1
unikernel ×1