ddia/storage/ssh-intro.md
2018-02-09 20:09:21 +08:00

161 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SSD 原理
《大话存储》
### 颗粒
东芝的颗粒,海力士的颗粒
### Feature
Atomic Write: 打开开关10%性能提升。1.2x写放大
Prioritize Write : 阿里定制功能
### 温度
正常负载60度。
Warning级别告警 70度
温度79度超过10秒钟开始降速。
### 统计
Power Cycle可以用于判断重启次数。
Dynamic Bad Blocks 统计坏块数目。
半年时间将动态坏块转为静态坏块。如果超过50通知厂家。
一个Page 32K = 32768BPage是最小的写入单位。
一个Block 256 Page = 8MBlock是最小的擦除单位。
坏块最大导致30% 性能损失
### SEU问题
Media Status : Healthy|Bad
SEU Flag: Normal|Correctable|Uncorrectable
## 磨损与寿命
WL Bandwidth 磨损均衡。
每十五天翻新一遍旧数据。每十分钟检查一遍最旧的是否需要翻新。
总写入量 = 主机写入量+GC带宽
Estimated Life Left: 99.840% -> 15% 适合开始迁移
## 写放大问题
写放大= 主机写入量 / 总写入量
写放大因子,> 2 完全随机写
经验值2以内。
监控动态写放大
Write Amplifier: 1.100
统计时间窗口1s
### Lun & Channel
最多8个并发。
Lun ,一个数据结构。
Channel: 并发通道
CRC存储Block错误
ECC控制器内存错误
32k + 1024 bit校验和。
每1024字节需要40字节校正。
掉电保护 只需要刷入32K 数据。
使用主板余电的功能。从12V掉到5V5V可以再供100ms5ms可以刷入磁盘
### 基本测试
使用fio测试
测试模型:
顺序带宽1个并发队列深度128
IOPS随机4 到 8 个并发每个并发32~64队列深度
异步IO最大化压测底层处理能力
DirectIO
全盘写两三遍,做满盘预处理。
## 高级IO开发
FTLFlash Translation Layer 将传统硬盘的API翻译成闪存的API。
255个逻辑controller
## SSD基础知识
LBA -> PBA
PCI倍速
网卡
730 四个插槽每个16速。、
一块万兆网卡x8。一块四口千兆网卡。
一块存储卡x8
15000 *
块大小越大造成的IO越高。