나는두 개의 장치가 있는 미러링된 풀( 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