AC FORUM
Je online prostor určený pro stávající či potenciální zákazníky AutoContu, kteří mají zájem o AC novinky, chtějí čerpat informace z AC blogů či přispívat do diskusí. Mohou zde získat informace z konferencí, prezentací a dalších neveřejných dokumentů.

AC
FORUM

Je online prostor určený pro stávající či potenciální zákazníky AUTOCONTu, kteří mají zájem o AC novinky, chtějí čerpat informace z AC blogů či přispívat do diskusí. Mohou zde získat informace z konferencí, prezentací a dalších neveřejných dokumentů.

×
Blog teaser image

Linux desktop ve virtuálním prostředí

Postup pro nasazení virtuálního desktopu v prostředí Citrix XenDesktop 7.6

Měl jsem možnost vyzkoušet si nasazení virtuálních desktopů s operačním systémem rodiny Linux v reálném prostředí u zákazníka. Jednalo se o kombinaci Citrix XenDesktop 7.6 a Hypervisoru Citrix XenServer 6.5 SP1. Nicméně typ hypervisoru nehraje v tomto případě důležitou roli, postup i výsledek by byl prakticky stejný jako při kombinaci s VMWare vSphere nebo Microsoft Hyper-V.
Rozhodoval jsem se, kterou distribuci OS Linux k virtualizaci zvolím. Zákazník neměl žádnou konkrétní preferenci. Citrix v současnosti oficiálně podporuje dva typy Linux-based operačních systémů :
  • RedHat Enterprise Linux 6.x/7.x
  • Suse Linux Enterprise Desktop 11/12
Oba podporované systémy ovšem nelze brát jako distribuované čistě v modelu open source. První z nich vyžaduje minimálně Self-Support subscription na jeden rok v ceně 49$. Druhý z nich nabízí nejlevnější variantu za 32$ za rok, ale umožňuje i režim kdy je stažení a provoz zadarmo, ale pouze prvních 60 dní. Poté je systém bez podpory a patchingu.
Takže pokud chceme opravdový OpenSource operační systém, musíme se poohlédnout jinde. Ačkoli nemá taková varianta oficiální podporu, technicky lze instalovat VDA Agenta pro Linux na libovolnou distribuci, která používá odpovídají core – tedy RHEL 6.x/7.x nebo Suse 11/12 v kombinaci s odpovídajícím package managementem – RPM. Z RHEL based distribucí lze např. uvažovat distribuci Fedora, Ubuntu nebo CentOS. Z distribucí na bázi jádra SUSE lze využít OpenSUSE.
 

Příprava prostředí Citrix XenDesktop

Jako serverové prostředí musí existovat konfigurovaná Citrix XenDesktop site v úrovni verze 7.6  s aplikovaným Hotfix Update Packem 2 (resp. 3) nebo v nově vydané verzí 7.7. Pokud je site v úrovni verze 7.6 musí být aplikován konfigurační script Update-BrokerServiceConfig.ps1, který je součástí Feature Pack 3. Script upraví konfigurační soubor C:\Program Files\Citrix\Broker\Service\BrokerService.exe.config tak, že přidá tzv. endpoints připravené pro VDA Agenta platformy Linux. Původní soubor je uložen s příponou .prelinux. Script by měl být spuštěn na broker serverech. Postup pro inicializaci scriptu
  • spustit příkazovou řádku v režimu „Run as Administrator“
  • příkaz asnp Citrix*
  • příkaz set-executionpolicy unrestricted
  • příkaz .\Update-BrokerServiceConfig.ps1 –verbose
  • restart služby Citrix Broker Service
Tím je serverová architektura připravena.

Příprava virtuálního stroje s OS Linux

Následující manuál popisuje kroky, nutné ke konfiguraci virtuálního stroje s operačním systémem Centos7. Jako hypervisor je v tomto případě použit Citrix XenServer, nicméně postup by byl shodný i na jiných podporovaných hypervisorech (vSphere a Hyper-V).
 
  1. Instalace operačního systému virtuálního stroje
