PowerScale:CollectとMultiScanで除外されたデバイスの領域が再利用されない
Summary: [Collect]と[MultiScan]は、ジョブの実行中にデバイスが使用不可になった場合、スイープから除外します。
Symptoms
このKBは、実行中または完了したCollectジョブ、またはその中でCollectを実行したMultiScanジョブ専用です。
Collectは、デバイスが使用できなくなった間にデバイスに残されたブロックを解放するために使用されます
MultiScanでは、AutoBalanceとCollectの両方が実行されることがあります。これは、MultiScanがジョブをチェックしてCollectを実行するためです。
# isi job view <jobID#>
Collectのマーキング フェーズでは、ブロックがスイープ フェーズに入ると、後でクリーンアップするためにブロックにマークが付けられます。
状況によっては、マーク フェーズ中にデバイスがジョブのスイープ操作から除外される場合があります。
これにより、ジョブが正常に完了した後でも、クラスターのノードまたはドライブが不均衡のままになる可能性があります。
ジョブから除外されているドライブまたはノードが多すぎると、ジョブはキャンセルされます。
Cause
デバイスがダウンした場合、またはデバイスが使用不可になった場合、ジョブはデバイスをスイープ フェーズから除外します。
これは、ノードの再起動、電源の入れ直し、ノードの分割など、さまざまな原因が考えられます
ドライブを使用すると、ドライブが停止したり、使用不可になったりすると、これが発生する可能性があります。
CollectまたはMultiScanの実行中にデバイスが使用できなくなった場合、ジョブはデバイスを次のように設定します。 bam_nosweep 除外されたデバイスのリスト。
ジョブがスイープ フェーズに入ると、デバイス上のブロックがスイープされます。 bam_nosweep 除外リスト。
これにより、ジョブが正常に完了した後でも、ノードまたはドライブの不均衡な状態が続き、容量使用率が高くなる可能性があります。
例 1 は、メッセージ・ログ内で除外された 1 つの devid を示しており、devid 28 として示されています。
2025-03-08T22:09:15.238162-08:00 <0.5> EXAMPLE-1(id25) /boot/kernel.amd64/kernel: [bam_nosweep.c:298](pid 63766="isi_job_d")(tid=104229) bam_nosweep_add_devices: Exclude set { devids (1) = [ 28 ], wdls = [] }
例2では、devid 18のドライブのタイムスタンプが1つ除外され、その後にdevid 24のドライブが続きます。
2024-11-04T16:20:33.664254-07:00 <0.5> EXAMPLE-12(id12) /boot/kernel.amd64/kernel: [bam_nosweep.c:298](pid 83067="isi_job_d")(tid=103674) bam_nosweep_add_devices: Exclude set { devids (0) = [], wdls (1) = [ (d: 18, unm:00000040 ] }
2024-11-04T17:06:21.738071-08:00 <0.5> EXAMPLE-12(id12) /boot/kernel.amd64/kernel: [bam_nosweep.c:298](pid 83067="isi_job_d")(tid=103674) bam_nosweep_add_devices: Exclude set { devids (0) = [], wdls (2) = [ (d: 18, unm:00000040, (d: 24, unm:00000020 ] }
デバイスの28.1%が除外されるため、除外されたデバイスの割合が原因で収集がキャンセルされる例。制限は25%です。
2025-11-04T14:08:28.356984+01:00 <0.5> EXAMPLE-8(id8) /boot/kernel.amd64/kernel: [bam_mark.c:1923](pid 3646="isi_job_d")(tid=101140) Mark not permitted with 28.1% of 32 nodes excluded (limit 25.0%)
2025-11-04T14:08:28.356994+01:00 <0.5> EXAMPLE-8(id8) /boot/kernel.amd64/kernel: [bam_mark.c:1837](pid 3646="isi_job_d")(tid=101140) Updated mark for cookie 19:none with error 85
2025-11-04T14:08:28.359093+01:00 <0.5> EXAMPLE-8(id8) /boot/kernel.amd64/kernel: [drv.c:1499](pid 67605="python3.8")(tid=102284) Drive sync in progress for ldnum 21
2025-11-04T14:08:28.365281+01:00 <0.5> EXAMPLE-8(id8) /boot/kernel.amd64/kernel: [lin_mark.c:376](pid 3646="isi_job_d")(tid=101140) lin_end_mark: Ending lin mark (error ECANCELED).
2025-11-04T14:08:28.365300+01:00 <0.5> EXAMPLE-8(id8) /boot/kernel.amd64/kernel: [lin_mark.c:398](pid 3646="isi_job_d")(tid=101140) lin_end_mark: Mark already canceled. (current group: <1,2770> current mark state: LIN_COLLECT_GOOD
Resolution
スイープが必要なデバイスが除外されている場合は、新しいジョブを開始する必要があります。
別の問題が原因でデバイスが頻繁に使用できなくなる場合は、さらに調査する必要があります。