利用citrix xenapp and xendesktop建立你的雲桌面


本文關鍵字:雲辦公。真正可用的個人雲桌面,雲下載雲播放。GPO dns,xendeskop storeweb無法完成您的請求

其實雲電腦桌面,虛擬桌面vdi,瘦客戶端這樣的東西出現很久了,只是它們從來沒有像今天的疫情時代一樣讓人對他們更為關注。一般來說談到雲電腦人們都會想到最初的vps,正如談到雲桌面這個人們會想到遠程桌面這個工具層面的東西一樣,但其實雲桌面與辦公,可以是內涵和外延很廣的東西,比如虛擬化這些東西結合起來,造就了一些專門做vdi的公司,如vmware,pd,citrix,(citrix很早就提出了BYOD,帶着你的設備辦公的理念。它的xenapp and xendesktop產品就是vdi產品,當然citrix不止這個產品,它還有虛擬化全套,和workspace雲工作台這樣的東西-類似釘釘,slack)同類產品是vmware的view。。越來越多的雲服務商開通了它們的雲桌面,雲手機產品。,,還有很多。

只是雲電腦用於生產力和異地辦公,甚至發展普及到個人使用代替實體電腦的程度,需要解決很多問題。相信誰都嘗試過用一般的雲主機和一般的遠程桌面辦公,用雲電腦,性能和速度,成本,都是大問題。gd5446顯卡的雲機在遠程桌面下打開有flash的網頁,鼠標寸步難移,對於多媒體應用,有點接近雲游戲的實現難度了,可是我們知道,現在這個時代,5G才剛剛開始,雲游戲還沒有被普及。

citrix,是如何盡可能在現有條件下克服問題的,又達到什么樣的成果?citrix中的app,xdesktop,使用一種ica的協議。這種協議可以工作在惡劣的帶寬環境中,極大利用帶寬,而且可以實時多媒體(類似雲游戲的那種),可以打視頻電話等,體驗接近普通本地辦公電腦,簡直可以類比虛擬機界中的pd(pd的遠程桌面也做的不錯可以發布remote app),雲存界的icloud+icloudriver(其算法十分穩健體驗好。比如刪除中同步,單用戶范圍內秒傳)。協議加速是一方面,另一方面,雲電腦的技術實際就是pve虛擬化那套,加spice+virtiogpu顯卡虛擬加速化那套(當然還有其它跨網絡的GPU虛擬化方案)即vdi技術。

反正我是懷疑這效果,所以我看了下阿里雲的雲桌面產品,阿里的雲桌面稱為圖形工作台,按量測試,先開通集群,然后開通實例,只在杭州h區i區有機器,系統是windows 10 2019srv based on ltsc,最低2h2g的機器,看看顯卡驅動,是qemu -vga std虛擬出來的機器,當然也有用vgpu顯卡的。硬盤也是virtue scsi,非blk(我的裝黑果文章中,用這種顯卡會更兼容,裝黑果失敗了所以我來折騰citrix windows了),集群和實例都收費,集群更貴阿0.71元一個小時。先看效果。帶寬給足的情況下,效果居然還可以,播放高清視頻和本地差不了多少,也沒有出現開flash網頁鼠標飄飄的情況!可做小型雲下載雲播放系統。

這部分費用產生在哪?,citrix是一個分布式結構,講究擴展和性能,部署在多機環境,基本大量使用windows的基礎設施來構建自身(比如用windows的身份機制,用windows的iis,用windows的數據庫,需要配合windows域控,iis,selserver一起工作,很吃內存),一般使用多台windows server來構建服務器集群(也有linux版的Citrix),服務器有二大件:desktop delivery controller(DDC,其中又分幾個小件,其中有Delivery controller業務核心,Licensing Server認證服務器,studio,storefront這二配置工具,citrix director組件。)和virtual delivery agent(VDA),virtual delivery agent就是安裝在按量機中的程序,服務器的主要部分delivery controller是安裝在阿里雲別的服務器上的 ,感情阿里雲是在這里建立了各種delivery controller服務器,與citrix授權一起產生租費的(citrix收費的方式是訂閱制),然后通過某台阿里雲稱為gws的域服務器(暫且這么命名吧)作認證透出服務,我們可在網卡dns處找到它172.16.0.2xx,

