การซ้อนทับของระบบไฟล์ Linux - workdir ใช้ทำอะไร (OverlayFS)


35

OverlayFS มีworkdirตัวเลือกข้างสองไดเรกทอรีอื่น ๆlowerdirและupperdirซึ่งต้องเป็นไดเรกทอรีว่างเปล่า

น่าเสียดายที่เอกสารเคอร์เนลของโอเวอร์เลย์ไม่ได้พูดถึงวัตถุประสงค์ของตัวเลือกนี้มากนัก

"workdir" จะต้องเป็นไดเรกทอรีว่างเปล่าในระบบไฟล์เดียวกับ Upperdir

สำหรับการอ่านได้อย่างเดียวซ้อนworkdirอาจจะ ommittet upperdirในหมู่ นี่ทำให้ฉันรู้ว่ามันเกี่ยวข้องกับการเขียนไฟล์ที่ถูกผสาน

โปรดอธิบายสิ่งที่เกิดขึ้นในworkdirเมื่อไฟล์ถูกเขียนหรือเปลี่ยนแปลงในไดเรกทอรีที่ผสาน ทำไมการเขียนupperdirไม่พอ?

คำตอบ:


27

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

ที่มา: http://windsock.io/the-overlay-filesystem/

ฉันจะอันตรายเดาว่า "ปลายทางที่ซ้อนทับ" upperdirหมายถึง

ไฟล์ดังนั้น ... บางอย่าง (อาจจะ "หนุ่มเบลบอย" ไฟล์?) จะไม่อะตอมสร้างและกำหนดค่าในและจากนั้นก็ย้ายเข้าไปในอะตอมworkdirupperdir


-3

เพราะเมื่อคุณลบไฟล์ที่อยู่ใน Lowerdir ข้อมูลนี้จะถูกเก็บไว้ใน workdir


1
อืม แต่เมื่อฉันลบไฟล์ในไดเรกทอรีที่ผสาน workdir ยังคงว่างเปล่า แต่มีไฟล์ที่แสดงในส่วนบนที่มีการcตั้งค่าสถานะ ( c--------- 1 root root 0, 0 Nov 19 18:22 ivebeendeleted) เมื่อพวกเขาได้รับ "ทับซ้อนทับ" จาก dir ที่ต่ำกว่า (แฟ้มเดียวกันยังคงอยู่ใน lowerdir ของหลักสูตร.)
ลองจับในที่สุด

ฉันคิดว่าเมื่อคุณลบไฟล์ไฟล์ "whiteout" จะถูกสร้างขึ้นและสิ่งนี้จะถูกเก็บไว้ในส่วนบนของไฟล์ไม่ใช่ workdir แฟ้มเบลบอยเป็นอุปกรณ์ตัวอักษร (กับ "C" ธง)
EJM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.