我有兩個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 成員替換等事情變得更加困難設備似乎有點太小了。