現在我們來考慮自建所有的服務器自測效果,如果自己建的也能達到差不多的效果,證明citrix是高度可用的,citrix的授權有30天的免費期可以拿來測試。我重新開了2台港區按量2H4G裝的win2019 datacenter with ui,港區網絡有時好有時壞,方便長時間看綜合效果,,

1台2C4G測試機上安裝通用服務器(域控,mssqlserver)和ddc業務服務器並配置,相當於gws

這部分服務器程序在新裝機器上,包括os在內約占2G多啟動內存,隨着運行會占更大內存。因此需要一個4G左右的機器。且Delivery controller是(業務核心)組件,生產環境按接入的用戶數,基本上4G為起步。如果內存不夠且是ssd機,手動加大虛存嘗試。我開的4G。

先處理下服務器,,計算機名修改為ddc,表示這里安裝的是通用windows servers程序和ddc服務器。方便辨認,計算機名也有講究,licensing server用它跟citrix注冊,因為這台測試機器要作為許可服務器在內的服務器,許可的主機會使用主機名向ctirix注冊。本機如果有域先脫域(系統屬性,計算機名修改處,從當前域轉為WORKSPACE工作組,這樣就脫域了),注意,如果ping localhost得到結果是你的windows用ipv6 ::1表示域名,那么添加REG_DWORD值16進制,HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents,設置成20,重啟這樣ipv4就好了。dns為自動獲取。

把官方按量機中的用戶目錄/下載中的二個文件citrix_virtual_apps_and Desktops_7_1912.iso和citrixcqi.msi復制過來(citrix專屬驅動就復制不過來了)。其內就是主要的服務端安裝文件了(也有客戶端receiver for Windows and osx,在客戶端,我們要使用到的就是其workspace app中的->receiver中的->viewer,注意到receiver 和delivery 是一對相反詞)。打開iso,從iso復制出來安裝文件夾到桌面,安裝期間幾次要重啟計算機再繼續,如果直接使用iso安裝會失去掛載。

———
PS:如果你這台機器性能不夠,其實你可以在這里僅安裝dc,而把licensing server,studio,和storefront。甚至域控,都放在域內另外一台機安裝,或者把許可服務作為通用服務放到域內另外一台機中去,為了達到動態組裝,擴展,性能,這也是生產環境中推薦的方式,ddc不能在一台域控上安裝只能在一台域成員上安裝,除非你先裝DDC再裝域控,因為安裝程序的邏輯是:當它發現本機有域控,就不能安裝Delivery controller 和virtual delivery agent。至於mssql,它是可以跟域控一起裝的,我們這里也是這樣做的,雖然install sqlserver on a domain controller is not recommended。
我們的測試是域控,mssql,ddc全裝在這台機。
———

執行autoinstall,安裝DDC,組件統統選上除了Director(在安裝程序的邏輯中,以上都可以部分安裝,directer可選安裝,),選上sqlserver,安裝程序建議5g,要開的端口會提示你許可證服務器7279,27000,80828083,Dc:80,89,443,Storefront:80 443,統統在服務端防火牆處放行,最后發送珍斷信息不要勾選,因為你是在本地用戶下安裝,非域下,安裝完窗口末尾有一行提示”本機需要域才能配置DDC”。ddc安裝完后,如果需要新添組件,可以通過programfiles/XendesktopServersetup/xendesktopserversetup.exe修改,需要保留安裝程序文件夾。

現在安裝域控,windows域控相當於osx server的部署描述符文件,服務器管理中添加角色和功能,,基於角色或基於功能的安裝,選擇ad目錄域服務,接下來功能就不用選了,勾“如果需要,重新啟動服務器。”部署后黃色嘆號處需要配置,將此服務器提升為域控制器,添加新林,域名填ctx.srv。表示,這是一個citrix用處的srv的集群,這是域的內網根域名(整體很容易理解:這是一個命名為ddc,以ctx域林為根,自身為控域的域成員,使用的內網dns邏輯是xxx.xxx.srv,避免使用com那些結尾的域名,如果有人注冊了這個com,就會登錄到它的服務器,所以這里還是不用com的好),域名系統服務器全局編錄,林功能級別保持為server 2016,netbios域名默認CTX。無法創建dns委派,略過,會自動重啟,本地adminstrator會變成域用戶主機會變成ddc.ctx.srv,下次登錄不到本地administrator,只能用域邏輯登錄。因為是域控,不可能再作為本地機器登錄了。ctx/administrator自動也是本地管理員組。設置domain policy,讓域內主機自動配置。比如如果你想讓域內主機都不用按ctlaltdel登錄,需要在計算機管理,組策略中找到域,default domain policy,計算機配置,策略,windows設置,安全設置,本地策略,安全選項,交互式登錄,由沒有定義改成已啟用。

