pub async fn persist_drain_marker(marker_path: &Path) -> Result<(), String>
Persist the drain marker so a restart resumes in the drained state.