PowerFlex 4.X Bellenim Güncelleştirmesi US-ASCII de Geçersiz Bayt Sırasıyla Başarısız Oluyor
Summary: Bellenim Güncellemesi, US-ASCII de geçersiz bayt sırasına göre başarısız oluyor.
Symptoms
Senaryo
Kümede, Kaynak Grubu kullanılarak gerçekleştirilen bir Bellenim yükseltmesi gerçekleştiriliyordu.
Belirtiler
İş Kimliğinden deployment.log, üretici yazılımı güncelleştirmesinin başarısız olduğunu ve playbook'un çalıştığını bildirir. Çalışma kitabındaki komutun "/usr/sbin/sysctl -p" komutunu çalıştıracak şekilde ayarlandığını unutmayın:
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:
... Komutu doğrudan düğümde çalıştırırken aşağıdaki hata görülebilir:
[root@node3 etc]# /usr/sbin/sysctl -p ... sysctl: /etc/sysctl.conf(91): invalid syntax, continuing...
Etki
Bellenim güncelleştirmesi etkilenen düğümde devam edemiyor.
Cause
Temel Neden
Sorun, sysctl.conf dosyasında bulunan ve sysctl işlemesi sırasında kullanılan beklenen US-ASCII karakter kodlamasıyla uyumlu olmayan ASCII veya özel bir karakterden kaynaklanmaktadır. Sistem, sysctl.conf dosyasındaki yapılandırmaları okumaya ve uygulamaya çalıştığında bu geçersiz karakter dizisiyle karşılaşır ve "invalid byte sequence in US-ASCII" hatasına yol açar. Bu karakterin dahil edilmesinin özel nedeni belirsizliğini koruyor.
Resolution
Geçici Çözüm
1- Etkilenen düğümde orijinal sysctl.conf dosyasını yedekleyin:
cp /etc/sysctl.conf /etc/sysctl.conf.backup
2- Bir sysctl.conf dosyasını, düzgün çalıştığı bilinen bir düğümden kopyalayın:
scp /etc/sysctl.conf root@:/etc/sysctl.conf
3- Etkilenen düğüme yeni yapılandırmayı uygulayın:
/usr/sbin/sysctl -p
4- Komutun herhangi bir "geçersiz sözdizimi" hatası olmadan başarıyla tamamlandığından emin olun.
5- Yukarıdaki adımlar tamamlanıp doğrulandıktan sonra Kaynak Grubunu kullanarak bellenim güncelleme işlemini yeniden başlatın.
Etkilenen Sürümler
PFxM 4.5.1.1 ve altı
Düzeltildiği Sürüm
PFxM 4.5.2