知识卡片
临时存储与持久存储的根本区别
内容
Nova利用宿主机的本地磁盘为虚拟机提供”临时存储”,这份存储和虚拟机实例的生命周期绑死——虚拟机被删除,临时存储自动释放,宿主机或虚拟机故障都可能直接导致数据丢失,数据没有独立于虚拟机之外的归属。Cinder(块存储)和Swift(对象存储)提供的则是”持久存储”,它们独立于任何一台具体的虚拟机存在,虚拟机可以被删除、重建、迁移,只要重新挂载对应的卷或访问对应的对象,数据依然完好。发散:这个区分的本质是”数据的生命周期是否和计算实例的生命周期绑定”——任何计算框架里都存在类似的临时/持久二分(容器的临时文件系统层与挂载卷、Serverless函数的本地内存与外部数据库),判断一份数据该放哪里,第一个要问的问题永远是”这份数据需要活得比当前这个计算实例更久吗”。
参考来源
《Linux开源存储全栈详解从Ceph到容器存储》第8章《OpenStack存储》