RAID-1에서 고장난 Btrfs 드라이브를 라이브로 교체 할 수 있습니까?


15

파일 시스템을 결정하려고하는데 다운 타임없이 btrfs RAID에서 고장난 드라이브를 교체 할 수 있는지 알고 싶습니다.

  1. 명령을 사용하여 새 btrfs 파일 시스템을 작성한다고 가정하십시오.

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. 이제 하루 /dev/sdc가 실패 했다고 가정 해 봅시다 . 두 가지 가능성이 있습니다. 점진적으로 실패하여 SMART 오류가 표시됩니다.이 경우 새 장치를 추가 한 btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt다음 이전 장치 를 제거 할 수 있습니다 btrfs device delete /dev/sdc /mnt.

  3. 그러나 갑자기 실패하면 읽을 수 없게됩니다 ...이 상황에서 웹 검색에 따르면 먼저 파일 시스템을 마운트 해제하고 성능 저하 모드로 마운트하고 새 장치를 추가 한 다음 누락 된 장치를 제거해야한다고 말합니다.

    umount /mnt
    mount -o degraded /dev/sdb /mnt
    btrfs device add /dev/sdf /mnt 
    btrfs device delete missing /mnt
    

마운트 해제는 분명히 방해가되는 작업이므로 다운 타임이 발생합니다. 파일 시스템을 사용하는 모든 응용 프로그램에서 I / O 오류가 발생합니다. 그러나 btrfs에 대한 이러한 "자습서"는 btrfs가 과도하게 개발되고 있음을 고려하면 구식으로 보입니다.

질문은 : btrfs의 현재 상태를 고려할 때, 마운트를 해제하지 않고 온라인으로 할 수 있습니까?

그렇지 않은 경우이 요구를 충족시킬 수있는 소프트웨어 전용 솔루션이 있습니까?


1
하나의 드라이브에서 화재가 발생하면 나머지 시스템에도 화재가 발생할 수 있습니다
Journeyman Geek

1
@JourneymanGeek Funny you .. :) 나는 단지 치명적이고 갑작스럽고 예측할 수없는 실패를 의미한다는 것을 분명히하고 싶었습니다. 드라이브는 단순히 작동을 멈 춥니 다. 이것은 다소 드문 일이며, 하드 디스크는 일반적으로 점진적으로 실패하며 효과적인 모니터링을 통해 문제가 발생하기 전에이를 교체 할 수는 있지만 어떻게해야합니까?
NothingsImpossible

2
리눅스에서 3.8 btrfs replace mountpoint old_disk new_disk이 추가되었습니다.
Brian

@ 브라이언 와우 ... 그 대답입니다. "btrfs replace"를 검색 했는데 lwn.net/Articles/524589가 나타 났습니다 . 내가 찾던 것은 _exactly_ 입니다. 수락 할 수 있도록 답변으로 게시하십시오.
NothingsImossible

답변:


11

Linux 3.8에서는 btrfs replace mountpoint old_disk new_disk추가되었습니다. 최신 커널을 실행중인 경우 원하는 기능을 제공합니다.


4
이제이 될 것이다 btrfs replace start /dev/old /dev/new /mountpoint( 시작이 추가되었습니다). 도 참조하십시오 man btrfs-replace.
basic6

1

작은 수정, 현재 구문은 다음과 같습니다.

btrfs 교체 시작 OLDDEV NEWDEV MOUNTPOINT

그런 다음 배경.

당신은 상태를 확인할 수 있습니다

btrfs 교체 상태 MOUNTPOINT

교체 작업의 지속적으로 업데이트 된 상태가 표시됩니다.


1
이것은 원래 질문에 대한 답변 이 아닙니다 . 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 .
DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.