Na vytvořený virtuální stroj s odpovídajícími HW požadavky pro Centos a aplikace (1vCPU, 1 GB RAM, 40 GB HDD) je instalován Centos7. Instalace na XenServeru má jednu zvláštnost – po ukončení první fáze instalace zůstane konzola virtuálního stroje černá, bez jakékoli odezvy a instalaci takto nelze dokončit. Je to proto, že XenServer 6.5 podporuje v případě CentOS7 PVHVM mode. Tedy Xen-specific paravirtualizaci driverů disku a síťového adapteru bez změn jádra operačního systému a kompletní vynechání Qemu emulace. Tento mód zajišťuje nesrovnatelně vyšší výkon z hlediska diskového a síťového IO. Proto je potřeba spustit následující příkazy v konzoli na úrovni celého hostitelské serveru :
  • xl list ke zjištění ID běžících virtuálních strojů. Je potřeba získat ID připravovaného virtuálního stroje s operačním systémem CentOS7.
  • následně pak příkaz xl console <domID> -t pv , kde <domID> je ID zjištěné v předchozím výpisu, přepne virtuální stroj do emulace PV. Teoreticky se sníží výkon virtuálního stroje do příštího restartu, ale to je v případě přípravy virtuálního stroje nepodstatné.
Ještě jedna poznámka : Souborový systém je potřeba vybrat ext3 nebo ext4, pokud operační systém (např. Suse) podporuje btrfs, nelze ho využít. Instalace se sice dokončí, ale virtuální stroj nebootuje.
 
  1. Je dobré instalovat i XenServer Tools (stejně tak i VMWare Tools). Není to bezpodmínečně nutné, ale pokud instalovány nejsou, konzola XenCenter nezobrazuje přesně verzi operačního systému a výkonnostní parametry virtuálního stroje.  Je potřeba k virtuálnímu stroji připojit xen-tools.iso.
 
mkdir /mnt/xs-tools
mount /dev/sr0(xvdd) /mnt/xs-tools (mountování CD)
cd /mnt/xs-tools/Linux/
bash install.sh                                   (Instalace XenServer Tools)
 
  1. Zajistit, aby byl čas virtuálního stroje synchronizován s Active Directory. Je vhodné vypnout synchronizaci času virtuálního stroje s hostitelským, aby nedocházelo ke konfliktům mezi nastavením daným synchronizací s Active Directory a časem, který je dán hostitelským serverem. V případě, že je hostitelským serverem XenServer, doplní se do souboru /etc/sysctl.conf ve virtuálním stroji řádek xen.independent_wallclock = 1.
V případě, že je hypervisorem VMWare vSphere resp. Hyper-V, vypíná se synchronizace s hostitelským serverem v administrátorské konzoli na konkrétním virtuálním stroji v sekci VMWare Tools resp. Integration Services.
  1. Úprava souboru /etc/hostname
Do souboru /etc/hostname doplňte pouze krátké NetBIOS jméno virtuálního stroje, malými písmeny.
  1. Úprava souboru /etc/hosts
Soubor se musí upravit tak, aby obsahoval pouze odpovídající hostname. Předpokládejme, že hostname počítače je vda01, pak je obsah souboru definován takto :
 
127.0.0.1 vda01.kontoso.cz vda01 localhost localhost.localdomain
localhost4 localhost4.localdomain4
::1  vda01.kontoso.cz vda01 localhost localhost.localdomain localhost6 localhost6.localdomain6
 
 
  1. Instalace prerequsits
    1. Instalace OpenJDK
Java je obvykle již součástí linuxových distribucí, je však nanejvýš vhodné ji updatovat příkazem
sudo yum -y update java-1.7.0-openjdk
Je potřeba nastavit proměnnou JAVA_HOME přidáním řádku do souboru ~/.bashrc :
export JAVA_HOME=/usr/lib/jvm/java
  1. Instalace PostgreSQL
Nejdříve je potřeba instalovat PostgreSQL příkazy :
sudo yum -y install postgresql-server
sudo yum -y install postgresql-jdbc
Databázi je potřeba inicializovat :
sudo postgresql-setup initdb
A nakonec databázovou službu nastartovat :
sudo /sbin/chkconfig postgresql on
sudo /sbin/service postgresql start
  1. Instalace MOTIF
Instalovat příkazem
sudo yum -y install motif
  1. Instalace doplňujících balíčků
Nainstalovat následující balíčky :
sudo yum -y install redhat-lsb-core
sudo yum -y install ImageMagick
  1. Přidání virtuálního stroje do domény
Virtuální stroj s operačním systémem Centos7 musí být přidán do domény, jednak aby komunikoval s broker serverem jako autorizovaný objekt a jednak proto, aby mohl být přidán do Machine Catalogu v Citrix Studio Console jako účet počítače z Active Directory. Pro přidání stroje do domény, musí být instalován jeden z následujících zprostředkovatelů komunikace s AD :
  • Samba Winbind
  • Quest Authentication Service
  • Centrify DirectControl
