scp가 마운트된 볼륨에 쓸 수 없으며 읽기 전용이라고 불평합니다. [닫기]

scp가 마운트된 볼륨에 쓸 수 없으며 읽기 전용이라고 불평합니다. [닫기]

(참고: 여기서는 다른 질문을 드리고 있지만 이는 본질적으로 제가 현재 하고 있는 작업을 진단하기 위한 것입니다.이 문제StackOverflow에서).

Google Cloud Compute Engine 가상 머신이 있습니다. 이미지는 Google Container-Optimized OS를 사용합니다(디버깅에 방해가 된다면 Ubuntu로 전환하는 것을 고려 중입니다). 나는 다음의 지시를 따랐다.그들의 문서머신에 새로 마운트된 볼륨을 포맷합니다. 구체적으로 다음을 실행했습니다.

sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/[DEVICE_ID]
sudo mkdir -p /mnt/disks/[MNT_DIR]
sudo mount -o discard,defaults /dev/[DEVICE_ID] /mnt/disks/[MNT_DIR]
sudo chmod a+w /mnt/disks/[MNT_DIR]

MNT_DIR장치에 설치한 디렉토리와 DEVICE_ID장치 이름은 어디에 있습니까 sudo lsblk( sdb자동인 것처럼 보이지만 중요하지 않습니다).

빠르게 ls -l /mnt/볼륨 표시~인 것 같다올바르게 설치되었으며 디렉터리에 대한 전역 읽기, 쓰기 및 수정 권한이 있습니다.

drwxrwxrwx 3 root root 4096 Mar  8 00:00 subway-explorer-datastore

좋습니다. 이제 일부 데이터를 이 컴퓨터로 전송하고 싶습니다. GCE에는 google compute scp명령(여기에 녹음하세요scp) 이는 UNIX 명령을 둘러싼 얇은 래퍼 처럼 보입니다 . 그러면 이를 사용하여 내 로컬 개발 머신의 일부 데이터를 이 클라우드 디스크에 쓸 수 있습니다. 그렇죠?

그래서 나는 다음을 실행합니다.

gcloud compute scp ~/Desktop/subway-explorer-api/logbooks.sqlite gke-webapp-default-pool-49338587-d78l:/mnt/subway-explorer-datastore --zone us-central1-a

나는 조심스럽게 쪼그려 앉았다.

scp: /mnt/subway-explorer-datastore: Read-only file system
ERROR: (gcloud.compute.scp) [/usr/bin/scp] exited with return code [1].

나머지 파일 시스템은 괜찮습니다. 예를 들어 다음은 성공합니다.

gcloud compute scp ~/Desktop/subway-explorer-api/logbooks.sqlite gke-subway-explorer-default-pool-2bef4d1d-f7dn:/dev/null

scp이는 Thin Wrapper 가 아닌 의해 발생한 오류입니다 gcloud. 경험이 없는 내 눈에는 루트 폴더에 대한 권한이 괜찮아 보입니다. 그렇다면 scp이 오류의 가능한 원인은 무엇입니까? 어떻게 디버깅할 수 있나요?

답변1

@cas가 댓글에서 추측한대로 존재하지 않는 폴더에 쓰고있습니다. 경로를 로 변경하니 /mnt/subway-explorer-datastore잘 되더군요.

오류 메시지를 기억해 보세요.

scp: /mnt/subway-explorer-datastore: Read-only file system

이것은 오해의 소지가 있습니다! 이 글을 읽고 답장을 보내주세요추정(폴더를 생성할 수 없기 때문에 scp) 폴더는 존재하는데, 올바른 권한이 부족해서 문제입니다.

나는 신선한 커피 한 잔을 마시면서 이 실수를 스스로 잡을 것이라고 생각합니다.

관련 정보