ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / DATA STORAGE CONTAINER

คู่มือ External NFS Server Configuration สำหรับ พื้นที่จัดเก็บข้อมูล

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

Image 36: external storage server icon

Platform ช่วยให้การแบ่งปันข้อมูลระหว่าง Server (ซึ่งไฟล์ตั้งอยู่) และ Client (เข้าถึงข้อมูลระยะไกลราวกับว่ามันถูกเก็บไว้ในเครื่อง) การกำหนดค่าที่จำเป็นในการตั้งค่าการแชร์จะแตกต่างกันไปตามเงื่อนไขต่อไปนี้:

  • ทั้งสอง Instance อยู่ภายในบัญชี PaaS เดียวกัน- ทั้งส่งออกข้อมูลจากการจัดเก็บหรือMount ข้อมูลบน Client (Platform จะจัดการการดำเนินการที่สองโดยอัตโนมัติ)

  • มี Instance หนึ่งอยู่นอก Platform- ส่งออกข้อมูลจากที่จัดเก็บข้อมูลภายนอก (อธิบายไว้ในคู่มือนี้)และMount ข้อมูลภายนอกให้กับลูกค้า

ด้านล่างนี้เราจะพิจารณาการกำหนดค่าที่จำเป็นในการส่งออกข้อมูลจาก PlatformContainer จัดเก็บข้อมูลที่ใช้ร่วมกันไปยัง Instance ภายนอกโฟลว์ที่อธิบายนี้เหมาะสำหรับ Server จัดเก็บข้อมูลที่ใช้ NFS

  1. ก่อนอื่นหากต้องการแชร์ข้อมูลทางอินเทอร์เน็ตจะต้องแนบไฟล์Public IPที่อยู่ไปยัง Server ของคุณ:

Image 37: shared storage with public IP2. ถัดไปคุณต้องประกาศรายชื่อ Directory ที่คุณต้องการแชร์ภายใน Directory ที่เกี่ยวข้องฯลฯ/ส่งออกไฟล์. ใน Platform ก็สามารถเข้าถึงได้ง่ายด้วยการกำหนดค่าปุ่มในการส่งออกส่วนของบิวท์อินConfiguration File Manager.

ควรใช้รูปแบบต่อไปนี้:

สำเนา

{directory} {server}([option],[option],..)

Image 38: exports configuration fileที่ไหน:

  • {Directory}- เส้นทางไปยังโฟลเดอร์ (สัมพันธ์กับโฟลเดอร์รูท) ที่ควรส่งออก

  • {NFS_ลูกค้า}-Domain ที่กำหนดเองชื่อหรือ Public IP ของ Node Client (เช่นตำแหน่งที่ควรติดตั้งไฟล์ที่ส่งออก)

บันทึก:ในกรณีที่ Instance ของคุณไม่ได้แนบที่อยู่ภายนอกคุณสามารถใช้ IP ของ Host ที่เหมาะสมได้สามารถรับได้โดยการเชื่อมต่อกับ Container ผ่านทางสสสและดำเนินการคำสั่งต่อไปนี้:

สำเนาtext curl ifconfig.co Image 39: storage host IP จงตระหนักว่าโฟลว์ดังกล่าวไม่มีความปลอดภัยสูงและไม่ควรใช้เพื่อวัตถุประสงค์ในการใช้งานจริงเนื่องจากจะทำให้ข้อมูลที่แชร์ของคุณพร้อมใช้งานสำหรับ Container ใดๆบน Host เดียวกัน
_[ตัวเลือก]*_ - บางParameter เพิ่มเติมเพื่ออธิบายสิทธิ์การเข้าถึงโดยหลักๆคือ:

*   _async_ - allows NFS clients to receive a response from the storage as soon as a request on adding content is processed. At the moment, the data is already in the cache but not actually written to storage yet. Compared to the opposite _sync_ option, it gives a performance boost but leaves a slight risk of data loss (if stopped/crashed while still holding unwritten data in cache)
*   _ro_ (or _rw_) - defines read-only (read & write) permissions to make the client node available to view (view and edit) the shared data
*   _no\_root\_squash_ - gives root user on a client’s server the same level of access as a root user on a storage container
*   _no\_subtree\_check_ - sets accessibility for the whole directory (better performance but restricts providing individual rules for files inside)

