이 페이지에서는 동일한 Google Cloud 프로젝트와 VPC 네트워크에 있는 Compute Engine 가상 머신(VM) 인스턴스에 Filestore 파일 공유를 마운트하는 방법을 보여줍니다. 원격 네트워크의 클라이언트에 파일 공유를 마운트하는 방법을 알아보려면 원격 클라이언트에 파일 공유 마운트를 참조하세요. 대신 Google Kubernetes Engine 클러스터에서 Filestore 인스턴스에 액세스하려는 경우 Google Kubernetes Engine 클러스터에서 파일 공유에 액세스를 참조하세요.
시작하기 전에
Filestore에 사용할 수 있도록 네트워크 방화벽이 올바르게 구성되었는지 확인합니다. 자세한 내용은 방화벽 규칙 구성을 참조하세요.
Compute Engine VM 인스턴스에 파일 공유 마운트
다음 절차 중 하나에 따라 Compute Engine VM에 Filestore 파일 공유를 마운트합니다.
Linux: mount
Linux 클라이언트 VM에 파일 공유를 수동으로 마운트하려면 다음 안내를 따르세요.
Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
클라이언트로 사용하려는 Linux VM을 찾은 후 SSH를 클릭하여 해당 VM에서 터미널을 엽니다.
선택사항: 여러 네트워크 인터페이스가 포함된 클라이언트 VM에 보조 네트워크를 통해 파일 공유를 마운트합니다.
세부정보
클라이언트 VM에 여러 네트워크 인터페이스가 포함되고, 보조 네트워크 즉,
nic0
이외의 인터페이스를 통해 파일 공유를 마운트하려는 경우, 파일 공유가 올바른 네트워크 인터페이스를 통해 마운트되는지 확인하기 위해 클라이언트 VM의 라우팅 정책을 구성해야 합니다. 이렇게 하려면 클라이언트 VM에서 다음 명령어를 실행하세요.sudo ip route \ add filestore-reserved-address-range \ via default-gateway-of-nic-to-filestore
각 항목의 의미는 다음과 같습니다.
filestore-reserved-address-range
는 Filestore 인스턴스에 사용하기 위해 예약된 주소 범위입니다.default-gateway-of-nic-to-filestore
는 Filestore 인스턴스와 공유되고, VPC 네트워크에 연결된 NIC의 기본 게이트웨이 IP 주소입니다.
여러 NIC가 포함된 Compute Engine 인스턴스 사용에 대한 자세한 내용은 정책 라우팅 구성을 참조하세요.
NFS 설치:
Debian/Ubuntu
다음 명령어를 사용하여 Debian 또는 Ubuntu에 NFS를 설치합니다.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
다음 명령어를 사용하여 Red Hat Enterprise Linux 또는 CentOS에 NFS를 설치합니다.
sudo yum update &&
sudo yum install nfs-utilsSUSE
다음 명령어를 사용하여 SUSE에 NFS를 설치합니다.
sudo zypper update &&
sudo zypper -n install nfs-clientFilestore 파일 공유에 매핑할 로컬 디렉터리를 만듭니다.
sudo mkdir -p mount-point-directory
여기서
mount-point-directory
는 만들려는 디렉터리입니다(예:/mnt/filedir
).mount
명령어를 사용하여 Filestore 인스턴스에서 파일 공유를 마운트합니다. 모든 NFS 마운트 옵션을 사용할 수 있습니다. 성능을 극대화하려면 기본 NFSmount
옵션을 사용하는 것이 좋습니다.기본 NFS
mount
옵션기본 옵션 설명 hard
NFS 클라이언트는 NFS 요청을 무제한으로 시도합니다. timeo=600
NFS 클라이언트는 600데시초(60초) 간격으로 NFS 요청을 다시 시도합니다. retrans=3
NFS 클라이언트는 NFS 요청을 3회 시도한 후 추가 복구 작업을 수행합니다. rsize=1048576
NFS 클라이언트는 NFS 서버로부터 READ
요청당 최대 1,048,576바이트를 수신할 수 있습니다.wsize=1048576
NFS 클라이언트는 NFS 서버로부터 WRITE
요청당 최대 1,048,576바이트를 수신할 수 있습니다.resvport
NFS 클라이언트는 이 마운트 지점에 대해 NFS 서버와 통신할 때 권한이 있는 소스 포트를 사용합니다. async
NFS 클라이언트는 특정 조건이 충족될 때까지 NFS 서버에 대한 애플리케이션 쓰기 전송을 지연합니다.
주의:sync
옵션을 사용하면 성능이 크게 저하됩니다.마운트 지연 시간 감소를 위해서는
-o tcp
옵션을 지정해야 합니다.mount
명령어를 실행합니다.sudo mount ip-address:/file-share mount-point-directory
각 항목의 의미는 다음과 같습니다.
ip-address
는 Filestore 인스턴스의 IP 주소입니다.file-share
는 인스턴스의 파일 공유 이름입니다.mount-point-directory
는 Filestore 파일 공유를 매핑할 경로입니다.
다음 소스에서 인스턴스의 IP 주소 및 파일 공유 이름을 확인할 수 있습니다.
Filestore 인스턴스 페이지
instances list 명령어의 결과에 있는
IP_ADDRESS
필드instances describe 명령어 결과에 있는
ipAddresses
섹션
예를 들어 Filestore 인스턴스의 IP 주소가
10.0.1.2
이고 파일 공유 이름이share1
이라면 다음 명령어로 파일 공유를 로컬 마운트 지점 디렉터리/mnt/render
에 마운트합니다.sudo mount 10.0.1.2:/share1 /mnt/render
선택사항: 루트 사용자가 아닌 다른 사용자가 쓰기를 수행할 수 있도록
chmod
를 실행하여 마운트 디렉터리에 대한 권한을 설정합니다. 다음 명령어를 실행하여 디렉터리 권한을 설정합니다.sudo chmod permissions mount-point-directory
각 항목의 의미는 다음과 같습니다.
permissions
는 부여할 권한 집합입니다. 예를 들어chmod go+rw
는 그룹 내에서 디렉터리를 소유하는 사용자와 다른 모든 사용자가 디렉터리를 읽고 쓸 수 있게 해줍니다. 권한 설정에 대한 자세한 내용은 파일 공유의 액세스 구성을 참조하세요.mount-point-directory
는 Filestore 파일 공유가 마운트된 디렉터리의 경로입니다.
선택사항: Filestore 파일 공유가 마운트되었는지 확인합니다.
df -h --type=nfs
출력에 다음과 비슷한 항목이 포함되어야 합니다.
Filesystem Size Used Avail Use% Mounted on 10.0.1.2:/share1 1018G 76M 966G 1% /mnt/render 10.0.2.2:/vol3 1018G 76M 966G 1% /mnt/filestore3
마운트된 Firestore 파일 공유에 사용하려는 애플리케이션에 NFS 파일 잠금이 필요하고, 이 클라이언트 VM 인스턴스가 설정 변경이 없는 기본 VPC 네트워크 이외의 다른 네트워크를 사용하는 경우, 방화벽 구성을 쉽게 하기 위해 인스턴스에 2개 포트를 설정해야 할 수 있습니다. VPC 네트워크에 대한 방화벽 규칙을 구성해야 하는지 여부를 확인하는 방법은 방화벽 규칙 구성을 참조하세요. 포트 설정에 대한 자세한 내용은 NFS 포트 설정을 참조하세요.
Linux: /etc/fstab
클라이언트의 /etc/fstab
파일을 수정하여 부팅 중 클라이언트 VM에 파일 공유가 자동으로 마운트되도록 할 수 있습니다.
Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
클라이언트로 사용하려는 Linux VM을 찾은 후 SSH를 클릭하여 해당 VM에서 터미널을 엽니다.
선택사항: 여러 네트워크 인터페이스가 포함된 클라이언트 VM에 보조 네트워크를 통해 파일 공유를 마운트합니다.
세부정보
클라이언트 VM에 여러 네트워크 인터페이스가 포함되고, 보조 네트워크 즉,
nic0
이외의 인터페이스를 통해 파일 공유를 마운트하려는 경우, 파일 공유가 올바른 네트워크 인터페이스를 통해 마운트되는지 확인하기 위해 클라이언트 VM의 라우팅 정책을 구성해야 합니다. 이렇게 하려면 다음 파일을 수정하세요./etc/default/instance_configs.cfg
에서NetworkInterfaces
의setup
플래그를false
로 설정합니다.[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
/etc/network/interfaces
에서 다음 줄을 추가합니다.auto eth1 iface eth1 inet dhcp up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
각 항목의 의미는 다음과 같습니다.
filestore-reserved-address-range
는 Filestore 인스턴스에 사용하기 위해 예약된 주소 범위입니다.default-gateway-of-nic-to-filestore
는 Filestore 인스턴스와 공유되고, VPC 네트워크에 연결된 NIC의 기본 게이트웨이 IP 주소입니다.
여러 NIC가 포함된 Compute Engine 인스턴스 사용에 대한 자세한 내용은 정책 라우팅 구성을 참조하세요.
NFS 설치:
Debian/Ubuntu
다음 명령어를 사용하여 Debian 또는 Ubuntu에 NFS를 설치합니다.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
다음 명령어를 사용하여 Red Hat Enterprise Linux 또는 CentOS에 NFS를 설치합니다.
sudo yum update &&
sudo yum install nfs-utilsSUSE
다음 명령어를 사용하여 SUSE에 NFS를 설치합니다.
sudo zypper update &&
sudo zypper -n install nfs-clientFilestore 파일 공유에 매핑할 로컬 디렉터리를 만듭니다.
sudo mkdir -p mount-point-directory
여기서
mount-point-directory
는 만들려는 디렉터리입니다(예:/mnt/filedir
)./etc/fstab
파일을 엽니다.sudo vim /etc/fstab
/etc/fstab
파일에 다음 줄을 추가합니다.ip-address:/file-share mount-point-directory nfs defaults,_netdev 0 0
각 항목의 의미는 다음과 같습니다.
ip-address
는 Filestore 인스턴스의 IP 주소입니다.file-share
는 인스턴스의 파일 공유 이름입니다.mount-point-directory
는 Filestore 파일 공유를 매핑할 경로입니다.
예:
/etc/fstab
에서 다음 줄은 기본 마운트 옵션을 사용하여 IP 주소가10.0.0.2
인 Filestore 인스턴스의 파일 공유vol1
을 마운트 지점 디렉터리/mnt
에 마운트합니다.10.0.0.2:/vol1 /mnt nfs defaults,_netdev 0 0
/etc/fstab
에서 모든 것을 마운트합니다.sudo mount -a
이제 클라이언트 VM이 부팅될 때마다 파일 공유가 자동으로 마운트됩니다.
Linux: autofs
액세스될 때만 파일 공유를 자동으로 마운트하고, 사용 중이 아닐 때는 마운트되지 않도록 autofs
를 구성할 수 있습니다. 파일 공유를 /etc/fstab
에 정적으로 마운트하는 것과 비교해서 이 방법은 클라이언트가 여러 마운트 지점에 매핑해야 하는 상황에서 클라이언트 VM 소스를 절약하는 데 도움이 됩니다.
클라이언트 VM에 NFS
및 autofs
설치
Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
클라이언트로 사용하려는 Linux VM을 찾은 후 SSH를 클릭하여 해당 VM에서 터미널을 엽니다.
선택사항: 여러 네트워크 인터페이스가 포함된 클라이언트 VM에 보조 네트워크를 통해 파일 공유를 마운트합니다.
세부정보
클라이언트 VM에 여러 네트워크 인터페이스가 포함되고, 보조 네트워크 즉,
nic0
이외의 인터페이스를 통해 파일 공유를 마운트하려는 경우, 파일 공유가 올바른 네트워크 인터페이스를 통해 마운트되는지 확인하기 위해 클라이언트 VM의 라우팅 정책을 구성해야 합니다. 이렇게 하려면 다음 파일을 수정하세요./etc/default/instance_configs.cfg
에서NetworkInterfaces
의setup
플래그를false
로 설정합니다.[NetworkInterfaces] dhclient_script = /sbin/google-dhclient-script dhcp_command = ip_forwarding = true setup = false
/etc/network/interfaces
에서 다음 줄을 추가합니다.auto eth1 iface eth1 inet dhcp up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
각 항목의 의미는 다음과 같습니다.
filestore-reserved-address-range
는 Filestore 인스턴스에 사용하기 위해 예약된 주소 범위입니다.default-gateway-of-nic-to-filestore
는 Filestore 인스턴스와 공유되고, VPC 네트워크에 연결된 NIC의 기본 게이트웨이 IP 주소입니다.
여러 NIC가 포함된 Compute Engine 인스턴스 사용에 대한 자세한 내용은 정책 라우팅 구성을 참조하세요.
다음 명령어를 실행하여 NFS를 설치합니다.
Debian/Ubuntu
다음 명령어를 사용하여 Debian 또는 Ubuntu에 NFS를 설치합니다.
sudo apt-get -y update &&
sudo apt-get install nfs-commonRHEL/CentOS
다음 명령어를 사용하여 Red Hat Enterprise Linux 또는 CentOS에 NFS를 설치합니다.
sudo yum update &&
sudo yum install nfs-utilsSUSE
다음 명령어를 사용하여 SUSE에 NFS를 설치합니다.
sudo zypper update &&
sudo zypper -n install nfs-client클라이언트 VM의 터미널 창에서
autofs
를 설치합니다.Debian/Ubuntu
sudo apt-get install autofs
RHEL/CentOS
sudo yum install autofs
SUSE
sudo zypper -n install autofs
클라이언트 VM에 파일 공유를 동적으로 마운트하도록 autofs
구성
autofs
사용 설정:sudo systemctl enable --now autofs
Filestore 파일 공유에 매핑할 로컬 디렉터리를 만듭니다.
sudo mkdir -p mount-point-directory
여기서
mount-point-directory
는 만들려는 디렉터리입니다. 하위 디렉터리는 포함하지 않아야 합니다. 이 가이드에서는/nfs
가 마운트 지점 디렉터리로 사용됩니다./etc/auto.master
파일을 엽니다.sudo vim /etc/auto.master
/etc/auto.master
파일에 다음 줄을 추가합니다./nfs /etc/auto.nfs --timeout seconds
여기서
seconds
는 마운트 제한 시간까지 남은 기간(초)입니다. 기본값은300
입니다. 이 값을0
으로 설정하면autofs
에 의한 마운트 해제가 사용 중지됩니다./etc/auto.nfs
라는 파일을 만듭니다.sudo vim /etc/auto.nfs
/etc/auto.nfs
파일에 다음 줄을 추가합니다.mount-point-subdir options ip-address:/file-share
각 항목의 의미는 다음과 같습니다.
mount-point-subdir
은 Firestore 파일 공유를 매핑하려는/nfs
의 하위 디렉터리입니다. 이 하위 디렉터리는 동적으로 생성되며, 클라이언트 VM에 존재하지 않습니다.options
는 NFS 마운트 옵션입니다. 자동 마운트의 경우 마운트 및 마운트 해제 시 지연 시간 감소를 위해-o tcp
를 지정하는 것이 좋습니다.ip-address
는 Filestore 인스턴스의 IP 주소입니다.file-share
는 인스턴스의 파일 공유 이름입니다.
예:
/etc/auto.nfs
의 다음 줄은 IP 주소가10.0.0.2
인 Filestore 인스턴스의 파일 공유vol1
을read/write
액세스 권한이 부여된 동적으로 생성된 하위 디렉터리file-shares
에 마운트합니다.file-shares -rw 10.0.0.2:/vol1
구성 테스트
파일 공유가 현재 마운트되어 있으면 이를 마운트 해제해야 합니다.
sudo umount mount-point-directory
여기서
mount-point-directory
는 Filestore 파일 공유가 매핑되는 경로입니다.시스템 부팅 시 파일 공유를 마운트하는
/etc/fstab
항목이 있으면 이를 삭제해야 합니다.autofs
새로고침:sudo service autofs reload
구성이 작동하는지 확인합니다.
ls mount-point-directory/mount-point-subdir
각 항목의 의미는 다음과 같습니다.
mount-point-directory
는/etc/auto.master
파일에 표시된 마운트 지점 디렉터리입니다.mount-point-subdir
은/etc/auto.nfs
파일에 표시된 마운트 지점 하위 디렉터리입니다.
이 예시의 명령어는 다음과 같습니다.
ls /nfs/file-shares
자동 마운트가 올바르게 구성되었으면 시스템이 먼저 파일 공유를 마운트한 후
ls
명령어의 결과를 반환합니다. 파일 공유는/etc/auto.master
파일에 지정된timeout
값으로 정의되는 일정 기간 비활성 상태가 지난 후 자동으로 마운트 해제됩니다.
Windows
Windows VM에 연결
Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
클라이언트로 사용할 Windows VM을 찾은 후 RDP를 클릭하여 해당 VM에 대한 원격 데스크톱 연결을 엽니다. 자세한 내용은 Windows 인스턴스에 연결을 참조하세요.
Windows VM에 NFS 설치
- Windows VM에서 PowerShell을 관리자로 엽니다.
PowerShell에서 NFS 클라이언트를 설치합니다.
Install-WindowsFeature -Name NFS-Client
표시되는 메시지에 따라 Windows VM 인스턴스를 다시 시작한 다음 새 원격 데스크톱 연결을 엽니다.
NFS 클라이언트에 사용되는 사용자 ID 구성
PowerShell
에서 다음 명령어를 실행하여 2개의 새 레지스트리 항목AnonymousUid
및AnonymousGid
를 만듭니다.New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" ` -Name "AnonymousUid" -Value "0" -PropertyType DWORD
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" ` -Name "AnonymousGid" -Value "0" -PropertyType DWORD
NFS 클라이언트 서비스를 다시 시작합니다.
nfsadmin client stop
nfsadmin client start
파일 공유를 Windows VM에 매핑
PowerShell
을 종료합니다.exit
Command Prompt
에서 파일 공유를 하나의 드라이브 문자에 매핑합니다.mount filestore-ip:/file-share-name drive-letter:
각 항목의 의미는 다음과 같습니다.
- filestore-ip는 Filestore 인스턴스의 IP 주소입니다.
- file-share-name은 Filestore 인스턴스의 파일 공유 이름입니다.
- drive-letter은 매핑에 지정하려는 드라이브의 문자입니다.
예시
다음 명령어는 IP 주소가
10.0.0.2
인 Filestore 인스턴스에서 파일 공유vol1
을 클라이언트 Windows VM에 있는 드라이브z:
에 매핑합니다.mount 10.0.0.2:/vol1 z:
파일 공유에 하위 디렉터리 만들기 및 마운트
파일 공유가 클라이언트 VM에 마운트된 다음에는 파일 공유에 이후 클라이언트가 전체 파일 공유를 마운트하는 대신 직접 마운트할 수 있는 하위 디렉터리를 만들 수 있습니다.
마운트된 파일 공유에 하위 디렉터리를 만들려면 다음을 실행합니다.
sudo mkdir -p mount-point-directory/file-share-sub-dir
각 항목의 의미는 다음과 같습니다.
mount-point-directory
는 파일 공유를 매핑할 경로입니다.file-share-sub-dir
은 파일 공유에서 만들려는 하위 디렉터리의 경로입니다.
이 명령어는 클라이언트 VM 및 파일 공유 모두에 하위 디렉터리를 만듭니다. 예를 들어 클라이언트 VM에서 파일 공유
10.0.0.2:/vol1
을/mnt
디렉터리에 마운트한 경우,sudo mkdir -p /mnt/nfs
명령어는 파일 공유에10.0.0.2:/vol1/nfs
를 만들고 클라이언트 VM에/mnt/nfs
를 만듭니다.선택사항: 파일 공유가 현재 마운트된 클라이언트 VM의 디렉터리에 파일 공유 하위 디렉터리를 마운트하려면 파일 공유를 먼저 마운트 해제해야 합니다.
sudo umount mount-point-directory
여기서
mount-point-directory
는 파일 공유가 현재 매핑된 디렉터리입니다.하위 디렉터리를 마운트합니다.
sudo mount ip-address:/file-share/file-share-sub-dir mount-point-directory
각 항목의 의미는 다음과 같습니다.
ip-address
는 Filestore 인스턴스의 IP 주소입니다.file-share
는 인스턴스의 파일 공유 이름입니다.file-share-sub-dir
은 마운트할 파일 공유의 하위 디렉터리 경로입니다.mount-point-directory
는 Filestore 파일 공유를 매핑할 경로입니다.
예시: 다음 명령어를 실행합니다.
sudo mount 10.0.0.2:/vol1/nfs /mnt/nfs
10.0.0.2
는 Filestore 인스턴스의 IP 주소입니다.vol1
은 파일 공유의 이름입니다.nfs
는 파일 공유 하위 디렉터리입니다./mnt/nfs
는 파일 공유 하위 디렉터리nfs
가 매핑된 클라이언트 VM의 디렉터리입니다.
다음 단계
- 마운트된 파일 공유에 데이터를 복사하는 방법 알아보기
- 원격 네트워크의 클라이언트에 파일 공유를 마운트하는 방법 알아보기