풀에서 장치를 제거하는 방법

풀에서 장치를 제거하는 방법

나는 raidz 풀에 새 장치를 추가할 때 ZFS가 이 작업을 자동으로 수행해야 한다고 생각했지만 실수를 했습니다.

 :~# zpool status
  pool: data
 state: ONLINE

 scan: resilvered 78,3G in 2h4m with 0 errors on Tue May 10 18:12:31 2016
config:

    NAME         STATE     READ WRITE CKSUM
    data         ONLINE       0     0     0
      raidz2-0   ONLINE       0     0     0
        c2t2d0   ONLINE       0     0     0
        c2t3d0   ONLINE       0     0     0
        c2t4d0   ONLINE       0     0     0
        c2t5d0   ONLINE       0     0     0
        c2t6d0   ONLINE       0     0     0
        c2t7d0   ONLINE       0     0     0
        c2t8d0   ONLINE       0     0     0
        c2t9d0   ONLINE       0     0     0
        c2t10d0  ONLINE       0     0     0
        c2t11d0  ONLINE       0     0     0
      c2t13d0    ONLINE       0     0     0
    spares
      c2t12d0    AVAIL   
      c2t14d0    AVAIL 

c2t13d0은 raidz 풀에 없는 것 같은데요, 그렇죠? 데이터 풀에서 어떻게 제거하나요?

당신의 도움을 주셔서 감사합니다.

답변1

당신은 할 수 없습니다. 이제 단일 드라이브 vdev로 풀에 위치합니다. 풀에서 vdev를 제거할 수 없습니다.

이것은 나쁜 소식입니다.

raidz2-0더 나쁜 소식은 이제 vdev 및 vdev 를 통해 실제로 RAID-0을 갖게 되었다는 것입니다 c2t13d0. 아주 좋은하지. 더블 플러스에는 좋지 않습니다.

귀하의 옵션은 다음과 같습니다:

  • 당신이 만든 수영장과 함께 생활하세요
  • 풀을 백업, 삭제 및 다시 생성하고 복원합니다.

두 옵션 모두 좋지 않습니다. 백업/재생성/복원 예옳은이는 장기적으로 볼 때 선택할 수 있는 옵션이지만 가동 중지 시간이 많이 걸립니다(이를 방지하는 유일한 방법은 크기가 같거나 더 큰 두 번째 풀을 만드는 것입니다 zfs send).


그런데 중복 문제를 해결하는 한 가지 방법은 미러를 vdev 에 연결하는 것입니다 c2t13d0. 치수가 동일한 경우 예비 부품 중 하나를 사용할 수 있습니다.

다음과 같은 것을 사용하십시오:

zpool attach data c2t13d0 anotherdisk

이것은 이상적인 것과는 거리가 멀지만 미러링된 vdev를 사용하는 RAIDZ2 스트라이프에는 중복성이 있는 반면(여전히 짜증나지만 데이터를 소모하지는 않습니다), 단일 드라이브를 사용하는 RAIDZ2 스트라이프에는 I(일부 데이터)만이 안정적인 중복성이 없습니다. 단일 드라이브 vdev에. 이는 항상 귀하의 가장 가치 있고 대체할 수 없는 데이터가 될 것입니다.)

적어도 지금은 첫 번째 옵션("그냥 그대로 살아보세요")이 덜 나쁘지 않게 됩니다. 장기적으로는 수영장을 재건축하고 싶을 것입니다.

저는 Solaris 매뉴얼 페이지에 액세스할 수 없지만 다음은 zpoolZFS On Linux 버전 매뉴얼 페이지에서 관련 발췌문입니다(강조를 위해 굵은 글씨로 추가했습니다). Solaris 버전은 동일하거나 매우 유사해야 합니다.

zpool attach [-f] [-o property=value] pool device new_device

new_device를 기존 zpool 장치에 연결합니다.기존 장치는 raidz 구성에 포함될 수 없습니다.. 장치가 현재 미러 구성의 일부가 아닌 경우 장치는 자동으로 장치 및 new_device의 양방향 미러로 변환됩니다. 장치가 양방향 미러의 일부인 경우 new_device를 추가하면 3방향 미러가 생성됩니다. 두 경우 모두 new_device는 즉시 재동기화를 시작합니다.

답변2

맞습니다. 풀은 스트라이프된 두 개의 vdev, 디스크 c2t13d0 및 raidz2-0으로 구성됩니다.

불행하게도 ZFS는 (아직) 풀에서 vdev를 제거할 수 있는 기능을 제공하지 않습니다. 따라서 유일한 옵션은 풀을 삭제하고 다시 생성한 후 백업에서 복원하는 것입니다.

관련 정보