————
Ps:我們手動設置下mssqlserver,以免配置時等待過長。讓sqlserver工作在域上使用ctx/administrator logon,默認安裝方式下給你的logon帳號是nt認證built in network service,網絡是tcpip enable, tcp all使用動態端口。這種方式下等待過長。

事實上mssql不推薦安裝在域控上,如果你要接入另外的域機器上的mssql,需要那台機器上的實例選擇了“混合模式”驗證身份登陸,這樣才可以順利的進行接下來的遠程連接。。Services account用CTX/administrator,密碼填上。auto startup type。安裝完后,開始菜單打開SQL Server configure manager, network configure, 找到實例for sqlexpress的protocols,tcpip enable,給於所有ip,enable,yes,端口1443,特別注意ipall也要1433,同樣在這個窗口,去SQL Server services那里右擊restart一下,windows防火牆里放行。打開防火牆→高級設置→入站規則→新建規則→選擇C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn\sqlserver.exe,如果你的防火牆關的,不用去理這步。
————

現在來配置,使ddc和vdc運行起來。現在開始在studio中配置(如果登錄的不是域用戶無法繼續),打開studio,交付應用程序和桌面,創建站點的交付控制器開始,,使用30天免費訂閱(也可以在這里選擇授權文件安裝,也可在localhost8082處進行,這時,主機名就會影響往citrix注冊),選擇空配置,並輸入站點名稱default,studio,storefront等要用到sqlserver信息,如果是連接外部域主機,三個位置都填”mssql域主機名,1433“,提示沒有權限,使用同域的ctx\administrator繼續,連接,正在生成數據庫架構。正在創建storefront群集,完成。如果你使用內存有限的機器,配置服務階段會卡很久。

第一個站點建好了。可以在內網直接用瀏覽器加html5查看,但無法連接遠程桌面,因為站點中沒有遠程桌面或app定義,在storeservice可以看到http://ddc.ctx.srv/Citrix/StoreWeb/,,這稱為receiver for web站點。進去但是里面是沒有任何程序的。配置成公網訪問,會在iis管理器default site處添加一個https443段在http段下,進去storeweb一樣是空的(實際上添加一個citrix gateway)。我們來安裝vda(同樣會產生一個有定義的Citrix gateway).

再添加一個domain用戶,為接下來加入域的vda計算機用,active directory用戶和計算機處,找到ctx.srv,computers,添加minlearn@ctx.srv,不能改密碼永不過期,默認就是domain users組。

第二台2C4G測試機上安裝配置vda,桌面服務器,用客戶端連接,運行

這次安裝DC本身,如果你是同一個鏡像恢復過來的系統,要去windows/system32/sysprep/下執行sysprep.exe。進入系統全新體驗oobe確定重新生成一個sid.這部分僅是一個代理占內存不大。但卻是桌面應用所在的地方。當然性能也是越高越好,僅上網使用瀏覽器的話2G吧。

————
ps:Ddc不推薦與vda所在服務器整合,我們的測試也采用分開機制,Delivery controller中的Delivery controller組件是桌面分發的上層服務器,VDA是桌面分發的下層服務器,這個也算服務器,只要receiver才是最終客戶端。生產環境中這二者往往裝在不同機器上。citrix本身就是面向licensing to 500+ 機器起步的,況且不好直接拿服務端讓人家遠程進來吧?
況且如果你把ddc,vda安裝到一台機去了。登錄StoreFront后,會顯示“無法完成您的請求”
————

