โปรโตคอลการแชร์ไฟล์เครือข่ายใดที่มีประสิทธิภาพและความน่าเชื่อถือที่ดีที่สุด [ปิด]


36

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

เราควรใช้ NFS, CIFS, SMB, ฟิวส์ + sftp, ฟิวส์ + ftp หรือไม่ มีตัวเลือกมากมายสำหรับโพรโทคอลการแชร์ไฟล์เครือข่ายมันยากมากที่จะเลือก โดยพื้นฐานแล้วเราแค่ต้องการเมานท์แชร์แบบนี้บนเครื่องหลายเครื่องอย่างถาวร คุณลักษณะด้านความปลอดภัยมีความกังวลน้อยกว่าเพราะจะไม่สามารถเข้าถึงเครือข่ายได้จากทุกที่ที่ไม่ใช่เซิร์ฟเวอร์ที่ติดตั้ง เราแค่ต้องการให้มันทำงานได้อย่างน่าเชื่อถือและรวดเร็ว

เราควรใช้อันไหนดี?


ชีวิตนั้นง่ายกว่ามากถ้าคุณเพิ่มคันเร่งที่หน้าเว็บไซต์ของคุณเช่นตัวเร่งปลาหมึกหรือคลาวด์ไฟร์ สิ่งที่ดีที่สุดถัดไปคือการเขียนเนื้อหาที่เปลี่ยนแปลงไปยัง memcache หรือฐานข้อมูลแทนไฟล์ ไดเรกทอรีที่ใช้ร่วมกันไม่ใช่สำหรับไซต์ที่มีขนาดใหญ่กว่า
แวดวง Antti Rytsöläปรึกษา

คำตอบ:


29

ฉันลงคะแนนให้ NFS

NFSv4.1 เพิ่มความสามารถของ Parallel NFS pNFS ซึ่งทำให้สามารถเข้าถึงข้อมูลแบบขนานได้ ฉันสงสัยว่าลูกค้าประเภทใดที่ใช้ที่เก็บข้อมูลหากมีเพียง Unix ที่เหมือนกันฉันจะไปใช้ NFS ตามตัวเลขประสิทธิภาพ


+1 สำหรับข้อมูลเกี่ยวกับ Parallel NFS
Ophidian

21

คำตอบสั้น ๆ คือใช้ NFS ตามการยิงนี้และประสบการณ์ของฉันเองมันเร็วกว่า

แต่คุณมีทางเลือกมากขึ้น! คุณควรพิจารณากลุ่ม FS เช่น GFS ซึ่งเป็นระบบไฟล์คอมพิวเตอร์หลายเครื่องสามารถเข้าถึงได้ในครั้งเดียว โดยทั่วไปคุณแชร์อุปกรณ์บล็อกผ่าน iSCSI ซึ่งเป็นระบบไฟล์ GFS ไคลเอ็นต์ทั้งหมด (ผู้เริ่มต้นใน iSCSI parlance) สามารถอ่านและเขียนได้ Redhat มีเอกสาร นอกจากนี้คุณยังสามารถใช้คลัสเตอร์ของออราเคิล FS OCFSในการจัดการสิ่งเดียวกัน

กระดาษ redhat ทำหน้าที่ได้ดีในการระบุข้อดีข้อเสียของคลัสเตอร์ FS กับ NFS โดยทั่วไปหากคุณต้องการเพิ่มจำนวนพื้นที่มากขึ้น GFS อาจคุ้มค่ากับความพยายาม นอกจากนี้ตัวอย่าง GFS ใช้ Fibre Channel SAN เป็นตัวอย่าง แต่นั่นอาจเป็น RAID, DAS หรือ iSCSI SAN

สุดท้ายตรวจสอบให้แน่ใจว่าได้ดูใน Jumbo Frames และหากความถูกต้องของข้อมูลมีความสำคัญให้ใช้การตรวจสอบ CRC32 หากคุณใช้ iSCSI กับ Jumbo Frames


