มีวิธีการซิงค์พาร์ติชันเดียวเท่านั้นหรือไม่


17

มีวิธีการซิงค์เพียงพาร์ติชันเดียวแทนพาร์ติชันทั้งหมดหรือไม่

บางอย่างเช่น "sync / dev / sdc1"


1
ไม่เท่าที่ฉันรู้ เป็นคำถามที่ดี
Nikhil Mulley

คำตอบ:


10

คุณสามารถเมานต์ใหม่พร้อมตัวเลือกการซิงค์จากนั้นจึงเมาสต์ใหม่ด้วย async:

mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint

การใช้ตัวเลือกการนับใหม่จะไม่ยุ่งกับกระบวนการที่ใช้ระบบไฟล์ที่ติดตั้งใหม่


2
ทำไมคุณถึงคิดว่า 2 ครั้งจำเป็นต้องใช้ซ้ำ อย่างน้อย 2.6.32 เคอร์เนล do_remount_sb ดำเนิน sync_filesystem ซึ่งเป็นฟังก์ชั่นเดียวกันกับที่ถูกเรียกในสายระบบ syncfs แนะนำในlwn.net/Articles/433384
Yuriy Nazarov

5

มีฟังก์ชั่นมาตรฐานเพื่อให้ข้อมูลตรงกัน (และเมตาดาต้า) fsyncของหนึ่งไฟล์: ไม่มีคำสั่งเชลล์มาตรฐานหรือคำสั่งทั่วไปในการเข้าถึง แต่คุณสามารถใช้syncวิธีของ perl ในIO::Handle:

perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename

ไม่มีฟังก์ชั่นมาตรฐานหรือทั่วไปหรือคำสั่งเชลล์เพื่อซิงโครไนซ์เพียงพาร์ติชันเดียว

บนระบบลีนุกซ์ล่าสุด , มีการsyncfsเรียกระบบ (แนะนำในเคอร์เนล 2.6.39, และเปิดเผยตั้งแต่glibc 2.14 ) ฉันไม่คิดว่าการเรียกของระบบนี้ถูกเปิดเผยใน coreutils หรือ util-linux เลย


1
ประโยคสุดท้ายเกี่ยวกับsyncfsเป็นส่วนที่เกี่ยวข้องมากที่สุด
poolie

3

การติดตั้งพาร์ติชันด้วยsyncตัวเลือกอาจเป็นวิธีแก้ปัญหา


2

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


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