US-ASCIIの無効なバイト シーケンスでPowerFlexファームウェア アップデートが失敗する

Summary: クラスターで、リソース グループを使用して実行されたファームウェア アップグレードを実行していました。アップグレードが失敗し、「invalid byte sequence in 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.35847825824: 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.01705625824: 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
  1. 正常に機能していることがわかっているノードからsysctl.confファイルをコピーします。
scp /etc/sysctl.conf root@<problematic_node_ip>:/etc/sysctl.conf
  1. 影響を受けるノードに新しい構成を適用します。
/usr/sbin/sysctl -p
  1. コマンドが「無効な構文」エラーなしで正常に完了したことを確認します。
  2. 上記の手順を完了して確認したら、リソース グループを使用してファームウェア アップデート プロセスを再度開始します。

Additional Information

影響を受ける製品:
PowerFlex Manager 4.5.2

Affected Products

VxRack, PowerFlex Software
Article Properties
Article Number: 000222350
Article Type: Solution
Last Modified: 19 Mar 2024
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.