Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

โพสต์นี้ครอบคลุมบริการ Oracle Cloud Infrastructure (OCI) File Storage

ภาพรวม (Overview)

Oracle® Storage Cloud Services ให้บริการจัดเก็บข้อมูลหลายประเภทตามความต้องการของคุณ เพื่อให้คุณเลือกบริการหนึ่งแทนอีกอย่างหนึ่งได้ ความต้องการอาจแตกต่างกันไปจาก:

  • Persistent vs Non-persistent: คุณต้องการจัดเก็บแบบ Persistent หรือ Non-persistent
  • ประเภทข้อมูล: คุณต้องการจัดเก็บข้อมูลประเภทไหน เช่น ข้อความ ฐานข้อมูล วิดีโอ เสียง รูปภาพ ฯลฯ
  • ประสิทธิภาพ: คุณมองหาประสิทธิภาพแบบไหน เช่น ความจุสูงสุด IOPS Throughput ฯลฯ
  • ความทนทาน (Durability): คุณต้องการจำนวนสำเนาข้อมูลกี่ชุด
  • การเชื่อมต่อ (Connectivity): แอปเข้าถึงข้อมูลอย่างไร เช่น แบบ Local หรือข้ามเครือข่าย
  • โปรโตคอล (Protocol): คุณวางแผนใช้โปรโตคอลอะไร เช่น Block, File หรือ HTTPS

ขึ้นอยู่กับความต้องการของคุณ OCI มีการเสนอต่อไปนี้:

  • Block Volume Storage
  • Local NVMe
  • File Storage
  • Object Storage
  • Archive Storage
วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

แหล่งภาพ: https://www.youtube.com/watch?v=XXqTGF8G0dk

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

แหล่งตาราง: https://www.youtube.com/watch?v=gzRXsXQJXmw

File Storage คืออะไร?

File Storage เป็นการรวบรวมเอกสารแบบลำดับชั้น (Hierarchical) ที่จัดระเบียบอยู่ในไดเรกทอรีที่มีชื่อ ซึ่งเองก็เป็นไฟล์ที่มีโครงสร้าง ระบบไฟล์แบบกระจาย (Distributed File Systems) ทำให้ระบบกระจายดูเหมือนระบบไฟล์ท้องถิ่น (Local File Systems) ทุกประการ

File Storage Services (FSS)

ตามเอกสาร Oracle Cloud Infrastructure Documentation: "Oracle Cloud Infrastructure File Storage Service ให้ระบบไฟล์เครือข่ายระดับองค์กร (Enterprise-grade Network File System) ที่ทนทาน ขยายได้ (Scalable) และกระจาย (Distributed) ที่ขยายตัวใน Cloud โดยไม่ต้อง Provisioning ล่วงหน้า คุณสามารถเชื่อมต่อกับระบบไฟล์ของ File Storage Service จาก Bare Metal, Virtual Machine หรือ Container Instance ใดๆ ใน Virtual Cloud Network (VCN) ของคุณ คุณยังสามารถเข้าถึงระบบไฟล์จากภายนอก VCN โดยใช้ Oracle Cloud Infrastructure FastConnect และ Internet Protocol Security (IPSec) Virtual Private Network (VPN) บริการ File Storage รองรับโปรโตคอล Network File System version 3.0 (NFSv3) บริการยังรองรับโปรโตคอล Network Lock Manager (NLM) สำหรับฟังก์ชันการล็อกไฟล์ (File Locking)"

ลักษณะสำคัญของ OCI FSS:

ตาม Case Study: Using OCI File Storage Service (FSS) for PeopleSoft ลักษณะของ OCI FSS รวมถึง:

  • NFS v.3 พร้อม NLM สำหรับ POSIX
  • บริการ AD-local พร้อมใช้ในทุก Region ของ OCI
  • ราคาที่คาดการณ์ได้สำหรับความจุที่จัดเก็บ
  • ประสิทธิภาพแบบยืดหยุ่น (Elastic Performance) ที่ Throughput เพิ่มขึ้นตามความจุที่จัดเก็บ เหมาะสำหรับ Workloads แบบขนาน (Parallel)

Use Cases สำหรับ OCI FSS ประกอบด้วย:

