Migrating from XCP-ng Windows guest tools to Citrix
-
@bberndt Autoreboot works, but one issue is that you don't have policy-based control over when it reboots (unlike Windows Update). If that's important for you I'd recommend applying the guest agent+driver updates during a dedicated patch window, and setting the VMs to autoreboot only during that window.
I'd very much appreciate having people use the new XCP-ng drivers (which are stable & reliable despite the current lack of Microsoft signatures, and come with a few nice extras) but I get that it's not always possible. Without the necessary Microsoft hardware accounts it's hard to give a concrete timeline, but I'd like to believe it'll happen soon.
-
Will have to think more on this. We do have a a domian policy for Windows Updates, that mostly works; it never seems to work as intended. In any case, if a Citrix driver is updated, with the registry setting set, it will reboot x number of times? (3 is suggested I believe)
Wish there was a bomb proof method. Just this morning I came to office to find half the building down, because MS decided to push a Citrix update last night, and the DHCP server was down, until I rebooted the VM from the console once more. ;( -
can you please confirm this is as expected.
Started a new Windows 2019 Eval edition (what I had handy, I assume 2022 is similar)
installed XCP-ng 8.2.2 open source guest tools.
ran windows update to get windows up to date.
Used the xenclean script to remove XCP-ng Tools tools.
Installed Citirx guest tools : Management agent, drivers version 9.4.0; told to NOT update drivers through agent (installed the older one, so as to see it update on its own)
set registry value Autoreboot to 3.
shut down
Set VM to use Windows Update in XO advanced settings.
Started VMRan windows update, it found latest drivers. and then -I- rebooted when told to.
Windows booted as expected. Shortly after -it- rebooted again once more
(the '3' is a Max reboot?)Control panel, software and features still say Xen Tools 9.4.0 (old), but the individual drivers:
XenServer PV Network Device: 9.1.7.65 (old, and current)
XenServer PV Storage Host Adapter 9.1.8.79 (old)
XenServer PV Bus 9.19.105 (old)
XenServer PV Bus (C000) 9.1.11.115 (current)
XenServer PV Network Class 9.1.2.101 (old) -
@bberndt Things sound OK to me. Are you looking for an update procedure?
With Windows Update, some drivers won't be installed automatically but will be available in Optional updates instead.
-
@dinhngtu We have a Domain Policy that is intended to update and reboot on a set schedule. I didn't see more drivers in Optional Updates. I don't see Optional Drivers at all, as a section in the Windows Updates panel, maybe because its done in the Policy. I -have- seen this in Windows 10/11.
-
@bberndt said in Migrating from XCP-ng Windows guest tools to Citrix:
XenServer PV Bus 9.19.105 (old)
Could you confirm which driver/device this was? It didn't look right.
Also, are you pulling updates through WSUS or something similar? Normally Windows should be able to update all the PV drivers on its own.Otherwise, in a fresh Windows installation the drivers gotten from Windows Update are as following:
- Bus 9.1.11.115
- Interface 9.1.12.94
- Network Class 9.1.13.107
- Network Device 9.1.7.65 (old, but normal; there's been no updates to this driver since)
- Storage 9.1.9.82
Rolling back to older drivers then running Windows Update got me the newest drivers as expected.
-
@dinhngtu said in Migrating from XCP-ng Windows guest tools to Citrix:
XenServer PV Bus 9.19.105
Notice the other XenServer PV Bus (C000), this one is the current version compared to Citrix release page. Another test server I set up, and installed the latest Citrix installer 9.4.1, and it has a Xenserver PV Bus (002), and one (C000). We are not using WSUS at all. This is on Server 2019.
-
@bberndt It's normal to have 2 PV Bus devices if you have the "driver via Windows Update" VM option enabled, but I don't expect them to have different driver versions. Is the C000 device the active one? (you can see with View - Devices by connection) Maybe the non-C000 device didn't get the update due to it not having an update-tagged device ID.
-
@dinhngtu
Tried to get everyone in the same screen shot here.the 'older' one has the subtree under it,.
-
@bberndt That's really odd. What does Update Driver say? I'll try to ask the XS driver maintainer about it.
-
@dinhngtu
says none found, and asks to go to windows update, which says im up to date. Further up in this thread, I tried to recall my exact procedure. I suppose I can't say the group policy isn't doing something, but it just setting the date and time (wednesdays) to run once a week, and the deadline is to reboot Saturdays, 3 days later. -
@bberndt Okay, I managed to reproduce your situation. I think it's because the "driver via Windows Update" option was enabled after installing the XS drivers, which caused the drivers to lock onto the non-C000 device and prevent updates from coming in.
Normally, XenClean should be able to fix the situation. But if you want to fix things manually, or if things still don't work (C000 is still not active), here's a procedure that should fix the problem:
- Take a snapshot/backup/etc.
- Keep a note of static IP addresses (if you have any; there's a chance those will be lost). You can also use our script here: https://github.com/xcp-ng/win-pv-drivers/blob/xcp-ng-9.1/XenDriverUtils/Copy-XenVifSettings.ps1
- Reboot in safe mode and disable the non-C000 device.
- Reboot back to normal mode; it'll ask you to reboot a few more times.
- The C000 device should now be active and you should be able to get driver updates again.
- (Optional) You can now enable and manually update the non-C000 device (Browse my computer - Let me pick).
-
Updated with working procedure. (tl;dr XenClean should fix this)
-
I did it that way so as to get the old Citrix driver first, and then let it update and watch it reboot. That was my logic anyway.
@dinhngtu said in Migrating from XCP-ng Windows guest tools to Citrix:
@bberndt Okay, I managed to reproduce your situation. I think it's because the "driver via Windows Update" option was enabled after installing the XS drivers, which caused the drivers to lock onto the non-C000 device and prevent updates from coming in.
Normally, XenClean should be able to fix the situation. But if you want to fix things manually, or if things still don't work (C000 is still not active), here's a procedure that should fix the problem:
- Take a snapshot/backup/etc.
- Keep a note of static IP addresses (if you have any; there's a chance those will be lost). You can also use our script here: https://github.com/xcp-ng/win-pv-drivers/blob/xcp-ng-9.1/XenDriverUtils/Copy-XenVifSettings.ps1
- Reboot in safe mode and disable the non-C000 device.
- Reboot back to normal mode; it'll ask you to reboot a few more times.
- The C000 device should now be active and you should be able to get driver updates again.
- (Optional) You can now enable and manually update the non-C000 device (Browse my computer - Let me pick).