Longhorn
v1.12.2Storage & Data安定性を重視したメンテナンスリリースで、データ損失のリスクを含む複数の問題を修正し、ネットワークとHelmチャートも改善しています。アップグレード前提条件と`V2 Data Engine`の運用制約があり、`CSI`のシークレットサニタイズに関する修正も含まれます。
要対応 (1)
security
CSIリクエストログのシークレットサニタイズ修正CSIのメソッド単位のリクエストログがシークレットのサニタイズを回避する問題を修正しました。関連する課題は13727です。
影響確認 (4)
breaking
V2 Data Engineのライブアップグレード制約v1.から12. 2 v1.へ13. 0 V2 Data Engineをライブアップグレードする場合に適用されます。v1.から12. 2 v1.への13. 0 V2 Data Engineのライブアップグレードはサポートされません。breaking
legacy linked-clone volumesの操作制限v1.以降へアップグレードする場合に適用されます。12. 1 v1.以降へアップグレードすると、12. 1 legacy linked-clone volumesは切り離しと削除を除いて操作できません。breaking
V2 Data EngineのCPUコア数要件V2 Data Engineに2個未満のCPUコアを構成する場合に適用されます。安定性のため、
V2 Data Engineには少なくとも2個のCPUコアを構成します。マルチコアマスクを使用すると、1個のコアが管理用リアクターに予約され、I/Oを処理するコアが1個少なくなります。breaking
Kubernetes v1.以降の前提条件25 Kubernetesがv1.より前のバージョンで稼働するクラスタに25 Longhorn v1.をインストールする場合に適用されます。12. 2 Longhorn v1.をインストールする前に、クラスタが12. 2 Kubernetes v1.以降で稼働している必要があります。25
その他の記録済み変更 74 件すべてfixes 60 · value changes 8 · additions 4 · constraints 2
fixes (60)
- Fixes a bug in which acknowledged writes could be silently lost during a replica rebuild.
- Fixes replica rebuilds that randomly failed on busy networks because a single lost TCP keepalive terminated the idle sync-agent gRPC connection after 20 seconds.
- the rebuild switched the parent of the destination replica head while it was still serving I/O
spdk_tgtcould abort withdouble free or corruption (fasttop)during replica rebuilds.- Large reads (for example, 1 MiB at a high queue depth) could flood the NVMe-oF TCP target with flush retries
- Deleting a snapshot that is smaller than its child and not a multiple of 512 MiB could leave lvol metadata that SPDK fails to load
- Fixes a critical issue in which a failure while setting up a rebuild on the destination replica faulted the entire engine
- Fixes a lost wakeup in the SPDK erasure-coding bdev that could stall writes and leave the SPDK target unresponsive
spdk_tgtcrashes with "double free or corruption (fasttop)" around replica rebuilds- Concurrent unaligned writes during replica rebuild lose data
- v2 instance-manager is crashed by disk recovery failure in SPDK
- a rebuilding replica sometimes disappears in the
Engine.Status. ReplicaModeMap - Concurrent volume attachments can create multiple NVMe-oF transports and crash spdk_tgt
- V2 instance manager live upgrade stuck in relocating-engines
- V2 instance-manager
spdk_tgtallocates its hugepages from another pod's hugetlbfs mount - A stalled NVMe device makes engine frontends of unrelated v2 volumes fail validation and be recreated
- nvme list zombie processes leak when NVMe admin queue returns EAGAIN
- SystemBackup stuck in
CreatingVolumeBackups - v2 spdk_tgt aborts with assertion in blob_insert_cluster_msg due to an extent page race
- Fast replica rebuild skips a snapshot file that was changed by purge/coalesce
- Transient status RPC failure marks healthy replica failed and can fault a volume
- Disk health data never collected for V1 filesystem disks whose path is not itself a mount point
- Force-deleted pod VolumeAttachment cleanup ignores "Waiting for detach" events
- csi-resizer fails to start with "unrecognized feature gate: RecoverVolumeExpansionFailure"
- V2 DR volume restore does not retry when backupstore lock is held
- All v1 volume I/O stalls silently with longhorn-engine v1.7.1 through v1.9.2 on Rocky Linux 9.7 / RKE2
- Sharded/EC volume: writes stall to ~0 and wedge the SPDK target on arm64/AIO
- Volume expansion snapshot CR name expand-<size> collides across volumes
- Longhorn v2 engine crashes on large-block reads in interrupt mode
- v2 volume gets stuck in
Attachingin an IPv6 storage network environment - v1.11.3 regenerates the webhook CA on upgrade from an ECDSA (dynamiclistener) CA, deadlocking every longhorn-manager
- SystemBackup fails when a snapshot has an empty status.creationTime
- invalid block disks should not block Longhorn system uninstallation
- deleting nodes.longhorn.io failed due to KubernetesNodeGone
- v1.12.1 chart: new default-on
networkPolicies.silently breaks Prometheus scraping of longhorn-managerrestrictInternalTraffic - V2 replica rebuild destination failure faults the entire engine
- NodeStageVolume can trigger destructive mkfs on existing volume during temporary I/O errors, risking data loss
- instance-manager crashes with "concurrent map iteration and map write" in ProcessList
- SystemRestore job ignores the registry-secret setting
- DR replicas break
- Cloned volume stuck "not ready for workloads" after the clone finishes
- Runtime container images contain development (-devel) packages
- Adding V2 disk using the "Default Data Path" /dev/disk/by-id/scsi-* path fails
- Request Schema in Upgrade Responder is Outdate
- v2 volume expansion is reported complete before the frontend dm device is resized
- Terminal workload pods cause NodePublishVolume to abort with "no Pending workload pods"
- v1 engine never starts: a stale
stoppedprocess record makes createInstance a silent no-op - v1.12.1 default NetworkPolicies miss legitimate non-pod-labeled and host-originated callers, silently breaking CSI attach/detach
- Recurring-job pods report success after startup or volume execution errors
- V1 volumes not rebuilding after cluster shutdown
- v2: spdk_tgt aborts on bdev_channel_destroy_resource assertion when rebuild finish sets the dst replica parent under I/O
- V2 instance-manager liveness probe errors ('test: -eq: unary operator expected') -> self-kill -> node-wide replica fault under rebuild load
- V2 Instance Manager panics in backupstore when S3 volume.cfg is missing, taking all node volumes offline
- Admission webhook calls for one resource type (backups.longhorn.io) fail with instant EOF
- Recurring snapshot-cleanup aborts the entire run when any volume's replica is rebuilding
- - [BACKPORT][v1.12.2][BUG] V2 backup readers race snapshot cleanup and panic the instance manager [14021](https://github.com/longhorn/longhorn/issues/14021) - @yangchiu
- - [BACKPORT][v1.12.2][BUG] Live migration and replica rebuild enter circular wait after nodes are uncordoned [14154](https://github.com/longhorn/longhorn/issues/14154) - @chriscchien @carterli0407-cell
- - [BACKPORT][v1.12.2][BUG] instance-manager panics (nil pointer) in sync.(*Task).HashSnapshotStatus when a replica is rebuilding: shadowed err in isRebuilding branch [14252](https://github.com/longhorn/longhorn/issues/14252) - @chriscchien
- - [BACKPORT][v1.12.2][BUG] RWX volume mounts are delayed up to 2 minutes when the share manager is stopped and started repeatedly (e.g. by a CronJob) [14178](https://github.com/longhorn/longhorn/issues/14178) - @roger-ryao
- - [BACKPORT][v1.12.2][BUG] Longhorn block disk remains Ready=False and Schedulable=False when NVMe device is bound to vfio-pci [13934](https://github.com/longhorn/longhorn/issues/13934) - @derekbit @chriscchien
value changes (8)
- Skip the filesystem sync when suspending the frontend for replica rebuilding
- Sync v2 volume and engine image fields after upgrade
- CSI ignores EC StorageClass parameters (silent replicated fallback)
- CSI Resize may idle for a long time after volume clone or restore
- (chart) Precedence of image.*.*.registry
- nsmounter: kubelet PID lookup on Talos takes seconds per call
- - [BACKPORT][v1.12.2][IMPROVEMENT] Avoid re-sending an unchanged Node status update [14145](https://github.com/longhorn/longhorn/issues/14145) - @hookak @chriscchien
- - [BACKPORT][v1.12.2][TASK] Add Helm chart image HIP-0015 annotations [14204](https://github.com/longhorn/longhorn/issues/14204) - @roger-ryao @carterli0407-cell
additions (4)
- You can now limit the number of I/O queues the kernel NVMe-TCP initiator creates for V2 volumes
- Enable CPU Isolation for V2 Data Engine
- backup target availability status metric
- - [BACKPORT][v1.12.2][IMPROVEMENT] Chart value to allow metrics scrapers through the longhorn-manager NetworkPolicy [13989](https://github.com/longhorn/longhorn/issues/13989) - @yangchiu
constraints (2)
- Previously they always used IPv4.
- Longhorn may not reject expansion requests when the volume clone is in-progress
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。