Case Study: Using OCI File Storage Service (FSS) for PeopleSoft กล่าวถึง Use Cases ต่อไปนี้:

  • การปรับขนาดตามความต้องการ (On-demand Scaling) สำหรับการเข้าถึงและความจุแบบร่วมกัน (Shared Access)
  • Lift-and-shift Applications
  • Backup ใน Cloud
  • จัดเก็บข้อมูลที่มีโครงสร้างหรือไม่มีโครงสร้างสำหรับ Big Data และ Analytics
  • Testing และ Development
  • Big Data และ Analytics
  • High-Performance Computing (HPC)
วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

แหล่งภาพ: https://www.youtube.com/watch?v=XXqTGF8G0dk

วิธีสร้าง FSS ใน OCI

ก่อนจะอธิบายรายละเอียดการสร้าง FSS ใน OCI คุณต้องเข้าใจแนวคิดสำคัญบางอย่างที่จะใช้ระหว่างการสร้าง FFS

ส่วนย่อยต่อไปนี้มาจากเอกสาร Oracle Cloud Infrastructure Documentation โดยตรง

Virtual Cloud Network (VCN)

"เครือข่ายส่วนตัวที่คุณตั้งค่าในศูนย์ข้อมูลของ Oracle พร้อมกฎไฟร์วอลล์และประเภท Communication Gateways เฉพาะที่คุณเลือกใช้"

Subnets

"การแบ่งย่อยที่คุณกำหนดใน VCN (เช่น 10.0.0.0/24 และ 10.0.1.0/24) Subnets ประกอบด้วย Virtual Network Interface Cards (VNICs) ซึ่งต่อกับ Instances Subnet สามารถครอบคลุม Region หรือมีอยู่ใน Availability Domain เดียว Subnet ประกอบด้วยช่วง IP Addresses ที่ติดต่อกันและไม่ทับซ้อนกับ Subnets อื่นๆ ใน VCN สำหรับแต่ละ Subnet คุณระบุกฎการ Routing และ Security Lists ที่ใช้กับมัน"

Security Rules

"กฎไฟร์วอลล์เสมือนสำหรับ VCN ของคุณ VCN ของคุณมาพร้อม Default Security List และคุณสามารถเพิ่มได้ Security Lists เหล่านี้ให้กฎ Ingress และ Egress ที่ระบุประเภทของ Traffic ที่อนุญาตให้เข้าและออกจาก Instances คุณสามารถเลือกได้ว่ากฎใดเป็น Stateful หรือ Stateless Security List Rules ต้องตั้งค่าให้ Client สามารถเชื่อมต่อกับ File System Mount Targets ได้"

Mount Target

"Mount Target เป็น Endpoint ของ NFS ที่อยู่ใน VCN Subnet ที่คุณเลือก และให้การเข้าถึงเครือข่ายสำหรับ File Systems Mount Target ให้ IP Address หรือ DNS Name ที่ใช้ร่วมกับ Export Path ที่ไม่ซ้ำกันเพื่อ Mount File System" Mount Target เดียวสามารถ Export File Systems หลายตัวได้

Export

"Exports ควบคุมว่า NFS Clients เข้าถึง File Systems อย่างไรเมื่อเชื่อมต่อกับ Mount Target File Systems ถูก Export (ทำให้พร้อมใช้งาน) ผ่าน Mount Targets แต่ละ Mount Target รักษา Export Set ซึ่งมี Exports หนึ่งหรือหลายตัว File System ต้องมีอย่างน้อยหนึ่ง Export ในหนึ่ง Mount Target" เพื่อให้ Instances สามารถ Mount File System ได้

Export Set

"คอลเลกชันของ Exports หนึ่งหรือมากกว่าที่ควบคุมว่า Mount Target Export File Systems ใดบ้างโดยใช้โปรโตคอล NFSv3 และวิธีที่ File Systems เหล่านั้นถูกค้นหาโดยใช้โปรโตคอล NFS Mount แต่ละ Mount Target มี Export Set แต่ละ File System ที่เกี่ยวข้องกับ Mount Target มีอย่างน้อยหนึ่ง Export ใน Export Set"

Export Path

"Path ที่ระบุเมื่อสร้าง Export มันระบุ File System ภายใน Mount Target อย่างไม่ซ้ำกัน ให้คุณเชื่อมโยง File Systems ได้สูงสุด 100 ตัวต่อ Mount Target เดียว Path นี้ไม่เกี่ยวข้องกับ Path ใดๆ ภายใน File System เอง หรือ Client Mount Point Path"

ภาพรวมการตั้งค่า (Setup Overview)