เคล็ดลับ:เพื่อความปลอดภัยเพิ่มเติมคุณก็ทำได้กำหนดค่าที่สอดคล้องกันฯลฯ/hosts.allowและฯลฯ/hosts.denyไฟล์เพื่อจัดการรายการ Host ที่ Server NFS สามารถทำงานได้

  1. เมื่อทำงานกับCluster อัตโนมัติที่เก็บข้อมูลที่ใช้ร่วมกันขึ้นอยู่กับ GlusterFSให้คำนึงถึงสิ่งนั้นเท่านั้น/ข้อมูลโฟลเดอร์จะถูกจำลองแบบระหว่าง Instance ดังนั้น Directory ที่ส่งออกควรอยู่ภายใน

นอกจากนี้ยังมีเพิ่มเติมเอฟเอสดีควรเพิ่มตัวเลือกที่จำเป็นในสตริงการกำหนดค่าการส่งออกตัวอย่างเช่นค่าของ Parameter นี้สามารถสร้างขึ้นแบบสุ่มด้วยคำสั่งถัดไป:

สำเนา

cat /proc/sys/kernel/random/uuid

Image 40: generate random fsidด้วยเหตุนี้สตริงการส่งออกจะคล้ายกับสตริงต่อไปนี้:

Image 41: export configs for GlusterFS storageอย่าลืมที่จะบันทึกการเปลี่ยนแปลงที่คุณทำ

  1. เพื่อที่จะใช้การตั้งค่าการส่งออกใหม่ที่สอดคล้องกันส่งออก fsควรใช้คำสั่ง (เช่น viaเว็บ SSH):

สำเนา

exportfs -ra

Image 42: apply new export settings5. ถัดไปคุณต้องเปิด Port Server NFS (111,2049, และ20048) สำหรับที่อยู่ IP Client NFS (ที่อยู่ที่ใช้ในขั้นตอนที่สอง) นำทางไปยัง Environment การจัดเก็บข้อมูลการตั้งค่า >Firewallส่วนเพื่อเพิ่มกฎที่จำเป็นผ่าน UI ที่ใช้งานง่าย:

Image 43: configure firewall rules via UI

เคล็ดลับ:ซึ่งสามารถทำได้ผ่านคอนโซลเช่นกัน:

สำเนา

iptables -I INPUT -p tcp -m multiport --dports 111,2049,20048 -s {NFS_client} -j ACCEPT
iptables -I INPUT -p udp -m multiport --dports 111,2049,20048 -s {NFS_client} -j ACCEPT

Image 44: configure iptables rules via SSH

  1. เมื่อให้สิทธิ์ RW ตรวจสอบให้แน่ใจว่าผู้ใช้คนเดียวกันมีสิทธิ์การเข้าถึงโฟลเดอร์ที่แชร์เท่ากันทั้งบน Client NFS และ Server ต่างกันออกไปกองสามารถใช้ผู้ใช้ที่แตกต่างกันได้ตามค่าเริ่มต้น (เช่นรากและรักคอมป้าส).

ดังนั้นหากจำเป็นให้ดำเนินการคำสั่งต่อไปนี้บน Server จัดเก็บข้อมูลของคุณเพื่อปรับสิทธิ์:

สำเนา

chown {uid}:{gid} {path}

ที่นี่:

  • {uid}- ชื่อผู้ใช้หรือ ID ซึ่งสามารถพบได้ใน/etc/passwdไฟล์ของ ContainerPlatform ของคุณ
  • {กิด}- ชื่อกลุ่มหรือตัวระบุที่แสดงอยู่ภายใน/etc/groupไฟล์ของ Node ของคุณ
  • {เส้นทาง}- เส้นทางไปยัง Directory ที่คุณต้องการเปลี่ยนการอนุญาต

Image 45: change folder access rightsนั่นคือทั้งหมด! Server จัดเก็บข้อมูลของคุณพร้อมแล้วดังนั้นคุณจึงสามารถกลับไปยัง Instance Client และเริ่มต้นได้การติดตั้ง.