První z nich, Samba Winbind, je obecně nejrozšířenější, proto se bude postup soustředit na jeho konfiguraci.
 
  1. Instalace Samba Winbind se provádí příkazem
sudo yum -y install samba-winbind \
samba-winbind-clients \
krb5-workstation \
authconfig \
         oddjob-mkhomedir
 
Winbind deamon musí být nastaven pro start při bootu :
sudo /sbin/chkconfig winbind on
 
  1. Následně se provede konfigurace Winbind příkazem :
sudo authconfig \
--disablecache \
--disablesssd \
--disablesssdauth \
--enablewinbind \
--enablewinbindauth \
--disablewinbindoffline \
--smbsecurity=ads \
--smbworkgroup=KONTOSO \
--smbrealm=KONTOSO.CZ \
--krb5realm=KONTOSO.CZ \
--krb5kdc=dc01.kontoso.cz \
--winbindtemplateshell=/bin/bash \
--enablemkhomedir –-updateall
kde je FQDN jméno domény kontoso.cz, NetBios jméno domény KONTOSO a doménové řadiče jsou dc01.kontoso.cz a dc02.kontoso.cz. Proměnné smbrealm a krb5realm jsou case sensitive a obvykle jsou ve formátu upper case. Doporučuju editovat soubor etc/krb5.conf a vytvořit konfiguraci pro krátkou i dlouhou podobu jména REALMu, podobně jako v následujícím příkladu :
 