คุณต้องสร้างการตั้งค่าตามภาพต่อไปนี้ คุณต้องสร้าง Virtual Cloud Network (VCN) หนึ่งใน AD หนึ่ง และสอง Subnets (Public และ Private) ภายใต้ VCN เดียว คุณใช้ Private Subnet สำหรับ Mount Target และ Public Subnet สำหรับ NFS Client แต่ละ Subnet มี Security Rules และ Routing Tables ของตัวเองเพื่ออนุญาต Traffic เข้าและออก

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

แหล่งภาพ: https://www.youtube.com/watch?v=F5Umaxw6IL8&t=319s

ขั้นตอนการสร้าง FSS ใน OCI

1: สร้าง VCN

ไปที่ Menu > Networking > Virtual Cloud Networks

ระบุชื่อ VCN ที่ต้องการ เลือก IP ใน CIDR BLOCK และคลิก Create Virtual Cloud Network

ตอนนี้คุณสร้าง VCN แล้ว แต VCN ไม่มี Subnet หรือ Internet Gateway

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

2: สร้าง Subnet

สร้าง Subnet สองตัว คือ Public และ Private

คลิก Create Subnet ป้อนรายละเอียดต่อไปนี้ และคลิก Create Subnet

  • ชื่อ Subnet
  • IP Address ของ Subnet
  • ชื่อ Route Table
  • Subnet Access
  • Security List

3: สร้าง File System

ใช้ขั้นตอนต่อไปนี้เพื่อสร้าง File System:

ขั้นแรก: สร้าง File Storage

ไปที่เมนู คลิก File Storage แล้ว File Systems ตอนนี้ สร้าง Mount Target เลือก VCN และ SUBNET ที่สร้างไว้ก่อนหน้านี้ เว้นส่วน IP Addresses ไว้ว่าง ระบบจะกรอกอัตโนมัติ คลิก Create

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

ขั้นที่สอง: สร้าง File System

เพื่อสร้าง File System บนแท็บ File System คลิก Create File System ป้อนรายละเอียดต่อไปนี้ และคลิก Create tab:

  • ชื่อ File System ที่คุณต้องการ
  • Export Path
  • ข้อมูล Mount Target
วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

ก่อน Mount File System นี้ คุณต้องกำหนดค่า Security List ที่สร้างไว้ก่อนหน้านี้ หากไม่ทำ Instance ของคุณจะไม่สามารถเข้าถึง File System นี้ได้ คุณต้องกำหนด Security List เพื่ออนุญาต Traffic บน Mount Target Subnet

หมายเหตุ: คุณสามารถสร้าง Private Security List ของคุณเองจาก Console และมอบหมายให้ Subnet คุณสามารถใช้ Security List สองตัว ใช้ Private Subnet สำหรับ Mount Target Public Subnet เป็น Default Security List ซึ่งคุณใช้สำหรับ NFS Client คุณไม่ต้องเปลี่ยนแปลง Default Security List แต่อย่างใด แต่คุณต้องกำหนดกฎ Egress และ Ingress สำหรับ Private Security List ตามส่วนต่อไปนี้

ขั้นที่สาม: เพิ่ม Ingress Rules

ไปที่ Mount Target คลิก Subnet > Security Lists และคลิก PrivateSL > Add Ingress Rules

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

เพิ่มกฎ Ingress ต่อไปนี้ที่อนุญาต Traffic TCP:

Ingress Rule 1: Source CIDR: 10.0.0.0/16 IP Protocol: TCP Source Port Range: All Destination Port Range: 2048-2050

Ingress Rule 2: Source CIDR: 10.0.0.0/16 IP Protocol: TCP Source Port Range: All Destination Port Range: 111

Ingress Rule 3: Source CIDR: 10.0.0.0/16 IP Protocol: UDP Source Port Range: All Destination Port Range: 111

Ingress Rule 4: Source CIDR: 10.0.0.0/16 IP Protocol: UDP Source Port Range: All Destination Port Range: 2048

ขั้นที่สี่: เพิ่ม Egress Rules

ตอนนี้เพิ่มกฎ Egress:

Egress Rule 1: Destination CIDR: 10.0.0.0/16 IP Protocol: TCP Destination Port Range: All Source Port Range: 2048-2050

Egress Rule 2: Destination CIDR: 10.0.0.0/16 IP Protocol: TCP Destination Port Range: All Source Port Range: 111

