@@ -50,7 +50,9 @@ icon: material/harddisk
50
50
51
51
一个现实中发生过的例子是:将错误的硬盘托架安装至服务器盘位,导致托架卡住无法取出,最后费了近半个小时,甚至用上了螺丝刀作为杠杆,才将其松动,取出硬盘。
52
52
53
- 磁盘需要带上托架才能安装到服务器中。托架的主要作用是固定住磁盘,并且方便安装和取出。托架的尺寸与磁盘的尺寸有关,3.5 英寸磁盘的托架一般需要安装转接板才能安装 2.5 英寸的磁盘,但也有一些托架预留了 2.5 英寸磁盘的螺丝孔位。
53
+ 磁盘需要带上托架才能安装到服务器中。托架的主要作用是固定住磁盘,并且方便安装和取出。托架的尺寸与磁盘的尺寸有关,3.5 英寸磁盘的托架一般需要安装转接板才能安装 2.5 英寸的磁盘,但也有一些托架预留了 2.5 英寸磁盘的螺丝孔位。同时,托架也一般有 LED 灯,在磁盘故障时会亮黄灯或红灯,也一般能够使用服务器的管理工具控制灯闪烁来定位磁盘。
54
+
55
+ <!-- TODO: 一张托架的照片 -->
54
56
55
57
### 磁盘接口与协议 {#disk-interface}
56
58
@@ -90,6 +92,72 @@ SATA 与 SAS 的详细对比可参考[英文 Wikipedia 中 SAS 的 "Comparison w
90
92
<figcaption>PCIe 插卡式 SSD</figcaption>
91
93
</figure>
92
94
95
+ ### S.M.A.R.T. {#smart}
96
+
97
+ 磁盘的 S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)功能可以记录磁盘的运行状态,并且在磁盘出现故障前提供预警。S.M.A.R.T. 可以记录磁盘的温度、读写错误率、磁盘旋转速度、磁盘的寿命等信息。
98
+
99
+ Linux 系统上可以安装 ` smartmontools ` 包来查看磁盘的 S.M.A.R.T. 信息。使用以下命令查看可用的磁盘与其 S.M.A.R.T 状态:
100
+
101
+ ``` console
102
+ $ sudo smartctl --scan
103
+ /dev/nvme0 -d nvme # /dev/nvme0, NVMe device
104
+ $ sudo smartctl -a /dev/nvme0
105
+ (内容省略)
106
+ ```
107
+
108
+ 在服务器上,如果使用硬件 RAID,使用 ` smartctl ` 需要添加额外的参数来从 RAID 控制器获取真实的磁盘信息,例如下面的例子:
109
+
110
+ ``` console
111
+ $ sudo smartctl --scan
112
+ /dev/sda -d scsi # /dev/sda, SCSI device
113
+ /dev/sdb -d scsi # /dev/sdb, SCSI device
114
+ /dev/sdc -d scsi # /dev/sdc, SCSI device
115
+ /dev/sdd -d scsi # /dev/sdd, SCSI device
116
+ /dev/bus/4 -d megaraid,8 # /dev/bus/4 [megaraid_disk_08], SCSI device
117
+ /dev/bus/4 -d megaraid,9 # /dev/bus/4 [megaraid_disk_09], SCSI device
118
+ /dev/bus/4 -d megaraid,10 # /dev/bus/4 [megaraid_disk_10], SCSI device
119
+ /dev/bus/4 -d megaraid,11 # /dev/bus/4 [megaraid_disk_11], SCSI device
120
+ /dev/bus/4 -d megaraid,12 # /dev/bus/4 [megaraid_disk_12], SCSI device
121
+ /dev/bus/4 -d megaraid,13 # /dev/bus/4 [megaraid_disk_13], SCSI device
122
+ /dev/bus/4 -d megaraid,14 # /dev/bus/4 [megaraid_disk_14], SCSI device
123
+ /dev/bus/4 -d megaraid,15 # /dev/bus/4 [megaraid_disk_15], SCSI device
124
+ /dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
125
+ /dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
126
+ /dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
127
+ /dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
128
+ /dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
129
+ /dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
130
+ $ sudo smartctl -a /dev/sdd # 直接查询只能看到没有意义的控制器信息
131
+ smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.10.0-21-amd64] (local build)
132
+ Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
133
+
134
+ === START OF INFORMATION SECTION ===
135
+ Vendor: AVAGO
136
+ Product: MR9361-8i
137
+ Revision: 4.68
138
+ Compliance: SPC-3
139
+ User Capacity: 1,919,816,826,880 bytes [1.91 TB]
140
+ Logical block size: 512 bytes
141
+ Physical block size: 4096 bytes
142
+ Logical Unit id: 0x600605b00f17786026223e2d33c1767b
143
+ Serial number: 007b76c1332d3e22266078170fb00506
144
+ Device type: disk
145
+ Local Time is: Sun Feb 11 18:40:45 2024 CST
146
+ SMART support is: Unavailable - device lacks SMART capability.
147
+
148
+ === START OF READ SMART DATA SECTION ===
149
+ Current Drive Temperature: 0 C
150
+ Drive Trip Temperature: 0 C
151
+
152
+ Error Counter logging not supported
153
+
154
+ Device does not support Self Test logging
155
+ $ sudo smartctl -a /dev/bus/4 -d megaraid,8 # 添加参数可以看到真实的磁盘信息
156
+ (内容省略)
157
+ ```
158
+
159
+ 有关 S.M.A.R.T. 指标解释与监控的内容将会在 [ LVM 与 RAID] ( ./lvm-raid.md ) 中介绍。
160
+
93
161
## RAID
94
162
95
163
RAID(Redundant Array of Inexpensive Disks)是一种将多个磁盘组合在一起实现数据冗余和性能提升的技术。不同的磁盘组合方式称为“RAID 级别(RAID Level)”,常见的有 RAID 0、RAID 1、RAID 5、RAID 6、RAID 10 等。
0 commit comments