Host requires encryption mode enabled hatası ile karşılaşmanız durumunda yapmanız gerekenleri anlatmaya çalıştım sizlere.
Bir ESXi sunucu şu uyarıyı veriyor ise (Host requires encryption mode enabled) yapmanız gerekeler aşağıda sıralanmıştır.

Sorun açıklaması;
- Bu, aşağıdaki durumlarda ortaya çıkabilir:
- Şifrelemesi etkinleştirilmiş bir ESXi sunucuyu yeniden başlattıktan sonra veya ESXi sunucu Şifreleme Modunu etkinleştirdikten sonra,
- Bir ESXi sunucuyu sürüm yükseltmesi sonrasında yaşanabilir.
- KMS bağlantısı sağlıklı ve ortamdaki diğer ESXi sunucular şifrelemeyi sorunsuz bir şekilde kullanmaya devam etmesi durumunda.
Hatanın oluşma nedeni:
Bu sorun, ESXi sunucu ile vCenter Server arasındaki şifreleme anahtarı bilgilerindeki uyuşmazlık sebebiyle oluşur.
- vCenter’ın veritabanı hala ESXi sunucu şifreleme anahtarının (Host_Key) mevcut olduğunu gösteriyor.
- Yeniden başlatma sonrası ESXi sunucusunun artık bu anahtara erişimi yoktur.
- Bu eski veritabanı girdisi nedeniyle, ESXi server vCenter aracılığıyla KMS’den yeni bir anahtar isteyemez.
Çözüm Adımları:
Önemli: Bu makale içeriği, vCenter Server veritabanında el ile güncelleştirmeleri içerir.
Herhangi bir hata durumunda, vCenter’ın ciddi bir şekilde hata almasına ve buyüzden şifrelenmiş VM’lerin kurtarılamaz bir şekilde veri kaybına yol açabilir.
1. Hazırlık
- Öncelikle Gelişmiş Bağlantılı Mod’da (ELM) tüm vCenter Sunucularının çevrimdışı anlık görüntülerini alın. Nasıl yapılacağına buradan erişebilirsiniz.
2. ESXi Server Bakım Moduna Alın
- vSphere İstemcisinde, sorundan etkilenen ESXi sunucuyu Bakım Moduna alın.

3. ESXi’de Sunucuda Key Durumunu Doğrulayın
- SSH servisi kapalı ise açın. Sunucuya SSH ile bağlanın mesela Putty veya benzeri uygulama ile ESXi sunucuya bağlantı kurun.

- Aşağıdaki komutu çalıştırın.
“crypto-util keys getkidbyname “HostKey””
- Çıktının şunları gösterdiğini onaylayın.
“ crypto-util keys: A key for ‘HostKey’ has not been established”

4. vCenter Server’a bağlanın
- VCSA bağlantısı için SSH servisini açın ve SSH ile VCSA bağlanın. VCSA şifresini unuttuysanız buradaki makalemden nasıl resetlenir inceleyebilirsiniz.

- vpxd hizmetini durdurun. Komutumuz aşağıdaki gibidir.
“ service-control –stop vmware-vpxd”

5. vCenter Veritabanına Erişin
- Postgres başlatın. Komutumuz aşağıdaki gibidir.
“psql -U postgres -d VCDB -h localhost”

- ESXi sunucu için gerekli kontrolleri yapacağız. İlgili komut aşağıdaki gibi. FQDN bilgisini kendi yapınıza uygun olarak değiştirin.
“select id, dns_name, crypto_state, crypto_key_id, crypto_key_provider_id, crypto_enable from vpx_host where dns_name like ‘%<esxi-host-fqdn>%’;”
Örnek Çıktı:

6. Eski Şifreleme Bilgilerini Temizleyin
Önceki adımdaki ESXi sunucusunun kimliğini kullanarak update komutunu çalıştırın.
“update vpx_host set crypto_state=0, crypto_enable=0, crypto_key_id=”, crypto_key_provider_id=” where id=<host_id>;”

Değişiklikleri kontrol edin.
“select id, dns_name, crypto_state, crypto_key_id, crypto_key_provider_id, crypto_enable from vpx_host where dns_name like ‘%<esxi-host-fqdn>%’;”
Örnek Çıktı:

Postgres komut satırından çıkın. Komutumuz aşağıdaki gibidir.
“\q”

7. vpxd Hizmetini yeniden başlatın
Komutumuz aşağıdaki gibidir.
“service-control –start vmware-vpxd”

8. vSphere kullanıcı arayüzünde sorunun düzeldiğini doğrulayın.
- vSphere İstemcisinde oturum açın.
- Etkilenen ESXi sunucusunda şifreleme uyarısının temizlendiğini doğrulayın.

Host requires encryption mode enabled hatası ve çözümü isimli yazımın sonuna geldik. Umarım faydalı olur. Herkese sorunsuz günler dilerim.
