단일 디스크 zfs 풀을 2개의 디스크 RAID1 풀로 변환하는 방법은 무엇입니까?

단일 디스크 zfs 풀을 2개의 디스크 RAID1 풀로 변환하는 방법은 무엇입니까?

데스크탑 컴퓨터에 zpool create data /dev/mapper/data(zfs on luks)와 같은 것을 사용하여 생성된 데이터라는 단일 드라이브 zfs 풀이 있습니다. raid1 풀로 변환하고 싶지만 내 컴퓨터에는 드라이브 1개와 슬롯 1개만 있습니다.

새 드라이브를 그룹의 두 번째 드라이브로 사용하여 데이터풀을 미러로 변환하도록 zfs에 지시할 수 있습니까?

이것이 가능하지 않은 경우 새 드라이브만으로 다운그레이드된 새 미러 풀을 생성할 수 있는 방법이 있습니까(아직 두 번째 드라이브가 없기 때문에)? 이렇게 하면 이전 풀의 데이터를 새 미러링 풀로 복사한 다음 원래 드라이브를 새 풀에 추가할 수 있습니다.

답변1

저는 FreeBSD를 처음 접했고 아직 ZFS를 사용해 본 적이 없습니다. 그러나 내 연구에 따르면 사용하지 않는 이유는 무엇입니까?

#zpool attach mypool /dev/sdX /dev/sdY

그리고 이것들이 전부는 아니죠? 풀은 자동으로 미러로 변환되어야 합니다.

답변2

나는 내 자신의 질문에 답할 것이라고 생각하지 않았지만 여러 디스크를 검색하고 실험한 후에 다운그레이드된 zfs 미러(raid1) 풀을 만드는 방법을 발견했습니다.

이 문제가 있는 사람도 사용할 수 있도록 여기에 게시합니다.

# create sparse file, as placeholder for 2nd disk
truncate -s 1GB /tmp/placeholder.img

# create the new mirror pool
zpool create mypool mirror /dev/sdX /tmp/placeholder.img

# immediately place sparse file offline, so zfs won't write to it
zpool offline mypool /tmp/placeholder.img

# verify mirror pool is degraded
zpool status -v

# later, once 2nd disk is available, replace sparse file with new disk
zpool replace mypool /tmp/placeholder.img /dev/sdY

# verify new drive is there, and pool is either resilvering or ONLINE
zpool status -v

관련 정보