Cloud Storage FUSE 문제 해결

이 페이지에서는 Cloud Storage FUSE를 사용할 때 발생할 수 있는 일반적인 오류의 문제 해결 방법을 설명합니다.

오류 추천 솔루션
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: fs.NewServer: create file system: SetUpBucket: OpenBucket: Bad credentials for bucket BUCKET_NAME: permission denied 버킷 이름을 확인합니다. 프로젝트 내에 있는지 확인합니다. 올바른 액세스 권한이 있는지 확인합니다.
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: fs.NewServer: create file system: SetUpBucket: OpenBucket: Unknown bucket BUCKET_NAME: no such file or directory 버킷 이름을 확인합니다. 서비스 계정에 파일 액세스 권한이 있는지 확인합니다. 적어도 roles/storage.objectViewer IAM 역할의 권한이 있어야 합니다.
daemonize.Run: readFromProcess: sub-process: mountWithArgs: getConn: GetTokenSource: DefaultTokenSource: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information. 로컬에서 실행할 때는 애플리케이션 기본 사용자 인증 정보(ADC)가 필요하며 컨테이너에 이를 추가해야 합니다. 환경 변수에 사용자 인증 정보 전달을 참조하고 GCP 액세스 포함 Docker의 안내를 따릅니다.
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1 stderr: /bin/fusermount: fuse device not found, try 'modprobe fuse' first 컨테이너를 로컬에서 실행하려면 --privilege 플래그를 docker run 명령어에 추가합니다.

 docker run --privileged  gcr.io/PROJECT/my-fs-app
  • 로컬 마운트 디렉터리를 만들어야 합니다.
  • 마운트 프로세스의 모든 로그를 사용하려면 --foreground 플래그를 마운트 명령어(gcsfuse --foreground --debug_gcs --debug_fuse $GCSFUSE_BUCKET $MNT_DIR &)와 함께 사용합니다.
  • --debug_http를 추가하여 HTTP 요청/응답 디버그를 출력합니다.
  • --debug_fuse를 추가하여 FUSE 관련 디버깅 출력을 사용 설정합니다.
  • --debug_gcs를 추가하여 GCS 요청 및 타이밍 정보를 출력합니다.
빌드 시 오류가 발생하면 Cloud Storage FUSE 설치가 실패합니다. 현재 특정 OS 배포만 지원됩니다. Cloud Storage FUSE 설치에 대해 자세히 알아보세요.