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

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

RUK-COM PAAS / DATA STORAGE CONTAINER

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

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

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

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

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

Image 36: external storage server icon

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

  • ทั้งสองอินสแตนซ์อยู่ภายในบัญชี PaaS เดียวกัน- ทั้งส่งออกข้อมูลจากการจัดเก็บหรือเมานต์ข้อมูลบนไคลเอนต์ (แพลตฟอร์มจะจัดการการดำเนินการที่สองโดยอัตโนมัติ)

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

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

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

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

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

สำเนา

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

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

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

  • {NFS_ลูกค้า}-โดเมนที่กำหนดเองชื่อหรือที่อยู่ IP สาธารณะของ Node ไคลเอ็นต์ (เช่นตำแหน่งที่ควรติดตั้งไฟล์ที่ส่งออก)

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

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

*   _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ไฟล์เพื่อจัดการรายการโฮสต์ที่เซิร์ฟเวอร์ NFS สามารถทำงานได้

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

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

สำเนา

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. ถัดไปคุณต้องเปิดพอร์ตเซิร์ฟเวอร์ NFS (111,2049, และ20048) สำหรับที่อยู่ IP ไคลเอ็นต์ NFS (ที่อยู่ที่ใช้ในขั้นตอนที่สอง) นำทางไปยัง Environment การจัดเก็บข้อมูลการตั้งค่า >ไฟร์วอลล์ส่วนเพื่อเพิ่มกฎที่จำเป็นผ่าน 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 ตรวจสอบให้แน่ใจว่าผู้ใช้คนเดียวกันมีสิทธิ์การเข้าถึงโฟลเดอร์ที่แชร์เท่ากันทั้งบนไคลเอนต์ NFS และเซิร์ฟเวอร์ต่างกันออกไปกองสามารถใช้ผู้ใช้ที่แตกต่างกันได้ตามค่าเริ่มต้น (เช่นรากและรักคอมป้าส).

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

สำเนา

chown {uid}:{gid} {path}

ที่นี่:

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

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