
Solaris-CBE에 대한 raid-z 실험 중에 나는 이것을 얻었습니다.
raid-z 풀을 만들었습니다.
zpool create pool1 raidz c4t3d0 c4t5d0 c4t4d0
그런 다음 디스크를 추가하고 싶습니다.
zpool add pool1 c5t0d0
반환 오류(pool1은 raid-z, vdev는 디스크, -f.. 사용)
-f(강제)를 사용합니다.
zpool add -f pool1 c5t0d0
효과가있다!
zpool status pool1
pool: pool1
ID: 8550511546950241199
state: ONLINE
NAME STATE READ WRITE CKSUM
pool1 ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c4t3d0 ONLINE 0 0 0
c4t5d0 ONLINE 0 0 0
c4t4d0 ONLINE 0 0 0
c5t0d0 ONLINE 0 0 0
내 질문은: 이것은 어떤 종류의 구성입니까? c5t0d0은 pool1의 하위 미러입니까 아니면 다른 것입니까?
답변1
나는 그것에 대해 스스로 대답한다. 2개의 하위 미러(첫 번째는 raidz 1-0이고 두 번째는 별도의 디스크)를 포함하는 풀(pool1)입니다. 풀 구문은 정확하지만 중복성이 잘못되었습니다. 중복성이 없기 때문에 외로운 디스크(c5t0d0)가 잘못된 것입니다. 더 많은 공간이 필요한 경우 다른 raidz 미러 또는 raid1을 추가할 수 있습니다. 이 같은
zpool add pool1 raidz c5t0d0 c5t1d0 c5t2d0
단일 디스크로도 데이터가 모든 디스크에 기록되지만(중복성이 잘못됨) 4개의 디스크 이미지(Solaris 11 cbe는 Linux 호스트의 가상 머신)가 증가하고 있다는 증거입니다.
du -shc .local/share/libvirt/images/vol*
2,1G .local/share/libvirt/images/vol1.img
2,1G .local/share/libvirt/images/vol2.img
2,1G .local/share/libvirt/images/vol3.img
2,1G .local/share/libvirt/images/vol4.img
잠시 동안 데이터를 쓴 후 ...
du -shc .local/share/libvirt/images/vol*
2,7G .local/share/libvirt/images/vol1.img
2,7G .local/share/libvirt/images/vol2.img
2,7G .local/share/libvirt/images/vol3.img
2,7G .local/share/libvirt/images/vol4.img
11G total
10 분 후...
du -shc .local/share/libvirt/images/vol*
8,5G .local/share/libvirt/images/vol1.img
8,5G .local/share/libvirt/images/vol2.img
8,5G .local/share/libvirt/images/vol3.img
8,5G .local/share/libvirt/images/vol4.img
또 다른 증거는 중복되지 않은 하위 미러를 제거하면 어레이가 재구성된다는 것입니다.
NAME STATE READ WRITE CKSUM
pool1 ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c4t3d0 ONLINE 0 0 0
c4t5d0 ONLINE 0 0 0
c4t4d0 ONLINE 0 0 0
c5t0d0 REMOVING 0 0 0
$VDEV-1151C5D8F59CFF79 REMOVING 0 0 0