Category Archives: Xenserver

Tips and Tricks for Xenserver

Extend a raidset with STORCLI CLI

You can use this command to see the status of the Raid Controller and Raidset.

storcli /c0 show
Generating detailed summary of the adapter, it may take a while to complete.

Controller = 0
Status = Success
Description = None

Product Name = Intel(R) RAID Controller RS3DC080
Serial Number = SK94678290
SAS Address =  500605b00f7ef7e0
PCI Address = 00:b5:00:00
System Time = 03/18/2022 15:44:57
Mfg. Date = 11/24/19
Controller Time = 03/18/2022 15:44:29
FW Package Build = 24.21.0-0126
BIOS Version = 6.36.00.3_4.19.08.00_0x06180203
FW Version = 4.680.00-8519
Driver Name = lsi-mr3
Driver Version = 7.702.13.00
Current Personality = RAID-Mode
Vendor Id = 0x1000
Device Id = 0x5D
SubVendor Id = 0x8086
SubDevice Id = 0x9360
Host Interface = PCI-E
Device Interface = SATA-3G
Bus Number = 181
Device Number = 0
Function Number = 0
Drive Groups = 1

TOPOLOGY :
========

-----------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type  State BT       Size PDC  PI SED DS3  FSpace TR
-----------------------------------------------------------------------------
 0 -   -   -        -   RAID5 Optl  N    5.451 TB dflt N  N   dflt N      N
 0 0   -   -        -   RAID5 Optl  N    5.451 TB dflt N  N   dflt N      N
 0 0   0   252:4    8   DRIVE Onln  N  930.390 GB dflt N  N   dflt -      N
 0 0   1   252:5    9   DRIVE Onln  N  930.390 GB dflt N  N   dflt -      N
 0 0   2   252:6    10  DRIVE Onln  N  930.390 GB dflt N  N   dflt -      N
 0 0   3   252:7    11  DRIVE Onln  N  930.390 GB dflt N  N   dflt -      N
 0 0   4   252:0    15  DRIVE Onln  N  930.390 GB dflt N  N   dflt -      N
 0 0   5   252:1    12  DRIVE Onln  N  930.390 GB dflt N  N   dflt -      N
 0 0   6   252:2    13  DRIVE Onln  N  930.390 GB dflt N  N   dflt -      N
-----------------------------------------------------------------------------

DG=Disk Group Index|Arr=Array Index|Row=Row Index|EID=Enclosure Device ID
DID=Device ID|Type=Drive Type|Onln=Online|Rbld=Rebuild|Dgrd=Degraded
Pdgd=Partially degraded|Offln=Offline|BT=Background Task Active
PDC=PD Cache|PI=Protection Info|SED=Self Encrypting Drive|Frgn=Foreign
DS3=Dimmer Switch 3|dflt=Default|Msng=Missing|FSpace=Free Space Present
TR=Transport Ready

Virtual Drives = 1

VD LIST :
=======

-------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC     Size Name
-------------------------------------------------------------
0/0   RAID5 Optl  RW     Yes     RWBD  -   ON  5.451 TB
-------------------------------------------------------------

EID=Enclosure Device ID| VD=Virtual Drive| DG=Drive Group|Rec=Recovery
Cac=CacheCade|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|TRANS=TransportReady|B=Blocked|
Consist=Consistent|R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency

Physical Drives = 8

PD LIST :
=======

-------------------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model                   Sp Type
-------------------------------------------------------------------------------------
252:0    15 Onln   0 930.390 GB SATA SSD N   N  512B Samsung SSD 870 QVO 1TB U  -
252:1    12 Onln   0 930.390 GB SATA SSD N   N  512B Samsung SSD 870 QVO 1TB U  -
252:2    13 Onln   0 930.390 GB SATA SSD N   N  512B Samsung SSD 870 QVO 1TB U  -
252:3    14 UGood  - 930.390 GB SATA SSD N   N  512B Samsung SSD 870 QVO 1TB U  -
252:4     8 Onln   0 930.390 GB SATA SSD N   N  512B Samsung SSD 860 EVO 1TB U  -
252:5     9 Onln   0 930.390 GB SATA SSD N   N  512B Samsung SSD 860 EVO 1TB U  -
252:6    10 Onln   0 930.390 GB SATA SSD N   N  512B Samsung SSD 860 EVO 1TB U  -
252:7    11 Onln   0 930.390 GB SATA SSD N   N  512B Samsung SSD 860 EVO 1TB U  -
-------------------------------------------------------------------------------------

