더 좋은 방법:

더 좋은 방법:

나는두 개의 장치가 있는 미러링된 풀( sda, sdb) 내 안에더반.

이제 내가 삽입했어두 개의 추가 장치( sdc, sdd) 그래서 나는 할 수 있다사용 가능한 공간을 두 배로 늘립니다./mnt/data/디렉토리 에 .

방금 끝났나요 sudo zpool add backup-pool mirror sdc sdd?

조금 무서워서 확인하고 싶었어요. 멍청한 질문이라 죄송합니다.

내 풀의 세부정보는 다음과 같습니다.

sudo zfs 목록

NAME               USED  AVAIL     REFER  MOUNTPOINT
backup-pool       1.47T  1.17T       96K  /backup-pool
backup-pool/data  1.47T  1.17T     1.47T  /mnt/data

sudo zpool 목록

NAME          SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
backup-pool  2.72T  1.47T  1.25T        -         -    11%    53%  1.00x    ONLINE  -

sudo fdisk -l

Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: WDC WD30EFAX-68J
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/sdd: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: WDC WD30EFAX-68J
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: WDC WD30EFAX-68J
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: ABB57994-974B-734A-A2A9-2BA616368A52

Device          Start        End    Sectors  Size Type
/dev/sdb1        2048 5860515839 5860513792  2.7T Solaris /usr & Apple ZFS
/dev/sdb9  5860515840 5860532223      16384    8M Solaris reserved 1


Disk /dev/sda: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: WDC WD30EFAX-68J
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: DCDDA5ED-CB54-C042-9AF6-076F07F44E96

Device          Start        End    Sectors  Size Type
/dev/sda1        2048 5860515839 5860513792  2.7T Solaris /usr & Apple ZFS
/dev/sda9  5860515840 5860532223      16384    8M Solaris reserved 1

감사해요!

답변1

짧은 답변:

방금 끝났나요 sudo zpool add backup-pool mirror sdc sdd?

예.

긴 답변:

조금 무서워서 확인하고 싶었어요.

작은 가상 메모리 디스크 또는 이 경우 파일 지원 가상 디스크와 같이 중요하지 않은 장치를 사용한 테스트는 생각보다 간단한 경우가 많습니다.

이는 FreeBSD에서 수행되었지만 동일한 작업을 수행하는 Linux용 도구도 있습니다.

각각 1G 크기의 파일 4개를 생성하고 각 파일을 파일 지원 가상 디스크로 사용하겠습니다.

# for i in $(jot 4 0)
> do
>         truncate -s1G md$i
>         mdconfig -f md$i
> done

/dev/md0이제 운전 해서 /dev/md3놀 수 있어요 . 미러링을 통해 원본 단일 VDEV 풀을 생성하겠습니다 /dev/md0./dev/md1

# zpool create tank mirror md0 md1
# zpool status tank
  pool: tank
 state: ONLINE
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            md0     ONLINE       0     0     0
            md1     ONLINE       0     0     0

errors: No known data errors

잘못된 방법:

md2풀에 다음 디스크를 추가하려고 하면 zpool풀의 중복성이 다운그레이드된다는 경고가 표시됩니다.

# zpool add tank md2
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses mirror and new vdev is disk

실제로 이것을 강제하고 추가도 강제하면 다음과 같은 결과를 md3얻습니다.

# zpool add -f tank md2
# zpool status tank
  pool: tank
 state: ONLINE
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            md0     ONLINE       0     0     0
            md1     ONLINE       0     0     0
          md2       ONLINE       0     0     0

errors: No known data errors

# zpool add -f tank md3
# zpool status tank
  pool: tank
 state: ONLINE
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            md0     ONLINE       0     0     0
            md1     ONLINE       0     0     0
          md2       ONLINE       0     0     0
          md3       ONLINE       0     0     0

errors: No known data errors

md2장비 에는 중복성 이 없습니다 md3. 풀은 다음 세 가지 오류 중 하나에 취약합니다. 1) 미러의 두 부분 모두 오류가 발생하는 경우, 2) 디스크가 md2오류가 발생하는 경우, 3) 디스크가 md3오류가 발생하는 경우. 이러한 세 가지 이벤트 중 하나라도 풀을 사용할 수 없게 만들 수 있습니다.

더 좋은 방법:

위의 예는 잘못된 방식으로 수행하면 어떤 일이 발생하는지 보여주기 위한 것입니다. 실제로 귀하가 찾고 있는 더 나은 접근 방식은 두 개의 새 드라이브를 첫 번째 미러에 연결된 두 번째 미러로 추가하는 것입니다.

중복성을 향상하려면 zpool기존 풀에 미러를 추가한다고 알려주십시오.

# zpool status tank
  pool: tank
 state: ONLINE
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            md0     ONLINE       0     0     0
            md1     ONLINE       0     0     0

errors: No known data errors

# zpool add tank mirror md2 md3
# zpool status tank
  pool: tank
 state: ONLINE
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            md0     ONLINE       0     0     0
            md1     ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            md2     ONLINE       0     0     0
            md3     ONLINE       0     0     0

errors: No known data errors

관련 정보