I think, this is the limitation of the (single-threaded) tapdisk. In my tests, Xenserver and XCP-ng were always slower than vSphere on fast storage, but were able to scale well with more VMs
Posts made by KPS
-
RE: VM performance VMWare 8 vs XCP-NG 8.2.1
-
RE: Veeam and XCP-ng
I do not think, there will be a "Veeam for XCP-ng". I think, we should hope and help to improve XOA.
My (constructive) critic points:
- Backup and restore speed should be higher
- Instant restore "pendant" is missing --> makes restore speed MORE critical
- No real "progressbar" on jobs!
- Maintenance-jobs not really visible at all (backup-merge!)
There is also one other thing, but I think, it can be handled mostly with additional agent-based-software:
- Application aware backups (active directory, sql, etc.)
--> So the main point is: You are currently not able to estimate the speed or progress of jobs until they are finished and you do not see maintence jobs
-
Option to handle tags on restore
Hi!
Is there any possibility to modify/exclude restore of the VM tags on restore?
That is quite dangerous in my environment, as there are some API jobs, that are filtering on the tags.
One example: there is a job that starts failed windows VMs according to an “autoPowerOn” tag.When I restore such a VM, its restoreVM gets started while getting restored.
Thank you and best wishes
KPS -
RE: How to configure time sync for Windows VM
@DustinB
Thats right, but not for Domain Controllers.
There is a clear hierarchy, where all DCs should sync to the PDC emulator.Syncing to the host should be avoided according to the MS support. They asked me to disable it, but only sent the instructions for HyperV and VMWare
-
RE: Full backup instead of delta after storage migration
@Danp @olivierlambert
As the github threat got closed by oliverlambert: Do you see any option to add that feature in the future? -
Full backup instead of delta after storage migration
Hi!
I can see a strange behavior;
The first delta-backup-run after a storage migration if a VM changes to “delta” although the snapshot of the jobs last run is still available.Is this “by design”?
Is there anything, I can do to do “forever-incremental”, when I want to move the VDI to another SR?Thank you and best wishes
KPS -
How to configure time sync for Windows VM
Hi!
I am having strange time-sync-issues with a Windows 2022 VM with Citrix tools (9.3.1).
As the VM is a Domain Controller, it is important to avoid any time-sync through XenTools.Are you aware of how to fully "runtime-time-syncs" between host and VM?
I just found old posts about registry-keys, but they do not exist:
https://support.citrix.com/article/CTX272319/time-synchronization-issues-on-windows-vms-with-the-9x-citrix-vm-toolsAre there any "debug-logs"?
Thank you for your help!
KPS -
RE: Example - List all VM backups
@julien-f
Thank you. I am just lost with the next step in jq.
How can I export something like two fields from the json-result?xo-cli backupNg.listVmBackups --json remotes=json:'["<sruuid>"]' | jq '. | .timestamp'
--> Does not give results...
-
Example - List all VM backups
Hi!
I am struggeling, when it comes to write small scripts with API-calls. Perhaps, this one can help some of you.
The code is not "beautiful", but working.
It lists all backups to be able to browse them, monitor, etc.:#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/local/bin/xo-cli --register --alowUnauthorized --token XXXX http://xoa # Script lists all backups on all remotes. # --verbose gives the "full" output # Without --verbose, the fields in the output are limited to the most important ones. # Restore possible with e.g.: xo-cli backupNg.importVmBackup id='<BackupID>' sr=<TARGET-SR-UUID> settings=json:'{"newMacAddresses":false}' VERBOSE_MODE=0 for arg in "$@" do if [ "$arg" = "--verbose" ] || [ "$arg" = "-v" ]; then VERBOSE_MODE=1 fi done # Create Empty TMP-file cat /dev/null > /tmp/listVMs.txt # Check every "enabled" remote for remote in $(xo-cli remote.getAll --json | jq -r '.[] | [.enabled,.name,.id] | @csv' | | grep -e '^true') do remoteenabled=$(echo $remote | awk -F "," '{print $1}') remotename=$(echo $remote | awk -F "," '{print $2}' | sed 's/["'\'']//g' ) remoteuuid=$(echo $remote | awk -F "," '{print $3}' ) # Check every backup on that remote for i in $( xo-cli backupNg.listVmBackups remotes=json:["$remoteuuid"] | grep 'name_label\|id:\|size\|timestamp' | grep -v uuid | sed ':a;N;$!ba;s/,\n/;/g' | sed 's/[[:space:]]//g') do backupid=$(echo $i | grep -Po "id:\'[0-9a-z].*" | awk -F ";" '{print $1}' | awk -F "'" '{print $2}') backuptimestamp=$(echo $i | grep -Po 'timestamp:[0-9]{13}' | awk -F ":" '{print $2}') backuptimestamp=$(($backuptimestamp + 0)) backuptimedate=$(date -d @$(($backuptimestamp / 1000))) backupage=$(awk "BEGIN {printf \"%.2f\", ($(date +%s%3N) - $backuptimestamp) / 86400000 }") vmname=$(echo $i | grep -Po "name_label:'.*'" | awk -F "'" '{print $2}') if [ -z "$vmname" ];then vmname="UNKNOWN"; fi backupsize=$(echo $i | grep -Po 'size:[0-9]{1,30}' | awk -F ":" '{print $2}') backupsize=$(awk "BEGIN {printf \"%.2f\", $backupsize / 1024 / 1024}") echo $vmname";"$backupage";"$backuptimestamp";"$backuptimedate";"$backupsize";"$remotename";"$backupid >> /tmp/listVMs.txt done done if [ "$VERBOSE_MODE" -eq 1 ] then echo "VM-Name;BackupAge(d);BackupTimestamp;BackupTimeDate;BackupSize(MB);RemoteName;BackupID" cat /tmp/listVMs.txt | sort else echo "VM-Name;BackupAge(d);BackupTimestamp;BackupTimeDate;BackupSize(MB);RemoteName;BackupID" | awk -F ";" '{print $1 ";" $3 ";" $4 ";" $5 ";" $6}' cat /tmp/listVMs.txt | sort | awk -F ";" '{print $1 ";" $3 ";" $4 ";" $5 ";" $6}' fi
Feel free to use, change and "improve" it...
I was not able to parse the "listVmBackups"-output with jq...KPS
-
Ideas to reduce delta-backup-size - especially for Windows VMs
Hi!
The delta-backups of my windows VMs are quite large, although, there should not be much "change" on the system disk.
What I already did:
- Additional disk with "[NOBAK]" with profiles and pagefile
--> As XOA does not have an option to exclude pagefile, I did move it to another drive
--> In therory, there should be nearly "no" writes to the system disk and so a very small change rate
But: I am still seeing about 10-20 GB daily per VM.
Are you aware of any other "tricks" to reduce the size?
Best wishes
KPS -
RE: Fetch VMS and there current hosts
@rtjdamen
That is VERY funny: I did write a small script for that, today morning...#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/local/bin/xo-cli --register --allowUnauthorized --token xxxxxxx http://xxxxxxx for hostuuid in $(xo-cli rest get hosts | grep hosts | awk -F "/" '{print $2}' | awk -F "'" '{print $1}'); do hostnamelabel=$(xo-cli rest get hosts fields=name_label filter="uuid:$hostuuid" | grep name_label | awk -F "'" '{print $2}') echo VMs on $hostnamelabel $hostuuid: /usr/local/bin/xo-cli xo.getAllObjects filter="/^VM$/ \$container:$hostuuid" | grep name_label | awk -F "'" '{print " " $2}' done
And a Cron-Job:
0 * * * * root /bin/bash /root/scripts/ShowVMsOnHost.bash > /tmp/vm-host-list.$(date '+\%Y-\%m-\%d'_\%H-\%M-\%S).txt 2>&1
-
RE: Set OTP seed
@DustinB We are using "local" XOA-accounts, but:
I was able to find the right syntax:
xo-cli user.set id=xxx-xxx-xxx preferences='json:{"otp":"JVTXXXXXXXXX"}'
I am able to set a fixed OTP
-
RE: Set OTP seed
I am using OTP like Google-Auth.
The sticks are working exactly like the Google-Authenticator-App, but I want to set the seed.
What i tried (without success):
xo-cli user.set id=xxx preferences='{"otp":"JVTXXXXXXXXXXXXXXXX"}' ✖ invalid parameters property @./preferences: must be object
-
Set OTP seed
Hi!
I want to use OTP with XOA and Feitian-Tokens.
This is working fine, but currently, XOA does generate the seed/security key.Is there any possibility to add OTP with a pre-defined seed or to setup OTP for a user through xo-cli with a seed?
Thank you and best wishes
Phil Stricker -
RE: XO Backups - Offline Storage Best Practices?
@DustyArmstrong said in XO Backups - Offline Storage Best Practices?:
I suppose I could run a second separate delta job once per week to an external drive that only gets plugged in when that job is due to run, and removed shortly after, should the above be inadvisable.
When you simply mount the "DR-volume" to your XOA, you can immediately assign the backups.
BUT:
If the backup is older than the latest snapshot of your backup-jobs, you have to make a "full-backup" on the next job run (as deltas are always since the last job-snapshot)You can also use the "mirror-job" to fill the disk.
-
RE: VMware migration tool: we need your feedback!
@florent
Thank you for your answer. I am using vSphere 7 with iSCSI-storage.
Can you give me a hint on the "most stable" way to migrate? -
RE: VMware migration tool: we need your feedback!
Hi!
I am still struggeling with the VMWare migration tool.
According to the docs, it should be possible to "warm-migrate" a VM, but when I try to, I am getting errors:
"message": "500 Internal Server Error https://vcenter/folder/InetTS00_U20.04/InetTS00_U20.04-flat.vmdk?dcPath=HZ&dsName=OpenE-2_vmware-1_LUN2",
What is the "right" way to migrate a running VM?
-
RE: Delta Backup Changes Report?
@CJ
I did already think about such a feature. Veeam is doing something like that. If backup time or backup size is much bigger / smaller, than the average of the last three runs, a notification is triggered.I think, this could be possible by parsing the backup logs through REST-API and to analyze them, but I did not yet start to try it...
-
RE: Xen Orchestra API and documentation - Examples
@julien-f said in Xen Orchestra API and documentation - Examples:
xo-cli rest get vms limits=150 ndjson
Hi Julien,
for me, that would be great, if I would be able to add a higher limit than 100 on the cli - ndjson sounds perfect. -
RE: Xen Orchestra API and documentation - Examples
@julien-f
Do you have any idea, what I could do wrong?I am getting:
... uuid: 'abd06f55-8356-ab9f-1cd1-98a7953672d1' }, ... 22 more items ]
no matter, if limit=100 or limit=150.
Everything above 100 seems to give 100.