NAS Ubuntu 16.04 LTSサーバーi386(カーネル4.4.211-0404211-generic)を実行しています。これをsambaと一緒に使用して、ホームネットワークを介して映画や音楽を共有しています。
HDDから最近購入した別のHDDに約100 Goのデータをコピーしようとしました。どちらもext4です。
起動時に両方ともfstabによってマウントされています:
_UUID=... /media/HDD{number_of_hdd} ext4 defaults,errors=remount-ro 0 2
_
しかし、私が試したすべてが失敗しました。原因として、すべてが(部分的に)破損しています。私のすべてのファイルは読み取り可能です。たとえば、Windows PCのVLCはsambaの共有を考えていましたが、音楽に小さな一時停止やビデオの視覚的な破損がたくさんあり、Dropped (discontinued)
VLCの統計ページで、オーディオまたはビジュアルの破損に気づくたびにもう1つ。
したがって、チェックサム(ソースファイルと宛先ファイルの両方で_7z h {file} -scrcSHA256
_と_md5sum
_を使用)をチェックし、それらが異なるたびにチェックしました。
cp
とrsync
を使用してコピーを作成しましたが、どちらも失敗しました。私が使用した完全なコマンド:
_cp -r {source} {destination}
rsync -Pa {source} {destination}
_
私は両方のHDDのスマート値を確認しましたが、何も問題はありません。その後、両方で_fsck -f -y
_も実行しました。fsckは、すべてが良好であることを通知します。また、_memtest86+
_を使用してmemtestを作成しましたが、すべてが良好です。 _apt update
_で利用できるアップデートはありません。
何時間も問題を見つけようとしたところ、次のことに気づきました(どちらもcp
またはrsync
を使用しています)。
truncate
で作成された小さなファイル(20Moでテスト済み)では、チェックサムは正しい元のディレクトリの2つのファイルと破損したファイルを比較したところ、いくつかの違いが見つかりました。
必要に応じて、元のファイルと破損したファイルを含むアーカイブを送信できます。
サーバーの仕様:
_==================================================
system A7N8X-E
/0 bus A7N8X-E
/0/0 memory 64KiB BIOS
/0/4 processor AMD Athlon(tm) XP 2800+
/0/4/9 memory 128KiB L1 cache
/0/4/a memory 512KiB L2 cache
/0/26 memory 3GiB System Memory
/0/26/0 memory 1GiB DIMM DRAM Synchronous
/0/26/1 memory 1GiB DIMM DRAM Synchronous
/0/26/2 memory 1GiB DIMM DRAM Synchronous
/0/100 bridge nForce2 IGP2
/0/100/0.1 memory RAM memory
/0/100/0.2 memory RAM memory
/0/100/0.3 memory RAM memory
/0/100/0.4 memory RAM memory
/0/100/0.5 memory RAM memory
/0/100/1 bridge nForce2 ISA Bridge
/0/100/1.1 bus nForce2 SMBus (MCP)
/0/100/2 bus nForce2 USB Controller
/0/100/2/1 usb2 bus OHCI PCI Host controller
/0/100/2.1 bus nForce2 USB Controller
/0/100/2.1/1 usb3 bus OHCI PCI Host controller
/0/100/2.2 bus nForce2 USB Controller
/0/100/2.2/1 usb1 bus EHCI Host Controller
/0/100/4 enp0s4 network nForce2 Ethernet Controller
/0/100/8 bridge nForce2 External PCI Bridge
/0/100/8/4 enp1s4 network 88E8001 Gigabit Ethernet Controller
/0/100/8/a storage SiI 3114 [SATALink/SATARaid] Serial ATA Controller
/0/100/9 storage nForce2 IDE
/0/100/1e bridge nForce2 AGP
/0/1 scsi0 storage
/0/1/0.0.0 /dev/sda disk 1TB ST1000DM010-2EP1
/0/1/0.0.0/1 /dev/sda1 volume 928GiB EXT4 volume
/0/1/0.0.0/2 /dev/sda2 volume 3070MiB Extended partition
/0/1/0.0.0/2/5 /dev/sda5 volume 3070MiB Linux swap / Solaris partition
/0/2 scsi1 storage
/0/2/0.0.0 /dev/sdb disk 1TB ST1000LM048-2E71
/0/2/0.0.0/1 /dev/sdb1 volume 465GiB EXT4 volume
/0/2/0.0.0/2 /dev/sdb2 volume 465GiB Linux filesystem partition
/0/3 scsi2 storage
/0/3/0.0.0 /dev/sdc disk 3TB ST3000DM007-1WY1
/0/3/0.0.0/1 /dev/sdc1 volume 2794GiB EXT4 volume
/0/5 scsi3 storage
/0/5/0.0.0 /dev/sdd disk 1TB ST1000LM048-2E71
/0/5/0.0.0/1 /dev/sdd1 volume 931GiB Windows NTFS volume
/1 virbr0-nic network Ethernet interface
_
この問題がすぐに修正されることを願っています。ありがとう
EDIT 1(2020年1月26日):-私は3時間半(正確には2パス)を実行しましたが、_memtest86+
_で、RAMに問題はありません。 -破損(CRCエラー)についてのメッセージがないかdmesg
も確認しました。コピーを作成します(宛先のチェックサムも不正です)...
-両方のHDD(ソースと宛先)で2つの長いS.M.A.R.Tテストを実行して、問題がないかどうかを確認しています
-プロセス中にファイルのコピーを停止した場合(たとえばCTRL + Cを使用)、ext4ファイルシステムが破損しているように見えます。方法と理由がわかりません。 ...
EDIT 2(2020年1月26日):原因として、両方のHDDに関する2つのレポートがあります:
ソースHDD:
_smartctl 6.5 2016-01-24 r4214 [i686-linux-4.4.211-0404211-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: ST3000DM007-1WY10G
Serial Number: WFN2CMWR
LU WWN Device Id: 5 000c50 0cc67ff74
Firmware Version: 0001
User Capacity: 3 000 592 982 016 bytes [3,00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5425 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 1.5 Gb/s)
Local Time is: Sun Jan 26 21:35:04 2020 CET
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: ( 0) seconds.
Offline data collection
capabilities: (0x73) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 359) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x30a5) SCT Status supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 079 064 006 Pre-fail Always - 74326255
3 Spin_Up_Time 0x0003 096 096 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 13
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 067 060 045 Pre-fail Always - 5351732
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 66 (132 227 0)
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 13
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 067 060 040 Old_age Always - 33 (Min/Max 30/38)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 5
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 23
194 Temperature_Celsius 0x0022 033 040 000 Old_age Always - 33 (0 23 0 0 0)
195 Hardware_ECC_Recovered 0x001a 079 064 000 Old_age Always - 74326255
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 55 (238 164 0)
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 2782921433
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 1050108775
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 66 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
_
宛先HDD:
_Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: ST1000LM048-2E7172
Serial Number: ZDEBV755
LU WWN Device Id: 5 000c50 0b24d84fd
Firmware Version: SDM1
User Capacity: 1 000 204 886 016 bytes [1,00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 1.5 Gb/s)
Local Time is: Sun Jan 26 18:34:49 2020 CET
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: ( 0) seconds.
Offline data collection
capabilities: (0x71) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 162) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x3035) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 083 064 006 Pre-fail Always - 193912808
3 Spin_Up_Time 0x0003 099 099 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 228
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 070 060 045 Pre-fail Always - 9188472
9 Power_On_Hours 0x0032 092 092 000 Old_age Always - 7832 (182 235 0)
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 197
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 074 058 040 Old_age Always - 26 (Min/Max 26/31)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 78
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 1655
194 Temperature_Celsius 0x0022 026 042 000 Old_age Always - 26 (0 16 0 0 0)
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 1
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 7545 (117 142 0)
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 5699868670
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 10646554103
254 Free_Fall_Sensor 0x0032 100 100 000 Old_age Always - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 7832 -
# 2 Short offline Completed without error 00% 7830 -
# 3 Short offline Completed without error 00% 3141 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
_
EDIT 3(2020年2月15日):_libata.force=noncq
_ linuxを設定して問題を最終的に修正パラメータ、それは明らかにカーネルからのバグであるようで、すぐに間違いなく修正されるでしょう( https://bugs.launchpad.net/ubuntu/+bug/18613 )
(注:これは、一連のカーネルエラーが発生していないことを前提としています(dmesg
またはjournalctl -b -k
)またはドライブに示された大量のCRCエラーSMARTステータス。そうである場合... NCQの回転など、最初に試すべきソフトウェアのいくつかがあります。)
通常、これはRAMの不良を意味します。 memtest86 +が合格した場合でも(どのくらいの期間実行しましたか?)ECC RAMがない限り、これらの仕様からは疑問です。
1メートル以上のSATAケーブルを見つけて、CPUに巻き付けるなど、おかしなことをしていないことを確認してください。 SATAデータ転送にはCRCがあるため、ここで破損が発生している場合は、大量のエラーが発生するはずです。 SATAケーブルは安価です。いつでも交換してみてください。
RAMを交換するだけではない場合、次のステップは、破損が発生しているときに絞り込むことです。
各ドライブで、繰り返しmd5sum
または同様の問題を示す大きなファイル(キャッシュからチェックされないようにするには、2x RAMのようなものである必要があります)またはファイルのセット。何時間も、何度もやります。あなたはいつも同じ結果を得ますか?そうでない場合は、読み取りパスに破損があります。常に同じ結果が得られる場合は、おそらく読み取り時に破損はありません。 RAM=とは考えにくいでしょう。
両方のディスクで読み取りの破損が発生した場合は、RAMの交換から始めます。それでも解決しない場合は、電源を試し、最後にSATAコントローラーを試してください(モボにはんだ付けされている可能性が高いため、交換する必要があります)。
1つのディスク(両方ではない)で読み取りの破損が発生した場合は、ディスクを交換してください。それでも問題が解決せず、バックプレーン(サーバーのホットスワップ用)がある場合は、欠陥がある可能性があります。ケーブルを交換することもできます。別のSATAポートを試します。ここでは、one不良ディスクが発生する可能性があると想定していますが、twoはほとんどありません。正直なところ、2つの不良ディスクを推定する前に、RAMを交換します。
両方ディスクが常に同じデータを読み返す場合、まず、実際に十分なデータをチェックして、キャッシュされていないことを確認していることを確認します。少なくとも2倍のRAMが必要です。次に、既知のデータを繰り返し各ディスクに書き込み、それを読み取ることで異なる値が得られるかどうかを確認します。次に、上記とほぼ同じソリューション。
PS:このような汚職は油断ができません。特に、データだけでなく、Linuxディストリビューションのランダムなビットが破損している可能性があります。原因を修正した後、通常は再インストールするのが最善です。少なくとも、ディストリビューションが提供するすべてのファイルを、正常なチェックサムと照合する必要があります。一部のディストリビューションは、それを行うためのユーティリティを提供しています。それでも、動的なディストリビューションデータファイル(たとえば、インストールされたパッケージリスト)への損傷がないことは確認できませんが、少なくともバイナリが正常であることは確認できます。
昔、同じ問題がありました。壊れたBIOSに問題がありました。 RAMであるかのように、これがRAMである可能性は低く、ランダムクラッシュが「無料」で発生するはずであり、問題は片方ではなく両方のドライブで発生します(問題は新しいドライブでのみ発生しますか?)
私はこれに焦点を当てます:コピーとプロセスから除外します。書き込み専用に置き換えてください。大きなブロックサイズのddでファイルを作成します(dd if =/dev/zero of = myfile bs = 1M count = 100)。正確なサイズを見つけると壊れます。