XEN常用命令 - 图文

更新时间:2023-10-26 23:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

沧海桑田故人陌 花开花落几多情

1、 cd /var/run/sr-mount/afb6b781-0d02-4e88-796f-ba46532af99f/ 将ISO盘加载到当前系统中. 2

dd

if=/dev/VG_XenStorage-36cf02b8-bdbe-7c18-18fa-547c49327f66/VHD-0a9e97d6-1d92-4d77-857f-94b3530d8c94 of=VHD-0a9e97d6-1d92-4d77-857f-94b3530d8c94_yiyouD bs=2M 使用DD进行拷贝。

3、# xe vdi-list uuid=ff6f5301-baa0-432f-93b2-67b06d7aec70 params=all 追寻VDI链 4、vhd-parent: ff6f5301-baa0-432f-93b2-67b06d7aec70; vdi_type: vhd 根源VDI

5、# vhd-util scan -f -m \36cf02b8-bdbe-7c18-18fa-547c49327f66 -p 扫描指定SR上的VDI

vhd=VHD-7d065179-28dc-4f0a-a64d-def9b7edfd26 capacity=858993459200 size=7025459200 hidden=0 parent=none 无父链

vhd=VHD-60d1aefb-f0cb-4806-a2ea-a1c496afcbaa

capacity=858993459200

size=860679569408 hidden=0 parent=VHD-7d065179-28dc-4f0a-a64d-def9b7edfd26 有父链

6、lvscan | grep 扫描指定VDI的UUID状态 例如:

lvscan | grep ff6f 7、lvscan 扫描全部 例如:

ACTIVE '/dev/VG_XenStorage-36cf02b8-bdbe-7c18-18fa-547c49327f66/MGT' [4.00 MB] inherit 活动

1

inactive

'/dev/VG_XenStorage-36cf02b8-bdbe-7c18-18fa-547c49327f66/VHD-27f8015c-2285-4f0d-9f40-bccbe45aea48' [174.16 GB] inherit 非活动

8、# xe vm-disk-list uuid=17322168-e3e9-7ce1-bd77-4092671b05f7 查看指定VM的DISK 信息. 例如:

[root@xenserver-04 ~]# xe vm-disk-list uuid=17322168-e3e9-7ce1-bd77-4092671b05f7 Disk 0 VBD:

uuid ( RO) : 87b8ebb1-db96-2fac-93b3-ed10614859a1 vm-name-label ( RO): hsnt---Win2008 (32-bit)海师二级网站---0.33 userdevice ( RW): 1

Disk 0 VDI:

uuid ( RO) : 554643d9-2617-43d3-909e-467db25684b4 name-label ( RW): web

sr-name-label ( RO): EMC HBA virtual disk storage2 virtual-size ( RO): 1099511627776

Disk 1 VBD:

uuid ( RO) : adaa03c5-1da1-f628-255b-fe646090cbf7 vm-name-label ( RO): hsnt---Win2008 (32-bit)海师二级网站---0.33 userdevice ( RW): 0

Disk 1 VDI:

uuid ( RO) : 75511a98-8326-4e6c-90e7-4b7435169e10 name-label ( RW): Windows Server 2008 (32-bit)海师二级网站 0 sr-name-label ( RO): EMC HBA virtual disk storage2

2

virtual-size ( RO): 53687091200

9、lvrename /dev/VG_XenStorage-uuid/MGT /dev/VG_XenStorage-uuid/MGT.bak 备份元数据 10

lvchange

-ay

/dev/VG_XenStorage-9f00ead8-a616-aeeb-e87e-2122994a5f72/VHD-cba51999-b644-4f0f-ba85-114a38988176 激活指定的VHD的UUID(来激活某个LVM卷,激活后可以正常tab, 如果要验证是否激活的话,你用同样的lvscan | grep <****>这样的方式验证lvm卷前面的状态。) 11、查光纤卡信息命令:scli

cat /sys/class/fc_host/host3/port_name

12、df -h 看/有多大空间 (本命令主要针对查看服务器的日记占用情况) 如果占用已经100%的话就到/var/log目录下 把message.xx这些日志删除

rm a.txt 删除普通文件a.txtrm -r a/ 删除目录arm -rf a/ 强制删除目录a-f 表示强制 13、# date

Wed May 15 12:46:55 CST 2013 查看服务器系统时间 14、# date -s 13:25:50 '修改系统时间或日期 15、# clock -w '保存

注:从服务器要和主服务器的时间一致或稍提前一些. 16、# service xapi restart 重启XAPI服务 17、vdi-destroy 销毁指定的VDI;

18、xe vdi-list name-lable xxxx或xe vdi-list uuid=xxxx 查看指定VDI的UUID或名称 19、xe vm-list name-lable xxxx或xe vm-list uuid=xxxx 查看指定的VM的UUID或名称 20、task-list 列出当前任务的列表;

task-cancel 指示取消指定的任务并返回;

21、m-destroy 销毁指定的VM,这会使与VM关联的存储保留不变,要同时删除存储,请使用xe vm-uninstall;

22、vm-reboot 重新引导指定的VM;

23、vm-shutdown 关闭指定VM,使用force参数将导致非正常关机(硬关机);

