Feature/support disk cache#1725
Conversation
fea65b7 to
228a872
Compare
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mowangdk The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
c176d61 to
7ce6bbc
Compare
Data Cache Test ReportDate: 2026-06-22 Environment
Test Steps & Results1. Node Local Disk InitializationAction: Format Result: ✅ PASS — All 3 nodes initialized successfully. 2. StorageClass CreationAction: Create
Result: ✅ PASS 3. PVC ProvisioningAction: Create 100Gi PVC with the data-cache StorageClass. Result: ✅ PASS — PV 4. CSI Plugin Volume Mount FixIssue discovered: CSI DaemonSet did not mount Fix: Patched CSI DaemonSet to add a hostPath volume ( Result: ✅ PASS — After fix, logs confirmed dm-cache setup. 5. Test Pod (data-cache-test)Action: Deploy pod with PVC attached to Result: ✅ PASS — Pod Running on node 192.168.0.246. 6. dm-cache VerificationConfirmed on node via
Issues Found
Recommendation: The CSI Helm chart / operator should include this hostPath mount by default when data cache is supported. The silent fallback makes it easy to deploy the feature without realizing cache is not active. Summary
Overall: PASS — Data cache feature works as documented, after the CSI DaemonSet mount fix. |
Data Cache Test Report — Writeback ModeDate: 2026-06-22 EnvironmentSame as previous writethrough test — 3 nodes, Alibaba Cloud Linux 4.0.3, kernel 6.6.102, local StorageClass Configurationprovisioner: diskplugin.csi.alibabacloud.com
parameters:
type: cloud_essd
dataCacheSize: "10Gi"
dataCacheMode: "writeback"
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumerTest Steps & Results1. PVC ProvisioningResult: ✅ PASS — PV 2. Test Pod (data-cache-wb-test)Result: ✅ PASS — Pod Running on node 192.168.0.246. 3. dm-cache Setup (from CSI logs)✅ Confirmed 4. dm-cache Verification (on node)
Note the write-specific counters (dirty blocks: 8009, write hits: 915, write misses: 1771) are non-zero, confirming write operations are being cached locally rather than passed through to the origin — expected behavior for writeback mode. Combined Summary (Both Modes)
Overall: PASS — Both |
7ce6bbc to
644c1a6
Compare
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mowangdk The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
847e96d to
3148ced
Compare
Complete Investigation: dm-cache Writeback Dirty Block FlushEnvironment
All Tested Flush Methods
Root Cause AnalysisWhy cleaner policy doesn't work via table reload (Tests 1-3, 9): Confirmed via ftrace on both kernels (6.6 and 6.8):
This means Why LVM LVM strace revealed Key evidence: Before When dm-cache table is swapped to linear table via
The difference is the underlying device type, not the ioctl sequence. Verified Working SolutionsSolution A:
|
3148ced to
7b219d2
Compare
3a13be6 to
3e89b62
Compare
Evidence: LVM flush works via table swap, not cleaner policyTest 1: Raw origin has NO data before
|
3e89b62 to
648ebd5
Compare
648ebd5 to
1408f38
Compare
1408f38 to
6b61771
Compare
|
We decided to exclude cache writeback from this PR after testing. @huww98 ptal |
What type of PR is this?
What this PR does / why we need it:
Support local disk cache for EBS
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: