Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

이 글에서는 Oracle Cloud Infrastructure(OCI)의 파일 스토리지 서비스를 소개하고, 실제로 파일 스토리지를 생성한 뒤 여러 컴퓨트 인스턴스에 마운트하는 전 과정을 단계별로 안내합니다.

개요

Oracle® Storage Cloud Services는 사용자의 요구 사항에 따라 다양한 유형의 스토리지 서비스를 제공하므로, 목적에 맞는 서비스를 선택할 수 있습니다. 서비스를 선택할 때 고려해야 할 주요 요소는 다음과 같습니다.

  • 영구 저장 여부: 영구(persistent) 스토리지가 필요한지, 비영구(nonpersistent) 스토리지로 충분한지 판단합니다.
  • 데이터 유형: 텍스트, 데이터베이스, 동영상, 오디오, 이미지 등 어떤 종류의 데이터를 저장할지 결정합니다.
  • 성능: 최대 용량, IOPS, 처리량(throughput) 중 어떤 성능 지표가 중요한지 확인합니다.
  • 내구성: 데이터 복제본을 몇 개나 유지해야 하는지 정합니다.
  • 연결 방식: 애플리케이션이 로컬로 데이터에 접근하는지, 네트워크를 통해 접근하는지 고려합니다.
  • 프로토콜: 블록, 파일, HTTPS 중 어떤 프로토콜을 사용할지 선택합니다.

이러한 요구 사항에 따라 OCI는 아래와 같은 스토리지 옵션을 제공합니다.

  • 블록 볼륨 스토리지(Block Volume)
  • 로컬 NVMe(Local NVMe)
  • 파일 스토리지(File Storage)
  • 오브젝트 스토리지(Object Storage)
  • 아카이브 스토리지(Archive Storage)
OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

이미지 출처: https://www.youtube.com/watch?v=XXqTGF8G0dk

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

표 출처: https://www.youtube.com/watch?v=gzRXsXQJXmw

파일 스토리지란?

파일 스토리지는 이름이 지정된 디렉터리로 체계화된 계층형 문서 모음입니다. 각 디렉터리 자체도 구조화된 파일로 구성됩니다. 분산 파일 시스템은 분산된 환경을 마치 로컬 파일 시스템처럼 보이게 해주는 것이 특징입니다.

파일 스토리지 서비스(FSS)

Oracle Cloud Infrastructure 공식 문서에 따르면 다음과 같습니다.

"Oracle Cloud Infrastructure File Storage 서비스는 사전 프로비저닝 없이 클라우드에서 확장되는 내구성 있고 확장 가능한 분산형 엔터프라이즈급 네트워크 파일 시스템을 제공합니다. Virtual Cloud Network(VCN) 내의 베어메탈, 가상 머신 또는 컨테이너 인스턴스 어디에서든 파일 스토리지 파일 시스템에 연결할 수 있습니다. 또한 OCI FastConnect와 IPSec VPN을 사용하면 VCN 외부에서도 파일 시스템에 접근할 수 있습니다. File Storage 서비스는 NFSv3(Network File System version 3.0) 프로토콜을 지원하며, 파일 잠금 기능을 위해 NLM(Network Lock Manager) 프로토콜도 지원합니다."

OCI FSS의 주요 특징

"Case Study: Using OCI File Storage Service (FSS) for PeopleSoft" 자료에 따르면 OCI FSS의 특징은 다음과 같습니다.

  • POSIX용 NLM을 지원하는 NFS v3
  • 모든 OCI 리전에서 이용 가능한 AD 로컬 서비스
  • 저장 용량 기반의 예측 가능한 과금 체계
  • 저장 용량이 늘어날수록 처리량도 함께 증가하는 탄력적 성능으로, 병렬 워크로드에 적합

OCI FSS의 활용 사례

동일한 사례 연구에서 언급된 대표적인 활용 분야는 다음과 같습니다.

  • 공유 접근 및 용량에 대한 온디맨드 확장
  • 애플리케이션 리프트 앤 시프트(Lift-and-shift) 마이그레이션
  • 클라우드 백업
  • 빅데이터 및 분석용 정형·비정형 데이터 저장
  • 테스트 및 개발 환경
  • 빅데이터와 분석
  • 고성능 컴퓨팅(HPC)
OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

이미지 출처: https://www.youtube.com/watch?v=XXqTGF8G0dk

OCI에서 FSS 생성하기

FSS 생성 절차를 살펴보기 전에, 생성 과정에서 사용되는 몇 가지 핵심 개념을 먼저 이해해야 합니다. 아래 설명은 Oracle Cloud Infrastructure 공식 문서를 기반으로 합니다.

가상 클라우드 네트워크(VCN)

"Oracle 데이터 센터 내에 직접 구축하는 프라이빗 네트워크로, 방화벽 규칙과 선택적으로 사용할 수 있는 다양한 통신 게이트웨이를 포함합니다."

서브넷(Subnets)

"VCN 내에서 정의하는 하위 네트워크 구역입니다(예: 10.0.0.0/24, 10.0.1.0/24). 서브넷에는 인스턴스에 연결되는 가상 네트워크 인터페이스 카드(VNIC)가 포함됩니다. 서브넷은 하나의 리전 전체에 걸쳐 존재할 수도 있고, 단일 가용성 도메인(AD)에만 존재할 수도 있습니다. 서브넷은 VCN 내 다른 서브넷과 겹치지 않는 연속된 IP 주소 범위로 구성되며, 서브넷마다 적용될 라우팅 규칙과 보안 리스트를 지정합니다."

보안 규칙(Security Rules)

"VCN을 위한 가상 방화벽 규칙입니다. VCN 생성 시 기본 보안 리스트가 함께 제공되며, 추가로 생성할 수도 있습니다. 보안 리스트는 인스턴스로 들어오고 나가는 트래픽 유형을 지정하는 인그레스(ingress) 및 이그레스(egress) 규칙을 제공합니다. 각 규칙을 상태 저장(stateful) 또는 상태 비저장(stateless)으로 설정할 수 있습니다. 클라이언트가 파일 시스템 마운트 타겟에 연결하려면 반드시 보안 리스트 규칙을 설정해야 합니다."

마운트 타겟(Mount Target)

"마운트 타겟은 사용자가 선택한 VCN 서브넷에 위치하는 NFS 엔드포인트로, 파일 시스템에 대한 네트워크 접근을 제공합니다. 마운트 타겟은 고유한 익스포트 경로와 함께 파일 시스템을 마운트하는 데 사용되는 IP 주소 또는 DNS 이름을 제공합니다." 하나의 마운트 타겟으로 여러 파일 시스템을 익스포트할 수 있습니다.

익스포트(Export)

"익스포트는 NFS 클라이언트가 마운트 타겟에 연결할 때 파일 시스템에 접근하는 방식을 제어합니다. 파일 시스템은 마운트 타겟을 통해 익스포트(공개)됩니다. 각 마운트 타겟은 하나 이상의 익스포트를 포함하는 익스포트 세트를 유지합니다. 인스턴스가 파일 시스템을 마운트하려면 해당 파일 시스템이 하나의 마운트 타겟에 최소 한 개의 익스포트를 가져야 합니다."

익스포트 세트(Export Set)

"NFSv3 프로토콜을 사용해 마운트 타겟이 어떤 파일 시스템을 익스포트할지, 그리고 NFS 마운트 프로토콜을 통해 해당 파일 시스템을 어떻게 찾을지 제어하는 하나 이상의 익스포트 모음입니다. 각 마운트 타겟은 하나의 익스포트 세트를 가지며, 마운트 타겟에 연결된 각 파일 시스템은 익스포트 세트에 최소 한 개의 익스포트를 가집니다."

익스포트 경로(Export Path)

"익스포트를 생성할 때 지정하는 경로로, 마운트 타겟 내에서 파일 시스템을 고유하게 식별합니다. 이를 통해 하나의 마운트 타겟에 최대 100개의 파일 시스템을 연결할 수 있습니다. 이 경로는 파일 시스템 내부의 경로나 클라이언트의 마운트 지점 경로와는 무관합니다."

구성 개요

