Ceph 클러스터 구성 시리즈 <5> CephFS 사용

필수 조건

  • 적절한 버전의 Linux 커널이 있는지 확인합니다.자세한 내용은 OS 권장 사항을 참조하십시오
    # lsb_release -a 
    # uname -r 
    
  • Ceph 메모리 집단이 실행 중이고 active + clean 상태인지 확인합니다.Ceph 메타데이터 서버를 하나 이상 실행해야 합니다.Tip: MDS를 생성한 후에는 일부 풀 및 파일 시스템을 생성하기 전에는 MDS가 활성화되지 않습니다
    # ceph -s
    cluster:
        id:     6ba14dc2-0261-4925-9a50-f90c94d544d2
        health: HEALTH_OK
     
      services:
        mon: 3 daemons, quorum node1,node2,node3
        mgr: node1(active), standbys: node2, node3
        osd: 8 osds: 8 up, 8 in
     
      data:
        pools:   6 pools, 384 pgs
        objects: 231  objects, 2.3 KiB
        usage:   8.2 GiB used, 15 TiB / 15 TiB avail
        pgs:     384 active+clean
    

  • 파일 시스템 만들기


    먼저 두 개의 저장 풀을 만들어야 합니다. 하나는 데이터를 저장하는 데 사용되고, 다른 하나는 메타데이터를 저장하는 데 사용됩니다.그런 다음 파일 시스템 만들기
    #ceph osd pool create cephfs_data  
    #ceph osd pool create cephfs_metadata  
    
    # ceph fs new  cephfs_metadata cephfs_data 
    

    이 명령은 새 파일 시스템을 생성합니다.파일 시스템 이름과 메타데이터 풀 이름은 분명하다.지정한 데이터 풀은 기본 데이터 풀로 설정 후 변경할 수 없습니다.모든 파일 시스템은rank에 할당된 MDS 수호 프로세스를 가지고 있기 때문에 새로운 파일 시스템을 수용할 충분한 예비 수호 프로세스가 있는지 확인하십시오.
    예:
    # ceph osd pool create cephfs_data 64
    pool 'cephfs_data' created 
    # ceph osd pool create cephfs_metadata 64
    pool 'cephfs_metadata' create 
    # ceph fs new cpehfs cephfs_metadata cephfs_data 
    new fs with metadata pool 8 and data pool 7
    

    DS가 활성 상태가 됩니다.
    # ceph -s
      cluster:
        id:     6ba14dc2-0261-4925-9a50-f90c94d544d2
        health: HEALTH_OK
     
      services:
        mon: 3 daemons, quorum node1,node2,node3
        mgr: node1(active), standbys: node2, node3
        mds: cpehfs-1/1/1 up  {0=node2=up:active}, 1 up:standby
        osd: 8 osds: 8 up, 8 in
     
      data:
        pools:   8 pools, 512 pgs
        objects: 253  objects, 5.1 KiB
        usage:   8.3 GiB used, 15 TiB / 15 TiB avail
        pgs:     512 active+clean
    

    파일 시스템 나열


    모든 파일 시스템을 이름별로 나열합니다.
    # ceph fs ls
    name: cpehfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
    

    모든 파일 시스템 설정, MDS 데몬 프로세스와 소속된rank, 대체 MDS 데몬 프로세스 목록을 포함하여 epoch(기본값:current)에 지정된 FSMap을 저장합니다.
    # ceph fs dump
    dumped fsmap epoch 8
    e8
    enable_multiple, ever_enabled_multiple: 0,0
    compat: compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table,9=file layout v2,10=snaprealm v2}
    legacy client fscid: 1
     
    Filesystem 'cephfs' (1)
    fs_name	cpehfs
    epoch	7
    flags	12
    created	2019-10-15 09:57:09.335969
    modified	2019-10-15 09:57:10.339237
    tableserver	0
    root	0
    session_timeout	60
    session_autoclose	300
    max_file_size	1099511627776
    min_compat_client	-1 (unspecified)
    last_failure	0
    last_failure_osd_epoch	0
    compat	compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table,9=file layout v2,10=snaprealm v2}
    max_mds	1
    in	0
    up	{0=4192}
    failed	
    damaged	
    stopped	
    data_pools	[7]
    metadata_pool	8
    inline_data	disabled
    balancer	
    standby_count_wanted	1
    4192:	11.11.11.21:6804/2626601780 'node2' mds.0.6 up:active seq 60626
     
     
    Standby daemons:
     
    4188:	11.11.11.20:6805/1630534972 'node1' mds.-1.0 up:standby seq 1
    

    파일 시스템 정보 가져오기


    설정과rank를 포함하여 지정한 파일 시스템에 대한 정보를 얻으십시오.이것은ceph fsdump 명령에서 같은 정보의 서브집합입니다.
    # ceph fs get 
    

    예:
    # ceph fs get cephfs
    Filesystem 'cephfs' (1)
    fs_name	cpehfs
    epoch	7
    flags	12
    created	2019-10-15 09:57:09.335969
    modified	2019-10-15 09:57:10.339237
    tableserver	0
    root	0
    session_timeout	60
    session_autoclose	300
    max_file_size	1099511627776
    min_compat_client	-1 (unspecified)
    last_failure	0
    last_failure_osd_epoch	0
    compat	compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table,9=file layout v2,10=snaprealm v2}
    max_mds	1
    in	0
    up	{0=4192}
    failed	
    damaged	
    stopped	
    data_pools	[7]
    metadata_pool	8
    inline_data	disabled
    balancer	
    standby_count_wanted	1
    4192:	11.11.11.21:6804/2626601780 'node2' mds.0.6 up:active seq 60626
    

    파일 시스템에 데이터 풀 추가


    파일 시스템에 데이터 풀을 추가합니다.이 풀은 파일 데이터를 저장하는 대체 위치로 파일 레이아웃으로 사용할 수 있습니다.
    # ceph fs add_data_pool  
    

    파일 시스템에서 지정된 풀 제거


    이 명령은 파일 시스템의 데이터 풀 목록에서 지정한 풀을 삭제합니다.삭제된 데이터 풀의 레이아웃이 있는 파일은 사용할 수 없게 됩니다.기본 데이터 풀(파일 시스템을 만들 때 지정한 풀)을 삭제할 수 없습니다.
    # ceph fs rm_data_pool  
    

    키 파일 만들기


    기본적으로 Ceph 스토리지 클러스터는 인증이 설정된 상태에서 실행됩니다.키를 포함하는 파일이 있어야 합니다. (키 링 자체가 아닙니다.)특정 사용자의 키를 가져오려면 다음 절차를 따르십시오.
  • 키링 파일에서 사용자의 키를 보십시오.예:
    # cat ceph.client.admin.keyring 
    [client.admin] 
    key = AQALapVchh0XHRAAjMrPZT08c66wlVhnCISNtQ== 
    ...
    
  • 사용자 이름을 속성이라고 하는 새 파일 (예: admin.secret) 을 만듭니다.이 사용자의 키를 빈 파일에 붙여넣고, 사용자의 키를 복사하여 CephFS 파일 시스템을 마운트하는 데 사용합니다..
    AQALapVchh0XHRAAjMrPZT08c66wlVhnCISNtQ== 
    
  • 파일 권한이 사용자에게 적합한지 확인하지만 다른 사용자에게는 표시되지 않습니다
  • 이 파일을 모든 노드로 복사..
    # scp /etc/ceph/admin.secret node2:/etc/ceph/
    # scp /etc/ceph/admin.secret node3:/etc/ceph/
    # scp /etc/ceph/admin.secret node4:/etc/ceph/
    

  • 코어 구동


    CephFS를 커널 드라이브로 마운트합니다.
    #sudo mkdir /mnt/nzfs 
    #sudo mount -t ceph {ip-address-of-monitor}:6789:/ /mnt/nzfs 
    

    Ceph 스토리지 클러스터는 기본적으로 인증을 사용합니다.'키 파일 만들기'부분에서 사용자name와 secretfile을 만들 것을 지정합니다.예:
    #sudo mount -t ceph 11.11.11.20,11.11.11.21,11.11.11.22:6789:/ /mnt/nzfs -o name=admin,secretfile=/etc/ceph/admin.secret 
    # df -Th
    ...
    11.11.11.20,11.11.11.21,11.11.11.22:6789:/ ceph      3.5T     0  3.5T   0% /mnt/nzfs
    

    사용자 공간 파일 시스템(FUSE)


    CephFS를 사용자 공간 파일 시스템(FUSE)으로 마운트합니다.
    # sudo mkdir /fs 
    # sudo ceph-fuse -m {ip-address-of-monitor}:6789 ~/mycephfs 
    

    예:
    # ceph-fuse -m 11.11.11.20,11.11.11.21,11.11.11.22:6789 /fs
    
     ceph-fuse[8084]: starting ceph client 
     2019-03-25 04:03:49.368 7f97141a6c00 -1 init, newargv = 0x559bbd95b4a0 newargc=7 
     ceph-fuse[8084]: starting fuse 
    # df -Th
    ...
    ceph-fuse           fuse.ceph-fuse  3.5T     0  3.5T   0% /fs
    

    Ceph 스토리지 클러스터는 기본적으로 인증을 사용합니다.기본 위치(즉,/etc/ceph)에 키 루프가 없으면 키 루프를 지정합니다.
    # sudo ceph-fuse -k ./ceph.client.admin.keyring -m {ip-address-of-monitor}:6789  /fs
    

    파일 시스템 삭제


    먼저 umount 파일 시스템, MDS를 중지하고 파일 시스템을 삭제합니다.
    CephFS 파일 시스템을 삭제하면 FSMap에서 파일 시스템 상태에 대한 정보가 제거됩니다.메타데이터 풀과 데이터 풀은 영향을 받지 않으므로 따로 삭제해야 합니다.
    # systemctl stop ceph-mds.target
    # ceph fs rm  [--yes-i-really-mean-it]
    

    좋은 웹페이지 즐겨찾기