xm 命令详解

时间:2023-12-20 14:04:26

xm 命令详解

xm addlabel label dom configfile [policy]

xm addlabel label res resource [policy]

增加了名称为label的安全标签,标签名称可自定义

xm getlabel dom configfile

xm getlabel res resource

显示标准从dom的配置文件 or resource

xm labels [policy] [type=dom|res|any]

列出了所有类型的标签中所界定的策略,除特殊,默认策略是当前实施的访问控制策略。默认的类型为dom,这些标签是按字母顺序排列。

xm rmlabel dom configfile

xm rmlabel res resource

删除标签从dom的配置文件或res resource

xm block-attach <Domain> be-dev fe-dev mode [bedomain-id] 创建一个新的虚拟块设备。

be-dev

domain的后端设备 (通常为domain 0) 的出口. 可以指定为物理分区(phy:sda7) 或作为文件的环回式 (file://path/to/loop.iso).

fe-dev

guest domain中设备的名称例如 /dev/hdc, 0x1400 (/dev/hdc 设备十六进制id

mode

guest domain对该设备的访问方式,支持模式为 w (读/写) or r (只读).

bedomain-id

domain后端托管设备,默认为domain0

例如

挂载一个iso为disk

xm block-attach guestdomain file://path/to/dsl-2.0RC2.iso /dev/hdc ro

也可以修改配置文件

disk=['file:/var/cache/convirt/vm_disks/test.disk.xm,hda,w', ' file://path/to/dsl-2.0RC2.iso,hdc,ro']

xm block-detach <Domain> devid删除domain的虚拟块设备。devid必须是设备id

xm block-list <Domain>列出某个域所使用的所有块设备

xm create <ConfigFile> [options] [vars]:启动一个非托管的虚拟机

-c的参数就是开机时会将 kernel 输出导入到 virtual console

xm console:打开控制台管理虚拟机

Configuration Files(配置文件).

Xen的配置文件包括标准变量。被预制的内容应该用(括号)包含进来,请看/etc/xen/目录中的示例。

kernel 指定内核的路径

ramdisk 指定ramdisk 的映像路径(可选)

memory  指定内存大小,单位是M

vcpus 指定被虚拟系统的CPU个数

console 指定Domain 的控制台端口(默认是9600+Domain ID)

vif网络端口配置。预定端口可以是一个一个空值,或指定更多的变量设置,比如

vif = [ 'mac=00:16:3E:00:00:11, bridge=xen-br0', 'bridge=xen-br1' ]

首先设置Domain 的网卡MAC地址,然后桥接第一个网络接口到另一个不同的网络接口,让xend来选择MAC地址。这些设置包括type,mac,bridge,ip, script,backend以及vifname等;

disk设置Domain所用的硬盘,比如 disk=[ 'phy:hda1,sda1,r' ],意思是Domain所用的硬盘是物理分区/dev/hda1 ,然后被映射到/dev/sda1,并且是只读访问。如果您想打开读写功能,请把r换成w,不过这样做目前有点危险。

dhcp设置Domain获取IP的方式是从 DHCP服务器获得

netmask 设置Domain的网络掩码

gateway设置Domain的网关

hostname设置虚拟机的hostname

root通过root来指定Domain所在的硬盘分区,在这里要指定所映像的硬盘;

nfs_server指定NFS服务器的IP地址

nfs_root指定NFS 服务器

所提供的root文件系统

extra

附加的字段已经被写入了示例配置文件中(例如,配置虚拟 TPM 功能)

xm debug-keys keys

命令发送到管理程序调试. key如下:

% (ASCII 25) Trap to xendbg.

C (ASCII 43) Trigger a crash dump.

H (ASCII 48) Dump heap info.

N (ASCII 4e) NMI statistics.

O (ASCII 4f) Toggle shadow audits.

R (ASCII 52) Reboot machine.

S (ASCII 53) Reset shadow page tables.

a (ASCII 61) Dump timer queues.

d (ASCII 64) Dump registers.

h (ASCII 68) Display list of debug keys.

i (ASCII 69) Dump interrupt bindings.

m (ASCII 6d) Memory info.

n (ASCII 6e) Trigger an NMI.

q (ASCII 71) Dump domain (and guest debug) info.

r (ASCII 72) Dump run queues.

t (ASCII 74) Display multi-CPU clock info.

u (ASCII 75) Dump Non-Uniform Memory Access (NUMA) info.

v (ASCII 76) Dump Intel's VMCS.

z (ASCII 7a) Print ioapic info.

xm destroy <Domain>:像关掉电源那样关闭虚拟机

xm dmesg [-c|--clear]检查Xen内核缓冲信息

xm dry-run configfile

测试是否可以访问domain资源

xm dumppolicy 打印hypervisor ACM 状态信息

xm dump-core [-L|--live] [-C|--crash] [-R|--reset] <Domain>

[Filename]xm dump-core就类似于 Linux 系统下的 kdump 或是 Windows 的

kernel memory dump,这一些功能最主要就是能将已经 crash 的系统 dump 目前

内存中的内容并以档案的方式记录下来

xm getpolicy得到当前系统策略

xm setpolicy <policytype> <policyfile> [options]为系统设置策略

<policytype>唯一值ACM

<policyfile>策略文件名+'- security_policy.xml',该文件的位置可以在当前目录或是/etc/xen/acm-security/policies

xm resetpolicy设置系统的当前策略为默认策略

xm help:所有可用的xm命令概述

xm info 打印当前Xen环境的主机信息

xm list:所有已知的虚拟机列表

每个字段代表的意思如下:

name虚拟机的名字,是一个描述型的名字

domid正在运行的虚拟机的Domain ID,是一个数值

memory内存大小,单位是M

vcpus  Domain拥有虚拟CPU的个数,是一个数值

state  Domain状态,有五种状态;

r   running正在运行

b   blocked阻止

p   paused暂停

s   shutdown关闭

c   crashed崩溃

cputime CPU运行时间,单位是秒

xm list也支持长格式输出,要用到 -l  选项。长格式能输出正在运行Domain的

xm log打印Xen日志

xm  migrate <Domain> [destination domain]离线迁移guest os

xm  migrate <Domain> -l [destination domain]在线迁移guest os

xm mem-set   <Domain>   <Mem>调整正在运行中的虚拟平台(Domain-0)所占存大小及虚拟操作系统所占用的内存大小,可以动态修改,如果出现Error:

memory_dynamic_max must be less than or equal to memory_static_max

说明超出内存的最大限制,可以使用 xm mem-max <DomId>/<Domname>   <Mem>

xm network-attach <Domain> [script=scriptname] [ip=ipaddr] [mac=macaddr] [bridge=bridge-name] [backend=bedomain-id]

在指定的domain创建一个新的网络设置(指定设备id)

script=scriptname

使用指定的脚本的名称,默认设置为xend-config.sxp中的vif-script

ip=ipaddr

mac=macaddr

bridge=bridge-name

backend=bedomain-id

xm network-detach <Domain> devid

从domain中移除指定的域ID的网络设备。 devid是虚拟接口domain内设备号

xm network-list <Domain>列出某个域使用的所有的网络接口

xm new <Domain>:添加虚拟机到Xenbase托管环境

xm pause <Domain>:暂停虚拟机的活动而不释放使用的内存资源

xm pci-attach <Domain> <PciDev>建立一个新的pci设备

xm pci-detach <Domain>  <domain:bus:slot.func>从domain中移除pci设备

xm pci-list <Domain>显示domain的pci设置

xm reboot <Domain>:重新启动虚拟机

xm restore:唤醒虚拟操作系统

xm restore \path\file -p

xm resources

列出所有的全局resource标准文件中的资源,列出每个resource中相关的标签和策略名称

xm save:存储正在运行的虚拟操作系统的状态

xm save -c <Domain>  \path\file

xm sched-credit -d domain [-w weight|-ccap]

The parameters to the sched-credit subcommand are as follows:

-c cap, --cap=cap

设置一个domain可以消耗的cpu的最大数额,默认为0(无限制)。该值表示物理cpu的百分比,例如:设置为50表示为物理cpu上限的一半

-d domain, --domain=domain设置domain调度参数

-w weight, --weight=weight设置domain的相对比重,有效的范围在1-65536,默认值为256

xm sched-sedf设置 EDF 参数

The parameters to the sched-sedf subcommand are as follows:

domain设置domain调度参数

period EDF正常调度,单位纳秒

slice最坏情况执行时间(毫秒)。

latency-hint domain执行大量i/o时成比例的周期

extratime允许 domain在加时运行的标志

weight另一种方式来设置cpu分配

xm scsi-attach <Domain> <PhysDevice> <VirtDevice> [BackDomain]添加一个新的scsi设备

xm scsi-detach <Domain> <VirtDevice>移除一个指定的scsi设备

xm scsi-list <Domain> [--long]列出所有当前连接的SCSI设备。

xm suspend <Domain>挂起一个域

xm resume <Domain>恢复一个挂起的域

xm shutdown <Domain>:正常地关掉虚拟机

xm start <Domain>:从Xenbase托管环境启动虚拟机

xm top <Domain>:提供所有虚拟机的状态概貌

xm unpause <Domain>:激活使用xm pause命令暂停的虚拟机

xm uptime <Domain>显示你的Xen环境里所有域的正常运行时间

xm usb-add <Domain> <[host:bus.addr] [host:vendor_id:product_id]>添加usb设备到FV VM

xm usb-del <Domain> <[host:bus.addr] [host:vendor_id:product_id]>删除FV VM的usb设备

xm vcpu-list 列出所有域的CPU对应情况

xm vcpu-pin <Domain> vcpu cpu固定vcpu到物理cpu

例如 xm vcpu-pin domname all all 固定vcpu到所有物理cpu

xm vcpu-pin domname all 2,3,4,5固定vcpu到物理cpu的2-5

xm vcpu-set <Domain> vcpu-num修改虚拟机的 CPU 数量

xm vncviewer [--autopass/--vncviewer-autopass] <Domain>使用vnc连接guest os

xm vnet-create <ConfigFile>从配置文件创建一个vnet

xm vnet-delete <VnetId> 删除vnet

xm vnet-list Vnets的列表

xm vtpm-list [-l|--long] <Domain>显示domain中虚拟tpm的设备。

创建映像文件;

dd if=/dev/zero of=fedora50.img  bs=2k  seek=2048k count=1

ls -lh fedora50.img

-rw-r--r-- 1 root root 4G Jan  5 16:05 fedora50.img

格式化映像为Linux文件系统

mkfs.ext3 fedora50.img

mount -o loop fedora50.img /mnt

df -lh