我有两个3TB的磁盘,我希望是尺寸完全相同。这意味着我可以用来dd
复制它们而不会短或超过一些字节。
因此我试图找出 HDD 块设备的容量/大小,并为此使用
fdisk /dev/sdX -l | grep "Disk /dev/sdX"
在我的情况下,这两个设备可以通过/dev/sda
和/dev/sdb
并使用我收到的上面的命令进行访问
Disk /dev/sda: 3000.6GB, 3000592982016
和
Disk /dev/sdb: 3000.6GB, 3000592982016
令我欣慰的是,这两个设备的尺寸似乎完全相同。这是它们具有确切的字节数。
我的问题
这个信息可信吗?特别是我想知道硬盘设备在一段时间内保持字节数恒定(即既不会丢失也不会增加一些字节,即由于坏扇区等)是否至少是常见的做法/习惯?
答案1
2 个 HDD 随着时间的推移执行的任何调整都将保持其可用空间(未损坏或损坏)具有相同的字节数。所有这些都发生在您(硬盘驱动器的用户)的较低级别上,因此我希望两个硬盘驱动器随着时间的推移会报告相同的容量。
笔记:所有现代硬盘驱动器都包含额外的空间储备,当扇区出现缺陷或磨损时,可以从中提取空间。 HDD 认识到这些扇区出现故障或损坏,将从保留中重新分配,将故障扇区标记为不可用,以便它不再是可用扇区总池的一部分。
假设没有其他灾难性类型的故障,HDD 应继续正常运行,直到该空间耗尽。一旦空间用完,硬盘将被迫修复剩余的坏扇区。它将尝试将这些失败的数据重新定位到好扇区,但在此过程中将开始出现 I/O 错误。
笔记:您可以使用 SMART 监控 HDD 在其整个生命周期内的保留空间。在看着智能属性我怀疑这个计数将是#5:
5-重新分配的扇区数未使用的备用扇区的数量。当遇到读/写/检查错误时,设备会将坏扇区重新映射到从特殊保留池中获取的“健康”扇区。该属性的标准化值随着可用备件数量的减少而减少。在常规硬盘驱动器上,原始值表示重新映射扇区的数量,通常应为零。在 SSD 上,原始值表示故障闪存块的数量。
您可以使用smartctl
该包中通常包含的工具smartmontools
(无论如何,Fedora 20 上是这样称呼的)来检查这一点。
$ sudo smartctl --all /dev/sda
此输出中有很多有用的信息:
smartctl 6.2 2014-07-16 r3952 [x86_64-linux-3.16.3-200.fc20.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: LITEONIT LMT-256M3M
Serial Number: 002244119905
LU WWN Device Id: 5 000000 000000000
Firmware Version: VZJ4
User Capacity: 256,060,514,304 bytes [256 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA8-ACS, ATA/ATAPI-7 T13/1532D revision 4a
SATA Version is: SATA 3.0, 6.0 Gb/s
Local Time is: Fri Oct 10 12:32:12 2014 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 10) seconds.
Offline data collection
capabilities: (0x15) SMART execute Offline immediate.
No Auto Offline data collection support.
Abort Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities: (0x0002) Does not save SMART data before
entering power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x00) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 10) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x0003 100 100 070 Pre-fail Always - 0
5 Reallocated_Sector_Ct 0x0003 100 100 000 Pre-fail Always - 0
9 Power_On_Hours 0x0002 100 100 000 Old_age Always - 2248
12 Power_Cycle_Count 0x0002 100 100 000 Old_age Always - 706
171 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 0
172 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 0
173 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 12
174 Unknown_Attribute 0x0030 000 000 000 Old_age Offline - 126
178 Used_Rsvd_Blk_Cnt_Chip 0x0003 100 100 000 Pre-fail Always - 0
187 Reported_Uncorrect 0x0002 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0003 100 100 000 Pre-fail Always - 126
230 Unknown_SSD_Attribute 0x0032 100 100 000 Old_age Always - 24851
232 Available_Reservd_Space 0x0003 100 100 010 Pre-fail Always - 2784
241 Total_LBAs_Written 0x0003 100 100 000 Pre-fail Always - 86211
242 Total_LBAs_Read 0x0003 100 100 000 Pre-fail Always - 25145
SMART Error Log Version: 0
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
Selective Self-tests/Logging not supported
我所指的信息位于最后一个表中,ID #5。
参考
答案2
如果你想知道设备的大小(以字节为单位),你可以使用 blockdev:
# blockdev --getsize64 /dev/sde
2000398934016
在这个例子中/dev/sde
是一个 2TB 的磁盘,或者至少,这是内核看到的。当然,fdisk
、parted
和其他人应该显示相同的信息。
这个尺寸不会改变。由于坏扇区而失去容量是不可能的,这会导致无穷无尽的问题;重新分配扇区使用内部储备,驱动器通常在用完之前就完全失效了。你应该在事情变得那么糟糕之前更换。
有些人喜欢在磁盘末尾留下一些未分区的小空间(几兆),因为替换磁盘的大小可能与旧磁盘的大小不完全相同,并且如果新磁盘的大小可能会使 RAID 成员替换等事情变得更加困难设备似乎有点太小了。