3

24、# xe vm-reset-powerstate uuid= --force 重置VM的电源状态, 使用这个命令后如果还是没办法重置VM状态,可以尝试执行命令#service xapi restart重新启动下服务。 25、# xe host-list

26、list_domains 获取VM的Domain ID

27、/opt/xensource/debug/xenops destroy_domain -domid 摧毁指定VM的domid,使VM关闭.

28、/usr/lib/xen/bin/crash_guest 手动触发VM的Crash机制, 在Crash VM以后,VM会处于蓝屏状态,这个时候,可以再试试正常的关机或者强制关机命令来关闭虚机。 29、xe vm-start name-label=xxx 或 uuid=xxxx 启动VPS 30、xe vm-restart name-label=xxxx 或 uuid=xxxx 重启VPS 31、sr-destroy 销毁xen主机上指定的SR;

32、pool-designate-new-master指示指定的成员主机称为现有池的主服务器。 分离SR

查看PBD的UUID Xe pbd-list sr-uuid= xe pbd-unplug uuid= < pbd_uuid > 2.

销毁 SR,即从 XenServer 主机数据库中删除 SR 及其相应的 PBD 并从物理介质中删除 SR 内容: xe sr-destroy uuid= < sr_uuid > 3.

或者,忘记 SR,这将从 XenServer 主机数据库中删除 SR 和相应的 PBD,但会保持物理介

4

质上的实际 SR 内 容不变: xe sr-forget uuid= < sr_uuid >

7.xenserver下pool中的主结点master崩溃掉之后,xencenter不能连接pool下的所有xenserver主机问题?

执行如下命令:#pool-emergency-transition-to-master

指示 XenServer 成员主机成为池主节点。仅在 XenServer 主机转换到紧急模式后才接受此命令。进入紧急模式意味着该成员主机所在的池中的主节点已从网络中消失,经过若干次重试仍无法连接。

#xe pool-recover-slaves 这些成员此时将指向新主节点

将成员 XenServer 主机转换为主节点后,您还应检查默认池存储库是否设置了适当的值。通过使用 xe pool-param-list 命令

并验证 default-SR 参数是否指向有效存储库,可实现此操作。 8.正常模式下,更改POOL的master

在非主结点master 下,执行如下命令#pool-designate-new-master host-uuid=<要成为新主节点的成员 XenServer 主机的 UUID> 指定该 XenServer 主机成为现有池的主节点,将主节点主机的角色有序移交给资源池中的其他主机。

此命令仅在当前主节点处于联机状态时生效,并且不是下列紧急模式命令的替代项。 9.xencenter中不能显示 CPU,内存,硬盘 信息

在加入POOL时,要保证xenserver的系统时间和master同步或者比它快一点,即能显示硬件信息。

1.不能删除POOL里面的虚拟机,如何解决?

选中不能删除的虚拟机所在的物理机,在console下输入#xe host-forget uuid= uuid的信息使用#xe host-list查看

New:使用如下命令 xe sr-forget uuid= ,删除DVD,Localstorage,其它设备

5

查看虚拟机详细信息 xe vm-list params=all/(name-label,uuid,networks) 关闭虚拟机 xe vm-shutdown uuid=ext3-fs error (device xvda2) in start_transaction: journal has aborted

关闭halted/running虚拟机 xe vm-reset-powerstate force=true vm=uuid 删除虚拟机 xe vm-destroy uuid=

-------------------------------------------------------------------------------------------------------------------

Citrix XenServer通过特殊方式重装后,是没有默认创建任何存储的,这里我们需要把原有的存储导入进去,这样操作才不会丢失数据。 1,列出卷所有

1. pvscan 复制代码

PV /dev/sda3 VG VG_XenStorage-9ae1044f-d335-8143-d630-a6f546e57db7 lvm2 [66.52 G / 56.52 GB free]

Total: 1 [66.52 TB] / in use: 1 [66.52 TB] / in no VG: 0 [0 ]

这里可以看到空闲硬盘还有56.52G,那么就是还有数据存在的。记录下uuid“9ae1044f-d335-8143-d630-a6f546e57db7”

2,导出原来UUID的存储

1. xe

sr-introduce

uuid=9ae1044f-d335-8143-d630-a6f546e57db7

type=lvm

name-label=\

复制代码

3,找到SR的数据存储设备或分区的SCSI ID

1. ls -l /dev/disk/by-id/ 复制代码 total 0

lrwxrwxrwx 1 root root 9 Aug 18 15:43 scsi-SATA_ST380811AS_9PS04Q4A -> ../../sda lrwxrwxrwx 1 root root 10 Aug 18 15:43 scsi-SATA_ST380811AS_9PS04Q4A-part1 -> ../../sda1

6

lrwxrwxrwx 1 root root 10 Aug 18 15:43 scsi-SATA_ST380811AS_9PS04Q4A-part2 -> ../../sda2 lrwxrwxrwx 1 root root 10 Aug 18 15:43 scsi-SATA_ST380811AS_9PS04Q4A-part3 -> ../../sda3 4,查看服务器UUID

1. xe host-list 2. 复制代码

