2.10. 임시 고정 정책
임시 핀은 하위 트리의 정적 파티션이며 확장 특성을 사용하여 정책으로 설정할 수 있습니다. 정책은 임시 핀을 디렉터리에 자동으로 설정할 수 있습니다. 임시 핀을 디렉터리에 설정할 때 모든 Ceph MDS 순위에 균일하게 분산되도록 특정 순위에 자동으로 할당됩니다. 할당되는 순위는 일관된 해시 및 디렉터리의 inode 번호로 수행됩니다. 디렉터리의 inode가 파일 시스템 캐시에서 드롭되면 임시 핀이 유지되지 않습니다. Ceph 메타데이터 서버(MDS)를 통해 실패할 때 Ceph MDSECDHE 서버에 이 정보가 손실되지 않도록 임시 핀이 저널에 기록됩니다. 임시 핀을 사용하는 정책에는 다음 두 가지 유형이 있습니다.
attr
및 jq
패키지는 임시 고정 정책의 전제 조건으로 설치해야 합니다.
- distributed
-
이 정책은 모든 디렉터리의 즉각적인 하위 항목을 임시로 고정해야 합니다. 예를 들어 분산 정책을 사용하여 사용자의 홈 디렉터리를 전체 Ceph File System 클러스터에 분산합니다.
ceph.dir.pin.distributed
extended 특성을 설정하여 이 정책을 활성화합니다.
구문
setfattr -n ceph.dir.pin.distributed -v 1 DIRECTORY_PATH
예제
[root@host01 mount]# setfattr -n ceph.dir.pin.distributed -v 1 dir1/
- Random
-
이 정책은 descendent 하위 디렉터리가 임시로 고정될 수 있는 가능성을 적용합니다. 임시로 고정할 수 있는 디렉터리의 백분율을 사용자 지정할 수 있습니다.
ceph.dir.pin.random
을 설정하고 백분율을 설정하여 이 정책을 활성화합니다. Red Hat은 이 백분율을 1% 미만(0.01
)보다 작은 값으로 설정하는 것이 좋습니다. 하위 트리 파티션이 너무 많으면 성능이 느려질 수 있습니다.mds_export_ephemeral_random_max
Ceph MDS 구성 옵션을 설정하여 최대 백분율을 설정할 수 있습니다.mds_export_ephemeral_distributed
및mds_export_ephemeral_random
매개변수는 이미 활성화되어 있습니다.
구문
setfattr -n ceph.dir.pin.random -v PERCENTAGE_IN_DECIMAL DIRECTORY_PATH
예제
[root@host01 mount]# setfattr -n ceph.dir.pin.random -v 0.01 dir1/
고정을 활성화한 후 다음 명령 중 하나를 실행하여 확인할 수 있습니다.
구문
getfattr -n ceph.dir.pin.random DIRECTORY_PATH getfattr -n ceph.dir.pin.distributed DIRECTORY_PATH
예제
[root@host01 mount]# getfattr -n ceph.dir.pin.distributed dir1/ # file: dir1/ ceph.dir.pin.distributed="1" [root@host01 mount]# getfattr -n ceph.dir.pin.random dir1/ # file: dir1/ ceph.dir.pin.random="0.01"
예제
[ceph: root@host01 /]# ceph tell mds.a get subtrees | jq '.[] | [.dir.path, .auth_first, .export_pin]'
디렉터리가 고정된 경우 export_pin
은 0
순위로 고정되는 경우 0
이고1
이 순위 1
에 고정되어 있으면 0이 됩니다. 디렉터리가 고정되지 않은 경우 값은 -1
입니다.
파티션 정책을 제거하려면 확장 속성을 제거하거나 값을 0
으로 설정합니다.
구문
setfattr -n ceph.dir.pin.distributed -v 0 DIRECTORY_PATH
예제
[root@host01 mount]# setfattr -n ceph.dir.pin.distributed -v 0 dir1/
다음 명령 중 하나를 실행하여 확인할 수 있습니다. .Syntax
getfattr -n ceph.dir.pin.distributed DIRECTORY_PATH
예제
[root@host01 mount]# getfattr -n ceph.dir.pin.distributed dir1/
내보내기 핀의 경우 확장된 속성을 제거하거나 확장 속성을 -1
로 설정합니다.
구문
setfattr -n ceph.dir.pin -v -1 DIRECTORY_PATH
예제
[root@host01 mount]# setfattr -n ceph.dir.pin -v -1 dir1/
추가 리소스