Here you are a XenServer Commands Cheat Sheet!
- Configure SR-IOV
- /opt/xensource/libexec/xen-cmdline –set-xen iommu=1
- lspci
- xe vm-param-set other-config:pci=0/0000:07:10.0 uuid=uuid_of_the_VM
- Enable and Disable Open VSwitch
- xe-switch-network-backend bridge
- xe-switch-network-backend openvswitch
- Setup Diagnostic Website
- cd /opt/xensource/www
- ln –s /opt/xensource/debug/www debug
- http://masterserverip/debug/index.html
- Configure Auto Start VMs
- Pool Config : xe pool-param-set uuid=… other-config:auto_poweron=true
- VM Config: xe vm-param-set uuid=… other-config:auto_poweron=true
- iSCSI Commands
- discover: iscsiadm –mode discovery –type sendtargets –portal <IP-Address of the iSCSI target>
- login: iscsiadm –mode node –targetname <target IQN you have discovered before> –portal <IP-Address of your Target>:3260 –login
- logout: iscsiadm –mode node –targetname <target IQN you have discovered before> –portal <IP-Address of your Target>:3260 –logout
- View TapDisks
- tap-ctl list
- ls -l /var/run/sr-mount/…..
- Compare Template Differences
- xe template-list name-label=Citrix\ XenApp\ on\ Windows\ Server\ 2003\ \(32-bit)\) params=all >> /root/2k3-32
- xe template-list name-label=Citrix\ XenApp\ on\ Windows\ Server\ 2008\ \(32-bit)\) params=all >> /root/2k8-32
- diff –side-by-side –suppress-common-lines /root/2k3-32 /root/2k8-32 (to see which parameters differ)
- or
- diff –suppress-common-lines /root/2k3-32 /root/2k8-32 (to see the full difference)
- Reclaim Disk Space from Deleted XenServer Snapshots (http://support.citrix.com/article/CTX123400)
- xe host-call-plugin host-uuid=<host-UUID> plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=<VM-UUID>
- Emergency Master Server Failure Recovery
- xe host-emergency-ha-disable force=true
- xe pool-emergency-transition-to-master
- pool-designate-new-master host-uuid=<UUID of member XenServer host to become new master>
- cat /etc/xensource/pool.conf to reflect to the new master.
- Restarted XAPI service and it back to the pool.
- Remove a Lost server from a Resource Pool
xe host-list
xe -s [ip address] -u root -pw PASSWORD pool-sync-database
xe -s [ip address] -u root -pw PASSWORD host-forget uuid=[the above command will provide the UUID]
xe pool-eject host-uuid
- Copy a VM to another XenServer
xe vm-list (note the name of the VM you wish to copy)
xe sr-list (note the name of the storage you will to copy the VM to)
xe vm-copy (needs the following parameters to complete)
xe vm-copy vm=<name of VM to copy> sr-uuid=<UUID of SR to copy VM to> new-name-label=<NewNameofVM> new-name-description=”Description of VM”
- Force Pool master Selection
xe pool-emergency-transition-to-master
xe pool-recover-slaves
xe host-list
xe pool-sync-database
xe host-forget
- Check if XenServer is a Pool Master
cat /etc/xensource/pool.conf
Output says “master” , slaves output “slave:<master host IP>”
xe-switch-network-backend openvswitch
xe host-list params=software-version
- Enter XenServer Config Menu via SSH
xsconsole
- xe pool-ha-enable heartbeat-sr-uuids=021e7e21-1e64-a0b3-2e22-5bbfcfe559e9 ha-config:timeout=10
- Minimum timeout is 10 seconds
- Default is 30 Seconds
- xe pool-ha-compute-max-host-failures-to-tolerate
- Destroying or forgetting a SR (Storage Repository)
xe -s [host ip] -u root -pw [password] sr-list
xe -s [host ip] -u root -pw [password] pbd-list sr-uuid=
xe -s [host ip] -u root -pw [password] pbd-unplug uuid=
xe -s [host ip] -u root -pw [password] pbd-destroy uuid=
xe -s [host ip] -u root -pw [password] sr-forget uuid=
displays real-time information about Xen system.
- xen-bugtool –yestoall
- Set HA Timeouot
xe pool-ha-enable heartbeat-sr-uuids=##### ha-config:timeout=however many seconds you want.
xe task-list
xe task-cancle uuid=xe
vm-shutdown –force vm=
- Overload CPU for testing Workload Balancing
while true ; do true ; donewhile true ; do true ; done &while true ; do `ls –lR /` ; done
- How to Create a Local Storage Repository (CTX121313)
# cat /proc/partitions
# ll /dev/disk/by-id
Find the disk ID of the “sdb” or “cciss/c0d1”disk. The “scsi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” or “cciss-xxxxxxxxxxxxxxxxxxxxxxxxxx”format is what you need.
Create a Storage Repository (SR):
# xe sr-create content-type=user device-config:device=/dev/disk/by-id/<scsi-xxxxxxxxxxxxxxxxxxxxxxxxx> host-uuid=<host-uuid> name-label=”Local Storage 2” shared=false type=lvm-
Or –
# xe sr-create content-type=user device-config:device=/dev/disk/by-id/<cciss-xxxxxxxxxxxxxxxxxxxxxxxxx> host-uuid=<host-uuid> name-label=”Local Storage 2” shared=false type=lvm
xe task-list
xe task-cancel uuid=<task uuid>
- Install XenTools on Linux
mount /dev/xvdd /mnt
cd /mnt/Linux
./install.sh
QLogic, run scli
Emulex, run hbanywhere
Emulex: /bin/sbin/ocmanager
QLogic FC: /opt/QLogic_Corporation/SANsurferCLI
QLogic iSCSI: /opt/QLogic_Corporation/SANsurferiCLI
Enable HA
- xe vm-param-set uuid=<vm_uuid> ha-restart-priority=<1> ha-always-run=true
- xe pool-ha-enable heartbeat-sr-uuids=<sr_uuid>
Reboot Host in HA
- host-disable host=<hostname>
- host-evacuate uuid=<host uuid>
- host-shutdown host=<hostname>
Designate new master
- Xe pool-designate-new-master host-uuid=<UUID of member XenServer host to become new master>
Pool Emergency Actions
- host-emergency-ha-disable –force
- pool-recovery-slaves
- pool-eject host-uuid=<host UUID>
- pool-emergency-reset-master master-address=<ip address of pool master>
- pool-emergency-transition-to-master uuid=<host uuid>
- xe pool-join master-address=<host1> master-username=<administrators_username> master-password=<password>
Snapshot Copy (Fast Clone)
- xe snapshot-list snapshot-of=<vm uuid>
- xe snapshot-copy new-name-label=<vm-template-name> snapshot-uuid=<uuid of the snapshot>
- xe template-list
- xe snapshot-export-to-template snapshot-uuid=<uuid of snapshot> filename=<template filename> (.XVA)
- other-config snapmanager=true
- xe vm-snapshot-with-quiesce vm=<vm uuid> ne-name-lablel=<name of new vm> (install-XenProvider.cmd)
Memory Consistent Snapshots
- xe vm-checkpoint vm=<vm uuid> new-name-lable=<name of the snapshot>
Role Based Administration
- xe subject-add subject-name=[active directory account name]
- xe subject-role-add uuid=<subject uuid> role-name=<role_name>
Configure Management Interface
- xe pif-scan, xe pif-list, xe pif-reconfigure-ip, xe host-management-reconfigure
Create NFS ISO Repository
- xe sr-create host-uuid=<mast uuid> content-type=iso name-lable=<”name”> location=\\10.1.1.1:cds
Create a shared NFS SR on 192.168.1.10:/export1
- xe sr-create host-uuid=<host_uuid> content-type=user name-label=<”Example shared NFS SR”> shared=true device-config:server=<192.168.1.10> device-config:serverpath=</export1> type=nfs
Physic NIC configuration
- xe pif-scan
- xe pif-plug
- xe pif-introduce
VM in libo
- xe vm-list
- xe vm-reset-powerstate uuid=<uuid of VM> force=true
XAPI stack
- service xapi status
- service xapi restart
- xe-toolstack-restart
XenServer Log Files
- /var/log – XenServer Log Files
- /etc/logrotate.conf – XenServer Log Rotation Configuration File
Search SR to locate metadata
- xe sr-probe type=lvmoiscsi device-config:target=IP device-config:targetIQN=IQN device-config:SCSIid=SCSIID sm-config:metadata=true
Check VDI database
- xe vm-list database:vdi-uuid=$my_vdi
Check inventory
- . /etc/xensource-inventory
- xe host-list uuid=$INSTALLATION_UUID
Exporting and Importing VMs via API – http://docs.vmd.citrix.com/XenServer/5.6.0fp1/1.0/en_gb/sdk.html#vm_import_and_export
- curl http://root:foo@myxenserver1/export?uuid=<vm_uuid> -o <exportfile>
- curl -T <exportfile> http://root:foo@myxenserver2/import?sr_uuid=<uuid_of_sr>
- curl -T <exportfile> http://root:foo@myxenserver2/import
- http://server/import_metadata
- http://server/export_metadata.