아래 이미지와 같은 구성을 만들어야 합니다. 하나의 AD(가용성 도메인)에 가상 클라우드 네트워크(VCN)를 하나 생성하고, 그 아래에 퍼블릭 서브넷과 프라이빗 서브넷 두 개를 만듭니다. 마운트 타겟에는 프라이빗 서브넷을, NFS 클라이언트에는 퍼블릭 서브넷을 사용합니다. 각 서브넷은 트래픽의 출입을 허용하기 위한 자체 보안 규칙과 라우팅 테이블을 가집니다.

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

이미지 출처: https://www.youtube.com/watch?v=F5Umaxw6IL8&t=319s

OCI에서 FSS 생성 단계

1단계: VCN 생성

메뉴 > Networking > Virtual Cloud Networks로 이동합니다.

원하는 VCN 이름을 입력하고 CIDR BLOCK에서 IP 대역을 선택한 후 Create Virtual Cloud Network를 클릭합니다.

VCN이 생성되었지만, 아직 서브넷이나 인터넷 게이트웨이는 없는 상태입니다.

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

2단계: 서브넷 생성

퍼블릭 서브넷과 프라이빗 서브넷 두 개를 생성합니다.

Create Subnet을 클릭하고 아래 정보를 입력한 뒤 Create Subnet 버튼을 누릅니다.

  • 서브넷 이름
  • 서브넷 IP 주소
  • 라우팅 테이블 이름
  • 서브넷 접근 방식(Subnet Access)
  • 보안 리스트(Security List)

3단계: 파일 시스템 생성

다음 순서에 따라 파일 시스템을 생성합니다.

첫째: 파일 스토리지 생성

메뉴에서 File Storage를 클릭한 후 File Systems로 이동합니다. 이제 Mount Target을 생성합니다. 앞서 만든 VCN과 SUBNET을 선택하고, IP addresses 항목은 비워 둡니다. System 값은 자동으로 채워집니다. Create를 클릭합니다.

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

둘째: 파일 시스템 생성

파일 시스템을 생성하려면 File System 탭에서 Create File System을 클릭하고, 아래 정보를 입력한 후 Create를 클릭합니다.

  • 원하는 파일 시스템 이름
  • 익스포트 경로(Export Path)
  • 마운트 타겟 정보(Mount Target Information)
OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

파일 시스템을 마운트하기 전에, 앞서 생성한 보안 리스트를 구성해야 합니다. 이 작업을 생략하면 인스턴스가 해당 파일 시스템에 접근할 수 없습니다. 마운트 타겟이 있는 서브넷에서 트래픽을 허용하도록 보안 리스트를 설정해야 합니다.

참고: 콘솔에서 직접 프라이빗 보안 리스트를 생성하여 서브넷에 할당할 수 있습니다. 두 개의 보안 리스트를 사용하는데, 마운트 타겟에는 프라이빗 서브넷을 사용하고, NFS 클라이언트에는 기본 보안 리스트가 적용된 퍼블릭 서브넷을 사용합니다. 기본 보안 리스트는 수정할 필요가 없지만, 프라이빗 보안 리스트에는 아래 섹션에서 설명하는 것처럼 이그레스 및 인그레스 규칙을 구성해야 합니다.

셋째: 인그레스 규칙 추가

마운트 타겟으로 이동하여 Subnet > Security Lists를 클릭한 후, PrivateSL > Add Ingress Rules를 클릭합니다.

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

TCP 트래픽을 허용하는 다음 인그레스 규칙들을 추가합니다.

인그레스 규칙 1:
Source CIDR: 10.0.0.0/16
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 2048-2050

인그레스 규칙 2:
Source CIDR: 10.0.0.0/16
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 111

인그레스 규칙 3:
Source CIDR: 10.0.0.0/16
IP Protocol: UDP
Source Port Range: All
Destination Port Range: 111

인그레스 규칙 4:
Source CIDR: 10.0.0.0/16
IP Protocol: UDP
Source Port Range: All
Destination Port Range: 2048

넷째: 이그레스 규칙 추가

이어서 이그레스 규칙을 추가합니다.

이그레스 규칙 1:
Destination CIDR: 10.0.0.0/16
IP Protocol: TCP
Destination Port Range: All
Source Port Range: 2048-2050

이그레스 규칙 2:
Destination CIDR: 10.0.0.0/16
IP Protocol: TCP
Destination Port Range: All
Source Port Range: 111

