VMware Horizon 8 (2111) – Ubuntu 20 Instant-Clone Base Image ve Desktop Pool Oluşturma

VMware Horizon 8 (2111) – Ubuntu 20 Instant-Clone Base Image ve Desktop Pool Oluşturma

Merhaba arkadaşlar,

Bu anlatımımda sizlere Horizon’da instant-clone olarak ubuntu 20 çalıştırmak için base imaj oluşturmayı anlatacağım. Daha önceki anlatımlarımda Horizon 2006 versiyonunu kullanmaktaydım ama log4j açıklarından dolayı 2011 versiyonuna upgrade ettim. O yüzden bu versionda artık Ubuntu 20 desteklendiği için imajı Ubuntu 20 olarak oluşturacağım. Yapılacak işlemler ubuntu 18 versiyonunda da aynıdır.

Horizon ile ilgili diğer yazılarıma göz atmak isterseniz alttaki linkten erişebilirsiniz:

ilk aldım imaj olarak kullanacağınız ubuntu 20 sanal makine oluşturmak olacaktır. Ben kurulumumda “ubuntu-20.04.2.0-desktop-amd64.iso” imajını kullandım.  vCenter tarafında İşletim sisteminizden en çok nasıl performans alıyorsanız o ayarları yapmanız yeterli olacaktır. Sadece dikkat etmeniz gereken benim kullanımımda çıkan bir sorun var. Sanal makine oluştururken ubuntu 64 seçtiğimizde SCSI controller varsayılan olarak vmware paravirtual gelmektedir. Onu LSI Logic Parallel seçmezseniz vdi makinesi boot olmayabiliyor. Sonra da video card’ın Total video memory limitini yükseltmenizi öneririm. Ben 4K görüntü de alabilmek için 128 MB yaptım. 

Ubuntu 20 sanal makinenizi oluşturduktan sonra içerisine her oturum açtığınızda varsayılan olarak yüklü gelmesini istediğiniz yazılımları yüklemenizi tavsiye ederim. Bu sayede her girişinizde onları yüklemek zorunda kalmayacağınız için zamandan tasarruf edebilirsiniz. Ben chrome ve pycharm gibi yazılımları yükledim.

Şimdi sıra imajı uygun hale getirme işlemlerinde. Alttaki komutları çalıştırarak sunucumuzu en güncel hale getirip gerekli paketleri yüklüyoruz:

sudo apt update
sudo apt install openssh-server python python-dbus python-gobject open-vm-tools-desktop liburiparser1 -y

Bu adım opsiyoneldir. Eğer kullanıcılar oturum açtığında sudo olmasını istiyorsanız yapınız. aksi taktirde bu adımı atlayabilirsiniz Açıyoruz:

sudo nano /etc/sudoers

Bul:

root    ALL=(ALL:ALL) ALL

Altına ekle:

ALL ALL=(ALL) NOPASSWD: ALL

Alttaki gibi görünmelidir:

Açıyoruz:

sudo nano /etc/pam.d/common-session

Ekle:

session [success=ok default=ignore]     pam_lsass.so

Aç:

sudo nano /etc/vmware/viewagent-custom.conf

Ekle:

OfflineJoinDomain=pbis 

Otomatik güncelleştirme kontrolünü kapatıyoruz:

Ardından horizon agent yükleme işlemine giriyoruz. tar dosyasının bulunduğu dizine gidiyoruz ve çalıştırıyoruz. Dosya isimleri farklılık gösterebilir. Son komut ile yeniden başlat yapıyoruz:

tar -xvf VMware-horizonagent-linux-x86_64-2111.1-8.4.0-19066680.tar.gz
cd VMware-horizonagent-linux-x86_64-2111.1-8.4.0-19066680/
./install_viewagent.sh -A yes
sudo reboot

Şimdi de ubuntu makinemizi domaine dahil edebilmek için gerekli paketi indiriyoruz ve sırasıyla komutları çalıştırıyoruz:

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh
sudo chmod +x pbis-open-9.1.0.551.linux.x86_64.deb.sh
sudo ./pbis-open-9.1.0.551.linux.x86_64.deb.sh

pbis’i de yüklediğimize göre makinemizi domaine alabiliriz. zaten ne yapmamız gerektiğini alttaki çıktıdaki gibi sizlere göstermiş olması gerekiyor:

Installing Packages was successful

New libraries and configurations have been installed for PAM and NSS.
Please reboot so that all processes pick up the new versions.

Run domainjoin-cli to join a domain to allow log on with Active Directory
credentials. domainjoin-cli will prompt for missing parameters.
Run domainjoin-cli --help, or man domainjoin-cli for more information.

Example:

/opt/pbis/bin/domainjoin-cli join MYDOMAIN.COM MyJoinAccount

