US-ASCII에서 잘못된 바이트 시퀀스로 PowerFlex 4.X 펌웨어 업데이트 실패
Summary: US-ASCII에서 잘못된 바이트 시퀀스로 펌웨어 업데이트가 실패합니다.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
시나리오
클러스터가 리소스 그룹을 사용하여 펌웨어 업그레이드를 수행하고 있었습니다.
증상
작업 ID의 deployment.log은 펌웨어 업데이트가 실패했으며 플레이북이 실행 중임을 보고합니다. 플레이북의 명령은 "/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:
... 노드에서 직접 명령을 실행하는 경우 다음 오류가 발생할 수 있습니다.
[root@node3 etc]# /usr/sbin/sysctl -p ... sysctl: /etc/sysctl.conf(91): invalid syntax, continuing...
영향
영향을 받는 노드에서 펌웨어 업데이트를 진행할 수 없습니다.
Cause
근본 원인
이 문제는 sysctl.conf 파일의 비 ASCII 또는 특수 문자로 인해 발생하며, 이는 sysctl 처리 중에 사용되는 예상 US-ASCII 문자 인코딩과 호환되지 않습니다. 시스템이 sysctl.conf 로부터 설정을 읽어 적용하려고 하면, 이 무효한 문자 시퀀스를 발견해, "US-ASCII의 무효한 바이트 시퀀스" 에러가 발생합니다. 이 캐릭터가 포함된 구체적인 이유는 불분명합니다.
Resolution
해결 방법
1- 영향을 받는 노드에서 원본 sysctl.conf 파일을 백업합니다.
cp /etc/sysctl.conf /etc/sysctl.conf.backup
2- 올바르게 작동하는 것으로 알려진 노드에서 sysctl.conf 파일을 복사합니다.
scp /etc/sysctl.conf root@:/etc/sysctl.conf
3 - 영향을 받는 노드에 새 구성을 적용합니다.
/usr/sbin/sysctl -p
4 - 명령이 "잘못된 구문" 오류 없이 성공적으로 완료되는지 확인합니다.
5 - 위의 단계가 완료되고 확인되면 리소스 그룹을 사용하여 펌웨어 업데이트 프로세스를 다시 시작합니다.
영향을 받는 버전
PFxM 4.5.1.1 이하
수정된 버전
PFxM 4.5.2
Affected Products
PowerFlex rack, VxFlex Ready Nodes, PowerFlex custom node, PowerFlex appliance connectivity, PowerFlex appliance R650, PowerFlex appliance R6525, PowerFlex appliance R660, PowerFlex appliance R6625, Powerflex appliance R750, PowerFlex appliance R760
, PowerFlex appliance R7625, PowerFlex appliance R640, PowerFlex appliance R740XD, PowerFlex appliance R7525, PowerFlex appliance R840
...
Article Properties
Article Number: 000221574
Article Type: Solution
Last Modified: 10 Feb 2025
Version: 2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.