EID=Enclosure Device ID|Slt=Slot No.|DID=Device ID|DG=DriveGroup
DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
UBad=Unconfigured Bad|Onln=Online|Offln=Offline|Intf=Interface
Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
UGUnsp=Unsupported|UGShld=UnConfigured shielded|HSPShld=Hotspare shielded
CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded


Cachevault_Info :
===============

---------------------------------------------------------
Model  State   Temp Mode MfgDate    Next Learn
---------------------------------------------------------
CVPM02 Optimal 23C  -    2020/04/09 2022/03/31  00:41:59
---------------------------------------------------------

Here you can see under PD List, that drive 252:3 14 stand as UGood. Thats the new disk i have put into the server, and have been detected by the raidset.

To include this disk into the array that you see under VD List, you need to do this

 storcli /c0/v0 start migrate type=raid5 option=add drives=252:3

This will add the disk to the raidset. This can takes hours and even days, if you have a big raidset.
You can check the status with this command:

storcli /c0/v0 show migrate
Controller = 0
Status = Success
Description = None


VD Operation Status :
===================

------------------------------------------------------------
VD Operation      Progress% Status      Estimated Time Left
------------------------------------------------------------
 0 Reconstruction         2 In progress 9 Hours 52 Minutes
------------------------------------------------------------

DG=Arrays | Slot=Drive Bay No|VD=Virtual Drive/Logical Drive|EID=Enclosure Device ID

Here you can see that it will take 9 hours and 52 minutes to complete the Reconstruction

When it done with the reconstuction, the command from before will output this:

VD Operation Status :
===================

-----------------------------------------------------------
VD Operation Progress% Status          Estimated Time Left 
-----------------------------------------------------------
 0 Migrate   -         Not in progress -                   
-----------------------------------------------------------

And then you can check the array with the command from the top of this guide

storcli /c0 show

After this you need to change the partition table, and then expand the volume.

Upgrade firmware on Dellservers running XenServer and get Dell Openmanage aswell

First you need to enable some standard Repos first

vi /etc/yum.repos.d/CentOS-Base.repo

Enable base and updates.

Then you need to enable Dell yum Repos

wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash

This will automatically create the repo files in /etc/yum.repos.d
Next we will install Dell OMSA (Openmanage) and the firmwall tools needing to upgrade firmware on a Dell Server.

yum install srvadmin-all firmware-tools

 

Then we have to start the Dell Openmanage software this can be done with

/opt/dell/srvadmin/sbin/srvadmin-services.sh start

And after this we can run

/opt/dell/srvadmin/sbin/srvadmin-services.sh status

To check that the Dell Openmanage is running okay.
Now you just need to enable port 1311TCP in the firewall of yours Xenserver

nano /etc/sysconfig/iptables

Now add the following line:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1311 -j 
ACCEPT

And restart Xenserver firewall with this commands:

service iptables restart

Now you should be able to browse to https://IPADDROfXenserver:1311 and logon with root and the root password.

If you want to enable SNMP Traps:
To make SNMP Traps working in DOM, you need to enable it:

nano /etc/snmp/snmpd.conf

insert at the buttom of the file:

trapsink IPADDR Communityname

And then restart SNMPD

service snmpd restart

To update Dell firmware tools, you can use this commands:

yum install $(bootstrap_firmware)
update_firmware --yes

This will run for some time.

XenServer: Powershell

If you like Powershell, you will like the XenServer Powershell.

Download XenServer SDK from the Citrix.com download page (You need to logon with you Citrix credentitals)

After you have install Citrix Xenserver Powershell, you can test to see if it have been install by running this comands:

Get-PSSnapin -registered

If it installed, you can add it to you powershell session by typing this command:

Add-PSSnapin Xen*

To connect to the XenServer

Connect-XenServer -Url https://<ServerIP>

