背景

随着公司软件的发展.客户越来越多.
测试环境和兼容环境也越来越多.
不管是虚拟化,还是裸金属做数据库
存储都是绕不开的一道门槛.
最近又上架了几台服务器, 所以想趁着周末总结一下
最近服务器上架的一些得失,
以及未来客户现场部署的一些可能的事项.

关于存储

存储是一切软件的基础
没有存储软件几乎是无法运行和交付的.
存储也是数据的栖身之所,他的性能和稳定性会影响良多. 现阶段服务器看的很多是CPU和内存,但是在传统应用里面
存储的性能也会决定非常多的地方. 甚至存储性能不好会导致再高的CPU和内存都无法弥补的性能下降. 存储比较核心的地方在于Raid的设置
虽然可以单盘,但是单盘的性能和容量都非常有限,安全性也不是很好.
所以需要进行一些Raid设置.这一块是非常关键的.

RAID的一些说明

磁盘阵列(Redundant Arrays of Independent Disks,RAID),
有"数块独立磁盘构成具有冗余能力的阵列”之意。 RAID 一般常用的有 0 1 10 5 6 50 60
用的比较多的是 5 6 10
但是因为有写惩罚
RAID0 写惩罚 是1
RAID1 写惩罚 是2
RAID10 写惩罚 是2
RAID5 写惩罚 是4
RAID6 写惩罚 是6 所以一般很不建议将RAID6用于生产, 如果想节约成本可以使用
RAID5+HOT_Spare盘的方式进行部署. 安全和写入基本上都可以保证.

关于RAID的设置

除了核心的Raid级别的设置还有以下事项也比较重要:
是否开启缓存.
是否开启写缓存
写入的方式是wirte through还是write back
是否开启磁盘缓存
是否开启条带化
是否最大化性能还是最大化安全

RAID设置的说明

是否开启缓存
以装机量比较大的LSI 9361-8i 或者是PMC8204-2G进行说明
都可以有2G DDR的缓存.
但是大家也都知道DDR是易失性的,如果一场断电或者是宕机会导致无法挽回的损失.
所以一般会要求带一个BBU
但是BBU 一般有时效性可能需要定期更换.
能够保证再宕机或者是断电时能够将RAID卡内存缓存中的数据写入到非易失性的设备中
保证数据的安全与稳定.

RAID设置的说明

Write through和Write back
则是两种方式, 是写入到缓存就告知操作系统, 写入完成
还是必须写入到磁盘才能告知操作系统, 写入完成 使用缓存模式能够极大的提高写入性能 back的效率可能有十倍甚至一百倍的提升
但是如果缓存耗尽,磁盘写入来不也会导致性能断崖式的下降
所以虽然可以使用缓存. 但是也必须保证磁盘的性能不能太差 对应的write back 虽然性能好,但是存在丢失数据的风险, 除非有非常全面的数据保护机制
核心的数据库还是建议慎用.

磁盘缓存

现阶段因为 叠瓦硬盘的存在, 硬盘的缓存一般都有了巨大的提升
开启硬盘的缓存对硬盘写入也是有所提升的
但是与write back 一样需要有机制来保证数据安全 也跟write back一样缓存被耗尽,性能也会出现断崖式的下降
甚至导致上层应用出现爆CPU 大量等待磁盘返回的故障.
所以这一块性能测试 必须要长时间大压力进行压测, 压穿缓存才可以验证具体的性能.

关于数据库的配置

1. 操作系统最好在单独的RAID磁盘组上面. 避免跟核心数据在相同的硬盘上面,出现问题难以解决.
操作系统可以单独一个两块盘的RAID1进行处理. 可以不用太大,不用强求SSD.
2. 数据库的数据盘最好采用搞转速的HDD SAS盘,或者是高吞吐的SSD进行部署搭建.
因为数据库的数据盘更多的是离散读和离散写.对磁盘的性能要求极高.
3. 数据库的日志盘可以放到顺序写性能比较好的RAID10的HDD磁盘组上面.
日志盘需要大量的顺序写并且读比较少. 所以可以如此设置. 缓存也可以开除大量的写入缓存保证性能.
4. 备份盘建议走场外, 如果必须在当前机器上面建议至少再简历单独的RAID组进行设置
避免部分村损坏出现严重的数据丢失无法挽回.