ตัวเลขบางส่วนที่นี่: forums.neurostechnology.com/index.php?topic=9263.0
naught101


ลิงก์ whitepaper ไม่ทำงานอีกต่อไป
meffect

18

เรามีเว็บเซิร์ฟเวอร์โหลด - blanacing 2 คลัสเตอร์เราได้ลองวิธีต่อไปนี้สำหรับการซิงค์เนื้อหาระหว่างเซิร์ฟเวอร์:

  • โลคัลไดร์ฟบนแต่ละเซิร์ฟเวอร์ซิงค์กับRSYNCทุก 10 นาที
  • CIFSส่วนกลาง(SAMBA)ส่วนกลางใช้ร่วมกับเซิร์ฟเวอร์ทั้งสอง
  • NFSส่วนกลางแบ่งใช้กับเซิร์ฟเวอร์ทั้งสอง
  • ไดรฟ์ SAN ที่ใช้ร่วมกันที่รันOCFS2เชื่อมต่อกับเซิร์ฟเวอร์ทั้งสอง

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

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

ต่อไปที่ดีที่สุดคือNFS มันมีเสถียรภาพมากและทนต่อความผิด นี่คือการตั้งค่าปัจจุบันของเรา

SMB (CIFS)มีปัญหาการล็อค โดยเฉพาะอย่างยิ่งการเปลี่ยนแปลงไฟล์บนเซิร์ฟเวอร์ SMB ไม่ได้ถูกมองเห็นโดยเว็บเซิร์ฟเวอร์ SMB มีแนวโน้มที่จะหยุดเมื่อล้มเหลวบนเซิร์ฟเวอร์ SMB

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


2
เรามีประสบการณ์แบบเดียวกันกับ OCFS2: มันยอดเยี่ยม ... จนกว่ามันจะล่ม
MiniQuark

5

ฉันแนะนำคุณ POHMELFS - มันถูกสร้างขึ้นโดยโปรแกรมเมอร์ชาวรัสเซีย Evgeniy Polyakov และมันเร็วจริงๆ


3

ในแง่ของความน่าเชื่อถือและความปลอดภัยอาจเป็น CIFS (หรือที่เรียกว่า Samba) แต่ NFS "ดูเหมือนว่า" มีน้ำหนักเบากว่าและมีการกำหนดค่าอย่างระมัดระวังเป็นไปได้ที่จะไม่เปิดเผยข้อมูลที่มีค่าของคุณกับเครื่องอื่น ๆ

ไม่ดูถูกเรื่องของ FUSE แต่มันก็ยังดู ... สดชื่นถ้าคุณรู้ว่าฉันหมายถึงอะไร ฉันไม่รู้ว่าฉันไว้ใจมันหรือเปล่า แต่นั่นอาจเป็นฉันที่เป็นกลุ่มหมอกขนาดใหญ่ แต่บางครั้งกลุ่มคนที่หลงไหลอยู่ในกลุ่มหมอกก็สามารถรับประกันได้เมื่อมันมาถึงข้อมูลองค์กรที่มีค่า

หากคุณต้องการที่จะเมานต์แชร์อย่างถาวรบนเครื่องหลายเครื่องและคุณสามารถเล่นพร้อมกับความแปลกประหลาดบางอย่าง (ส่วนใหญ่เป็นปัญหา UID / GID) จากนั้นใช้ NFS ฉันใช้มันและมีเวลาหลายปี


2
ฟิวส์ตัวเองไม่ได้ว่าใหม่ดังนั้นฉันไว้วางใจได้ แต่บางส่วนของระบบไฟล์ในตัวมันมีความใหม่และแน่นอนรับประกันบางสงสัยสุขภาพ ซึ่งแปลว่าในโลกแห่งความจริงที่จะเพิ่มขึ้นในการทดสอบอย่างน้อยที่สุด :)
pjz

