![다시 설치된 운영 체제에 대한 zfs 풀 다시 만들기](https://linux55.com/image/123908/%EB%8B%A4%EC%8B%9C%20%EC%84%A4%EC%B9%98%EB%90%9C%20%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C%EC%97%90%20%EB%8C%80%ED%95%9C%20zfs%20%ED%92%80%20%EB%8B%A4%EC%8B%9C%20%EB%A7%8C%EB%93%A4%EA%B8%B0.png)
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
이를 통해 일시적으로 중복성을 포기하지 않고 복구할 수 있습니다.