이그레스 규칙 3:
Destination CIDR: 10.0.0.0/16
IP Protocol: UDP
Destination Port Range: All
Source Port Range: 111

다섯째: 프라이빗 서브넷에 할당

인그레스 및 이그레스 규칙이 구성된 프라이빗 보안 리스트를 프라이빗 서브넷에 할당했습니다. 다음으로, 생성한 파일 시스템을 테스트하기 위해 두 개의 컴퓨트 인스턴스(FSS1, FSS2)를 생성합니다.

이제 컴퓨트 인스턴스에 파일 시스템을 마운트하는 단계로 넘어갑니다.

파일 시스템 마운트하기

NFS 클라이언트로 파일 시스템을 마운트하는 과정을 간략히 정리하면 다음과 같습니다.

  • 콘솔에서 OCI 인스턴스를 시작합니다.
  • NFSv3 프로토콜을 사용해 FSS 볼륨을 마운트합니다.
  • Linux 시스템에 nfs-utils(Oracle Linux®, CentOS®) 또는 nfs-common(Ubuntu® 운영체제)을 설치합니다.
  • 마운트할 디렉터리를 생성합니다.
  • FSS 콘솔에서 Mount Targets를 클릭합니다.

프라이빗 IP 주소 정보를 사용해 nfs 명령어로 볼륨을 마운트합니다.

구체적인 단계는 다음과 같습니다.

1단계

메뉴 > Compute > Instances > Create Instance로 이동하여 아래 정보를 입력한 후 Create를 클릭합니다.

  • Name your Instance: FSS1
  • Virtual Cloud Network: FSSVCN(앞서 생성한 것)
  • Subnet: Compute 서브넷(Linux 머신의 기본값)
  • SSH Key: OCI Linux 머신에 접속하려는 로컬 머신에서 복사합니다.
      $ cd ~/.ssh
      $ ls
       authorized_keys  id_rsa 
       id_rsa.pub  known_hosts
      $ cat id_rsa.pub
    
OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

2단계

컴퓨트 인스턴스 FSS1이 실행되면, 동일한 절차로 FSS2를 생성합니다.

그런 다음 로컬 머신에서 아래 명령어로 FSS1에 SSH 접속합니다.

ssh opc@PublicIP_Address
ssh opc@132.145.214.12
OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드
ssh opc@132.145.214.12

방금 시작한 터미널 세션에서 아래 단계를 수행하고 명령어를 실행하여 파일 시스템을 마운트합니다. 이 작업은 FSS1과 FSS2 두 컴퓨트 인스턴스 모두에서 진행합니다.

3단계

컴퓨트 인스턴스에 NFS 유틸리티를 설치합니다.

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

4단계

파일 시스템을 마운트할 로컬 마운트 지점을 생성합니다.

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

5단계

파일 시스템을 마운트합니다.

OCI 파일 스토리지(FSS) 생성 및 여러 컴퓨트 인스턴스에 마운트하는 완벽 가이드

다른 컴퓨트 인스턴스인 FSS2에서도 동일한 명령어를 실행합니다.

파일 시스템 테스트

파일 시스템이 정상적으로 공유되는지 확인하려면 다음 테스트를 수행합니다.

FSS1에서

$ cd <Local mount> 
$ sudo vi <File Name> (임의의 텍스트가 담긴 파일 생성)

FSS2에서

$ cd <Local mount>
$ ls 

이 명령어를 실행하면 FSS1에서 생성한 파일이 화면에 표시됩니다. 이것으로 두 인스턴스가 동일한 파일 시스템을 공유하고 있음을 확인할 수 있습니다.

결론

사용량이 늘어나더라도 File Storage 서비스의 프로비저닝은 완전히 관리형으로 자동 처리됩니다. File Storage는 Oracle Cloud Infrastructure 데이터를 위해 높은 영속성, 보안성, 내구성을 갖춘 스토리지를 제공합니다. 분산 아키텍처를 기반으로 구축된 File Storage는 데이터와 데이터 접근 모두에 대한 확장성을 보장합니다.

Data Services에 대해 더 자세히 알아보세요.

Feedback 탭을 통해 의견을 남기거나 질문할 수 있습니다. 또한 Sales Chat을 클릭해 지금 바로 상담을 시작할 수도 있습니다.