CloudPools konto oprettelse mislykkedes, eller CloudPools konto er ikke tilgængelig med meddelelse: klap fejl: CL_SSL_CACERT
Summary: CloudPools Kontooprettelse mislykkedes med cert-fejl.
Symptoms
Forsøg på at oprette en CloudPools-konto får følgende fejl:
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.
Den samme fejl vises også efter opgradering til OneFS 8.2 under visning af eksisterende CloudPools-konti.
Cause
CloudPools kontooprettelse mislykkes med denne fejl, hvis rodcertifikaterne ikke er installeret korrekt. Det samme med mellemliggende selvsignerede certifikater
Hvis der er en opgradering til OneFs v8.2, sker det, når en statisk liste over certifikater overføres til den nye butik. Denne butik indeholder ikke certifikater, der er installeret (f.eks. ECS-certifikatet) på systemet til CloudPools, og er ikke en del af denne liste.
Resolution
Følg nedenstående trin for at afhjælpe problemet.
-
Kør følgende kommando for at dumpe en liste over certifikater fra CloudPools-serveren til en tekstfil:
openssl s_client -connect <cloudpool_server>:443 -showcerts -certform PEM > cert.txt
-
Fra cert.txt er de certifikatkomponenter, der skal bruges, mellem de linjer, der starter med:
-----BEGIN CERTIFICATE----- AND -----END CERTIFICATE----- -
Kopiér det sidste certifikat, som det burde være ROOT CA-certifikatet fra signeringsmyndigheden. Kopier og indsæt alt fra -----BEGIN CERTIFICATE----- til -----END CERTIFICATE----- i en ny fil kaldet /ifs/.ifsvar/modules/cloud/cacert/<some_cloudpools_root_cert.pem>.
-
Skift mappen til certifikatets placering.
cd /ifs/.ifsvar/modules/cloud/cacert
-
Beregn hash af certifikatfilen med kommandoen:
openssl x509 -hash -noout -in <some_cloudpools_root_cert>.pem
-
Opret et symbolsk link til certifikatet ved hjælp af outputtet af hash-værdikommandoen:
ln -s <some_cloudpools_root_cert>.pem <hash_value>.suffix
Bemærk:<suffiks> starter som 0. Hvis der er en kollision af eksisterende symlink-filnavn, skal du bruge det næste nummer som suffiks. -
Gå gennem CloudPools-kontoen, og opret processen igen.
Hvis versionen er OneFs 8.2 eller nyere, skal du fortsætte med de næste trin efter behov:
-
Kør kommandoen til certifikatimport, når du står ved stien "/ifs/.ifsvar/modules/cloud/cacert".
Eksempel:
# 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
-
Find de ecs_cert , der er føjet til autoritetslisten med kommandoen:
#isi certificate authority list
-
Genstart isi_cpool_d tjenesten med kommandoen:
# isi services -a isi_cpool_d disable
Vent i 30 sekunder, og kør derefter kommandoen:
# isi services -a isi_cpool_d enable
-
Bekræft, at Cloud-kontoen er tilgængelig, og at tilstanden er ok med kommando:
# isi cloud accounts view <account-name>
Additional Information
Hvis administratoren aktiverer SSL-certifikatvalidering, når han enten opretter en konto eller ændrer denne indstilling fra "spring over" til "spring ikke over", skal serverne have korrekt installerede rodcertificeringer. Ellers kan CloudPools ikke oprette forbindelse til cloud-udbydere, og der genereres en SSL_CACERT_ERROR.
Når en konto er konfigureret til at udføre SSL-certifikatvalidering, udføres validering, når CloudPools opretter forbindelse til cloududbyderen af den pågældende konto, og valideringen kan mislykkes. Når det sker, oprettes der en klyngehændelsesloghændelse som 1100000009 CPOOL_CERTIFICATE_ERROR.
Hvis lagertjenesteudbyderen har installeret et selvsigneret certifikat, vises det også i certifikatkæden, når du opretter forbindelse til serveren. Find det selvsignerede certifikat, da det er rodcertifikatet, der godkender serveren.
Der kræves kun rodcertifikater forudinstalleret på CloudPools-klyngen. Hvis webstedet implementerer en SSL-proxyserver, kan det også være nødvendigt at hente og installere de mellemliggende certifikater.
Hvis kopien af rodcertifikatet er i et andet format end PEM-kodet format, skal du bruge OpenSSL-kommandoerne til at udføre PEM-konvertering, før du installerer det.