Red Hat Linux에 File Storage for Classic 마운트

이 지침을 따라 Red Hat Enterprise Linux® 기반 IBM Cloud® Compute 인스턴스를 네트워크 파일 시스템( NFS ) 공유에 연결하십시오. IBM Cloud® File Storage for Classic 주문 방법에 대한 자세한 정보는 시작하기 튜토리얼을 참조하십시오.

시작하기 전에, File Storage for Classic 볼륨에 액세스할 호스트가 인증되었는지 확인하십시오. 자세한 내용은 다음을 참조하세요. 콘솔에서 호스트 승인 CLI에서 호스트 승인 Terraform을 사용하여 호스트 승인.

File Storage for Classic 공유 마운트

  1. 필요한 도구를 설치하십시오.

    # dnf install nfs-utils
    
  2. 인스턴스에서 디렉토리를 작성하십시오.

    mkdir /mnt/test
    
  3. 콘솔의 마운트 포인트 정보 페이지( File Storage for Classic )에서 API 호출(SoftLayer_Network_Storage::getNetworkMountAddress())을 통해, 또는 Terraform의 ibm_storage_file 리소스를 통해 마운트 포인트 정보를 얻을 수 있습니다.

  4. 원격 공유를 마운트하십시오.

    # mount -t nfs -o <options> <host:mount_point> /mnt
    

    storage_as_a_service 볼륨의 예입니다.

    #mount -t nfs -o nfsvers=3 fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt
    

    enterprise 볼륨의 예입니다.

    # mount -t nfs -o nfsvers=3 nfshou0201d-fz.service.softlayer.com:/IBM01SEV1414935_2 /mnt
    

    NFS 4.1을 사용 중인 경우에는 마운트 명령에 sec=sys를 추가하여 파일 소유권 문제를 방지하십시오. NFSv3, NFS 또는 4.1 를 사용하는 경우, 모든 네트워크 구성 요소가 시작된 후 스토리지가 마운트될 때까지 대기하도록 _netdev 를 추가하십시오. mount 명령과 그 옵션에 대한 자세한 정보는 mount(8)매뉴얼 페이지를 참조하십시오.

  5. 디스크 파일 시스템 명령을 사용하여 마운트에 성공했는지 확인하십시오.

    # df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/xvda2  25G  1.4G  22G    6%   /
    /tmpfs     1.9G     0 1.9G    0%   /dev/shm
    /dev/xvda1 97M    51M  42M   55%
    
  6. 마운트 지점으로 이동하여 파일 읽기/쓰기를 수행하십시오.

    # touch /mnt/test
    # ls -la /mnt
    total 12
    drwxr-xr-x   2 nobody nobody 4096 Sep 8 15:52 .
    dr-xr-xr-x. 22 root   root   4096 Sep 8 14:30 ..
    -rw-r--r--   1 nobody nobody    0 Sep 8 15:52 test
    

    루트가 작성한 파일은 nobody:nobody의 소유권을 갖습니다. 소유권을 올바르게 표시하려면 idmapd.conf 에 올바른 도메인 설정을 반영해야 합니다. 자세한 내용은 ‘ NFS 용 no_root_squash 구현(선택 사항) ’ 섹션을 참조하십시오.

  7. 시작 시 원격 공유를 마운트하십시오. 설정을 완료하려면 파일 시스템 테이블(/etc/fstab)을 편집하여 스타트업 시에 자동으로 마운트되는 항목의 목록에 원격 공유를 추가하십시오.

    (hostname):/(username) /mnt nfs_version options 0 0
    

    다음 예제를 참조하십시오.

    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs nfsvers=3 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs options 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs4 options 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs _netdev,nfsvers=3 0 0
    

    더 자세한 정보를 원하시면, Linux /etc/fstab 파일을 참고하세요.

  8. 구성 파일에 오류가 없는지 확인하십시오.

    # mount -fav
    

    오류 없이 명령이 완료되면 설정이 완료됩니다.

마운트된 파일 공유 콘텐츠에 대한 사용자 권한 관리

시스템 관리자는 마운트된 파일 저장 볼륨에 대한 데이터 액세스를 관리할 수 있습니다. 파일 공유가 마운트된 후에는 chownchmod 명령을 사용하여 개별 사용자 및 그룹에 읽기, 쓰기, 실행 권한을 할당함으로써 접근 제어를 세분화할 수 있습니다. 자세한 내용은 Red Hat 튜토리얼: 사용자, 그룹 및 기타 사용자에 대한 Linux 권한을 관리하는 방법을 참조하세요.

NFS용 no_root_squash 구현(선택사항)

기본적으로 NFS는 루트 권한으로 작성된 파일을 nobody 사용자로 다운그레이드합니다. 이 보안 기능을 사용하면 요청하지 않는 한 공유되지 않습니다.

no_root_squash를 구성하면 루트 클라이언트가 원격 NFS 공유에 대한 루트 권한을 보유할 수 있습니다.

  • NFSv3 의 경우, 클라이언트는 별도의 조치를 취할 필요가 없으며, no_root_squash 은 자동으로 작동합니다.
  • NFSv4.1의 경우, nfsv4 도메인을 slnfsv4.com으로 설정하고 rpcidmapd를 시작하거나 OS에서 사용하는 유사한 서비스를 시작해야 합니다.

  1. 호스트에서 /etc/idmapd.conf 에서 도메인 설정을 구성하십시오.

    #vi /etc/idmapd.conf
    [General]
    #Verbosity = 0
    #The domain value should be set to the local NFSv4 domain name
    #The default is the host's DNS domain name.
    Domain = slnfsv4.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  2. nfsidmap -c을(를) 실행하십시오.

  3. rpcidmapd을(를) 시작하십시오.

    systemctl start rpcidmapd
    systemctl enable rpcidmapd
    

파일 시스템 마운트 해제

호스트에서 현재 마운트된 파일 시스템을 마운트 해제하려면 디스크 이름 또는 마운트 지점 이름을 사용하여 umount 명령을 실행하십시오.

umount /dev/sdb
umount /mnt