PowerFlex 4.X -laiteohjelmistopäivitys epäonnistuu ja näyttää virheellisen tavujärjestyksen US-ASCII:ssa
Summary: Laiteohjelmistopäivitys epäonnistuu ja näyttää virheellisen tavujärjestyksen US-ASCII-hakemistossa.
Symptoms
Tilanne
Klusteriin tehtiin laiteohjelmistopäivitys, joka tehtiin resurssiryhmän avulla.
Oireet
Job-ID:n deployment.log ilmoittaa, että laiteohjelmistopäivitys epäonnistui ja käsikirja on käynnissä. Huomaa, että käsikirjan komennon suoritus on /usr/sbin/sysctl -p:
ERROR [2024-01-25T20:21:33.358478] 25824: service_deployment.rb:6084:in `process_firmware_update': Encountered an error during firmware update: ArgumentError: invalid byte sequence in US-ASCII
["org/jruby/RubyString.java:4727:in `scan'", "/opt/asm-deployer/lib/asm/provider/elementmanager/scaleio.rb:9762:in `update_sysctl_parameter'", "/opt/asm-deployer/lib/asm/service_deployment.rb:5909:in `block in process_firmware_update'", "org/jruby/RubyArray.java:1865:in `each'", "/opt/asm-deployer/lib/asm/service_deployment.rb:5731:in `process_firmware_update'", "/opt/asm-deployer/lib/asm/service_deployment.rb:504:in `process'", "/opt/asm-deployer/lib/asm.rb:369:in `block in process_deployment'", "org/jruby/RubyArray.java:1907:in `each_slice'", "/opt/asm-deployer/lib/asm.rb:351:in `block in process_deployment'", "/opt/dependencies/dell-asm-util/lib/asm/util.rb:22:in `block in execute_async'"]
...
INFO [2024-01-25T20:22:45.017056] 25824: service_deployment.rb:1795:in `process_ansible_playbook': Starting processing playbook: [{"hosts"=>"all", "become"=>true, "vars"=>{"overcommit_ratio"=>100, "overcommit_memory"=>2}, "tasks"=>[{"name"=>"Replace unvalid values in sysctl conf", "replace"=>{"path"=>"/etc/sysctl.conf", "regexp"=>"^net.ipv4.conf.(ens192.log_martians.*)$", "replace"=>"#net.ipv4.conf.\\1 # PFXM REMOVED INVALID OPTION"}}, {"name"=>"Replace unvalid values in sysctl conf", "replace"=>{"path"=>"/etc/sysctl.conf", "regexp"=>"^net.ipv4.conf.(ens32.log_martians.*)$", "replace"=>"#net.ipv4.conf.\\1 # PFXM REMOVED INVALID OPTION"}}, {"name"=>"update threshold1", "ansible.posix.sysctl"=>{"name"=>"net.ipv4.neigh.default.gc_thresh1", "value"=>8192}}, {"name"=>"update threshold2", "ansible.posix.sysctl"=>{"name"=>"net.ipv4.neigh.default.gc_thresh2", "value"=>16384}}, {"name"=>"update threshold3", "ansible.posix.sysctl"=>{"name"=>"net.ipv4.neigh.default.gc_thresh3", "value"=>32768}}, {"name"=>"Update overcommit ratio for SDS", "ansible.posix.sysctl"=>{"name"=>"vm.overcommit_ratio", "value"=>"{{ overcommit_ratio }}"}}, {"name"=>"Update overcommit_memory ratio for SDS", "ansible.posix.sysctl"=>{"name"=>"vm.overcommit_memory", "value"=>"{{ overcommit_memory }}"}}, {"name"=>"Apply sysctl changes", "command"=>{"argv"=>["
]}}]}] with inventory:
... Kun komento suoritetaan suoraan solmussa, seuraava virhe saattaa ilmetä:
[root@node3 etc]# /usr/sbin/sysctl -p ... sysctl: /etc/sysctl.conf(91): invalid syntax, continuing...
Vaikutus
Laiteohjelmistopäivitys ei voi edetä solmussa, jota ongelma koskee.
Cause
Pääsyy
Ongelma johtuu siitä, että sysctl.conf-tiedostossa on muu kuin ASCII- tai erikoismerkki, joka ei ole yhteensopiva sysctl-käsittelyssä odotetun US-ASCII-merkkikoodauksen kanssa. Kun järjestelmä yrittää lukea ja käyttää sysctl.conf-tiedoston määrityksiä, se havaitsee tämän virheellisen merkkisarjan, joka johtaa virheeseen "invalid byte sequence in US-ASCII". Tarkka syy tämän hahmon sisällyttämiseen on edelleen epäselvä.
Resolution
Kiertotapa
1 – Varmuuskopioi alkuperäinen sysctl.conf-tiedosto solmussa, jota ongelma koskee:
cp /etc/sysctl.conf /etc/sysctl.conf.backup
2 – Kopioi sysctl.conf-tiedosto solmusta, jossa sen tiedetään toimivan oikein:
scp /etc/sysctl.conf root@:/etc/sysctl.conf
3 – Ota uusi määritys käyttöön solmussa, jota ongelma koskee:
/usr/sbin/sysctl -p
4 – Varmista, että komento suoritetaan onnistuneesti ilman virheellisiä syntaksivirheitä.
5 – Kun edellä mainitut vaiheet on suoritettu ja vahvistettu, käynnistä laiteohjelmistopäivitys uudelleen resurssiryhmän avulla.
Versiot, joita ongelma koskee
PFxM 4.5.1.1 ja vanhemmat
Korjattu versiossa
PFxM 4.5.2