Dell PowerStore stacks capacity-based software licensing and costly controller upgrades on top of premium hardware, with proprietary array lock-in. Ceph is the open, scale-out alternative: unified block, file, and object storage on commodity servers, self-healing and horizontally scalable. It removes the per-TB software tax, but it’s the most operationally demanding target in this category, so the fit question matters more than the migration mechanics.
When Ceph fits, and when it doesn’t
Ceph excels at scale: large, growing, multi-protocol storage where you want to add commodity nodes rather than fork-lift a new array. It’s a strong fit for private clouds, OpenStack/Kubernetes backing storage, and object workloads. It’s overkill and harder to justify for a small, latency-sensitive, single-protocol estate, there, TrueNAS (ZFS) is simpler and often the better open choice. Ceph rewards scale and a team that can operate a distributed system; be honest about whether you have both.
The mapping
- PowerStore block volumes (iSCSI/FC) → Ceph RBD (RADOS Block Device).
- File shares → CephFS (with NFS/SMB gateways via NFS-Ganesha/Samba).
- Object (if used) → Ceph RGW (S3/Swift-compatible).
- Array replication/snapshots → RBD snapshots, RBD mirroring, and CephFS snapshots for DR.
- PowerStore Manager → Ceph dashboard / cephadm for deployment and management.
Draining the array, workload by workload
There is no PowerStore-to-Ceph replication, so plan to move data at the host or hypervisor layer, workload by workload. For file data, mount the source share and the destination CephFS path on a staging host and copy with rsync, preserving permissions, in repeated incremental passes so the final cutover sync is small. For block volumes, a host-side copy or qemu-img moves the contents onto the target RBD image, and for VM datastores storage vMotion drifts guests across live. For databases, prefer the engine’s native replication or a backup-and-restore onto the new volume over copying a live file system. Doing this per workload means each cutover is a short, reversible window rather than one large, risky bulk copy, and PowerStore stays available as fallback the whole time.
Size for performance and resilience, not just capacity
The classic mistake is sizing on usable TB alone. Ceph performance depends on OSD count, drive type (NVMe/SSD for performance pools), network (a dedicated, low-latency cluster network matters), and the replication/erasure-coding scheme. Replication factor 3 consumes 3× raw capacity; erasure coding saves space but costs CPU and latency. Plan N+1 (or more) node redundancy and budget the overhead, under-provisioning Ceph is how you get a slow, unhappy cluster.
The migration mechanics
- Inventory PowerStore volumes, shares, capacity, IOPS/throughput, snapshots, and replication/DR relationships. Confirm host connectivity and multipathing.
- Build the Ceph cluster (cephadm) with appropriate pools, replicated NVMe pools for performance, erasure-coded for capacity/archive, and stand up RBD/CephFS/RGW as needed.
- Migrate data by host-level copy (
rsyncfor files preserving permissions; for block, host-side copy,qemu-img, or storage-level replication), then re-present RBD volumes / CephFS mounts / RGW buckets. For object, sync withrclone/s3tools. - Re-point initiators/mounts, rescan, and verify multipath.
- Validate capacity, IOPS, and latency against the PowerStore baseline; run an OSD/node-failure test and a snapshot/mirroring DR test.
- Cut over in maintenance windows, host-group by host-group, keeping PowerStore as fallback through hypercare.
Turning the mapping into live storage
The mapping table above tells you where each PowerStore construct lands; the re-presentation work is turning that into live, host-facing storage.
For block, a PowerStore volume becomes a Ceph RBD image. RBD-aware consumers (KVM/QEMU, OpenStack Cinder, Kubernetes CSI) can attach the image directly, which is the cleanest path. Hosts that still expect a traditional SAN LUN reach RBD through the Ceph iSCSI gateway, so you recreate the target, the initiator groups, and the LUN mapping there. Keep a one-to-one volume-to-RBD mapping where practical so rollback stays trivial: leave the PowerStore volume intact until the RBD copy is verified.
For file, shares become CephFS, exported to NFS clients via NFS-Ganesha and to SMB clients via Samba. Rebuild the export rules and share permissions, then mount and test a representative share before moving the rest. For object, if PowerStore fronted any S3 workloads, RGW buckets take over and you sync with rclone or S3 tooling.
Prove it before you pull the plug
Do not decommission on faith. Capture the PowerStore baseline first (IOPS, throughput, latency at real queue depths), then benchmark the same profile against the Ceph pool under sustained load. The number that matters is latency under load, and the test worth running is the one you do while a simulated OSD or node failure is rebalancing, because that is when a Ceph cluster shows its worst tail latency. Pair that with a snapshot and RBD-mirroring DR test, verify data integrity, and only then reclaim the array.
The cost trade you’re actually making
Ceph removes per-TB software licensing but shifts cost to commodity hardware + operations. At scale this is a large net saving; at small scale the operational overhead can erode it. Factor in the team time to run Ceph, that’s the real line item, not the (zero) license.
Where this leaves you
Dell PowerStore → Ceph suits large, growing, multi-protocol estates that want scale-out open storage and have the team to operate it; for smaller single-protocol needs, TrueNAS is simpler. Size for OSDs/network/resilience (not just TB), migrate host-group by host-group with the array as fallback, and validate failure handling before decommissioning. Model your per-TB savings in the calculator above, and treat them as illustrative until you validate Ceph performance and operating cost against your workload.