2

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


1

ฉันอยากจะแนะนำกับ NFS พูดง่ายๆก็คือเรามีเว็บเซิร์ฟเวอร์ฟาร์มที่มี JBoss, Apache, Tomcat และ Oracle ทั้งหมดใช้ NFS แชร์สำหรับไฟล์กำหนดค่าทั่วไปและการบันทึก

เมื่อการแบ่งปัน NFS หายไป (เป็นที่ยอมรับว่าเป็นเหตุการณ์ที่เกิดขึ้นได้ยาก) สิ่งทั้งหมดก็เพิ่งยุบตัวลง (สามารถคาดเดาได้จริงๆและฉันแนะนำ 'devlopers' ให้กับทางลัดเวลาตั้งค่านี้)

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

เราใช้ส่วนผสมของ RHEL 3,4,5 หน่วยเก็บข้อมูลอยู่บน RHEL4 เซิร์ฟเวอร์อยู่บน RHEL5 เครือข่ายพื้นที่เก็บข้อมูลเป็น LAN แยกต่างหากและไม่ทำงานบน vlans

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

คุณได้พิจารณาการเชื่อมต่อ iSCSI แบบอ่านอย่างเดียวไปยังที่เก็บข้อมูลของคุณแล้วหรือไม่ด้วยสคริปต์ที่ขับเคลื่อนโดยเหตุการณ์เพื่อย้ายไฟล์ที่อัปโหลดไปยังที่เก็บข้อมูลผ่านทาง ftp / scp เมื่ออัปโหลดไฟล์หรือไม่

ครั้งเดียวที่ฉันติดตั้งหน่วยเก็บข้อมูลส่วนกลางที่ประสบความสำเร็จสำหรับหัวอ่านหลายหัวอยู่ในอาร์เรย์หน่วยเก็บข้อมูล EMC ... ความพยายามที่คุ้มค่าอื่น ๆ ทั้งหมดมีข้อเสีย


1

ถือว่าเป็น GFS หรือไม่ GFS เป็นระบบไฟล์คลัสเตอร์และจากประสบการณ์ของฉันมันค่อนข้างน่าเชื่อถือ มันสามารถมีวารสารมากกว่าหนึ่งวารสารมันชั่งได้ค่อนข้างดี

แต่คุณจะต้องติดตั้งบริการคลัสเตอร์บางอย่างและ GFS ไม่ทราบแน่ชัดถึงความรวดเร็ว Otoh มันเร็วพอสำหรับฉัน แต่ ymmv


1

คุณคงไม่สนใจที่จะพิจารณา FS แบบกระจายเช่น GFS และ iSCSI เกินความจำเป็น

ถ้าคุณต้องการง่าย ๆ ไปกับ NFS มันง่ายและรวดเร็วและมีที่เมาท์ที่ค่อนข้างแข็งแกร่ง นอกจากนี้ให้พิจารณาการปิดการใช้งานขยะล็อคทั้งหมดที่ไปกับมัน ฉันมีเดสก์ท็อป Linux ที่คว้าโฮมไดเร็กตอรี่และแอพพลิเคชั่นทั้งหมดจาก NFS มันใช้งานได้ดี

หากคุณต้องการความเร็วที่อุกอาจไปกับความมันวาวซึ่งง่ายกว่า GFS ในการตั้งค่าอย่างมากและก็เหมือนกับ RAID NFS เราใช้ความมันวาวสำหรับกลุ่มของเรา


1

ฉันอาจจะสายไปสักครู่เราใช้ MD3220 Dell Storage ที่มีพอร์ตคู่ของคลัสเตอร์หน่วยของเรามีตัวควบคุม 2 ตัวกรณีที่ลงหนึ่งวินาทีจะทำให้มันทำงานต่อไปจนกว่าเราจะแก้ไขปัญหานั้น ตั้งแต่ HDD, FAN, พาวเวอร์ซัพพลายและคอนโทรลเลอร์เป็น Hotswap ทั้งหมดเราจึงเปลี่ยนอะไหล่ทั้งในและนอก ในฐานะของ Format เราใช้ NFS


0

หากคุณมี webservers อยู่ทุกหนทุกแห่งและใช้งานได้ดีทำไมไม่ลองพิจารณา WebDAV


0

คำตอบง่ายๆสำหรับ +1 สำหรับ NFS ฉันมีส่วนแบ่ง NFS ที่ติดตั้งมาหลายปีโดยไม่มีปัญหา

หากคุณกำลังมองหาความน่าเชื่อถือสุด ๆ ให้ลองนำ DRBD มารวมกันเพื่อหาระบบไฟล์ NFS แบบกระจายอัตโนมัติ

ตัวเลือกอื่น ๆ เท่านั้น (ที่ฉันคุ้นเคย) คือ iSCSI แต่อาจเป็นความเจ็บปวดในการกำหนดค่า ...


0

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

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

NFS น่าจะเป็นวิธีการตั้งค่าของคุณ หากคุณกังวลเกี่ยวกับความยืดหยุ่นคุณจำเป็นต้องได้รับกล่อง NFS แบบคลัสเตอร์ที่เหมาะสม คุณสามารถทำการตั้งค่า homebrew ได้ แต่อาจประสบปัญหาดังกล่าว ทางออกที่ดีที่สุด (ถ้าคุณมีเงิน) เป็นกลุ่มไฟล์ NetApp เป็นตัวเลือกที่มีราคาแพง แต่การจัดกลุ่มใช้งานได้จริงโดยไม่ต้องยุ่งยากอะไร ไม่เพียงเท่านั้นมันเร็วมาก


0

ฉันจะสะท้อนคำเตือนบางอย่างที่มีต่อ NFS - แม้ว่า NFS อาจเป็นทางออกที่ดีที่สุดของคุณ (แปลกอย่างที่ฟัง)

ฉันมีไคลเอนต์ NFS ที่ฉันต้องตัดการเชื่อมต่อจาก AC เพื่อปิดเพราะเซิร์ฟเวอร์ NFS ได้หายไปและลูกค้าปฏิเสธ (ในเคอร์เนล) เพื่อปลดล็อคหรือปิดเพราะเซิร์ฟเวอร์ NFS หายไป

เพื่อให้ถูกต้องฉันจะยืนยันใน NFSv4 ตลอดติดกับการเชื่อมต่อ TCP ใช้จัมโบ้เฟรมและใช้คลัสเตอร์ NFS คุณไม่สามารถให้เซิร์ฟเวอร์ NFS ของคุณหายไปได้


0

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

ถ้าคุณไม่ต้องการการเข้าถึงระดับต่ำที่ระบบไฟล์คลัสเตอร์เสนอให้นั้น NFS หรือ CIFS ก็เป็นสิ่งที่คุณต้องการ


0

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


-2

ฉันใช้ SFTP และทำงานได้ดีสำหรับจุดประสงค์ของฉัน - NFS เป็นทางเลือกแรกของฉัน แต่ความสนุกสนานของ ID ผู้ใช้ / กลุ่มทำให้ฉันวางค่อนข้างเร็ว

เพียงติดตั้ง publickey auth และส่วนใหญ่คุณจะถูกตั้งค่า อาจมีค่าใช้จ่าย CPU ที่ค่อนข้างหนักกว่าสำหรับการเข้ารหัส SSH แต่ในด้านบวกฉันไม่เคยพบปัญหาใด ๆ กับข้อมูลที่เสียหาย

FTP สามารถเหมาะสมกับวัตถุประสงค์ของคุณได้ดีเนื่องจากมีน้ำหนักเบากว่า สันนิษฐานว่าคุณต้องการให้เว็บเซิร์ฟเวอร์ของคุณทำงานบริการเว็บไม่ใช่งาน ssh

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.