服务器Raid配置的一些思考的更多相关文章

  1. 服务器RAID配置全程与RAID基础知识

    服务器RAID配置全程 一.RAID介绍 RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”.后来RAID中的字 ...

  2. HP服务器RAID配置

    公司服务器硬盘空间不够了(HP的服务器),购买了10块硬盘,由于之前没有做过RAID,感觉很高大上的样子,就请教了HP的技术人员,技术人员发了两份文档,分别是DL380G7(DL580G7)和DL38 ...

  3. 服务器RAID配置

    一.RAID介绍RAID是Redundent Array of Inexpensive Disks的缩写,直译为"廉价冗余磁盘阵列",也简称为"磁盘阵列".后来 ...

  4. DELL服务器r710配置RAID

    DELL服务器r710配置RAID: 1.开机后等待DELL图标出现,连续按ctrl+r,进入RAID配置界面: 2.进入RAID配置界面,如果是下面的这个界面,选择Disk group 0这项需要按 ...

  5. 关于hp proliant sl210t服务器raid 1阵列配置

    hp proliant sl210t服务器,一般都会带有两个阵列卡 一个服务器自带的Dynamic Smart Array B120i RAID控制器,一个为Slot卡槽上的Smart Array P ...

  6. 戴尔PowerEdge服务器RAID控制卡的配置

    示例演示环境:PowerEdge R620 + H710p Raid控制卡  + 9 x 300G 10k SAS 硬盘 H310.H710.H810的配置方法与H710P大致相同,在此不再累述. 特 ...

  7. 浪潮服务器NF84260M3安装Windows server 2012 R2 RAID配置

    这里是已经做了RAID6,再做系统 浪潮服务器NF84260M3 U盘启动,光盘刻录 Windows server 2012 R2 镜像,地址:迅雷下载,ed2k://|file|cn_windows ...

  8. 关于hp proliant sl210t服务器raid 1阵列配置(HP P420/Smart Array P420阵列卡配置)

    hp proliant sl210t服务器,一般都会带有两个阵列卡 一个服务器自带的Dynamic Smart Array B120i RAID控制器,一个为Slot卡槽上的Smart Array P ...

  9. 华为服务器XH628配置软RAID

    1.       硬RAID 1.1.       配置准备 本机型号为华为XH628,配有两块400GSSD,12块1.2TSAS盘.其中2块SSD做RAID1为系统盘,12块SAS盘做RAID5, ...

  10. dell服务器raid设置

    dell服务器raid设置 配置说明: 开机自检按ctrl+R键进入配置界面 如果服务器有raid卡,而不想做磁盘阵列时,需要做单盘RAID0,主要是为了让卡来识别一下硬盘 对raid进行操作很可能会 ...

随机推荐

  1. CodeArts Repo:6大特性助力企业代码稳定可靠安全无忧

    摘要:华为云代码托管服务CodeArts Repo已于2月20日22:00正式上线,这是一款全栈自研.基于Git的云端代码托管服务,旨在保护企业核心代码资产安全,提升企业研发质量和效率. 本文分享自华 ...

  2. 梦幻联动!金蝶&华为云面向大企业发布数据库联合解决方案

    摘要:近日,金蝶软件(中国)有限公司(以下简称"金蝶")携手华为云共同发布了金蝶云·星瀚.金蝶云·苍穹和GaussDB(for openGauss)数据库联合解决方案. 本文分享自 ...

  3. 如何使用appuploader制作描述文件​

    如何使用appuploader制作描述文件​ 承接上文我们讲述了怎么制作证书,本文我们来看下怎么制作描述文件吧.​制作描述文件前我们首先我们来添加一个测试设备,后面再制作描述文件. 1.添加测试设备​ ...

  4. Spring 太肥、太慢?你受不了?那 Solon Java Framework 就是你的西施

    Solon 是什么? Java 生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模).与其他框架相比,它解决了两个重要的痛点:启动慢,费内存.2023 ...

  5. 断点续传(上传)C#版

    断点续传(上传)Java版 1. 客户每次上传前先获取一下当前文件已经被服务器接受了多少 2. 上传时设定偏移量 服务端代码如下: /// <summary> /// 断点续传,获取已上传 ...

  6. Vue 多环境配置

    没有使用 package.json 进行配置 ,改配置时不需要重新打包 Vue 多环境配置 package.json settings.js window.environment="dev& ...

  7. schedule 定时运行 Python 函数

    安装 pip install schedule 例子 每x分钟运行一次 import schedule import time def job(): print("I'm working.. ...

  8. MB21 预留

    1.MB21创建预留 1.1MB21前台操作 输入物料等信息,保存即可 1.2调用BAPI:BAPI_RESERVATION_CREATE1 "----------------------- ...

  9. C++ lambda 内 std::move 失效问题的思考

    最近在学习 C++ Move 时,有看到这样一个代码需求:在 lambda 中,将一个捕获参数 move 给另外一个变量. 看似一个很简单常规的操作,然而这个 move 动作却没有生效. 具体代码如下 ...

  10. SpringCloud学习 系列十、服务熔断与降级(3-类级别的服务降级)

    系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...