You are currently viewing 볼륨이 읽기 전용 모드입니다

볼륨이 읽기 전용 모드입니다

볼륨이 읽기 전용으로 변경됩니다.

시놀로지 DS918+에서 비프음이 발생하더니 볼륨이 읽기 전용으로 변경되었습니다. 가장 먼저 하드디스크를 점검해 보았으나 이상한 점이 없습니다. 읽기/쓰기로 변환하면 다시 읽기 전용으로 변경됩니다. SSD 캐쉬를 사용하고 있는데요. 캐쉬를 제거해도 마찬가지입니다. 

로그파일을 확인해 보니 볼륨이 읽기 전용으로 변경된 시점에 아래와 같은 로그가 생겼습니다. 인터넷을 검색해 보니 ‘Linux kernel oops’ 로그라고 합니다. 이후에도 ‘Linux kernel oops’ 로그가 계속해서 발생합니다.

2021-09-30T20:37:35+09:00 NAS kernel: [1502644.280054] ————[ cut here ]————
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.285470] WARNING: CPU: 0 PID: 10433 at fs/btrfs/free-space-tree.c:1049 add_to_free_space_tree+0x10d/0x150 [btrfs]()
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.297641] Modules linked in: vfat fat tun ipt_MASQUERADE xt_REDIRECT nf_nat_masquerade_ipv4 …
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.378452] glue_helper lrw gf128mul ablk_helper syno_hddmon(P) apollolake_synobios(PO) hid_generic…
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.459473]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.459683] CPU: 0 PID: 10433 Comm: btrfs-transacti Tainted: P O 4.4.180+ #41890
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.469395] Hardware name: Synology DS918+/DS918+…
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.477068] 0000000000000000 ffff88044b68ba80 ffffffff812ef73d 0000000000000009
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.485539] ffff88044b68bac8 ffff88044b68bab8 ffffffff8105255f ffff88044b6a4000
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.494005] 0000043402d70000 ffff88045f730dc8 0000000000004000 ffff88045f6710e0
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.502472] Call Trace:
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.505397] [] dump_stack+0x4d/0x70
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.511327] [] warn_slowpath_common+0x7f/0xb0
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.518227] [] warn_slowpath_fmt+0x49/0x50
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.524855] [] ? btrfs_free_path.part.41+0x1c/0x20 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.533027] [] ? btrfs_free_path.part.41+0x1c/0x20 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.541199] [] add_to_free_space_tree+0x10d/0x150 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.549275] [] __btrfs_free_extent+0x608/0xfe0 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.557061] [] __btrfs_run_delayed_refs+0xb67/0x1880 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.565431] [] ? btrfs_block_rsv_release+0x38/0x50 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.573609] [] ? btrfs_delayed_inode_release_metadata.isra.15+0x5b/0xe0 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.583826] [] btrfs_run_delayed_refs+0xca/0x4e0 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.591809] [] btrfs_commit_transaction+0x504/0xc80 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.600083] [] ? start_transaction+0x9d/0x450 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.607774] [] ? btrfs_cleanup_transaction+0x580/0x580 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.616339] [] transaction_kthread+0x217/0x270 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.624128] [] ? btrfs_cleanup_transaction+0x580/0x580 [btrfs]
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.632683] [] kthread+0xd5/0xf0
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.638320] [] ? kthread_worker_fn+0x160/0x160
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.645318] [] ret_from_fork+0x3f/0x80
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.651538] [] ? kthread_worker_fn+0x160/0x160
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.658561] —[ end trace 6a955b0428bb62c6 ]—
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.664008] BTRFS: error (device dm-2) in add_to_free_space_tree:1049: errno=-117 unknown
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.679276] BTRFS: error (device dm-2) in __btrfs_free_extent:7755: errno=-117 unknown
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.688332] BTRFS: error (device dm-2) in btrfs_run_delayed_refs:3379: errno=-117 unknown
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.697683] BTRFS warning (device dm-2): Skipping commit of aborted transaction.
2021-09-30T20:37:35+09:00 NAS kernel: [1502644.706246] BTRFS: error (device dm-2) in cleanup_transaction:2194: errno=-117 unknown

스토리지 풀 화면

볼륨이 읽기 전용 모드입니다. 디스크는 할당 상태와 상태가 모두 정상입니다.

읽기/쓰기로 변환

읽기/쓰기로 변환이 가능하지만 곧바로 읽기 전용으로 다시 변경됩니다.

소요시간 : 2일
어려움 :
3/5

고장난 메모리를 교체합니다.

볼륨에 발생하는 문제는 대부분이 디스크 때문입니다. 하지만 디스크에서는 아무 문제를 발견하지 못했고 오랜 시간을 삽질한 끝에 메모리가 원인임을 찾아냈습니다.

메모리 테스트에 소요되는 시간은 4GB당 1시간 30분 정도입니다. 메모리 테스트에 실패하면 그 즉시 테스트 작업이 중단되고 나스가 다시 시작됩니다. 따라서 메모리 테스트에 소요되는 예상시간이 지나지 않았는데 나스가 다시 시작 된다면 메모리 테스트에 실패했을 가능성이 높습니다. 메모리 테스트 결과는 /var/log/messages 파일에 기록됩니다.

제 주관적인 생각이지만, 불량 메모리 때문에 볼륨이 읽기 전용으로 변경되는 이유는 btrfs 파일시스템과 관련이 있어 보입니다. ‘Linux kernel oops’ 로그가 계속해서 생성되는데요. 항상 btrfs 문자열이 포함되어 있습니다. 불량 메모리 때문에 btrfs 파일시스템이 수행하는 어떤 연산의 결과에 오류가 발생하고, 그 오류로 인해서 파일 또는 파일시스템의 무결성이 깨지는 것을 방지하기 위해서 btrfs 파일시스템이 쓰기를 중단하는 것으로 추측됩니다. 나스에 비어있는 베이가 있으면 ext4 파일시스템을 만들어서 이 볼륨도 읽기 전용으로 변경되는지 확인해 보려고 했으나 비어있는 베이가 없었습니다.

  1. 시놀로지 어시스턴트에서 ‘메모리 테스트’를 실행합니다.
  2. /var/log/messages 파일에서 결과를 확인합니다.
  3. 테스트를 통과하지 못한 메모리를 교체합니다.
시놀로지 어스트턴트

‘메모리 테스트’를 실행합니다.

Memtest 결과

메모리 테스트를 통과하지 못하면 ‘Memtest failed!’가 기록됩니다. 메모리 테스트를 통과하면 ‘Memtest passed!’가 기록됩니다.

grep 명령어

/var/log/messages 파일을 확인합니다. 쉘 접속 후 root 사용자로 로그인 후 아래 명령어를 실행하면 결과를 확인할 수 있습니다.

grep -i memtest /var/log/messages
8GB 메모리

8GB 메모리를 두 개 사용하고 있는데요. 그 중 한 개가 메모리 테스트를 통과하지 못했습니다.

답글 남기기