내 서버 local1:/mnt/storage2/users에서 디렉토리 Storage2:/sdb1/users를 볼 수 있도록 여러 서버에 걸쳐 마운트된 디스크에 액세스할 수 있습니다.
대용량 파일에 액세스하고 싶기 때문에 해당 파일을 local1에 표시되는 디렉터리에 심볼릭 링크합니다.
root@storage2:ln -s /home/jr/bigfile.csv /sdb1/users/jr
이제 ls로 볼 수 있어요
jeremyr@local1:/mnt/storage2/users/jr$ ls -l
lrwxrwxrwx 1 4294967294 users 95 Aug 8 08:01 /mnt/storage2/users/jr/bigfile.csv -> /home/jr/bigfile.csv
그러나 열 때(파이썬 등을 사용하여) 나는 그것을 볼 수 없으며 ls -lL 도 마찬가지입니다.
jeremyr@local1:/mnt/storage2/users/jr$ ls -lL bigfile.csv
ls: cannot access /mnt/storage2/users/jr/bigfile.csv: No such file or directory
보이는 파티션에 복사하지 않고도 대용량 파일에 접근할 수 있나요?
답변1
기계에 jr의 homedir이 설치되어 있지 않으면 이것은 결코 작동하지 않습니다. 링크가 가리키는 파일에도 액세스할 수 없으면 링크가 "깨집니다". 기호 링크는 사용 가능한 다른 경로를 가리키는 것 외에는 파일에 액세스할 수 있는 방법을 제공하지 않습니다(기호 링크가 존재하지 않는 경우에도).
설치되었지만 다른 경로에 있는 경우 다른 심볼릭 링크를 사용하여 문제를 해결할 수 있습니다. 예를 들어, 로컬 "jr" 사용자가 없지만 /export/home에 원격 homedir이 설치되어 있는 경우 다음과 같이 이 문제를 해결할 수 있습니다.
ln -s /export/home/jr /home/
이것이 원하는 것이 아니라면 공유하려는 파일을 사용할 모든 컴퓨터에 설치된 디렉터리에 저장해야 합니다.