Biz de MYDOMAIN.COM yazan yere domain adresimizi, MyJoinAccount bölümüne de hangi kullanıcı ile domaine dahil edeceğimizi yazacağız:

/opt/pbis/bin/domainjoin-cli join MYDOMAIN.COM MyJoinAccount

işlemleriniz alttaki gibi görünmelidir.

Sonra alttaki komuları çalıştırıyoruz. Kırmızı ile işaretlediğim yeri domain adresiniz örneğin test.local ise sadece test yazınız. abc.xyz ise sadece abc yazınız:


sudo /opt/pbis/bin/config UserDomainPrefix DEĞİŞTİRİN

sudo /opt/pbis/bin/config AssumeDefaultDomain true
sudo /opt/pbis/bin/config LoginShellTemplate /bin/bash
sudo /opt/pbis/bin/config HomeDirTemplate %H/%U

İmaj oluşturma işlemlerimiz tamamlanmış bulunmaktadır. Şimdi imajımızı pool olarak horizon’a ekleyeceğiz. Sanal makinemizi kaatıyoruz ve bir adet snapshot alıyoruz:

Snapshot oluşturma işlemi bittikten sonra Horizon admin panelinde Inventory-> Desktops bölümüne gidiyoruz ve Add butonuna tıklıyoruz:

Automated Desktop Pool seçip Next diyoruz:

vCenterımızı ve Instant Clone seçip Next diyoruz:

Burada varsayılan olarak Dedicated gelmektedir. Ben Floating seçiyorum. Aralarındaki fark Floating’te bir kullanıcılar, her oturum açtıklarında masaüstü havuzundan rastgele seçilen makineleri alacaklardır. Dedicated’ta kullanıcılar, masaüstü havuzuna her giriş yaptıklarında aynı makineleri alır.

Next diyoruz:

Alttaki gibi doldurarak Next diyoruz:

Alttaki gibi dolduruyoruz. Eğer Enable Provisioning işaretlemezseniz Pool’u oluşturursunuz ama makineler oluşturulmaya başlamayacaktır. Use a Naming Pattern işaretleyerekte oluşan VDI makinelerinin vCenter’da nasıl isimlendirileceğini belirliyoruz. “VDI-Ubntu20-{n:fixed=3}” şeklinde yazarsanız VDI-Ubntu20-001 , VDI-Ubntu20-003, VDI-Ubntu20-004… şeklinde makinaler oluşacaktır. Maximum Machines bölümünde de kaç tane hazırda makine tutacağımızı belirliyoruz. Next diyoruz:

Şimdi bir kaç adım önce oluşturduğumuz imajı ve aldığımız snapshot’ı seçiyoruz. Golden Image in vCenter bölümünde browse butonuna bastığınızda imaj makineniz çıkmıyorsa snapshot almayı unutmuş olabilirsiniz. o bölümde vcenter’da snapshotı bulunan tüm makineler görünecektir. imaj makinemizi seçtikten sonra Snapshot bölümünde browse tıklıyoruz ve aldığımız snapshot’ı seçiyoruz. Ardından VM Folder Location bölümünde makinelerin deploy edileceği klasörü seçiyoruz. Cluster ve Resource Pool bölümünde de vmware cluster’ımızı seçiyoruz:

Altta istediğiniz ayarları yapabilirsiniz. Her şey çok açık zaten. Dikkat edeceğiniz nokta Log Off After Disconnect bölümü. Immediately seçersek kullanıcı disconnect olduğu an sanal makine silinecek ve tekrar bağlandığında direkt olarak 0 makine verilecektir. Never seçerseniz kullanıcıya her zaman aynı makine verilecektir. After seçerseniz oraya kaç dakika yazarsanız o kadar süre makine bekletilecek, sonra silinecektir.

Next diyoruz.

AD Container bölümünde sanal makineler domaine dahil edildiğinde nerede bulunacaklarını seçiyoruz:

Submit diyoruz: İsterseniz Entitle Users After Adding Pool bölümünü işaretleyip provizyonlama bittikten sonra kullanıcılara erişim yetkisi verebilirsiniz.

Şimdi De Entitlemets’a tıklayıp Add entitlemets diyoruz. Bu işlemde hangi kullanıcılara erişim vereceğimizi seçiyoruz:

Tekrar add diyoruz:

Yetki vermek istediğimiz kullanıcı ya da gruba bulup seçiyoruz:

Yekimizi de verdik. Şimdi de horizon client ile CS’e bağlanıp deniyoruz. Makinemize Ubuntu20 ismini vermiştik. Gördüğünüz gibi listeleniyor:

Şimdi 2 kere tıklayıp bağlanmayı deneyelim:

Gördüğünüz gibi işlem tamam. Bir daha ki anlatımda görüşmek üzere…