다시 설치된 운영 체제에 대한 zfs 풀 다시 만들기

다시 설치된 운영 체제에 대한 zfs 풀 다시 만들기

zfs 루트 설치 시스템의 디스크를 교체해야 합니다.

예전에는 다음과 같았습니다(테스트 목적으로 OS를 재설치하기 전, 설치 후에 하고 싶었던 작업이기도 합니다).

zpool Attach rpool /dev/sda2 /dev/sdb를 사용하여 미러 생성

NAME        STATE     READ WRITE CKSUM
    rpool       ONLINE       0     0     0
   mirror-0  ONLINE       0     0     0
      sda2      ONLINE       0     0     0
       sdb      ONLINE       0     0     0

OS를 다시 설치했습니다.

NAME        STATE     READ WRITE CKSUM
    rpool       ONLINE       0     0     0
      sda2      ONLINE       0     0     0

sdb 저장 데이터...

    pool: rpool-12312656247996879599
     id: 12312656247996879599
    state: DEGRADED
 status: One or more devices contains corrupted data.
 action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
 config:
        rpool-12312656247996879599  DEGRADED
          mirror-0  DEGRADED
            sda2    FAULTED  corrupted data
            sdb     ONLINE

OS 재설치 후 미러를 생성하고 sdb의 데이터를 현재 미러로 동기화하고 싶습니다. OS를 다시 설치한 후 각각 하나의 rpool과 하나의 sdb 풀이 생겼습니다. 두 풀 모두에서 데이터를 보내고 받을 수 있으며 sdb 풀을 파괴하고 rpool에 연결하여 미러를 만들 수 있습니다. 하지만 수동으로 파일을 동기화(보내기/받기)하고 sdb를 손상시키지 않고 풀에서 rpool로 연결할 수 있는 방법이 있는지 궁금하십니까?

답변1

이전 풀에서 디스크를 꺼내서 sda2내용을 지우고 새 풀(새 시스템 포함)을 설치했습니다. 이는 중복 vdev(미러)이므로 기본적으로 각각 하나의 디스크가 있는 두 개의 서로 다른 풀이 있습니다(내결함성이 없음을 의미). 여전히 두 가지 옵션이 있습니다. 새 옵션을 사용하거나 이전 옵션을 복원하는 것입니다.


sda2기존 풀을 버리고 새 설치( ) 를 사용하려면 다음을 따르세요.이 단계:

  • 디스크를 포맷 sdb하고 디스크에 있는 모든 데이터를 삭제하세요.
  • 포맷된 디스크를 새 풀에 연결합니다.zpool attach rpool sda2 sdb
  • 재동기화가 완료될 때까지 기다렸다가 확인하세요.zpool status rpool
  • 시스템이 두 디스크 모두에서 부팅할 수 있도록 부팅 섹터 데이터를 복사합니다(GRUB를 사용한다고 가정).installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/sdb

새 풀을 포기하고 (다운그레이드된) 이전 풀( sdb)로 돌아가려는 경우:

  • 시스템을 종료하고 디스크를 물리적으로 제거합니다.sda2
  • 시스템을 부팅하면 이제 이전 풀이 유효한 부팅 가능한 루트 풀로 인식됩니다. (위 단계와 유사하게 이전에 해당 디스크에 부팅 섹터를 추가한 경우에만 작동합니다. 그렇지 않으면 부팅 오류가 발생합니다.)
  • 디스크를 sda2시스템에 물리적으로 다시 연결하고 포맷합니다.
  • 디스크를 sda2이전 풀에 연결합니다.zpool attach rpool sdb sda2

Solaris/illumos 시스템이 있는 경우 이를 사용하여 현재 위치에서 (동일한 스냅샷 내에서 다른 스냅샷에서) beadm업그레이드, 테스트 및 복원을 수행 할 수도 있습니다. rpool이를 통해 일시적으로 중복성을 포기하지 않고 복구할 수 있습니다.

관련 정보