ง่าย: คุณกำลังมองหาmhddfs
มันอ้างว่าเป็นระบบไฟล์ขนาดใหญ่ระบบหนึ่งเขียนไปยังดิสก์ตามลำดับที่กล่าวถึงและในที่สุดก็ย้ายไฟล์ขนาดใหญ่ไปยังอุปกรณ์อื่นหากระบบแรกเต็มเกินไป นอกจากนี้ยังสามารถใช้โฟลเดอร์ย่อยบนดิสก์เพื่อให้สามารถใช้งานได้เหมือนกัน
แต่ละดิสก์จะต้องติดตั้งก่อนและยังคงสามารถเข้าถึงได้ มันไม่ได้เปลี่ยนแปลงระบบไฟล์เลยและไม่สนใจว่าระบบไฟล์ใดที่จะเกิดขึ้น (ตราบใดที่ระบบไฟล์รายงานพื้นที่ว่างอย่างถูกต้อง) ในกรณีที่แผ่นดิสก์สูญหายคุณจะต้องติดตั้ง mhddf อีกครั้ง (ทันที) และข้อมูลในดิสก์นั้นหายไป
การใช้งาน:
mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]
หรือใน /etc/fstab
mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0
ที่ซับซ้อนและมีประสิทธิภาพ: คุณต้องการunionfs
ในขณะที่ mhddfs นั้นดีและเรียบง่ายมากฉันมีปัญหาเกี่ยวกับการอนุญาตไฟล์เมื่ออนุญาตให้ผู้อื่นเข้าถึงผ่าน SSH ฉันไม่พบวิธีแก้ปัญหาใด ๆ แต่พบ unionfs
Unionfs ยังอนุญาตให้คุณเมานต์หลาย ๆ โฟลเดอร์ข้ามระบบไฟล์ที่แตกต่างกันในที่เดียว แต่มันวิเศษในการอนุญาต คุณสามารถรวมหลายโฟลเดอร์แบบอ่านอย่างเดียวและหนึ่งโฟลเดอร์ที่เขียนได้เข้าด้วยกันดังนั้นจึงปรากฏเป็นโฟลเดอร์เดียว คนที่คุณแชร์โฟลเดอร์ที่ถูกผสานด้วยจะสามารถเขียนไปยังโฟลเดอร์แบบอ่านอย่างเดียว - ตามที่ปรากฏกับพวกเขา - แต่ไฟล์จะสิ้นสุดลงในโฟลเดอร์ที่เขียนได้ครั้งเดียว ลินุกซ์บูตซีดีทำงานเช่นนี้ดิสก์ที่เขียนได้คือ ramdisk ผู้คนสามารถลบไฟล์ในโฟลเดอร์แบบอ่านอย่างเดียวซึ่งไม่ได้ลบไฟล์จริงๆ แต่สร้างไฟล์รายการที่อนุญาตที่ซ่อนอยู่ในไดเรกทอรีเขียนของพวกเขา หากคุณตรวจจับตัวเลือกทั้งหมดคุณสามารถใช้ระบบไฟล์ของคุณเป็น SVN ที่ไม่ดีได้
หากคุณใช้ตัวเลือกที่คล้ายกับ SVN มากเกินไปคุณอาจพลาดข้อมูลที่มีอยู่สองครั้ง (ไม่น่าเป็นไปได้ในสถานการณ์ของคุณ แต่เป็นไปได้) ในขณะที่โฟลเดอร์ที่เขียนได้ของคุณเต็มไปด้วยไฟล์ที่ปลอดภัย นอกจากนั้นยังช่วยให้ดิสก์ของคุณสะอาดและสามารถใช้งานได้เป็นรายบุคคล จะเกิดอะไรขึ้นถ้าไฟล์มีขนาดใหญ่เกินไปสำหรับดิสก์ฉันยังไม่รู้
การใช้งาน:
unionfs-fuse -o cow,max_files=32768 \
-o allow_other,use_ino,suid,dev,nonempty \
/path/to/dir1=rw:/path/to/dir2=ro:/dir3
/u/union/etc
ที่=rw
ทำให้โฟลเดอร์อ่านและเขียนได้และ=ro
ทำให้อ่านได้อย่างเดียวแม้ว่าสิทธิ์จะระบุเป็นอย่างอื่น ในที่etc/fstab
นี้ก็คือ
unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0