You are currently viewing 볼륨이 충돌한다고 나옵니다. 파일을 수정,저장 할 수 없습니다.

볼륨이 충돌한다고 나옵니다. 파일을 수정,저장 할 수 없습니다.

볼륨이 충돌한다고 나옵니다. 파일을 추가, 수정, 저장, 삭제 할 수 없습니다.

  • 볼륨이 충돌한다고 나옵니다.  충돌 이후에는 볼륨에 들어있는 파일을 읽어 올 수는 있으나 추가, 수정, 저장, 삭제 같은 쓰기작업은 할 수 없습니다.
  • DS415+ 모델입니다. 하드디스크는 3개(드라이브 1에 3TB, 드라이브 2에 3TB, 드라이브 3에 4TB) 장착되어 있고 2개의 볼륨으로 사용하고 있습니다.  볼륨1(3TB 디스크 2개를 레이드 1)과  볼륨2(4TB 디스크를 레이드 없이)로 사용하고 있습니다.
  • 볼륨의 사용률이 모두 90%정도 됩니다. 두 볼륨의 용량을 모두 6TB로 늘리길 원합니다.
  • 볼륨2도 하드디스크 고장에 대비하여 레이드1으로 변경하고 싶습니다.
  • 공유폴더를 편집하려고 하면 “대상 볼륨이 읽기 전용입니다. 이 볼륨에 문제가 발생한 것 같습니다. 시스템 관리자에게 연락해 주십시오” 메시지가 뜨면서 편집할 수 없습니다.
  • 4TB 디스크에 배드섹터가 발생하여 볼륨2에 충돌이 발생한 상황입니다. 충돌이 발생하면 그 볼륨은 자동으로 읽기전용으로 변경됩니다. mount -o remount,rw /dev/volume2 명령을 사용하여 읽기, 쓰기로 변경 할 수 있지만 함부로 사용해서는 안 됩니다.
  • 드라이브 2에 장착한 3TB 디스크도 상태가 경고로나옵니다.
  • 수개월 전부터 하드디스크에 배드섹터가 발생하고 있었습니다.
소요시간 : 3일
어려움 :
5/5

6TB 디스크 4개를 준비합니다.

드라이브 1, 2, 3의 디스크를 모두 교체합니다. 드라이브 4에도 디스크를 장착하여 볼륨2를 레이드1으로 변경합니다.

4TB 디스크를 6TB 디스크에 sector by sector로 복사합니다.

  • 볼륨1은 레이드1을 사용하고 있으므로 6TB 디스크로 교체하는 작업이 간단합니다. 드라이브 2에 장착한 디스크 상태가 좋지 않으므로 이 디스크를 먼저 교체합니다. 수리작업이 완료되면 드라이브 1에 장착한 디스크도 교체합니다.
  • 볼륨2의 충돌을 해결하는 일반적인 방법은 비어있는 드라이브 4에 6TB 디스크를 장착하여 볼륨3을 만들고, 볼륨3에 볼륨2의 파일을 모두 복사하는 것입니다. 하지만 하드디스크에 배드섹터가 있으므로 파일 복사가 원활하게 되지 않을 가능성이 있고 볼륨의 파일도 상당히 많아서(3.2TB 정도) 편법을 사용하기로 했습니다.
  • 우선 4TB 디스크를 6TB 디스크에 섹터 대 섹터로 복제 합니다. 복제 후에는 배드섹터 때문에 손상된 파일을 찾아냅니다. 이 파일은 일부 내용이 손실 되었으므로 사용 할 수 없습니다. 다행히도 배드섹터에 자리잡은 파일은 1개 밖에 없었습니다.
  • 저장소 관리자에서 디스크가 6TB로 바뀐것을 알 수 있습니다. 디스크를 섹터 대 섹터로 복제했기 때문에 디스크의 상태값(error)도 그대로 복제 되었고, 그로 인해 여전히 볼륨은 충돌 상태로 나옵니다.
  • 볼륨의 충돌 상태를 없애려면 리눅스 소프트웨어 레이드의 수퍼블록에서 디스크의 상태값을 “error”에서 “정상”으로 되돌려야 합니다. 또한 수퍼블록의 체크섬 값도 올바른 값으로 수정해 줘야 합니다. 체크섬이 올바르지 않으면 볼륨2가 아예 보이지도 않습니다.
  • 디스크의 상태값과 체크섬을 수정한 후에는 볼륨2상태가 정상으로 돌아옵니다.
  • 드라이브 4에 디스크를 장착하고 레이드1으로 묶습니다.
  • 레이드1으로 변경이 완료되면 볼륨의 크기를 4TB에서 6TB로 확장합니다. 6TB로 확장하려면 다음 3가지 과정을 거쳐야합니다.

    1. 파티션 사이즈 늘리기. 디스크를 섹터 대 섹터로 복제 했기 때문에 볼륨2에 사용한 파티션의 크기도 여전히 4TB 디스크의 크기로 되어 있습니다. 파티션의 크기를 6TB 디스크의 크기로 늘립니다. 다음 명령어를 사용합니다. 11721040064 숫자는 섹터의 개수를 의미합니다. 이 숫자를 사용한 이유는 6TB디스크를 사용한 볼륨1에서 이 크기를 사용하므로 똑같이 맞춰준 것입니다.

    parted /dev/sdc
    unit s
    resizepart 3 11721040064
    
    parted/dev/sdd
    unit s
    resizepart 3 11721040064
    

    2. md3(저장소 관리자의 스토리지 풀에 해당) 사이즈 늘리기. 다음 명령어를 사용합니다.

    mdadm --grow /dev/md3 -z max

    3. 파일시스템(저장소 관리자의 볼륨에 해당) 사이즈 늘리기. 다음 명령어를 사용합니다.

    /sbin/resize2fs -fpF /dev/md3 5855800384K
  • 1번 명령어를 실행 후 스토리지 풀의 확장버튼을 클릭하면 2번, 3번 명령어는 자동으로 실행됩니다. 저도 2번, 3번 명령어를 입력하는 대신 확장 버튼을 클릭했습니다. 1번 명령어를 실행하기 전에는 확장버튼이 나타나지 않습니다.
  • 확장이 완료되면 볼륨2의 크기는 5.37TB로 늘어납니다.
  • 6TB 디스크인데 파티션이 4TB만 사용하고 있습니다.
  • parted 명령어를 사용한 이후에는 6TB 공간을 사용하게 되었습니다.
  • 스토리지 풀에서 “확장”버튼을 클릭하여 볼륨의 크기를 늘려줍니다.
  • 이제는 6TB 디스크 공간을 모두 사용하게 되었습니다.
참고

답글 남기기