
예를 들어 스냅샷 작업을 수행할 때 ZFS가 작동하는 방식을 이해하려고 노력하고 있습니다. 시스템에서 zfs 목록을 사용하면 일부 마운트 지점과 일부 경로가 표시됩니다. 예를 들어 다음과 같은 결과를 얻습니다.
rpool/ROOT/s10x_u10_wos_17b 5.3gb 58.2gb 5.3gb /
나는 마운트 지점으로 root 를 얻습니다 /
.
내 첫 번째 생각은 실제 파일이 있고 디렉터리로 이동했을 때 /rpool
ROOT 디렉터리가 없다는 것이었습니다. 잠시 생각한 후에 그것이 /rpool/ROOT
실제로 레거시에 마운트되어 있으므로 다른 곳에 있을 것이라는 것을 알았습니다 .
레거시에 마운트될 때 파일의 위치와 이 레거시 모드가 사용되는 이유를 누군가 설명해 줄 수 있습니까?
답변1
레거시 마운트 지점의 목적을 이해하지 못합니다.
ZFS는 풀 내에서 데이터 세트의 계층적 구조를 제공합니다. 귀하의 경우에는 이름이 붙은 풀 rpool
과 최소한 다음 데이터 세트가 있습니다.
rpool
rpool/ROOT
rpool/ROOT/s10x_u10_wos_17b
이러한 각 데이터 세트는 파일 시스템인 경우가 많습니다(대신 볼륨/블록 장치일 수도 있음).
이들 각각의 데이터 세트는 전체/독립 파일 시스템일 가능성이 높으며, 각각은 독립적으로 마운트되거나 마운트되지 않을 수도 있습니다.
기본적으로 ZFS는 상위 데이터베이스 내의 논리적 위치에 하위 데이터 세트를 마운트합니다. 데이터 rpool
세트가 (예: 기본값)에 마운트된 경우 데이터 세트가 에 마운트된 /rpool
것을 알 수 있습니다 .rpool/ROOT
/rpool/ROOT
이는 속성에 의해 제어됩니다 . 각 데이터세트의 현재 값을 보려면 mountpoint
실행하세요 .zfs get -rt filesystem mountpoint
- 값이 경로이면 ZFS는 풀을 가져올 때 해당 경로에 데이터 세트를 자동으로 마운트합니다. 위에서 언급한 대로 기본값은 상위 파일 시스템 아래에 파일 시스템을 마운트하는 것입니다.
- 값이 이면
none
ZFS는 파일 시스템을 마운트하지 않으며 파일 시스템은할 수 없다둘 중 하나를 사용하여 마운트할 수 있습니다mount
. - 값이 이면
legacy
ZFS는 파일 시스템을 마운트하지 않지만 파일 시스템의 마운트 지점을 수동으로 사용mount
하고 관리할 수 있습니다. 자동 장착을 안내하는 데umount
사용할 수도 있습니다 ./etc/fstab
귀하의 상황에서는 rpool/ROOT/s10x_u10_wos_17b
데이터 세트가 마운트됩니다 /
(예: 루트 파일 시스템). 이를 달성하려면 mountpoint=/
ZFS가 처리하도록 설정하고 허용하거나 mountpoint=legacy
명시적으로 설정하고 마운트할 수 있습니다.
이는 루트 파일 시스템이므로 ZFS가 이를 관리하도록 하는 것은 실제로 옵션이 아니며 마운트 지점을 명시적으로 지정해야 합니다.
그러므로 .rpool/ROOT/s10x_u10_wos_17b
mountpoint=legacy
답변2
레거시 마운트 지점은 일반적으로 fstab
.
FreeBSD 매뉴얼 페이지에서:
필요한 경우 기존 도구(mount(8), umount(8), fstab(5))를 사용하여 ZFS 파일 시스템을 관리할 수도 있습니다. 파일 시스템의 마운트 지점이 레거시로 설정된 경우 ZFS는 파일 시스템 관리를 시도하지 않으며 관리자는 파일 시스템 마운트 및 마운트 해제를 담당합니다.