ZFS - 풀 2개, 루트 1개.

ZFS - 풀 2개, 루트 1개.

저는 두 세트의 디스크가 있는 데스크탑을 가지고 있습니다. 빠른 속도로 필요한 작업을 위한 소형 SSD와 큰 작업을 위한 대형 HDD입니다.

저는 작은 SSD를 "rpool"이라는 풀에 설정하고 지침에 따라 이를 Ubuntu의 루트 파일 시스템으로 사용했습니다. 심지어 부팅도 했습니다. https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.04-Root-on-ZFS

ZFS에서는 루트 디렉토리를 사용하여 두 번째 풀(HDD "hpool")을 생성하는 것을 허용하지 않습니다 /. 이 문제를 해결하기 위해 /hddhpool의 루트 디렉터리를 사용했습니다 .

이는 모든 하드 드라이브 데이터 세트가 마운트하려는 위치 /hdd가 아닌 다른 위치에 마운트된다는 의미입니다(예: /tmp 대신 /hdd/tmp)./

이 문제를 어떻게 해결할 수 있나요? (임의의 심볼릭 링크를 제외하고.)

답변1

새 풀을 생성할 때 이 -R옵션을 사용하여 대체 루트를 지정할 수 있습니다. -O canmount=off풀이 처음에 설치되는 것을 방지하고 새 풀에 하위 파일 시스템을 만들 때 다음 오류 메시지가 표시되지 않도록 ZFS 옵션이 추가되었습니다.

zfs create tpool/tst
cannot mount 'tpool' on '/': directory is not empty
cannot mount 'tpool/tst' on '/tst': failure mounting parent dataset

다음과 같이 두 번째 풀을 만듭니다.

zpool create -N -R / -O canmount=off tpool device

다음 명령을 사용하여 새 풀에 파일 시스템을 생성하는 경우:

zfs create tpool/tst

다음과 같이 표시됩니다.

NAME                                USED  AVAIL  REFER  MOUNTPOINT
rpool                              15.7G  15.3G    34K  /rpool
.
tpool                               146K   984M    31K  /
tpool/tst                            31K   984M    31K  /tst

ls -l /tst/
total 0

답변2

"이 문제를 어떻게 해결합니까?"라는 질문에 대답하려면 다음을 수행하십시오.

모든 데이터 세트에는 mountpoint 속성이 있습니다. 원하는 디렉토리로 설정할 수 있습니다. 귀하의 경우 /hdd설정하지 않으면 기본값이 됩니다. 예를 들어:

zfs set mountpoint=/foo hdd/foo

지금까지의 다른 응답 중 일부는 좋은 점을 제시하지만 "이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?"라는 묻지 않은 질문에 대답합니다.

답변3

/hdd이는 마운트된 풀의 기본 마운트 지점이고 ZFS는 상속을 사용하여 특정 등록 정보를 전파하므로 구성에서 선택됩니다.

mountpoint 등록 정보를 설정하여 각 ZFS 데이터 세트를 원하는 위치에 마운트할 수 있습니다.

zfs set mointpoint=/tmp pool2/tmp

각 데이터세트를 수정하지 않는 한 하위 데이터세트는 pool2/tmp상위 데이터세트의 조인 포인트를 상속합니다.

시스템 디렉토리를 다시 마운트할 때도 주의하십시오. 여기서는 쉬운 실수로부터 회복하기가 어렵습니다.

답변4

당신이하고있는 일은 잘못되었습니다.

ZFS는 단일 풀에서 혼합 회전 및 실리콘 저장소를 지원하지만 시도하는 것과 동일한 방식은 아닙니다. ZFS는 데이터가 이동하는 위치를 수동으로 관리하고 싶지 않습니다.ZIL 및 L2ARC 캐시.

이러한 방식으로 설정하면 ZFS는 사용 패턴에 따라 무엇이 필요한지 파악합니다.

어디로 가는지 수동으로 관리해야 하는 경우 간단히 3개의 풀을 생성하는 것이 좋습니다. 각 SSD당 하나씩, 미러 또는RAID-Z하드 드라이브의 경우. 루트 파일 시스템용 SSD 풀 1개, /home대량 데이터용 SSD 풀 1개, 느린 HDD 풀 1개를 사용합니다. 모든 것을 하나로 압축하면서도 수동으로 관리하는 것이 하이브리드 개념입니다. ZFS가 데이터가 있는 디스크를 관리하기를 원하거나 원하지 않습니다.

관련 정보