4.8. 파일 및 디렉터리 레이아웃 작업
스토리지 관리자는 파일 또는 디렉터리 데이터가 개체에 매핑되는 방법을 제어할 수 있습니다.
이 섹션에서는 다음을 수행하는 방법에 대해 설명합니다.
4.8.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
-
attr패키지 설치
4.8.2. 파일 및 디렉터리 레이아웃 개요 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Ceph 파일 시스템의 컨텍스트에 있는 파일 및 디렉터리 레이아웃을 설명합니다.
파일 또는 디렉터리의 레이아웃은 해당 콘텐츠가 Ceph RADOS 오브젝트에 매핑되는 방법을 제어합니다. 디렉터리 레이아웃은 해당 디렉터리에서 새 파일에 대해 상속된 레이아웃을 설정하는 데 주로 사용됩니다.
파일 또는 디렉터리 레이아웃을 보고 설정하려면 가상 확장 속성 또는 확장 파일 속성(xattrs)을 사용합니다. 레이아웃 속성의 이름은 파일이 일반 파일인지 디렉터리인지에 따라 달라집니다.
-
일반 파일 레이아웃 속성은
ceph.file.layout. -
디렉터리 레이아웃 속성은
ceph.dir.layout.
파일 및 디렉터리 레이아웃 필드 테이블에는 파일 및 디렉터리에 설정할 수 있는 사용 가능한 레이아웃 필드가 나열됩니다.
레이아웃 Inheritance
파일은 파일을 생성할 때 상위 디렉터리의 레이아웃을 상속합니다. 그러나 상위 디렉터리 레이아웃에 대한 후속 변경 사항은 하위 디렉터리에 영향을 미치지 않습니다. 디렉터리에 레이아웃이 설정되어 있지 않은 경우 파일은 디렉터리 구조의 레이아웃이 있는 가장 가까운 디렉터리에서 레이아웃을 상속합니다.
추가 리소스
- 자세한 내용은 레이아웃 Inheritance를 참조하십시오.
4.8.3. 파일 및 디렉터리 레이아웃 필드 설정 링크 복사링크가 클립보드에 복사되었습니다!
setfattr 명령을 사용하여 파일 또는 디렉터리에 레이아웃 필드를 설정합니다.
파일의 레이아웃 필드를 수정하면 파일이 비어 있어야 하며 그렇지 않으면 오류가 발생합니다.
사전 요구 사항
- 노드에 대한 루트 수준 액세스.
절차
파일 또는 디렉터리에서 레이아웃 필드를 수정하려면 다음을 수행합니다.
구문
setfattr -n ceph.TYPE.layout.FIELD -v VALUE PATH교체:
-
파일 또는 디렉터리의유형. - 먼저 필드 의 이름을 입력합니다.
- 필드 의 새 값을 입력합니다.Type the new value of the field.
- 파일 또는 디렉터리의 경로를 사용하여 PATH 를 지정합니다.
예제
[root@fs ~]# setfattr -n ceph.file.layout.stripe_unit -v 1048576 test-
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage 파일 시스템 가이드의 파일및 디렉터리 레이아웃 개요 섹션에 있는 표를 참조하십시오.
-
setfattr(1)매뉴얼 페이지를 참조하십시오.
4.8.4. 파일 및 디렉터리 레이아웃 필드 보기 링크 복사링크가 클립보드에 복사되었습니다!
getfattr 명령을 사용하여 파일 또는 디렉터리의 레이아웃 필드를 보려면 다음을 수행합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
파일 또는 디렉터리의 레이아웃 필드를 단일 문자열로 보려면 다음을 수행합니다.
구문
getfattr -n ceph.TYPE.layout PATH- replace
- 파일 또는 디렉터리의 경로를 사용하여 PATH 를 지정합니다.
-
파일 또는 디렉터리의유형.
예제
[root@mon ~] getfattr -n ceph.dir.layout /home/test ceph.dir.layout="stripe_unit=4194304 stripe_count=2 object_size=4194304 pool=cephfs_data"
디렉터리를 설정할 때까지 명시적 레이아웃이 없습니다.A directory does not have an explicit layout until you set it. 결과적으로 먼저 설정하지 않고 레이아웃을 확인하려고 하면 표시할 변경 사항이 없기 때문에 실패합니다.
추가 리소스
-
getfattr(1)매뉴얼 페이지. - 자세한 내용은 Red Hat Ceph Storage 파일 시스템 가이드의 파일 및 디렉터리 레이아웃 설정을 참조하십시오.
4.8.5. 개별 레이아웃 필드 보기 링크 복사링크가 클립보드에 복사되었습니다!
getfattr 명령을 사용하여 파일 또는 디렉토리의 개별 레이아웃 필드를 봅니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
파일 또는 디렉터리에서 개별 레이아웃 필드를 보려면 다음을 수행합니다.
구문
getfattr -n ceph.TYPE.layout.FIELD _PATH- replace
-
파일 또는 디렉터리의유형. - 먼저 필드 의 이름을 입력합니다.
- 파일 또는 디렉터리의 경로를 사용하여 PATH 를 지정합니다.
-
예제
[root@mon ~] getfattr -n ceph.file.layout.pool test ceph.file.layout.pool="cephfs_data"참고pool필드의 풀은 이름으로 표시됩니다. 그러나 새로 생성된 풀은 ID로 표시할 수 있습니다.
추가 리소스
-
getfattr(1)매뉴얼 페이지. - 자세한 내용은 파일 및 디렉터리 레이아웃 필드 를 참조하십시오.
4.8.6. 디렉터리 레이아웃 제거 링크 복사링크가 클립보드에 복사되었습니다!
setfattr 명령을 사용하여 디렉토리에서 레이아웃을 제거합니다.
파일 레이아웃을 설정하면 변경하거나 제거할 수 없습니다.
사전 요구 사항
- 레이아웃이 있는 디렉터리입니다.
절차
디렉토리에서 레이아웃을 제거하려면 다음을 수행합니다.
구문
setfattr -x ceph.dir.layout DIRECTORY_PATH예제
[user@client ~]$ setfattr -x ceph.dir.layout /home/cephfspool_namespace필드를 제거하려면 다음을 수행합니다.구문
setfattr -x ceph.dir.layout.pool_namespace DIRECTORY_PATH예제
[user@client ~]$ setfattr -x ceph.dir.layout.pool_namespace /home/cephfs참고pool_namespace필드는 별도로 제거할 수 있는 유일한 필드입니다.
추가 리소스
-
setfattr(1)매뉴얼 페이지