MongoDB设置数据文件的最大大小限制

MongoDB设置数据文件的最大大小限制,mongodb,Mongodb,我在本地桌面上下载了MongoDb。因为这台机器上还有其他重要的东西,所以我需要确保MongoDB数据文件在任何时候都不会占用超过10GB的磁盘存储空间。如果超过10GB,我希望在插入新文档时出现错误消息 有没有办法通过配置文件设置磁盘上的最大大小?在MongoDB 4.0中,没有常规配置选项来限制部署的最大磁盘大小 但是,有几种方法可以限制桌面上的存储使用: 为MongoDB使用单独的分区或存储卷 在具有最大存储分配的虚拟机或容器内运行MongoDB 连接到托管的MongoDB部署 一般来

我在本地桌面上下载了MongoDb。因为这台机器上还有其他重要的东西,所以我需要确保MongoDB数据文件在任何时候都不会占用超过10GB的磁盘存储空间。如果超过10GB,我希望在插入新文档时出现错误消息


有没有办法通过配置文件设置磁盘上的最大大小?

在MongoDB 4.0中,没有常规配置选项来限制部署的最大磁盘大小

但是,有几种方法可以限制桌面上的存储使用:

  • 为MongoDB使用单独的分区或存储卷

  • 在具有最大存储分配的虚拟机或容器内运行MongoDB

  • 连接到托管的MongoDB部署
一般来说,让数据库服务器耗尽空间是个坏主意,因为这可能会导致意外错误或关机,具体取决于服务器耗尽空间时尝试完成的操作。通常,您希望有一个流程监控存储,以便能够在问题变得严重之前主动释放一些空间

一些节省空间的提示可能会有所帮助:

  • 定期检查以限制存储使用。如果您使用的是Unix/Linux系统,则可以将
    logrotate
    实用程序配置为在日志达到目标文件大小时对其进行旋转和压缩,然后在日志达到某个时间段时删除存档日志
  • 考虑使用自动从集合中删除旧数据。如果您的集合具有短暂的数据(如用户会话),并且在到期日后将变得过时,那么这将非常有用
  • 删除未使用的索引和集合。WiredTiger存储引擎(MongoDB 3.2+中的默认设置)为每个集合和索引分配一个文件,因此删除其中任何一个都会立即释放存储空间