uuid ( RO) : 4ca6582a-364b-4da2-a206-618438ae4dee name-label ( RW): xenserver1

name-description ( RO): Default install of XenServe

5,通过设置的scsi ID,host ID,sr uuid检测出pdb uuid

1. xe

pbd-create

sr-uuid=9ae1044f-d335-8143-d630-a6f546e57db7

device-config:device=/dev/disk/by-id/scsi-SATA_ST380811AS_9PS04Q4A-part3 host-uuid=4ca6582a-364b-4da2-a206-618438ae4dee

复制代码 得到pbd uuid:

0d65a15e-75a0-dc81-8bb5-79df3e6d96db

6,把这个硬盘Plug回存储中

1. xe pbd-plug uuid=0d65a15e-75a0-dc81-8bb5-79df3e6d96db 复制代码

相关教程:通过网络存储转移VPS后快速“批量恢复VPS”教程 如图:

VPS名称,硬盘编号都不存在的(下图是硬盘名称是自己设置的)

7

接下来,就一个个找回VPS数据,并且恢复了,步骤

可以重新建个VPS,一个个硬盘挂载上去,挂载方法:如何将某个VPS上的硬盘挂(附加)到另一个VPS上。

------------------------------------------------------------------------------------------------------------ 关于申请免费的License

1.使用XenCenter工具,连接至Server,Tool-->License Manager-->选择要更新License的服务器,点击Activate....按钮.如果,此服务器可以直接连接到外网,将可以直接获取LIC文件安装,如果不能连接至外网,将会出现更新失败提示,并提示保存申请License文件.选择将申请文件保存.

2.访问:https://activate.vmd.citrix.com, upload申请文件. 3.填写相关信息,主要是MAIL地址,用来接收License 文件.提交. 4.打开邮箱下载License文件.

5.使用Winscp工具将License文件复制到XenServer的/etc/xensource/下,并重新命名为license.

6.重新启动XenServer.

7.License更新完成,可以正常使用.

关于Citrix公司的XenServer免费使用,个人理解,虽然为免费版本,但为了方便管理,以及获取用户的相关信息,Citrix采用了Free License管理的模式,在到期后,用户只需要再次重复申请新的License文件并进行License安装即可.不会影响XenServer的正常使用.但是,Citrix公司并未发表声明永久性提供免费使用,至少我没有找到.特别在正式的生产环境,还是建议大家购买正式的服务,以提供更高的性能以及安全的合法的保障.

8

-------------------------------------------------------------------------------------------------------------- [经验分享] 较简单的方法实现XenServer虚拟机自启动 Citrix XenServer6.0发布了,发现citrix很傻的把原先虚拟机的自启动功能给去掉了,很不方便,难以理解。

花了不少时间终于搞定了xenserver6开机自动启动虚拟机,有几个思路:1.开机任务。2利用vApp或者HA特性。这里公布的是我认为最简单方便的一个实现方法: Step1: 给需要开机自启动的vm做标记(Tag) Step2: 在xenserver系统修改开机任务脚本

Step1:

XenCenter里面选中vm---Properties---General--Tags--Edit Tags,比如输入autostart作为Tag的值,给所有需要自动启动的虚拟机都做同样的打标机操作

Step 2:

用SSH工具连到XenServer,用vi编辑文件/etc/rc.d/rc.local 在文件末尾添加两行内容: sleep 60

xe vm-start tags=autostart --multiple

*注意multiple前面是两个中杠,tags=autostart和Step1保持一样 保存并退出

------------------------------------------------------------------------------------------------------ 2012-5 3

(总结)XenServer下Linux虚拟机安装增强工具XenServer Tools 1、先选择要安装Tools的虚拟机,然后选择 Install XenServer Tools。 2、进入要安装的虚拟机Console,先后执行下面两条命令:

9

# mount /dev/xvdd /mnt/ # /mnt/Linux/install.sh

如果是自定义模板安装的虚拟机,则如下:

# mount /dev/cdrom /mnt/ # /mnt/Linux/install.sh

安装成功,如图:

3、reboot重启虚拟机,生效OK。

10

--------------------------------------------------------------------------------------------------------------

XenServer 上Linux虚拟机 CentOS 安装Xen Tools

1.在Xencenter里光驱换成xs-tools.iso

2.登陆SSH: [root@ns0 ~]# cd /mnt

[root@ns0 mnt]# mkdir xs-tools

root@ns0 mnt]# mount /dev/xvdd /mnt/xs-tools/

mount: block device /dev/xvdd is write-protected, mounting read-only

[root@ns0 mnt]# cd /mnt/xs-tools/Linux/

[root@ns0 Linux]# bash install.sh

