Lazy umount หรือ Unmounting ดิสก์ที่ไม่ว่างใน Linux


19

ฉันได้อ่านว่าเป็นไปได้ที่จะ 'umount' ดิสก์ที่ไม่ว่างโดยใช้ตัวเลือก 'lazy' manpage มีสิ่งนี้ที่จะพูดเกี่ยวกับมัน:

umount - unmount ระบบไฟล์

-l Lazy unmount แยกระบบไฟล์ออกจากลำดับชั้นของระบบไฟล์ในขณะนี้และล้างการอ้างอิงทั้งหมดไปยังระบบไฟล์ทันทีที่ไม่ยุ่งอีกต่อไป ตัวเลือกนี้อนุญาตให้ยกเลิกการต่อเชื่อมระบบไฟล์ "ยุ่ง" (ต้องการเคอร์เนล 2.4.11 หรือใหม่กว่า)

แต่สิ่งที่จะเป็นจุดในนั้น ฉันพิจารณาว่าทำไมเราถึงลงจากพาร์ติชั่น:

  1. ในการถอดฮาร์ดแวร์
  2. เพื่อดำเนินการเกี่ยวกับระบบไฟล์ที่ไม่ปลอดภัยที่จะทำในขณะที่ติดตั้ง

ในทั้งสองกรณีนี้ unmount 'สันหลังยาว' ทั้งหมดทำหน้าที่ IMHO คือทำให้ยากต่อการตรวจสอบว่าดิสก์ถูกถอดออกจริงหรือไม่และคุณสามารถดำเนินการเหล่านี้ได้จริง แอปพลิเคชันเดียวที่umount -lดูเหมือนว่าจะเป็นสำหรับผู้ใช้ที่ไม่มีประสบการณ์ในการ 'รู้สึก' ราวกับว่าพวกเขาประสบความสำเร็จในสิ่งที่พวกเขาไม่ได้ทำ

ทำไมคุณถึงต้องใช้ unmount ที่ขี้เกียจ?

คำตอบ:


10

เนื่องจากคุณขี้เกียจคุณต้องการถอนการติดตั้งหลังจากเสร็จสิ้นการทำงานของดิสก์

นี่เป็นสถานการณ์ที่น่าเชื่อถือ:

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


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

ลองวิธีนี้ดู: ดิสก์ไม่ยุ่งอีกต่อไป - ยกเลิกการต่อเชื่อมเดี๋ยวนี้ มันไม่ได้ถูกเมานต์แล้วดังนั้นจึงไม่มีอะไรสามารถเขียนได้อีก มันคือ "ทำสิ่งนี้เมื่อคุณทำได้" แทนที่จะทำผิดพลาด
Broam

แล้วคุณจะรู้ได้อย่างไรว่าการดำเนินการของดิสก์เสร็จสิ้นเมื่อไหร่? ดูตัวอย่างนี้ (ข้อผิดพลาด?) ที่จะสามารถเขียนไฟล์ไปยังระบบไฟล์ที่ไม่ได้ประกอบเข้าไปแล้ว
Tom Hale

5

สิ่งนี้ถูกนำไปใช้จริงเพื่อให้มีเวลามากขึ้นในการทำภารกิจติดตามงานการดูแลระบบ

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

ตัวอย่าง : ภารกิจที่ 1 และภารกิจที่ 2 เป็นภารกิจการดูแลระบบสองงานที่กำหนดเวลาไว้ด้านหลัง

ภารกิจที่ 1สำรองข้อมูลรายวัน

อันนี้คัดลอกไฟล์จำนวนมากจากพาร์ติชั่นโครงการไปยังพาร์ติชั่นสำรอง, พูด, / mnt / backupProj, ซึ่งจะถูกเมาท์ทันทีและไม่ได้ต่อเชื่อมเมื่อสิ้นสุดภารกิจนี้ .. การคัดลอกใช้เวลานานพอสมควร

ภารกิจที่ 2อัพเดตมุมมอง SQL

ดำเนินการชุดของมุมมองฐานข้อมูลอัพเดตบนเซิร์ฟเวอร์เฉพาะ

เห็นได้ชัดว่างาน 2 นั้นไม่ขึ้นอยู่กับงานของ 1 ดังนั้นเราสามารถ lazy-unmount / mnt / backupProj ได้โดยไม่ต้องรอให้ภารกิจการสำรองข้อมูลเสร็จสมบูรณ์


1
คุณสามารถยกตัวอย่างได้หรือไม่? สถานการณ์จะ 'ได้รับ / ประหยัดเวลา' ในสถานการณ์ใด
deed02392

4

ฉันใช้ umount ขี้เกียจในกรณีที่เห็นได้ชัดว่าติดอยู่ด้วยเหตุผลต่าง ๆ (เช่นเซิร์ฟเวอร์ nfs ลง) นอกจากนี้เมื่อฉันต้องการที่จะเห็นเนื้อหาต้นฉบับของไดเรกทอรีที่ติดตั้งโดยเมาท์ ในทั้งสองกรณีเมานต์ไม่ว่าง ฉันคิดว่ามีกรณีขอบอื่น ๆ แต่ 2 เหล่านี้เป็นสาเหตุที่พบบ่อยที่สุดที่ฉันใช้ตัวเลือก


คำแนะนำ--forceสำหรับกรณี NFS
Tom Hale

3

พิจารณาการผูกเมาท์ที่คุณอาจเห็นเมื่อทำงานกับchroot:

mount --rbind /proc /mnt/proc
# do stuff
umount /mnt/proc

หากคุณมีดีมอนในระบบของคุณที่ซักถามอย่างต่อเนื่อง/proc(ฉันกำลังมองคุณอยู่ksysguardd) คุณจะไม่สามารถumount /mnt/procทำได้ Lazy จะให้คุณumountในกรณีนี้


ทำไมไม่ใช้--forceที่นี่แทน
Tom Hale

2

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


1

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

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

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

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


1
ขอบคุณนี้ฟังดูเหมือนแอปพลิเคชั่น จะlsofแสดงไฟล์ที่เปิดอยู่บน mountpoint เก่าหรือไม่ นอกจากนี้ฉันสงสัยว่ามันจะแยกความแตกต่างของไฟล์ที่เปิดอยู่บนวอลลุ่มเดิมและอันใหม่ได้อย่างไร
deed02392

0

ฉันใช้การเข้ารหัสเพื่อเข้ารหัสส่วนหนึ่งของข้อมูลที่ละเอียดอ่อนของฉัน

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

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

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