내 썸 드라이브는 자동으로 읽기/쓰기로 마운트되었으며 파일을 작성하여 테스트했습니다.
그리고 18시간 후에 크론 작업을 실행했습니다.
cp -f -u $i "$TARG"/$i
메시지를 받았는데,
cp: cannot remove `/media/HP USB FD/./bin_backup.zip': Read-only file system
왜 읽기 전용이 되었나요? 저는 Fedora 16을 실행하고 있으며 이전에는 작동했지만 어떤 변경으로 인해 작동이 중지되었는지 잘 모르겠습니다(썸 드라이브를 회전시켰음에도 불구하고).
잠시 후 dmesg 로그에 다음이 표시됩니다.
(tl; 박사학위 요약 - 중간에 적음, [3866698.685131] FAT-fs (sdb1): Filesystem has been set read-only
)
[3807719.969704] sdb: sdb1
[3807719.984477] sd 18:0:0:0: [sdb] Attached SCSI removable disk
[3865771.716500] swapper/0: page allocation failure: order:2, mode:0x4020
[3865771.716506] Pid: 0, comm: swapper/0 Not tainted 3.2.9-2.fc16.x86_64 #1
[3865771.716508] Call Trace:
[3865771.716510] <IRQ> [<ffffffff8111fd66>] warn_alloc_failed+0xf6/0x160
[3865771.716524] [<ffffffff8112d241>] ? wakeup_kswapd+0x101/0x160
[3865771.716529] [<ffffffff81123c59>] __alloc_pages_nodemask+0x6f9/0x8c0
[3865771.716536] [<ffffffff815dc633>] kmalloc_large_node+0x57/0x85
[3865771.716541] [<ffffffff81168e7c>] __kmalloc_node_track_caller+0x19c/0x1f0
[3865771.716546] [<ffffffff814c813b>] ? __alloc_skb+0x4b/0x240
[3865771.716549] [<ffffffff814c8955>] ? skb_copy+0x45/0xb0
[3865771.716553] [<ffffffff814c8168>] __alloc_skb+0x78/0x240
[3865771.716556] [<ffffffff814c8955>] skb_copy+0x45/0xb0
[3865771.716576] [<ffffffffa017a9a4>] tg3_start_xmit+0xa34/0xc80 [tg3]
[3865771.716583] [<ffffffff814d7282>] dev_hard_start_xmit+0x322/0x6e0
[3865771.716590] [<ffffffff814f2daf>] sch_direct_xmit+0xef/0x1c0
[3865771.716595] [<ffffffff814d77c4>] dev_queue_xmit+0x184/0x600
[3865771.716600] [<ffffffff81500985>] ? nf_hook_slow+0x75/0x150
[3865771.716605] [<ffffffff8150f8d0>] ? ip_fragment+0x810/0x810
[3865771.716609] [<ffffffff8150fa3b>] ip_finish_output+0x16b/0x2f0
[3865771.716613] [<ffffffff81510598>] ip_output+0x98/0xa0
[3865771.716617] [<ffffffff8150fc64>] ? __ip_local_out+0xa4/0xb0
[3865771.716621] [<ffffffff8150fc99>] ip_local_out+0x29/0x30
[3865771.716626] [<ffffffff8150fdef>] ip_queue_xmit+0x14f/0x3f0
[3865771.716630] [<ffffffff81527204>] tcp_transmit_skb+0x3e4/0x8d0
[3865771.716634] [<ffffffff81527d57>] tcp_write_xmit+0xf7/0xa20
[3865771.716638] [<ffffffff8152a9f0>] ? tcp_v4_md5_lookup+0x10/0x20
[3865771.716643] [<ffffffff815286e6>] __tcp_push_pending_frames+0x26/0xd0
[3865771.716647] [<ffffffff81524e0d>] tcp_rcv_established+0x10d/0x8b0
[3865771.716651] [<ffffffff8152d09f>] tcp_v4_do_rcv+0x27f/0x430
[3865771.716656] [<ffffffff8152ee70>] tcp_v4_rcv+0x610/0x8e0
[3865771.716660] [<ffffffff8150acf0>] ? ip_rcv_finish+0x380/0x380
[3865771.716663] [<ffffffff8150acf0>] ? ip_rcv_finish+0x380/0x380
[3865771.716668] [<ffffffff8150adcd>] ip_local_deliver_finish+0xdd/0x280
[3865771.716672] [<ffffffff8150b138>] ip_local_deliver+0x88/0x90
[3865771.716676] [<ffffffff8150aaa1>] ip_rcv_finish+0x131/0x380
[3865771.716680] [<ffffffff8150b375>] ip_rcv+0x235/0x300
[3865771.716685] [<ffffffff814d4e23>] __netif_receive_skb+0x523/0x5c0
[3865771.716690] [<ffffffff814d5a20>] netif_receive_skb+0x80/0x90
[3865771.716694] [<ffffffff814d5d89>] ? dev_gro_receive+0x1b9/0x2c0
[3865771.716699] [<ffffffff814d5a80>] napi_skb_finish+0x50/0x70
[3865771.716703] [<ffffffff814d5f85>] napi_gro_receive+0xf5/0x140
[3865771.716711] [<ffffffffa0171362>] tg3_poll_work+0x7a2/0xce0 [tg3]
[3865771.716717] [<ffffffff81056d45>] ? check_preempt_curr+0x75/0xa0
[3865771.716725] [<ffffffffa017868f>] tg3_poll+0x6f/0x3c0 [tg3]
[3865771.716730] [<ffffffff814d617b>] net_rx_action+0x12b/0x270
[3865771.716735] [<ffffffff81096ebd>] ? sched_clock_cpu+0xbd/0x110
[3865771.716740] [<ffffffff81075d58>] __do_softirq+0xb8/0x230
[3865771.716745] [<ffffffff8109acc6>] ? do_timer+0x2d6/0x500
[3865771.716749] [<ffffffff815ee8ec>] call_softirq+0x1c/0x30
[3865771.716754] [<ffffffff810162f5>] do_softirq+0x65/0xa0
[3865771.716758] [<ffffffff8107616e>] irq_exit+0x9e/0xc0
[3865771.716762] [<ffffffff815ef1a3>] do_IRQ+0x63/0xe0
[3865771.716766] [<ffffffff815e4aee>] common_interrupt+0x6e/0x6e
[3865771.716768] <EOI> [<ffffffff81094189>] ? enqueue_hrtimer+0x39/0xc0
[3865771.716775] [<ffffffff8131237d>] ? intel_idle+0xed/0x150
[3865771.716779] [<ffffffff8131235f>] ? intel_idle+0xcf/0x150
[3865771.716784] [<ffffffff81494fb1>] cpuidle_idle_call+0xc1/0x280
[3865771.716788] [<ffffffff8101322a>] cpu_idle+0xca/0x120
[3865771.716792] [<ffffffff815c199e>] rest_init+0x72/0x74
[3865771.716797] [<ffffffff81aebbfe>] start_kernel+0x3ba/0x3c5
[3865771.716801] [<ffffffff81aeb347>] x86_64_start_reservations+0x132/0x136
[3865771.716804] [<ffffffff81aeb140>] ? early_idt_handlers+0x140/0x140
[3865771.716808] [<ffffffff81aeb44d>] x86_64_start_kernel+0x102/0x111
[3866698.685128] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685131] FAT-fs (sdb1): Filesystem has been set read-only
[3866698.685145] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685148] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685149] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685151] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685153] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685154] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685156] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685158] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3866698.685161] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903337] fat_get_cluster: 88 callbacks suppressed
[3953054.903340] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903356] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903359] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903362] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903364] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903367] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903369] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903371] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903374] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
[3953054.903378] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 496175)
답변1
드라이브가 하나만 있습니까, 아니면 여러 드라이브입니까?
그럴 가능성은 거의 없지만 드라이브에 외부 파일 시스템이 있고 errors=remount-ro
해당 옵션을 사용하여 마운트된 경우 썸 드라이브에서 오류가 발생할 수 있습니까?
mount(사용자 정의 마운트 옵션을 사용하는 경우) 및 une2fs(기본 동작의 경우)를 사용하여 잘못된 동작을 확인할 수 있습니다.
$ mount | grep /dev/sda
/dev/sda2 on / type ext4 (rw,noatime,errors=remount-ro,discard)
$ sudo tune2fs -l /dev/sda2 | grep Errors
Errors behavior: Continue
이 경우 드라이브에서 오류가 발생하기 시작하면 드라이브를 교체해야 합니다.
읽기/쓰기 모드에서 드라이브를 계속 사용하려는 경우(언제든지 완전히 작동이 멈출 수 있음을 알고 있음) 오류가 발견되면 계속하도록 오류 모드를 변경할 수 있습니다. 이를 수행하는 방법은 오류 모드 설정 방법에 따라 다릅니다. 먼저(드라이브 연결) 디스크 파티션 자체의 기본 동작을 변경합니다.
tune2fs -e continue /dev/sdb1
그런 다음 아직 설치 중이라면 /etc/fstab을 확인하고 remount-ro
해당 줄에서 해당 섹션을 제거하십시오. errors=remount-ro
그러나 읽기 전용 모드로 다시 설치하면 장치에 오류가 발생하기 시작할 때 알림을 보내는 데 유용합니다!
답변2
드라이버 충돌로 인해 썸 드라이브가 읽기 전용이 됩니다. 드라이버가 충돌하면 기록하려는 모든 데이터가 손상될 수 있으므로 추가 손상을 방지하기 위해 파일 시스템이 읽기 전용 모드로 강제 전환됩니다.
메모리 부족으로 인해 드라이버가 충돌했습니다. 추적은 으로 끝나고 warn_alloc_failed
, 메모리 부족은 으로 표시됩니다 swapper/0: page allocation failure: order:2, mode:0x4020
. 표면적으로는 커널에서 사용할 수 있는 메모리가 모두 소진된 것처럼 보입니다. 커널이 전체 RAM을 자체적으로 사용할 수 없기 때문에 이는 RAM 부족과 동일하지 않습니다. 그러나 커널 메모리 고갈은 거의 발생하지 않습니다. 동시에 많은 디스크 사용량이나 네트워크 트래픽을 발생시키는 집약적인 애플리케이션을 실행하고 있습니까? 비디오 메모리가 많이 있나요?
대답이 '예'라면 64비트 설치로 전환하거나 커널 메모리 사용량을 줄여야 할 수도 있습니다.
대답이 '아니오'(또는 '예')인 경우 이는 커널 버그일 가능성이 높습니다. 배포판에서 제공하는 최신 커널을 실행하고 있는지 확인하십시오. 이는 손상된 파일 시스템이나 손상된 판독기에 의해 유발된 드라이버 버그일 수 있습니다(드라이버는 잘못된 데이터에 대한 저항력이 있다고 가정하지만 많은 드라이버는 오작동하는 장치에 대해 광범위하게 테스트되지 않습니다). RAM도 실패할 수 있습니다.기억력 테스트.