Vytvoření účtu CloudPools se nezdařilo nebo se nedaří zobrazit zprávu: clapi error: CL_SSL_CACERT
Summary: Vytvoření účtu CloudPools se nezdařilo s chybou certifikátu.
Symptoms
Při pokusu o vytvoření účtu CloudPools se zobrazí následující chyba:
Account Create Failed. The CloudPools account did not create due to the following error: Account validation failed to connect to remote server: clapi error: CL_SSL_CACERT; Peer certificate cannot be authenticated with known CA certificates.
Stejná chyba se zobrazí také po upgradu na OneFS 8.2 při prohlížení stávajících účtů CloudPools.
Cause
Pokud kořenové certifikáty nejsou správně nainstalované, vytvoření účtu CloudPools selže s touto chybou. Totéž platí pro zprostředkující certifikáty podepsané svým držitelem
Pokud dojde k upgradu na OneFs v8.2, dojde k němu, protože statický seznam certifikátů je migrován do nového úložiště. Toto úložiště nezahrnuje certifikáty, které byly nainstalovány (například certifikát ECS) do systému pro službu CloudPools a nejsou součástí tohoto seznamu.
Resolution
Tento problém vyřešíte pomocí následujícího postupu.
-
Spuštěním následujícího příkazu vypište seznam certifikátů ze serveru CloudPools do textového souboru:
openssl s_client -connect <cloudpool_server>:443 -showcerts -certform PEM > cert.txt
-
Od cert.txt jsou potřebné komponenty certifikátu mezi řádky, které začínají:
-----BEGIN CERTIFICATE----- AND -----END CERTIFICATE----- -
Zkopírujte poslední certifikát, protože by to měl být certifikát kořenové certifikační autority od podepisující autority. Zkopírujte a vložte vše z -----BEGIN CERTIFICATE----- do -----END CERTIFICATE----- do nového souboru s názvem /ifs/.ifsvar/modules/cloud/cacert/<some_cloudpools_root_cert.pem>.
-
Změňte adresář na umístění certifikátu.
cd /ifs/.ifsvar/modules/cloud/cacert
-
Vypočítejte hash souboru certifikátu pomocí příkazu:
openssl x509 -hash -noout -in <some_cloudpools_root_cert>.pem
-
Vytvořte symbolický odkaz na certifikát pomocí výstupu hash value příkazu:
ln -s <some_cloudpools_root_cert>.pem <hash_value>.suffix
Poznámka:<Přípona> začíná jako 0. Pokud dojde ke kolizi existujícího názvu souboru symbolického odkazu, použijte jako příponu následující číslo. -
Projděte účet CloudPools a vytvořte proces znovu.
Pokud se jedná o verzi OneFs 8.2 a novější, pokračujte podle potřeby dalšími kroky:
-
Spusťte příkaz k importu certifikátu, když stojíte na cestě "/ifs/.ifsvar/modules/cloud/cacert".
Příklad:
# ls -lh 94d536c0.0 lrwxr-xr-x 1 root wheel 39B Jun 3 10:35 94d536c0.0 -> cert_cloud account.pem # isi certificate authority import --certificate-path=cert_account-URI.pem --description="ECS CA" --name=ecs_cert
-
Najděte ecs_cert přidaný do seznamu autorit pomocí příkazu:
#isi certificate authority list
-
Restartujte službu isi_cpool_d příkazem:
# isi services -a isi_cpool_d disable
Počkejte 30 sekund a poté spusťte příkaz:
# isi services -a isi_cpool_d enable
-
Ověřte, zda je cloudový účet dostupný a tento stav je v pořádku, pomocí příkazu:
# isi cloud accounts view <account-name>
Additional Information
Pokud správce povolí ověření certifikátu SSL při vytváření účtu nebo při změně této možnosti z "přeskočit" na "nepřeskočit", musí mít servery správně nainstalované kořenové certifikace. V opačném případě se CloudPools nepřipojí k poskytovatelům cloudu a vygeneruje se SSL_CACERT_ERROR.
Když je účet nakonfigurovaný tak, aby prováděl ověřování certifikátu SSL, ověření se provádí vždy, když se CloudPools připojí k poskytovateli cloudu daného účtu, a ověření může selhat. Pokud k tomu dojde, vytvoří se událost protokolu událostí clusteru, jako je 1100000009 CPOOL_CERTIFICATE_ERROR.
Pokud poskytovatel služeb úložiště nainstaloval certifikát podepsaný svým držitelem, měl by se také zobrazit v řetězu certifikátů při připojení k serveru. Vyhledejte certifikát podepsaný svým držitelem, protože se jedná o kořenový certifikát pro ověření serveru.
Do clusteru CloudPools musí být předem nainstalovány pouze kořenové certifikáty. Pokud lokalita nasadí proxy server SSL, může být nutné získat a nainstalovat také zprostředkující certifikáty.
Pokud je kopie kořenového certifikátu v jiném formátu než v kódování PEM, proveďte před instalací převod PEM pomocí příkazů OpenSSL.