dns設為前面win主機的內網ip,准備加入域ctx.srv。系統屬性計算名中,先給這台機器主機名叫vda,表示這是vda所在服務器,將這個機器由組切換加入域,重啟用第一個服務器上的ctx\minlearn用戶登錄,,整個機器域名會變成vda.ctx.srv,因為這不是域控服務器本地administrator會保留,minlearn用戶在本地權限是受限制的,在域用戶下,訪問設置會出現沒有權限或找不到,無法訪問本地設備等情形,這要針對找到那個資源或設置條目,執行,通過開始菜單中的windows管理工具找,不要直接開始,設置。改dns,要控制面板,網絡和internet,網絡連接,解決這種問題需要在域控處一一設置權限。但是我們在本地提升它為管理員也可以,注銷切換到本地administrator,在administrator下,本地計算機用戶組管理,把ctx/minlearn升為本地administrator組,要先保證dns為域ip哦。

把安裝文件拷過來,一樣的方式安裝VDA,receiver也要安裝,因為我們呆會要本地測試一下,啟用與服務器的中轉連接,組件全不選,功能選一定選上實時音頻,防火牆規則都是自動80,1494,2598,8008,1494udp,2598udp,16500-16509udp,,期間會提示遠程桌面模式尚未配置(跟其它服務器一樣,vda也包裝了windows的會話主機當服務器使用),還有119天過期,略過,過程中需要注冊到DDC,填ddc.ctx.srv,安裝,發送珍斷信息不要勾選。后期可以通過programfiles/Xendesktopvdasetup/xendesktopvdasetup.exe修改vda向ddc注冊的參數。驅動管理器中發現新裝了很多citrix相關的虛擬設備和驅動,主要是io設備。

————
PS:DDC與VDA也有一個高可用模式,允許recevier直接與ddc通訊:
虛擬桌面的代理VDA默認是與DDC之間每5分鍾通信一次的啦,所以如果DDC都掛了情況下,VDA和DDC之間的通信就會出現問題。
如果 XenDesktop 站點中的所有 Delivery Controller 均出現故障,可以將 Virtual Delivery Agent (VDA)配置為在高可用性模式下運行,以便用戶可以繼續訪問和使用他們的桌面。 在高可用性模式下,VDA 將接受來自用戶的直接 ICA 連接,而不是由控制器代理的連接。這樣就可以做到在DDC都掛了情況下依然繼續使用虛擬桌面喔。就這是VDA的高可用模式。
不過我沒有測試高可用模式。
————

繼續返回第一台機配置。Studio中創建計算機目錄,多會話操作系統,未進行計算機管理的計算機,其它服務或技術,添加計算機,計算機目錄是安裝了vda的計算機的目錄,這里填vda.ctx.srv,添加一個交付組,帳號使用ctx\minlearn。

再次訪問https://你的公網ip/Citrix/StoreWeb/發現有內容了,點擊會引導你下載windows activex控件,或workspace客戶端(其實我們只是使用workspace中的view來遠程桌面,真正的workspace是一個工作流聚合程序)。我們的目標是使用客戶端連接而不僅是瀏覽器。打開workspace,添加服務器地址,賬戶為域內minlearn。

成功!效果嘛,暫時看還是可以的。。

———

我后來用2台1h2g的輕量代替上面的測試方案,1台代替方案中的1-dc,studio,storefront(也即,僅保留ddc中的許可),1台代替方案中的2+studio,storefront(把除許可外的其它ddc部件移到這)。把非核心和核心服務器分開,做一個個人最低費用的且可用的vdi 集群(二台1h2g港輕量68元/月,三年是接近2000,其實我理想中的終端價格應該是>500-800元/一年,因為一般手機電腦3年就壞了,3年投入1000-2000是我的心理價位。雲主機雖然不是終端還有雲帶寬,但價格下完全可以拿來類比)可是第二台機應該2h4g才好用。

Studio用來連接ddc,配置完后可以刪掉?需要改動時再次連接就是。

也嘗試過上面擴展中的2,3做成按需,和嘗試過把按需ecs打造成關機0收費無盤網啟系統節省費用,但最終證明這個是做不到的。


(此處不設回復,掃碼到微信參與留言,或直接點擊到原文)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM