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

เริ่มด้วยการถามว่าไคลเอนต์ปลายทางเข้าถึงเซิร์ฟเวอร์ต้นฉบับได้โดยตรงหรือไม่ ถ้าได้ เครื่องตรงกลางก็ไม่จำเป็น

สามโมเดล สามเรื่องราวของความสอดคล้อง

การเมานต์โดยตรงเป็นวิธีที่ง่ายที่สุด: ไคลเอนต์แต่ละรายเมานต์เซิร์ฟเวอร์ต้นฉบับผ่านอุโมงค์ และนโยบายการส่งออกของเซิร์ฟเวอร์นั้นกำกับการเข้าถึง การส่งออกซ้ำคือเครื่องตรงกลางที่นำเสนอขอบเขตบริการที่แตกต่าง ซึ่งมีประโยชน์เมื่อเครือข่ายฝั่งไคลเอนต์ไม่ควรเข้าถึงเซิร์ฟเวอร์โดยตรง การทำสำเนาคือโมเดลที่สาม และมันย้ายคำถามจากความสอดคล้องไปสู่การซิงโครไนซ์และการแก้ไขความขัดแย้ง

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

อัตลักษณ์มีอายุยืนกว่าคำสั่งเมานต์

การส่งออกซ้ำต้องมี ID ของระบบไฟล์ที่ชัดเจน และอัตลักษณ์นั้นต้องอยู่รอดจากการรีสตาร์ตและการสร้างการกำหนดค่าใหม่ เอกสารของเคอร์เนลชัดเจนเกี่ยวกับข้อกำหนดนี้ และยังเตือนว่า crossmnt ไม่ได้ขจัดความจำเป็นในการส่งออกระบบไฟล์ลูกด้วย ID ของตัวเอง ต้นไม้ไดเรกทอรีที่ดูต่อเนื่องสำหรับผู้ใช้อาจข้ามขอบเขตของระบบไฟล์หลายแห่ง nfs-utils ปัจจุบันสามารถจัดสรร ID โดยอัตโนมัติสำหรับการกำหนดค่าที่รองรับ และเมื่อทำเช่นนั้น ฐานข้อมูลของมันก็กลายเป็นส่วนหนึ่งของสถานะของเกตเวย์ ให้ถือว่า ID เหล่านั้นเป็นอัตลักษณ์ของบริการ ไม่ใช่ไฟล์ใช้แล้วทิ้ง

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

ไม่ใช่ทุกคุณสมบัติของ NFS ที่อยู่รอดผ่านเครื่องตรงกลาง

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

อัตลักษณ์ผู้ใช้และนโยบายการส่งออกก็สำคัญในทุกการกระโดด การเข้าสู่ระบบ VPN พิสูจน์ว่าผู้เข้าร่วมเครือข่ายได้รับการพิสูจน์ตัวตนแล้ว แต่ไม่ได้ให้สิทธิ์ผู้ใช้ NFS และไม่ได้ส่งต่อข้อมูลรับรองของไคลเอนต์ผ่านเกตเวย์

เกตเวย์มีการพึ่งพาต้นทางสองอย่าง

เกตเวย์พึ่งพา VPN สำหรับการเมานต์ต้นทางและพึ่งพาเซิร์ฟเวอร์ต้นทางสำหรับระบบไฟล์เอง กระบวนการส่งออกภายในที่ยังทำงานอยู่ไม่สามารถทำให้ที่เก็บข้อมูลที่ไม่พร้อมใช้งานกลับมาแข็งแรงได้ วางแผนลำดับการเริ่มต้น พฤติกรรมการเชื่อมต่อใหม่ และการรีสตาร์ตเซิร์ฟเวอร์ รวมถึงสิ่งที่จะเกิดขึ้นกับแฮนเดิลไฟล์ที่ไคลเอนต์ถืออยู่แล้ว ไคลเอนต์ที่เมานต์ผ่านเกตเวย์และสูญเสียแฮนเดิลต้องเมานต์ใหม่ และนั่นคือเหตุการณ์เชิงปฏิบัติการ ไม่ใช่การกู้คืนที่โปร่งใส

หากสิ่งเดียวที่ข้อกำหนดต้องการมาคือการเข้าถึง IP ส่วนตัว การกำหนดเส้นทางตรงไปยังเซิร์ฟเวอร์ต้นฉบับคือสถาปัตยกรรมที่ง่ายกว่า การส่งออกซ้ำควรมีอยู่ด้วยเหตุผลที่ยังคงอยู่เมื่อเขียนลงไป

ทดสอบภาระงาน ไม่ใช่การเมานต์

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

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

บทความที่เกี่ยวข้อง