Soubor etc/krb5.conf
  •  
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
 
  •  
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 default_realm = KONTOSO.CZ
# default_ccache_name = KEYRING:persistent:%{uid}
 default_ccache_name = FILE:/tmp/krb5cc_%{uid}
 
 
  •  
 KONTOSO.CZ = {
  kdc = dc01.kontoso.cz:88
  kdc = dc02.kontoso.cz:88
admin_server = dc01.kontoso.cz:749
  default_domain = kontoso.cz
  •  
 
 KONTOSO = {
  kdc = dc01.kontoso.cz:88
  kdc = dc02.kontoso.cz:88
admin_server = dc01.kontoso.cz:749
  default_domain = kontoso.cz
  •  
 
  •  
 kontoso.cz = KONTOSO.CZ
 .kontoso.cz = KONTOSO.CZ
 kontoso = KONTOSO
 .kontoso = KONTOSO
 
 
Jestliže je v doméně vyžadován DNS-Lookup KDC serverů, musí být v příkazu authconfig použit parametr --enablekrb5kdcdns a --enablekrb5realmdns . Ignorujte chybová hlášení příkazu authconfig, která plynou z faktu, že virtuální stroj ještě není členem domény.
  1. Editace souboru /etc/samba/smb.conf
Do souboru /etc/samba/smb.conf přidat do sekce [Global] řádky
kerberos method = secrets and keytab
winbind refresh tickets = true
  1. Přidání virtuálního stroje do domény příkazem :
sudo net ads join REALM -U user
kde REALM je název realmu definovaného v konfiguraci Winbind (bod 7.2) ve formátu upper case a user je jméno uživatele s právem „Add workstation to domain“. Tedy např. :
sudo net ads join KONTOSO.CZ -U administrator
Poznámka : DNS zóna, která spravuje Active Directory odpovídající realmu musí být konfigurována tak, aby povolovala oba typy DNS updates – Secure and Nonsecure.
  1. Konfigurace modulu Winbind PAM
Modul Winbind PAM musí být konfigurován tak, aby primární metodou autentizace byl kerberos. Musí být editován soubor /etc/security/pam_winbind.conf , do nějž jsou přidány (nebo enablovány odebráním středníku) položky v sekci [Global]
krb5_auth = yes
krb5_ccache_type = FILE
mkhomedir = yes
Nastavení se aplikuje až po restartování služby Winbind příkazem sudo /sbin/service winbind restart
  1. Inicializace kerberos
Příkaz sudo kinit -k MACHINE \$@REALM vygeneruje TGT ticket. V našem případě je příkaz sudo kinit –k vda01\$@KONTOSO.CZ.
  1. Ověření členství v doméně a konfigurace Kerberos
Ověření členství v doméně se dá provést příkazem : sudo net ads testjoin
Ověření konfigurace Kerberos : sudo klist –ke
Zobrazení vydaného TGT ticketu Kerberos : sudo klist
  1. Instalace a konfigurace Citrix VDA Agenta
Na virtuální stroj je potřeba stáhnout nebo z jiného zdroje zkopírovat Citrix VDA Agent pro Linux. Pokud možno v poslední možné verzi (v době psaní tohoto dokumentu je jí verze 1.1.0.240, která je součástí Citrix Feature Pack 3 for Citrix  XenDesktop 7.6).
Instalace VDA agenta se provádí příkazem : sudo rpm -i XenDesktopVDA-1.1.0.240-0.x86_64.rpm
 
  1. Po dokončení instalace se musí spustit konfigurační script příkazem sudo /usr/local/sbin/ctxsetup.sh. Script nastavuje následující proměnné, které je potřeba zadat :
  • CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N . Obvykle ze zadává N , pokud tedy neexistuje v DNS alias odkazující na DDC servery
  • CTX_XDL_DDC_LIST = list-ddc-fqdns . Zadávají se FQDN DDC serverů oddělená mezerou, takže např. :
CTX_XDL_DDC_LIST = cxddc01.kontoso.cz cxddc02.kontoso.cz
  • CTX_XDL_REGISTER_SERVICE = Y | N . Určuje, zda se má automaticky startovat služba při bootu. Zadává se Y.
  • CTX_XDL_ADD_FIREWALL_RULES=Y|N . Přidání pravidel do konfigurace firewall virtuálního stroje. Zadat Y.
  • CTX_XDL_AD_INTEGRATION=1|2|3 . Určuje typ integrace s doménou : 1 = Winbind, 2 = Quest Authentication Service, 3 = Centrify DirectControl.
  • CTX_XDL_VDA_PORT=80 . Určuje registrační port Broker Service. Obvykle 80.
  • CTX_XDL_USER_FORMAT = 1 | 2 . Zadává v jakém formátu je akceptováno přihlašovací jméno. 1 = UPN formát (usrname@domain), 2 = SAMAccountName (DOMAIN\username)
  • CTX_XDL_START_SERVICE = <Y | N> . Určuje, zda se bude služba VDA Agent spouštět automaticky po startu.
 
Po dokončení konfigurace se ověří status služeb ctxvda a ctxhdx příkazy
sudo /sbin/service ctxvda status
sudo /sbin/service ctxhdx status
 
Pokud ctxvda a ctxhdx neběží, je potřeba je nastartovat příkazy
sudo /sbin/service ctxvda start
sudo /sbin/service ctxhdx start   
 
  1. Vytvoření Machine Catalogu v konzoli Citrix Studio
Jako typ operačního systému musí být vybrán Sever OS. LinuxCitrixXD-1-1.png
 
V konfiguraci Power Management je potřeba zvolit „Machines that are not power managed“ a tím pádem i „Another service or technology“. LinuxCitrixXD-2-1.png
 
Tlačítkem „Add computers“ přidat účty virtuálních strojů přidaných do domény podle bodu 7.4. LinuxCitrixXD-3-1.png
 
Na závěr se Machine Catalog pojmenuje. LinuxCitrixXD-4-1.png
  1. Troubleshooting
Pokud se virtuální stroj nezobrazuje v Citrix Studio konzoli v příslušném Machine Catalogu jako registred, neproběhl některý krok správně nebo není některá z komponent v pořádku. V takovém případě je potřeba použít např. tool XDPing for Linux : http://support.citrix.com/article/CTX202015 .
  1. Klonování virtuálních strojů s OS Linux
Citrix XenDesktop prozatím nemá žádný nástroj nebo metodu, která umí klonovat či multiplikovat virtuální desktopy s operačním systémem rodiny Linux, tak jako jsou pro virtuální desktopy s operačním systémem Windows dostupné technologie Citrix Provisioning Services či Machine Creation Services. Je pravděpodobné, že se něco takového objeví v dalších verzích XenDesktop, ale v tuto chvíli se musí postupovat následujícím způsobem :
  • zkopírovat virtuální stroj s konfigurovaným OS a instalovanými prerequsists a VDA Agentem prostředky hypervisoru
  • start kopie virtuálního stroje (za předpokladu, že je originál vypnutý)
  • přidělit odpovídající IP adresu, není-li přidělována DHCP
  • opakovat bod 4 a 5 tohoto postupu (editace souboru /etc/hosts a /etc/hostname  doplněním odpovídajícím jménem stroje) . Restart virtuálního stroje.
  • opakovat bod  7.4 tohoto postupu (přidání do domény)
  • scriptem  sudo /usr/local/sbin/ctxcleanup.sh vyčistit stávající konfiguraci VDA Agenta
  • opakovat bod 9 tohoto postupu (konfigurace VDA Agenta)
  • v Citrix Studio Console přidat nově zkonfigurovaný virtuální stroj do Machine Catologu (vytvořeného v bodu 10) tohoto postupu (odkaz Add Machines v konzoli)
U takto naklonovaných strojů se stává, že se v Citrix Studio Console objevují ve state „Unregistred“, ačkoli je v pořádku jak detekce členství v doméně, tak Kerberos autentizace. Je to proto, že klonovaný virtuální stroj má stále vydaný TGT Kerberos Ticket shodný se zdrojovým virtuálním strojem. Musí se proto počkat na jeho vypršení (až 23 hodin). Po této lhůtě a restartu se virtuální stroj objeví v konzoli jako „Registered“.  
 

Zhodnocení a přínosy

Jak jste si mohli všimnout výše, je s tím docela hodně práce a tudíž je na místě otázka, zda se vůbec vyplatí se tím zabývat. Myslím, že ano a to především z licenčních důvodů. Podle mého názoru je licenční politika Microsoftu největší brzdou rozvoje desktopové virtualizace. K tomu, aby mohl být provozován libovolný podporovaný desktopový operační systém rodiny Microsoft Windows, musí být jednak vlastněna jeho plná licence (ne OEM) plus jako OPEX přibývá výroční platba Microsoft VDA licence ve výši 99 USD. Kdo má zájem jít do modelu, kdy každoročně zaplatí polovinu pořizovací licence operačního systému ?
Jistě, náklady je možné přesunout do CAPEX nákupem licencí se Software Assurance za téměř dvojnásobnou cenu, čímž lze získat další výhody jako je třeba volný upgrade v průběhu platnosti assurance (obvykle tři roky), ale i tak je taková vstupní investice obtížně obhajitelná.   
Proto se již vyrojily takové konstrukce, jako je nasazení serverového operačního systému v roli desktopu, využívající možnosti nasazení libovolného počtu virtuálních strojů se serverovým OS v rámci licence MS Windows Server DataCenter Edition zakoupené na každý obsazený CPU socket hostitelského serveru. Je to sice legální, ale ne úplně košer. Je jen otázkou času, kdy tomu MS učiní přítrž, ať už ve formě úpravy EULA nebo donutí Citrix (či VMWare) , aby byla znemožněna instalace desktopového virtualizačního agenta na serverovou platformu. Tak či onak, tento model je stejně vhodný jen pro malá nasazení, dejme tomu s jedním či dvěma hostitelskými servery. S rostoucím počtem hostitelských serverů se totiž zvyšují i náklady na licence MS Windows Server DataCenter Edition, což rozhodně není zanedbatelná položka.
Zkusme se zamyslet nad jinou konstrukcí – potřebují opravdu všichni uživatelé desktop s operačním systémem Windows ? Grafická prostředí současných linuxových distrubucí - KDE a zejména GNOME již dosahují uživatelské přívětivosti MS Windows. Nevím kolik je na tom pravdy (nicméně to u sebe potvrzuji !), prý běžný uživatel používá tak 20% funkcí, které nabízí kancelářský balík MS Office. Tudíž na běžnou agendu může bohatě postačovat i OpenOffice či LibreOffice. Pouze v explicitním případě, kdy jsou potřeba aplikace dostupné pouze pro platformu Windows, mohou být tyto spouštěny jako publikované aplikace z XenApp serverů.
Takže si představme typického adepta na takový model – organizace (např. úřad samosprávného celku nebo škola) , která již dnes používá Linux jako dominantní desktopový operační systém. Ráda by však řešila snížení nákladů na koncová zařízení jejich náhradou za tenká zařízení plus prodloužením životního cyklu zastaralých koncových zařízení. Současně chce (nebo již provozuje) prostředí serverové virtualizace a Active Directory.  
Virtuální desktopy s operačním systémem Linux hodlám zprovoznit v labovém prostředí dostupném z Internetu jako https://mad.autocont.cz . Kdo má zájem si takový desktop vyzkoušet, ať mi napíše a já zašlu přístupové údaje. Alespoň tak zmapuji zájem, sesbírám náměty a ohlasy.
 

Komentáře

13.06.2017 3:33:17mjwkrjxjl

YMijFlFGpUTdMjk

6GWsa7 <a href="http://jkqlipwcblyj.com/">jkqlipwcblyj</a>, [url=http://bfzjvnxnedzj.com/]bfzjvnxnedzj[/url], [link=http://xdffxnuygwep.com/]xdffxnuygwep[/link], http://tlljjmwwixzv.com/