netapp存储fas2020如何解决硬盘空间浪费的问题?我12*500g的空间,配置完成后,只剩下1.2T

netapp存储fas2020如何解决硬盘空间浪费的问题?我12*500g的空间,配置完成后,只剩下1.2T,第1张

这个要看工程师为你怎么规划的存储空间了,NetApp采用软RAID,底层自动创建RAID组,上层为Aggr,一个Aggr内可以包含多个RAID组,RAID一般默认都为DP类型,我们常说的RAID 6,这样就会消耗两块磁盘做校验盘,至少每个控制器留有一个热备盘,也就是说每个控制器先刨除3块磁盘不可用,剩余的磁盘才是可用的数据盘,500GB磁盘格式化完也就400多GB,因此可用空间1.2TB是正常的

优化磁盘空间的占用,减少磁盘空间的占用,更多的数据可以进入filesystem cache

比如说你原来,磁盘空间占用一共是1T,内存只有512G,现在优化了磁盘空间占用之后,减少了数据量,可能数据量就只有512G了,那么就可以全部进入内存

1、禁用不需要的功能

聚合,搜索,评分,近似匹配

聚合:doc values

搜索:倒排索引,index

评分:norms

近似匹配:index_options(freqs)

任何一个功能不需要,就把对应的存储的数据给干掉,这样可以节约磁盘空间的占用,也可以优化磁盘的读写性能

默认情况下,es在写入document到索引的时候,都会给大多数的field增加一份doc values,就是正排索引,用来进行聚合或者排序的。比如说,如果我们有一个叫做foo的数字类型field,我们要对这个字段运行histograms aggr聚合 *** 作,但是可能我们并不需要对这个字段进行搜索,那么就可以禁止为这个字段生成倒排索引,只需要doc value正排索引即可。禁用倒排索引:

text类型的field会存储norm值,用来计算doc的相关度分数,如果我们需要对一个text field进行搜索,但是不关心这个field的分数,那么可以禁用norm值

text field还会存储出现频率以及位置,出现频率也是用来计算相关度分数的,位置是用来进行phrase query这种近似匹配 *** 作的,如果我们不需要执行phrase query近似匹配,那么可以禁用位置这个属性:

此外,如果我们不关心相关度频分,我们可以配置es仅仅为每个term索引对应的document,我们可以对这个field进行搜索,但是phrase query这种近似匹配会报错,而且相关度评分会不准确:

2、不要用默认的动态string类型映射

默认的动态string类型映射会将string类型的field同时映射为text类型以及keyword类型,这会浪费磁盘空间,因为我们不一定两种都需要。通常来说,id field这种字段可能只需要keyword映射,而body field可能只需要text field。

映射一个content,content: text,content.内置字段: keyword

可以通过手动设置mappings映射来避免字符串类型的field被自动映射为text和keyword:

3、禁止_all field

_all field会将document中所有field的值都合并在一起进行索引,很耗费空空间,如果不需要一次性对所有的field都进行搜索,那么最好禁用_all field。

4、使用best_compression

_source field和其他field都很耗费磁盘空间,最好是对其使用best_compression进行压缩。用elasticsearch.yml中的index.codec来设置,将其设置为best_compression即可。

5、用最小的最合适的数字类型

es支持4种数字类型,byte,short,integer,long。如果最小的类型就合适,那么就用最小的类型。

1、可以把硬盘划分到一个或多个aggr里面

2、然后在每个aggr里面做raid

3、然后在在agg里面可以划分多个vol

4、然后在每个vol里面可以创建多个lun

5、最后把lun通过fc或者iscisi协议映射到主机(服务器)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7898636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存