ข้อมูลผู้ใช้จะถูกเก็บไว้ในสองกลุ่มที่มีขนาดค่อนข้างใหญ่ (> 1 PB) กลุ่มการจัดเก็บข้อมูล OpenStack Swift ขอให้เขาเป็นCluster Aและกลุ่ม B
นอกจากนี้ยังมีPoPหลายตัวที่ต้องโต้ตอบกับข้อมูลนั้น เซิร์ฟเวอร์ใน PoP เหล่านี้ไม่มีดิสก์อย่างมีประสิทธิภาพซึ่งหมายความว่าไม่มีการจัดเก็บข้อมูลผู้ใช้ไว้ในเครื่องหรือดาวน์โหลดไปยังพวกเขา PoPs สามารถแบ่งออกเป็นภูมิภาคทั่วโลก(เช่นอเมริกาเหนือ , แอฟริกาใต้ , ยุโรปกลางและคณะ)
PoPs บางตัวอยู่ค่อนข้างไกลจากจุดปลายทางสวิฟต์ของกลุ่มใด ๆ แนะนำความล่าช้าที่ไม่พึงประสงค์ เพื่อบรรเทาปัญหานี้ฉันต้องการตั้งค่าเซิร์ฟเวอร์เกตเวย์แคชในแต่ละภูมิภาคซึ่งจะแคชคำขอ r / w ไปยังคลัสเตอร์ที่ใกล้ที่สุด
ปัจจุบันลูกค้าใน PoP ใด ๆ สามารถเข้าถึงข้อมูลผู้ใช้โดยระบบไฟล์เสมือน swift ที่ติดตั้งถาวรซึ่งเป็นโมดูล FUSE ที่เมาท์ Swift Object Storage เป็นอุปกรณ์บล็อก (มากหรือน้อย) อย่างไรก็ตาม svfs นั้นไม่เสถียรเท่าที่ควรและในอนาคตลูกค้าควรเข้าถึงแคชเซิร์ฟเวอร์ผ่าน NFS
นี่คือแผนภาพของสาขาหนึ่งของสถาปัตยกรรมที่ต้องการ:
+------------------+ +------------------+ NFS +------------------+
| Cluster A | SVFS | Region 1 Cache +----------> R1 PoP a Client |
| +----------------> | | |
|Persistent Storage| |Ephemeral Storage+----+ |Generates R/W Load|
+-----------------++ +------------------+ | +------------------+
| |
| +------------------+ | NFS +------------------+
| SVFS | Region 2 Cache | +-----> R1 PoP b Client |
+-----------------> | | |
|Ephemeral Storage| |Generates R/W Load|
+------------------+ +------------------+
ฉันคุ้นเคยกับพื้นฐานของการตั้งค่า NFSและ svfs
คำถามคือ : ฉันจะตั้งค่าเซิร์ฟเวอร์แคชเพื่อใช้ทรัพยากรที่มีอยู่ทั้งหมด (พาร์ทิชันแคชที่กำหนดไว้, RAM) เพื่อแคชได้อย่างก้าวร้าวและให้มากที่สุดเท่าที่จะเป็นไปได้ก่อนที่จะเขียนข้อมูลไปยังจุด svfs? โดยพื้นฐานแล้วจะมาที่: ฉันจะแคชไดเรกทอรีใน linux ได้อย่างไร?
ถ้าเป็นไปได้ควรอ่านและเขียนรวมและบล็อกขนาดในคำขอ FUSE อย่างน้อย 128k ถ้าเป็นไปได้เพื่อเพิ่มปริมาณงานสูงสุดและลดเวลาแฝงหากแคชจำเป็นต้องเขียนไปยังคลัสเตอร์
ภาคผนวก 1 : ฉันได้เปลี่ยนโมดูลการเมาท์คลัสเตอร์จาก svfs เป็น S3QL บนเซิร์ฟเวอร์บางตัว การแคชของ S3QL ทำให้ประสิทธิภาพดีขึ้นเล็กน้อย ฉันจะพยายามรับข้อมูลประสิทธิภาพเพื่อความสมบูรณ์