Detected `CentOS release 5.2 (Final)' (centos version 5).

The following changes will be made to this Virtual Machine: * packages to be installed/upgraded:

- kernel-xen-2.6.18-53.1.13.el5.xs4.1.0.24.x86_64.rpm - xe-guest-utilities-4.1.0-257.x86_64.rpm Continue? [y/n] y

Preparing...########################################### [100%] 1:xe-guest-utilities########################################### [100%] Preparing...########################################### [100%]

package kernel-xen-2.6.18-92.el5 (which is newer than kernel-xen-2.6.18-53.1.13.el5.xs4.1.0.24)

11

is already installed

You should now reboot this Virtual Machine. 重启完成安装。

注意如果xvdd不存在则会提示: /dev/xvdd does not exist.

这时候来尝试下/dev/cdrom,即: mount /dev/cdrom /mnt/xs-tools/

mount: block device /dev/xvdd is write-protected, mounting read-only 然后

cd /mnt/xs-tools/Linux/ bash install.sh

安装完成,重启即可!

-------------------------------------------------------------------------------------------------------------- 解决XenServer tools not installed

鸣谢:Michael Zhang的经验分享,有需要的请收藏备用。

刚刚搞定了POC环境中一个很诡异的问题。把过程写出来以供大家参考。建议可以把这个设置放到POC的实施手册中。

刚开始做POC时,我们安装了XP的模板,并且安装了同版本的XenTools,此时XenCenter面板上显示虚机的IP地址没有问题。但是跑了一段时间后发现,所有的虚机的IP地址都显示不出来了,并且XenCenter面板上显示XenServer tools not installed,虚机的内存信息,Disk IO等信息,都没有显示:

12

后来重装了模板,重新发布了虚机,一切就OK了,此时我认为是原先的模板有问题,所以导致了这个issue。

但是后来跑了几天,某台虚机又出现了类似的症状,此时我意识到应该不是模板的问题了。然后我就检查了这台虚机的Service,发现:

这个Service就是XenTool的Service,因为没有启动,所以导致了上述的问题。

但是当我用手工试图重启该Service的时候,系统报改Service启动时停止,没有给出任何原因。Windows Event Log里也没看到任何报错。

后来上网查了下,原来是Windows Event Log的Application类的log满了以后,会导致该Service启动异常。

看了下XP的Windows Event Log的Application类日志的属性,默认只有64K:

我把上面的日志文件大小阀值改成了1024K,清空Application类的log,重启上面的Service, 成功,问题解决。

13

上述类似的问题我记得也有兄弟曾经遇到过,发邮件出来问过,当时怀疑是XenServer跟VDA的时间不同步造成,现在感觉也许跟这个原因有关。

---------------------------------------------------------------------------------------------------------- XenServer 安装之后打补丁

XenServer是一个快速成长的产品,一定要查询好最新的补丁清单,下载到XenCenter这个机器上,把该打的补丁都打上,这个没有什么说的。打补丁的过程中,需要有选择的看下,一些驱动补丁如果和你的硬件不相干,就不需要打了。相关的一定不要错过。http://support.citrix.com/product/xens/v6.0/ 这里是查询XenServer6补丁的网页。所有同一个规格的服务器都要打全了相同的补丁集。打完补丁之后,全部重启服务器。对于正经的项目实施来说,还需要做日志的收集和分析。在XenCenter中把XenServer的日志全部都出成压缩文件,每个服务器导出一个文件。Citrix提供了分析工具,可以免费使用,工具的网址:https://taas.citrix.com,上传日志到这个工具网站中后,在这个网址上可以看到每个机器的分析结果,如果提示有错误的话,请提前想招解决,一定不要给项目流下遗患。

创建资源池相关操作

在建池之前,一定别忘了把每台XenServer的MetaDate 备份一下,命令如下: ? 1

xe pool-dump-database file-name=/root/xenserver001

14

看到了,这个路径在root下面,备份了之后一定去查看一下,活要见人,死要见尸。这个主要是给XenServer留个后路,免得服务器退出池,或者把池推到重来的时候,每个服务器还是可以有个干净的基础配置的还原点。之后开始建资源池。这里一定要遵守三网分离的原则,即“管理网”,“生产网”和“存储网”要隔离开。推荐的最佳配置为使用6块网卡,两两绑定,来实现各自的功能。如果是FC或者ISCSI的存储,需要检查存储设备那端所支持的多路径的类型,然后在XenServer这端也配置相当的多路径功能。

以上是XenServer的部分实施经验之总结,有不完整,或者不妥之处,请扶正。我想其实把XenServer经常遇到的安装错误和解决方法都整理一下也很好。如果你有类似的经验,请回帖记录一下。多谢观赏本文。

-------------------------------------------------------------------------------------------------------------- XenServer补丁自动化安装脚本

? ?

by Froyo

09/29/2013 at 11:15:20

XenServer的补丁安装如果通过XenCenter的话,没有办法很多台主机同时进行,而且XenCenter有些局限,在XenServer的XAPI服务启动过慢的时候,实际补丁安装成功,但是XenCenter还是提示安装失败等。

所以,本文章主要是介绍使用HTTP Server和Bash脚本来进行自动化安装的方法,其实,目前发现的有两种方法。一种是讨巧的方法,安装完所有补丁,然后只重启一次。另外一种方法就是严格按照XenServer的要求,安装每个补丁,根据补丁的需求来决定是否需要重启XAPI或者重启服务器,或者是不需要做任何操作。

这里只介绍正规的,严格安装XenServer要求来进行补丁安装的方法和脚本。

为了能够下载脚本和补丁文件,我们需要一台Web Server,然后把脚本和XS补丁全部放到该目录下(假设是根目录/有些还需要为.xsupdate设置MIME type)。然后首先我们需要从XS下载初始化脚本(Startup.sh)并执行即可。该脚本负责自动下载XS更新,根据需要重启服务或者主机等,最后安装成功后,执行清理任务。 startup.sh 1 2

#!/bin/bash

WEB_SERVER=172.16.10.151

15

3 function log() 4 {

5 TIME=$(date +\

6 echo $TIME\7 }

8 #download patches 9 mkdir /updates 10 cd /updates

11 for patch in XS602E004 XS602E009 12 do

13 log \

14 wget http://$WEB_SERVER/$patch.xsupdate 15 done

16 #download patch.sh

17 log \

18 wget http://$WEB_SERVER/patch.sh -O /tmp/patch.sh 19 chmod 777 /tmp/patch.sh 20 #setup patch.sh to run on bootup

21 ln -s /tmp/patch.sh /etc/rc3.d/S99autopatch 22 #start installing patches 23 log \24

bash /tmp/patch.sh

patch.sh 1 #!/bin/bash 2 function log() 3 {

4 TIME=$(date +\

5 echo $TIME\6

}

16

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

#wait server to be ready

log \sleep 60 sleep 60 #HostUUID

HOSTUUID=$(xe host-list --minimal) #install patches

for patch in `ls /updates`; do log \

PATCHUUID=$(xe patch-upload file-name=/updates/$patch) sleep 10

log \

xe patch-apply host-uuid=$HOSTUUID uuid=$PATCHUUID rm -f /updates/$patch sleep 30

log \

PATCHACTION=$(xe patch-list uuid=$PATCHUUID params=after-apply-guidance --minimal) if [ \ then

log \ /opt/xensource/bin/xe-toolstack-restart sleep 60

elif [ \TCHACTION\ then

log \ reboot; sleep 60 fi done

17

36 37 38 39 40 41

#cleanup

log \cd /

rm -f /etc/rc3.d/S99autopatch rm -rf /updates rm -f /tmp/*.sh

用法参考(Usage):

1. HTTP Server准备好,以上两个脚本和所有补丁文件放置到根目录 2. 修改startup中的WEB_SERVER地址和补丁列表 3. 从console或者SSH登陆XS

4. 下载startup.sh:wget http://WEB_SERVER_IP/startup.sh 5. 设置可执行权限:chmod 777 startup.sh 6. 执行:./startup.sh

7. 剩下的就可以让脚本去自动执行了 排错(Troubleshooting):

脚本执行的流程日志写入到/var/log/messages,所以,如果需要排错,可以查看该日志中脚本执行流程是否正确。 1

grep -i auto_patch /var/log/messages

如果碰到任何问题,请及时反馈,以便对脚本进行改进。

在 SR 上查找数据库 VDI:

xe vdi-list sr-uuid= type=Metadata 在数据库 VDI 中查询存在的 VM: xe vm-list database:vdi-uuid= 恢复 VM:

xe vm-recover uuid= database:vdi-uuid=

host-license-view

18

host-license-view [host-uuid=] 显示 XenServer 主机许可证的内容。

PBD操作命令 pbd-plug

pbd-plug uuid=

尝试将 PBD 插入 XenServer 主机。如果成功,则引用的 SR(和包含在其中的 VDI)应对 XenServer 主机可见。

pbd-unplug

pbd-unplug uuid= 尝试从 XenServer 主机拔出 PBD。 池命令

pool-designate-new-master

pool-designate-new-master host-uuid= 指示指定的成员 XenServer 主机成为现有池的主服务器。这会将主服务器主机的角色有序移交给资源

池中的其他主机。此命令仅在当前主服务器处于联机状态时生效,并且不是下列紧急模式命令的替代项。

pool-dump-database

pool-dump-database file-name= 下载整个池数据库的副本并将其转储到客户端上的文件。 pool-eject

pool-eject host-uuid= 指示指定的 XenServer 主机退出现有池。

19

pool-emergency-reset-master

pool-emergency-reset-master master-address=

指示从属成员 XenServer 主机将其主服务器地址重置为新值,并尝试与其建立连接。不应在主服务器 主机上运行此命令。

pool-emergency-transition-to-master pool-emergency-transition-to-master

指示 XenServer 成员主机成为池主服务器。仅在 XenServer 主机转换到紧急模式后才接受此命令。进

入紧急模式意味着该成员主机所在的池中的主服务器已从网络中消失,经过若干次重试仍无法连接。请注意,如果在主机加入池后修改了主机密码,此命令可能导致该密码重置

pool-ha-enable

pool-ha-enable heartbeat-sr-uuids=

对资源池启用高可用性,同时使用指定的 SR UUID 作为中央检测信号储存库。

pool-ha-disable pool-ha-disable

对资源池禁用高可用性功能。 pool-join pool-join

master-address=

master-username=

master-password= 指示 XenServer 主机加入现有池。

pool-recover-slaves pool-recover-slaves

20

[ copy-bios-strings-from= ]

基于模板安装或克隆 VM。使用 template-uuid 或 template 参数指定模板名称。使用

sr-uuid 或 sr-name-label 参数指定 SR。指定使用 copy-bios-strings-from 参数安装锁定了 BIOS 的 介质。 注意:

默认情况下,在基于包含现有磁盘的模板进行安装时,将在现有磁盘所在的同一个 SR 中创建新磁盘。如果该 SR 支持基于模板的安装,将进行快速复制。如果在命令 行上指定了其他 SR,则将在该 SR 中创建新磁盘。在这种情况下,无法实现快速复 制,磁盘将进行完整复制。基于不含现有磁盘的模板进行安装时,将在指定的 SR 中创建任何新磁盘;如果没有指定 SR,则将在池的默认 SR 中创建新磁盘。

vm-migrate

vm-migrate [[host-uuid= ] | [host= ]] [=...] [live=]

在物理主机间迁移指定的 VM。host 参数可以是 XenServer 主机的名称或 UUID。 默认情况下,VM 将挂起、迁移并在另一台主机上恢复。live 参数激活 XenMotion,并使 VM 在执行

迁移时继续运行,从而使 VM 停机时间缩短至小于一秒。在某些情况下(如 VM 中的内存工作负载繁

重),XenMotion 将自动恢复到默认模式,并在完成内存传输前将 VM 挂起一小段时间。 将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参

数部分开头列出的参数中的任意数个。

vm-reboot

vm-reboot [=...] [force=]

31

重新引导指定的 VM。

将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参

数部分开头列出的参数中的任意数个。

使用 force 参数将导致非正常关机,与拔掉物理服务器上的插头相似。

vm-recover

vm-recover [] [] [] 从提供的 VDI 中包含的数据库恢复 VM。

vm-reset-powerstate

vm-reset-powerstate [=...] {force=true} 将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参

数部分开头列出的参数中的任意数个。

这是一个高级命令,仅在池中的成员主机出现故障时使用。您可以使用此命令强制池主服务器将 VM 的

电源状态重置为 halted。实际上这将强制锁定 VM 及其磁盘,以便随后可在另一台池主机上启动此

VM。此调用要求指定 force 标志,如果命令行中不存在 force 标志,则调用将失败。

vm-resume

vm-resume [=...] [force=] [on=] 恢复指定的 VM。

将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参

数部分开头列出的参数中的任意数个。

如果 VM 位于主机池内的共享 SR 上,则使用 on 参数指定要在其上启动 VM 的主机。默认情况下,系

32

统将确定一台适合的主机(可以是池中的任何成员)。

vm-shutdown

vm-shutdown [=...] [force=] 关闭指定的 VM。

将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参

数部分开头列出的参数中的任意数个。

使用 force 参数将导致非正常关机,与拔掉物理服务器上的插头相似。 vm-start

vm-start [=...] [force=] [on=] [--multiple] 启动指定的 VM。

将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参

数部分开头列出的参数中的任意数个。

如果 VM 位于主机池中的共享 SR 上,则使用 on 参数指定池中在其上启动 VM 的主机。默认情况下,

系统将确定一台适合的主机(可以是池中的任何成员)。

vm-suspend

vm-suspend [=...] 挂起指定的 VM。

将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参

数部分开头列出的参数中的任意数个。

vm-uninstall

vm-uninstall [=...] [force=]

33

卸载 VM — 销毁其磁盘.

vm-vif-list

vm-vif-list [=...] 列出指定 VM 中的 VIF。

-------------------------------------------------------------------------

-------------------------------------------------------------------- -------------------------------------------------------------- --------------------------------------------------------- ---------------------------------------------------- ----------------------------------------------- ------------------------------------------- ------------------------------------- --------------------------------- ----------------------------- ----------------------- ------------------ -------------- ---------- ------ --- -- -- -- -- --

34

指示池主服务器尝试重置当前以紧急模式运行的所有成员的主服务器地址。通常在使用 poolemergency-

transition-to-master 将其中的一个成员设置为新主服务器后使用此命令。

pool-sync-database

pool-sync-database

强制池数据库在资源池中的所有主机上进行同步。这在正常操作中没有必要,因为数据库会定期自动复

制。但对于确保在执行一系列重要 CLI 操作后快速复制更改,此命令很有用。 SR 命令

sr-create

sr-create name-label= physical-size= type= content-type= device-config:= [host-uuid=] [shared=]

在磁盘上创建一个 SR,将其引入数据库,然后创建一个将该 SR 连接到 XenServer 主机的 PBD。如

果将 shared 设置为 true,则为池中的每个 XenServer 主机创建 PBD;如果未指定 shared 或将其

设置为 false,则仅为使用 host-uuid 指定的 XenServer 主机创建 PBD。

sr-destroy

sr-destroy uuid= 销毁 XenServer 主机上指定的 SR。 sr-forget

sr-forget uuid=

xapi 代理忽略了 XenServer 主机上某个指定的 SR,这意味着该 SR 被分离,您无法访问其上的

21

VDI,但该 SR 在源介质中保持原样(数据未丢失)。 sr-scan

sr-scan uuid=

强制执行 SR 扫描,同时将 xapi 数据库与基础存储基底中的 VDI 同步。

任务操作命令 task-cancel

task-cancel [uuid=] 指示取消指定的任务并返回。

模板命令

template-export template-export

filename=

将指定模板的副本导出到文件,使用指定的新文件名。 用户命令

user-password-change

user-password-change old= new= 更改用户登录密码。未选中旧密码字段,因为执行此调用需要主管特权。 VBD命令 vbd-create

vbd-create vm-uuid= device=

vdi-uuid= [bootable=true] [type=

22

CD>] [mode=]

在 VM 上新建 VBD。

device 字段中相应的值列在指定 VM 上的 allowed-VBD-devices 参数中。允许的值是 0

到 15 的

整数,否则此处不会存在任何 VBD。

如果 type 为 Disk,则必须指定 vdi-uuid。对于磁盘,模式可以为 RO 或 RW。 如果 type 为 CD,则可选择是否指定 vdi-uuid;如果不指定 VDI,将为 CD 创建空 VBD。对于

CD,模式必须为 RO。

vbd-destroy

vbd-destroy uuid= 销毁指定的 VBD。

如果 VBD 将其 other-config:owner 参数设置为 true,则其关联的 VDI 也将被销毁。 vbd-plug

vbd-plug uuid= 尝试在 VM 处于运行状态时连接 VBD。 vbd-unplug

vbd-unplug uuid=

尝试在 VM 处于运行状态时将 VBD 从 VM 分离。 VDI 命令

用于 VDI(虚拟磁盘映像)的命令。

VDI 是一个软件对象,表示可对 VM 显示的虚拟磁盘的内容。而 VBD 则是一个将 VM 连接到 VDI 的连

接器对象。VDI 中包含虚拟磁盘的物理属性信息(SR 类型、磁盘是否可共享、虚拟磁盘、介质是可读

写介质还是只读介质等),而 VBD 中包含将 VDI 与 VM 相联系的属性(可引导性、读/写指

23

标等)。

vdi-clone

vdi-clone uuid= [driver-params:]

创建指定 VDI 的新可写副本,此副本可直接使用。它是 vdi-copy 的变体,可公开其所在的映像高速克 隆工具。

可使用可选 driver-params 映射参数将额外的供应商特定的配置信息传递到 VDI 所基于的后端存储驱动程序 vdi-copy

vdi-copy uuid= sr-uuid= 将 VDI 复制到指定的 SR。

vdi-create

vdi-create sr-uuid= name-label=

type= virtual-size=

sm-config-*= 创建 VDI。

vdi-destroy

vdi-destroy uuid= 销毁指定的 VDI。 注意:

对于本地 VHD 和 NFS SR 类型,使用 vdi-destroy 不能立即释放磁盘空间,而是在 存储库扫描操作期间定期释放磁盘空间。用户如果需要强制使删除所得的磁盘空间可 用,则应手动调用 sr-scan 。

24

vdi-forget

vdi-forget uuid=

从数据库无条件删除 VDI 记录,不涉及存储后端。在正常操作中,您应该使用 vdi-destroy 完成此任 务。

vdi-import

vdi-import uuid= filename= 导入原始 VDI。

vdi-resize

vdi-resize uuid= disk-size= 调整由 UUID 指定的 VDI 的大小。

vdi-snapshot

vdi-snapshot uuid= [driver-params=]

生成 VDI 的读写版本,该版本可用作进行备份和/或创建模板时的参考。除在 VM 内部安装和运行备份

软件之外,您还可以通过快照执行备份。当外部备份软件将快照内容发送到备份介质时,VM 可以继续

运行。同样,快照可用作“黄金映像”,可以基于此映像创建模板。可以使用任何 VDI 创建模板。 VIF 命令

用于 VIF(虚拟网络接口)的命令。

vif-create

vif-create vm-uuid= device=

network-uuid= [mac=]

25

在 VM 上新建 VIF。

device 字段中相应的值列在指定 VM 上的 allowed-VIF-devices 参数中。如果 VM 中尚不

存在

VIF,则允许的值为从 0 到 15 之间的整数。

mac 参数为标准 MAC 地址,格式为 aa:bb:cc:dd:ee:ff。如果不指定此地址,则会创建一

个适当

的随机 MAC 地址。您还可以通过指定 mac=random 显式设置一个随机 MAC 地址。

vif-destroy

vif-destroy uuid= 销毁 VIF。 vif-plug

vif-plug uuid= 尝试在 VM 处于运行状态时连接 VIF。 vif-unplug

vif-unplug uuid=

当 VM 处于运行状态时尝试将 VIF 从中分离出来。

VLAN 命令 vlan-create

vlan-create pif-uuid= vlan= networkuuid=< uuid_of_network>

在 XenServer 主机上创建新 VLAN。

pool-vlan-create

vlan-create pif-uuid= vlan= networkuuid=<

uuid_of_network>

通过确定特定网络所在的每个主机的接口(例如 eth0),并在每个相应的主机上创建和插入

26

一个新的

PIF 对象,为池中的所有主机创建一个新 VLAN。

vlan-destroy

vlan-destroy uuid= 销毁 VLAN。需要使用表示 VLAN 的 PIF 的 UUID。 VM 命令 vm-cd-eject

vm-cd-eject [=...]

从虚拟 CD 驱动器弹出 CD。仅当有且只有一个 CD 连接到 VM 时,此命令才会起作用。如果有两个或

更多 CD,请使用命令 xe vbd-eject,并指定 VBD 的 UUID。

vm-cd-list

vm-cd-list [vbd-params] [vdi-params] [=...] 列出连接到指定 VM 的 CD。

vm-cd-remove

vm-cd-remove cd-name= [=...] 从指定 VM 中移除虚拟 CD。 vm-clone

vm-clone new-name-label=

[new-name-description=] [=<

vm_selector_value>...]

如果可用,请使用存储级别的快速磁盘克隆操作克隆现有的 VM。使用 new-name-label 和

newname- description 参数为生成的克隆 VM 指定名称和可选说明。

27

vm-copy

vm-copy new-name-label= [new-namedescription=<

description_for_copy>]

[sr-uuid=] [=...]

复制现有 VM,但不使用存储级别的快速磁盘克隆操作(即使该操作可用)。保证 VM 副本的磁盘映像

为“完整映像”,即该磁盘映像不是写入时复制 (CoW) 链的一部分。使用 new-name-label 和

new-name-description 参数为生成的 VM 副本指定名称和可选说明。

使用 sr-uuid 为生成的 VM 副本指定目标 SR。如果未指定此参数,则目标 SR 与原始 VM 所在的SR 相同。

vm-data-source-query vm-data-source-query [=<

data-source=

vm selector value>...]

显示 VM 的指定数据源。

使用标准选择机制(请参阅 VM 选择器)选择将执行此操作的 VM。可选参数可以为 VM 参数部分开头

列出的参数中的任意数个。如果未给定用于选择主机的参数,将在所有 VM 上执行操作。

vm-destroy

vm-destroy uuid=

销毁指定的 VM。这会使与 VM 关联的存储保留不变。要同时删除存储,请使用 xe vm-uninstall。

vm-disk-add

vm-disk-add disk-size= device= [=...]

将新磁盘添加到指定 VM。从 VM 的 allowed-VBD-devices 参数值中选择 device 参数。

28

disk-size 参数可以以字节为单位进行指定,也可以使用 IEC 标准后缀 KiB(210 字节)、

MiB(220字节)、GiB(230 字节)和 TiB(240 字节)进行指定。

vm-disk-list

vm-disk-list [vbd-params] [vdi-params] [=...] 列出连接到指定 VM 的磁盘。vbd-params 和 vdi-params 参数控制要输出的各个对象的字段,应以

逗号分隔的列表形式给出,或使用特殊键 all 表示给出完整列表。

vm-disk-remove

vm-disk-remove device= [=<

vm_selector_value>...]

从指定 VM 移除磁盘并将其销毁。

将使用标准选择机制来选择应在其上执行此操作的 VM(请参阅 VM 选择器)。可选参数可以为 VM 参数部分开头列出的参数中的任意数个。

vm-export

vm-export filename= 164

[metadata=]

[=...]

将指定 VM(包括磁盘映像)导出到本地计算机上的文件中。使用 filename 参数指定将 VM 导出到的文件的文件名。按照惯例,此文件名的扩展名应该为 .xva。

如果 metadata 参数为 true,则不会导出磁盘,而仅将 VM 元数据写入到输出文件中。这适用于基础存储通过其他机制进行传输的情况,允许重新创建 VM 信息(

vm-import

vm-import filename= [metadata=] [preserve=]

29

[sr-uuid=]

从之前导出的文件导入 VM。如果将 preserve 设置为 true,则将保留原始 VM 的 MAC 地址。sruuid 确定将 VM 导入到的目标 SR;如果未指定,则导入到默认 SR。

filename 参数还可以指向 XVA 格式的 VM,该格式是自 XenServer 3.2 以来的传统导出格

式,一些

第三方供应商使用 XVA 格式来提供虚拟设备。该格式使用目录存储 VM 数据,因此将

filename 设置

为 XVA 导出的根目录而不是实际的文件。导入的传统来宾系统的后续导出内容将自动升级到新的基于

文件名的格式,这种格式可以存储更多关于 VM 配置的数据。 注意:

早期的基于目录的 XVA 格式不能完整保留所有 VM 属性。尤其是默认情况下导入的 VM 不会连接任何虚拟网络接口。如果需要网络,则使用 vif-create 和 vif-plug 创建 一个网络。

如果 metadata 为 true,则可以导入之前导出的一组元数据,而不会导入与之关联的磁盘块。如果找

不到 VDI(按照 SR 和 VDI.location 命名),只导入元数据的操作将会失败,除非指定

--force 选项,这时无论遇到什么情况导入都会继续。如果可以对磁盘进行镜像或将其移动到带外,则元数据导

入/导出是一种在无连接的池之间移动 VM 的快捷方法(例如,作为灾难恢复方案的一部分)。 注意:

以串行方式导入多个 VM 比使用并行方式更快。

vm-install

vm-install new-name-label=

[ template-uuid= | [template=]] [ sr-uuid= | sr-name-label= ]

30

本文来源:https://www.bwwdw.com/article/tsn2.html

Top