NFS อ่านแคชทำงานบน Debian ได้อย่างไร


12

ฉันวางแผนที่จะใช้ NFS เพื่อให้บริการไฟล์ขนาดเล็กจำนวนมาก พวกเขาจะถูกอ่านบ่อยมากดังนั้นการแคชฝั่งไคลเอ็นต์จึงมีความสำคัญ NFS จัดการเรื่องนี้หรือไม่? มีวิธีเพิ่มแคชฝั่งไคลเอ็นต์ในทางใดทางหนึ่งหรือไม่?

... หรือฉันควรดูวิธีอื่น การซิงค์โดยใช้ rsync หรือพร้อมเพรียงเป็นระยะนั้นไม่ใช่ตัวเลือกเนื่องจากไฟล์จะถูกแก้ไขในฝั่งไคลเอ็นต์เป็นครั้งคราว

คำตอบ:


6

ก่อนอื่น NFS ไม่มีการเชื่อมโยงกันของแคชดังนั้นหากคุณต้องการคุณต้องมองหาที่อื่น

สิ่งที่ NFS ระบุคือแบบจำลองที่อ่อนแอกว่าที่เรียกว่าความสอดคล้องแบบใกล้ - เปิด - เปิด หมายความว่าเมื่อไฟล์ถูกปิดข้อมูลสกปรกใด ๆ จะถูกลบทิ้งไปยังเซิร์ฟเวอร์ ในทางกลับกันเมื่อเปิดไฟล์การตรวจสอบคุณสมบัติจะดำเนินการซึ่งหมายความว่าหากลูกค้ามีหน้าที่แคชจากไฟล์นั้นจะตรวจสอบว่าหน้าดังกล่าวยังคงถูกต้องอยู่หรือไม่

ในขณะที่ไม่ได้อยู่ในข้อมูลจำเพาะของตัวเองลูกค้า NFS ส่วนใหญ่มีสิ่งที่เรียกว่าการหมดเวลาแคชคุณลักษณะคืออายุของแอตทริบิวต์ของไดเรกทอรีหรือไฟล์ที่เปิดอยู่ก่อนที่ไคลเอ็นต์จะติดต่อกับเซิร์ฟเวอร์เพื่อตรวจสอบความถูกต้องอีกครั้ง บน Linux ดูตัวเลือกการเมานท์ actimeo = ฯลฯ ค่าที่สูงกว่าจะทำให้การแคชมีความรุนแรงมากขึ้น แต่เพิ่มความเสี่ยงในการใช้ข้อมูลเก่าหากมีไคลเอนต์อื่นที่อัพเดตไฟล์ในเวลาเดียวกัน


ขอบคุณสำหรับการตอบกลับของคุณ. ดังนั้นเพื่อให้ฉันเข้าใจอย่างถูกต้องนี้ "แคชคุณลักษณะ" ฝั่งไคลเอ็นต์มีเพียงแคชสำหรับไฟล์ / แอตทริบิวต์ dir-ie แคชไม่มีเนื้อหาไฟล์ใด ๆ
Ztyx

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

อา. ขอบคุณมากที่ตอบคำถามนี้ ขอให้มีความสุขมาก ๆ ในวันนี้นะ
Ztyx

เมื่อคุณพูดว่า "หน้า" ดูเหมือนว่าหมายความว่าบางส่วนของไฟล์สามารถถูกแคชและบางส่วนของไฟล์อาจไม่ได้? มันไม่ใช่ไฟล์แคชใช่ไหม เป็นส่วนย่อยของไฟล์ที่สามารถแคชได้
CMCDragonkai

@CMCDragonkai: เคอร์เนลติดตามเนื้อหาไฟล์แคชที่หน้าย่อย (โดยทั่วไปคือ 4KB) ดังนั้นใช่มันสามารถแคชส่วนหนึ่งของไฟล์ได้ ฉันไม่แน่ใจว่าการตรวจสอบความถูกต้องแคชทำงานอย่างไรสำหรับ NFS ฉันเดาว่าหลังจากหมดเวลาแอตทริบิวต์แคชเมื่อมันติดต่อกับเซิร์ฟเวอร์เพื่อตรวจสอบความถูกต้องอีกครั้งและหากการตรวจสอบความถูกต้องล้มเหลว
janneb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.