Egress Rule 3: Destination CIDR: 10.0.0.0/16 IP Protocol: UDP Destination Port Range: All Source Port Range: 111

ขั้นที่ห้า: มอบหมายให้ Private Subnet

คุณได้กำหนดค่า Private Security List พร้อม Ingress และ Egress Rules มอบหมายให้ Private Subnet แล้ว ต่อไป สร้าง Compute Instances สองตัว (FSS1 และ FSS2) เพื่อทดสอบ File System ที่คุณสร้าง

ตอนนี้ ไปสู่การ Mount File System ด้วย Compute Instances

Mount File System

นี่คือภาพรวมอย่างรวดเร็วของวิธี Mount Filesystem ด้วย NFS Client:

  • Launch OCI Instance จาก Console
  • ใช้โปรโตคอล NFSv3 เพื่อ Mount FSS Volume
  • ติดตั้ง nfs-utils (Oracle Linux® และ CentOS®) หรือ nfs-common (Ubuntu® Operating System) ในระบบ Linux ของคุณ
  • สร้างไดเรกทอรี
  • บนคอนโซล FSS คลิก Mount Targets

ใช้ข้อมูล Private IP Address เพื่อ Mount Volume โดยใช้คำสั่ง nfs

นี่คือขั้นตอน:

ขั้นตอนที่ 1

ไปที่ Menu > Compute > Instances > Create Instance ป้อนรายละเอียดต่อไปนี้ และคลิก Create:

  • Name your Instance: FSS1

  • Virtual Cloud Network: FSSVCN (สร้างไว้ก่อนหน้านี้)

  • Subnet: Compute Subnet (Default สำหรับ Linux Machine)

  • SSH Key: คัดลอกจากเครื่องท้องถิ่นที่คุณต้องการเข้าถึงเครื่อง OCI Linux

     $ cd ~/.ssh
    $ ls authorized_keys id_rsa id_rsa.pub known_hosts
    $ cat id_rsa.pub
วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

ขั้นตอนที่ 2

ตอนนี้ Compute Instance FSS1 ทำงานอยู่ ทำตามขั้นตอนเดียวกันเพื่อสร้าง FSS2

จากนั้น SSH ไปยัง FSS1 จากเครื่องท้องถิ่นโดยใช้คำสั่งต่อไปนี้:

ssh opc@PublicIP_Address
ssh opc@132.145.214.12
วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์
ssh opc@132.145.214.12

ใช้ขั้นตอนต่อไปนี้และรันคำสั่งเหล่านี้บน Terminal Session ที่คุณเพิ่งเริ่ม เพื่อ Mount File System ดำเนินขั้นตอนเหล่านี้สำหรับ Compute Instances ทั้งสอง FSS1 และ FSS2

ขั้นตอนที่ 3

ติดตั้ง NFS Utilities บน Compute Instance

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

ขั้นตอนที่ 4

สร้าง Local Mount Point เพื่อ Mount File System

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

ขั้นตอนที่ 5

Mount File System

วิธีตั้งค่า OCI File Storage และแชร์ข้ามหลายอินสแตนซ์

รันคำสั่งเดียวกันบน Compute Instance อีกตัว คือ FSS2

การทดสอบ File System

เพื่อทดสอบ File System ให้ดำเนินการทดสอบต่อไปนี้:

บน FSS1

$ cd <Local mount>
$ sudo vi <File Name> (สร้างไฟล์ใดๆ พร้อมข้อความบางอย่าง)

บน FSS2

$ cd <Local mount>
$ ls

คำสั่งนี้จะแสดงไฟล์ที่คุณสร้างบน FSS1

สรุป

เมื่อการใช้งานของคุณขยายตัว บริการ File Storage จะจัดเตรียม (Provisioning) แบบจัดการเต็มรูปแบบและอัตโนมัติ File Storage ยังให้ที่จัดเก็บที่ทนทาน (Persistent), ปลอดภัย (Secure) และทนทาน (Durable) สูงสำหรับข้อมูล Oracle Cloud Infrastructure สร้างบนสถาปัตยกรรมแบบกระจาย File Storage ให้การปรับขนาดสำหรับข้อมูลของคุณและการเข้าถึงข้อมูลนั้นๆ

เรียนรู้เพิ่มเติมเกี่ยวกับบริการข้อมูลของเรา

ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถคลิก Sales Chat เพื่อแชททันทีและเริ่มการสนทนา