已解决
MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储
来自网友在路上 133833提问 提问时间:2023-09-23 05:39:02阅读次数: 33
最佳答案 问答题库338位专家为你答疑解惑
Windows系统实现多磁盘存储
- 1.为什么
- 2.多磁盘存储
- 2.1 数据库配置
- 2.2 文件夹磁盘映射
- 2.3 创建新的数据集
- 3.总结
1.为什么
这里仅针对只有一台Windows系统服务器的情景:
- 当服务器存储不足时,或者要接入更多的数据,就会挂载新磁盘,那如何将数据存储在挂载的新磁盘上呢?
- 当前服务器有多个大容量磁盘,MongoDB要存储的数据一个磁盘存储不够时如何处理?
这个时候就需要多磁盘存储了。
2.多磁盘存储
2.1 数据库配置
将storage.directoryPerDB
设置为true
,这样设置的目的是每个数据库放在独立的文件夹内:
storage:dbPath: <string>journal:enabled: <boolean>commitIntervalMs: <num># 默认为false设置为truedirectoryPerDB: true
修改之前:
不同数据集的数据分布在多个文件里,设置后,添加了一个test
数据集:
2.2 文件夹磁盘映射
在创建数据集之前
使用mklink创建映射,目的是MongoDB数据库的文件通过映射放置到其他磁盘下,我们以image
为例进行说明:
- 在
非dbPath
磁盘下创建一个目录
- 创建映射
# 语法
mklink /D LinkFolderName TargetFolderPath# 测试
mklink /D D:\mongodb\data\image E:\mongodb\data\imageC:\Users\Administrator>mklink /D D:\mongodb\data\image E:\mongodb\data\image
为 D:\mongodb\data\image <<===>> E:\mongodb\data\image 创建的符号链接
创建成功后,在dbPath
目录下出现了一个类似快捷方式但是类型是文件夹的
image目录:
要特别注意的是:目录符号链接不会在物理上复制文件,它们只是提供了一个不同名称的访问路径。文件仅存储在TargetFolderPath
目录下也就是E:\mongodb\data\image
目录下,这样,test库和image库就存储在不同的磁盘上了。
2.3 创建新的数据集
创建跟映射目录名称一致的新的数据集image
,创建成功后可发现dbPath
目录下有数据集的文件了,实际上并非在dbPath
所在的磁盘,而是在映射目录的磁盘。
3.总结
仅适合非分布式,Windows多磁盘的场景,Linux未进行测试。
查看全文
99%的人还看了
相似问题
- Clickhouse设置多磁盘存储策略
- 【Linux】缓冲区+磁盘+动静态库
- 【实用技巧】更改ArduinoIDE默认库文件位置,解放系统盘,将Arduino15中的库文件移动到其他磁盘
- 服务器数据恢复—服务器raid5离线磁盘上线同步失败的数据恢复案例
- 【操作系统】磁盘物理地址怎么表示
- Linux centos系统中添加磁盘
- 【面经】如何查看服务器内存和磁盘空间占用
- macOS磁盘分区调整软件--Paragon Camptune X 中文
- ubuntu22.04桌面完整版配置WiFi方法(后来发现这个方法是错误的)(修改磁盘文件方式--不需要显示器)
- 从物理磁盘到数据库 —— 存储IO链路访问图
猜你感兴趣
版权申明
本文"MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储":http://eshow365.cn/6-11909-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!