Skip to main content

销毁文件系统

要销毁一个文件系统,你需要访问 JuiceFS 云服务控制台,找到对应的文件系统,在“设置”选项卡的页面底部,点击“删除”按钮执行销毁操作。

风险提示

在操作之前请确认以下事项:

  1. 操作不可逆: 销毁文件系统将永久删除其中的数据,不可恢复。
  2. 已备份数据: 在执行销毁文件系统之前,务必确保文件系统中的数据已经进行了妥善备份。
  3. 无业务依赖: 在执行销毁文件系统之前,必须确认相关业务已停止使用该文件系统。

销毁操作流程

1. 卸载文件系统

在销毁文件系统之前,需要确保所有客户端已经卸载了文件系统。如果有客户端正在使用文件系统,则会出现类似下图的报错:

卸载文件系统的提示

2. 清空文件系统

JuiceFS 云服务客户端只允许删除空文件系统,因此在销毁文件系统之前,需要确保文件系统中的数据已经全部删除。

客户端提供了一个 destroy 命令,可以直接清空文件系统中的所有数据,但在执行前你需要先使用 status 命令找到文件系统的 UUID:

juicefs status <file system name>

获取文件系统 UUID

然后使用 destroy 命令清空文件系统:

juicefs destroy <file system name> <file system UUID>

清空文件系统

3. 销毁文件系统

在文件系统中的数据已经全部删除后,可以在 JuiceFS 云服务控制台的“设置”选项卡中点击“删除”按钮执行销毁操作。

销毁文件系统

对象存储已被手动删除的文件系统该如何销毁?

JuiceFS 采用数据与元数据分离的技术架构,数据保存在对象存储,元数据保存在官方维护的元数据引擎。即使一个文件系统关联的对象存储被人为删除,但由于元数据引擎中仍然保存了相关的元数据,所以控制台上仍然能看到文件的目录结构,并且会认定这个文件系统是非空的,无法销毁。

销毁必须先清空数据

虽然在 JuiceFS 控制台可以看到该文件系统的目录和文件结构,但这些信息都是从元数据引擎中读取的,控制台上不提供也无法实现元数据的清理功能。因此,如果一个文件系统关联的对象存储被人为删除,一个可行的办法是在同平台上重新创建一个同名的存储桶,让文件系统可以重新关联上这个存储桶,然后再执行销毁操作。

重新创建存储桶

当然,如果你发现当前这个文件系统关联的存储桶名称已经被占用,可以用其他未被占用的名称创建。然后在上图所示的“设置”部分,将“Bucket”的值修改为新创建的存储桶名称,然后点击“保存”按钮,即可重新关联上这个存储桶。

注意

这里允许更改 bucket 名称,但必须保持相同的平台,比如之前设置的是亚马逊 S3 的新加坡区域,那么新创建的存储桶也必须是亚马逊 S3 的新加坡区域。

为文件系统重新关联上存储桶后,就可以回到本文的开篇根据正常流程执行销毁操作了。