테스트 및 검증

이 페이지에서는 구성된 동적 그룹의 멤버인 VM 인스턴스에서 직접 수행할 수 있는 몇 가지 테스트를 다룹니다. RCLONE 및 OCIFS는 읽기 및 쓰기 액세스를 테스트하는 다양한 명령을 사용하여 유사한 방식으로 테스트해야 합니다.

RCLONE 테스트

이러한 노력의 일환으로 버킷에 대한 보존 규칙은 일정 시간 동안 제거되므로 rclone의 버킷 읽기 및 쓰기 기능을 완전히 테스트할 수 있습니다.

테스트가 완료되면 규칙을 다시 설정하고 잠글 수 있습니다. 테스트는 아카이브 버킷을 보유한 구획 내의 모든 버킷에 대해 "버킷 읽기" 및 "객체 읽기" 권한이 있는 동적 그룹으로 시작하여 수행됩니다.

구성된 RCLONE 원격을 보려면 다음 명령을 실행합니다.
OS prompt> rclone config show [OCI-IP]
type = oracleobjectstorage
provider = instance_principal_auth
namespace = <tenancy-namespace>
compartment = ocid1.compartment.oc1..xxx
region = us-ashburn-1
다음 모든 명령은 구성된 오브젝트 스토리지 환경 및 자격 증명을 참조하기 위해 OCI-IP가 필요합니다. 파일을 버킷에 동기화(복사 또는 업데이트)하기 위해 좁은 권한 집합에는 버킷 생성 또는 삭제가 포함되지 않으므로 OCI 콘솔을 사용하여 버킷이 미리 생성되었습니다. 다음 블록은 동기화 작업과 버킷 목록을 보여줍니다.
OS prompt> rclone sync rclone-test.txt OCI-IP:rclone-testing
OS prompt> rclone ls OCI-IP:rclone-testing 
 33 rclone-test.txt

파일 삭제도 테스트할 수 있습니다. 사용 가능한 모든 옵션(예: 필터링)에 대해서는 RCLONE 설명서를 참조하십시오.

OS prompt> rclone delete OCI-IP:rclone-testing/rclone-test.txt

정책 변경사항

일반적으로 RCLONE은 작업이 성공할 경우 프롬프트로 돌아가지만 특정 작업에 대한 권한이 없을 경우 오류 메시지를 표시합니다. 예를 들어, 이전에 정의된 권한에 따라 버킷을 삭제하려고 시도하면 다음 메시지와 함께 작업이 실패합니다.
OS prompt> rclone purge OCI-IP:rclone-testing
2024/08/29 14:36:15 ERROR : : Failed to rmdir: Error returned by ObjectStorage Service. Http Status Code: 404. Error Code: BucketNotFound. Opc request id: iad-1:xxx. Message: Either the bucket named 'rclone-testing' does not exist in the namespace '<namespace>' or you are not authorized to access it
Operation Name: DeleteBucket
앞에서 언급한 바와 같이 동적 그룹에 대해 정의된 정책 문은 필요에 따라 변경할 수 있습니다. 예를 들어, 버킷 생성 또는 삭제를 허용하려면 다음 명령문을 추가할 수 있습니다.
allow dynamic-group oci-rclone-full-dg to manage buckets in compartment cis-landing-top:app-cmp where ANY {target.bucket.name =
    'rclone-testing'}
이 정책 문을 추가한 후 이전 작업을 재시도할 수 있으며 버킷이 삭제됩니다.

브라우저를 OCI Object Storage 화면용으로 열어 두고 각 작업을 확인할 수 있도록 버킷에서 페이지를 새로 고치는 것이 좋습니다.

OCIFS 테스트

이전 절에서 제공된 예제를 사용하여 OCIFS 유틸리티는 다양한 방식으로 테스트되었습니다. 동적 그룹 및 정책이 설계대로 작동하면 정책을 변경하고 권한이 편집됨에 따라 결과가 빠르게 변경되는 것을 확인할 수 있습니다.

테스트 권한 변경의 일부로 OCIFS 파일 시스템을 마운트 해제하는 것이 좋습니다. 이 설명서에서는 마운트 해제 구문을 제공합니다.

OCIFS에서 제공하는 캐싱도 사용할 수 있으며 솔루션의 일부로 테스트되었습니다. 몇 가지 옵션이 설명되어 있으며, 그 중 일부는 솔루션과 함께 작동합니다.

주:

자동 마운트를 사용하면 cache-reusecache-keep 옵션이 사용되지 않는 한 캐시가 제거되므로 OCIFS 캐싱에 영향을 줄 수 있습니다.

다음 예에서는 OCIFS를 사용하여 마운트 지점을 생성하고 버킷에 연결하는 방법을 보여줍니다.

root OS prompt# mkdir /mnt/read-bucket
root OS prompt# ocifs --auth=instance_principal read-bucket /mnt/read-bucket/
root OS prompt# cd /mnt/read-bucket
root OS prompt# ls -al
total 0
drwxr-xr-x. 2 root root 6 Nov 6 14:56 .
drwxr-xr-x. 5 root root 68 Nov 6 14:56 ..
-rw-r--r--. 1 root root 4 Nov 6 14:57 file.txt
제한된 권한 테스트로 이 VM은 이 버킷에서 파일을 삭제할 수 없습니다. 다음과 같은 오류가 발생해야 합니다.
root OS prompt# rm file.txt
rm: remove regular file 'file.txt'? y
rm: cannot remove file.txt': Input/output error

추가 버킷, 동적 그룹 정의 및 정책 문에 대한 추가 테스트를 수행할 수 있습니다. 권한(permission)이 전달될 수 있도록 변경 사항과 테스트 사이에 1-2분을 허용합니다.