To get all vm on the Xenserver:

Get-XenServer:VM

To only show the VM with VDI in the middle of the name

Get-XenServer:VM -name *vdi*

To see all command from XenServer Powershell

Get-Command -module Xen*

 

See more commands here:

http://kennethdalbjerg.dk/wp-content/uploads/2013/05/Citrix_XenServer_6.0_CmdLet_Poster.pdf
http://www.qa.com/about-qa/blogs/2012/july/citrix-xenserver-6-and-powershell/

XenServer: Add an extra Core to a CPU Socket

You can’t add extra Core to a CPU socket though XenCenter, you need to start you console of the XenServer.

To Add 4 Core in each CPU Socket you need to run this commands:

xe vm-param-set platform:cores-per-socket=4 uuid=<VM UUID>

To found the vm’s UUID, you can use these commands:

xe vm-list name-label=<Name of the VM>

After you have put 4 core in each CPU socket you also need to run these commands:

xe vm-param-set VCPUs-max=8 uuid=<VM UUID>
xe vm-param-set VCPUs-at-startup=8 uuid=<VM UUID>

This will add 8 CPU in totalt, but only 2 CPU socket with each 4 Core.

Xenserver – Problems with the master of the pool, down – dead or corrupt

If you have problems, that you master is dead or have som troubles, and you need to selected a new master, you can do this with this commands:

xe pool-emergency-transition-to-master

Then on the others slave you can run this commands:

xe pool-emergency-reset-master master-address=NewMasterAddress

And then when the master is running again run this command on the old master

xe pool-emergency-reset-master master-address=NewMasterAddress

Kill a stuck vm in shuting down mode or pending mode

There are 3 options to do this, witch way depend on the stuck mode, start with options 1 and work you way thougt it onto the vm is shutdown.

Options 1:

SSH to the Xenserver witch running the vm

Type these commands:

xe task-list

Found the task and the UUID for this task, and kill it

xe task-cancel force=true uuid=<UUID>

 Options 2:

SSH to the Xenserver witch running the vm

xe vm-list

Find the vm han get the UUID

list_domains | grep <UUID>

Get the number in front of the UUID

/opt/xensource/debug/destroy_domain -domid <DOMID>

Options 3:

SSH to the Xenserver witch running the vm

xe-toolstack-restart

 

XenCenter – Failed to import

I have a problem with my Xencenter failed to import a OVF VM.
In XenCenter console, it just says: Failed to import.

If i look in the log files is was saying: (In XenCenter Console, push tab Help, and then clock on “View application log files. And then open op XenCenter.log):

System.Exception: Failed to import. —> System.IO.InvalidDataException: Failed to add resource Hard Disk Image. —> System.Exception: Failed to import. —> System.Exception: Failed to import virtual disk file. —> System.Xml.XmlException: Root element is missing.

Error on a Danish windows

System.Exception: Failed to import. —> System.IO.InvalidDataException: Failed to add resource Hard Disk Image. —> System.Exception: Failed to import. —> System.Exception: Failed to import virtual disk file. —> System.Xml.XmlException: Rod element mangler.

To fix this problem I did:
In XenCenter, select View -> Hidden Objects
This will show you hidden objects, such as Transfer objects.
Found the failed imported machine, right click on it and delete it.
Now you should found a XenServer Tranfer VM X.X.X-X, right click on it and delete it.

Now connect to the console on the XenServer host: (Master of the pool if you have such one)
And type this commands:

cd /opt/xensource/packages/files/transfer-vm
./install-transfer-vm.sh

Xenserver – Moving VM “VDINAME” to “VDINAME” on “Storage” This operation cannot be performed because this VDI OpaqueRef:8d37bee1-f85b-fb22-e47e-1b8f48b68b84 is in use by some other operation – copy

I have this error:

Moving VM “VDINAME” to “VDINAME” on “Storage” This operation cannot be performed because this VDI OpaqueRef:8d37bee1-f85b-fb22-e47e-1b8f48b68b84 is in use by some other operation – copy

When i was try moving a VM from from storage to another on XenServer. It was just because there was a DVD ISO mounted on the VM, when i Eject that one, the move was just running fine.