在论坛中出现的各种疑难问题:数据库存储配置


SQL SERVER 2012 存储配置问题

http://bbs.csdn.net/topics/390715697

40核的服务器,512G内存,连一个FC存储柜,8个300G的15K硬盘组Raid10,数据库有3-4个,都是超过20G的,现在只划分一个LUN,有必要划分几个LUN来分别放数据库数据、日志、tempdb吗?

如果要分的话具体怎么做?

性能能提供很多吗?
用Raid1的话会不会IO有问题,用户数比较多,二层C/S架构的ERP,1000多用户。

谢谢


1、

首先,日志和数据,最好分到不同的物理磁盘上,可以吧数据io和日志io,分到不同的硬盘上,提高io效率

然后,数据,也要分到不同的物理磁盘上,这样可以通过并行的io,提高读取数据的效率。

而tempdb,可以添加多个文件,主要是当在tempdb中创建大量临时表的时候,减少闩锁的争用。每个文件的大小要相同。


2、

既然是FC存储,就划一个大的LUN就OK,若需要管理上的逻辑区分,就划多个LUN。性能没区别,只是管理上的区别


3、
8块一个raid10
只有一个LUN,在产生磁盘性能问题时不太容易看出问题所在
划成多个LUN,data/log/tempdb/bak单独放在不同LUN可以比较容易区分data/log/bak压力。

如果是我,可能这样划:
3*300 Raid5 Data
2*200 Raid1 Log(tempdb)
2*200 Raid1 Bak(tempdb)
1*100 热备



3*300 Raid5 Data
4*200 Raid1 Log(tempdb)
1*100 热备
备份放本地服务器磁盘


4、

现在是默认安装,4个10核的cpu,全部选中,这个算numa还是普通?
普通的配置,关于NUMA的配置:http://technet.microsoft.com/zh-cn/library/ms180954(v=sql.105).aspx


5、

建议做Raid5+2即可,两个LUN,因为存储有cache,所以磁盘读写压力可以忽略不计,Riad5写和读性能都较好,+2实现数据安全性,所以建议Raid5+2两个Lun即可。


6、

8个搞RAID 10貌似浪费,比如tempdb,可以放到raid 0,然后数据文件放RAID 10拿来存数据文件,RAID 5就算了,再整个NUMA
我上家公司也差不多这样规模的ERP,直接丢存储上面,读写方面没什么问题,主要是tempdb的空间问题而已
RAID 5主要在容灾方面比较好,拿来放备份还差不多。


7、能请教numa怎么设置吗,看了上面给的文章,还是一头雾水
看了下,好像服务器已经启用了硬件numa,不需要配置了,谢谢


8、

多种RAID级别

多年来,RAID定义了许多级别,多数都只是昙花一现,转瞬即逝。其中最著名的定义包括如下几种。

RAID 0----以间隔分布的方式将数据分配到磁盘上,可提供更快的访问速度,但并不能为数据提供更好的保护。

RAID 1----对数据进行复制,并以镜像方式存在于不同的磁盘中,从而为提供良好的容错能力。

RAID 3----以间隔分布的方式将数据分配到不同的磁盘上,并且以并行方式访问数据,从而提高数据的读写速度。该模式将校验位存储在独立的专用磁盘上,因而可以提供较好的容错性能。

RAID 5----将数据和校验位都以间隔分布的方式存储在所有的磁盘上,从而取得更好的负载平衡。该模式在增加数据读取速度的同时还可以有效地提高数据保护性能。

所有这些RAID层都是由一家行业组织----RAID顾问委员会制订的。

当然,除此之外还有一些其他的RAID实施方式。RAID 2 和4 就是由RAID社团定义的,但它们的实际应用极为罕见(事实上,我们只了解到有一家总部设在美国马萨诸塞州公司实施过商用RAID 2技术,数据中的位以间隔分布方式存储在不同的磁盘上,以获得更高的速度)。

此外,目前比较常见的是将不同层的RAID级别组合使用的方式,例如RAID 1 和0 (通常写作1+0)及RAID 0 和1 (通常写作0+1)。1+0 就是镜像式的间隔存储,而0+1则是间隔存储的镜像,虽然两者都是同样两种RAID级别组合,但它们组合的结果却是完全不同的。


楼主的最终配置:

8个盘做1个阵列
400GB raid5 放log
200GB raid10 放data
50GB raid0 放tempdb (划分40个文件)
还有点空间留着酌情扩展

原文地址:https://www.cnblogs.com/momogua/p/8304519.html