ทำไมระบบไฟล์เจอร์นัลจึงต้องตรวจสอบดิสก์?


6

หลังจากที่ฉันได้รับ BSOD บนคอมพิวเตอร์ Windows 7 ของฉันฉันรีสตาร์ทคอมพิวเตอร์ของฉันเพื่อค้นหามันขอให้ฉันทำดิสก์ ฉันทำสิ่งอื่นในระหว่างนี้ แต่ดูเหมือนว่าจะใช้เวลาสองสามนาที

หากระบบไฟล์ถูกเจอร์นัล (ฉันปล่อยให้เป็นค่าดีฟอลต์ซึ่งเป็น NTFS) ทำไมมันต้องตรวจสอบดิสก์หลังจากที่เกิดความผิดพลาด

คำตอบ:


6

เพราะการจดบันทึกไม่ใช่ไม้เท้าวิเศษ

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

การทำเจอร์นัลระบบไฟล์ทำให้ง่ายต่อการกู้คืนสถานะที่สอดคล้องกัน มัน ไม่ ทำให้ไดรฟ์ข้อมูลดิสก์อย่างน่าอัศจรรย์ไม่เคยอยู่ในสถานะไม่สอดคล้องกันเมื่อเกิดการปิดระบบสกปรกในครั้งแรก


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

3

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


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

1

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

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


BSODs are fairly rare ไม่ใช่ถ้าคุณโกงโดยใช้ NTFS.sys ภายใต้ 98SE หรือ ME :)
user2284570

1

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

การทำเจอร์นัลสามารถบันทึก / กู้คืนข้อมูลที่กำลังมาถึงและรักษาพอยน์เตอร์ไว้กับข้อมูล ไม่สามารถแก้ไขการเขียนที่ไม่ดี / ไม่สมบูรณ์ลงในฮาร์ดไดรฟ์


เจอร์นัลการเปลี่ยนแปลง USN ถูกเปิดใช้งานและใช้งานโดย Indexing Service, File Replication Service (FRS), Remote Installation Services (RIS) และ Remote Storage http://technet.microsoft.com/en-us/library/cc788042(WS.10).aspx

สมุดรายวันการเปลี่ยนแปลงจำเป็นต้องใช้เพื่อกู้คืนการจัดทำดัชนีระบบไฟล์เช่นหลังจากคอมพิวเตอร์หรือโวลุ่มล้มเหลว ความสามารถในการกู้คืนการจัดทำดัชนีหมายถึงระบบไฟล์สามารถหลีกเลี่ยงกระบวนการที่ต้องใช้เวลานานในการทำดัชนีปริมาณทั้งหมดใหม่ในกรณีดังกล่าว http://technet.microsoft.com/en-us/query/aa363798


-1 นั่นไม่ใช่วิธีการทำเจอร์นัล เมื่อรีสตาร์ท yhe OS สามารถตรวจพบว่าการเขียนเริ่มต้น (เจอร์นัลมีรายการที่เริ่มต้นเขียน) และไม่เสร็จสิ้น
MSalters

@Malters ที่พวกเขาทำ infact ใช้ "บิตสกปรก" เพื่อระบุว่า chkdsk ควรเรียกใช้
Breakthrough

1
นั่นเป็นเรื่องจริงและฉันไม่ได้โต้แย้งส่วนนั้น แต่บิตนั้นเป็นเพียงการตรวจสอบอย่างรวดเร็วเพื่อป้องกัน chkdsk ตั้งแต่เริ่มต้นเลย นั่นคือ ถ้ามันเป็น ไม่ ชุดแล้วคุณไม่จำเป็นต้องตรวจสอบ jornal เลย สิ่งนี้จะปรับเวลาการบูทให้เหมาะสมที่สุดสำหรับเคสที่ไม่ได้ทำงานล้มเหลว คำถามคือเกี่ยวกับกรณี BSOD แม้ว่าแล้ววารสารที่มีความสำคัญ และคำอธิบายของวารสาร Psycogeek ก็ไม่สมเหตุสมผล ด้วยเร็กคอร์ดเจอร์นัลที่ไม่สมบูรณ์ (ตัวบ่งชี้สิ้นสุดที่ขาดหายไป) คุณสามารถแก้ไขการเขียนที่ไม่สมบูรณ์โดยใช้วิธีการย้อนกลับ
MSalters

ถูกต้องทั้งหมดคำตอบของฉันคือคลุมเครือพยายามที่จะครอบคลุม "journaling" ระดับต่าง ๆ เช่นดัชนีและสิ่งอื่น ๆ ที่อยู่นอกเหนือฉัน คำตอบนั้นต้องการทั้งเล่ม บอกตามตรงว่าคำตอบนั้นไม่ถูกต้องและ "การทำเจอร์นัล" ในระบบ windows นั้น จำกัด อยู่ที่ meta-data เมื่อใช้สำหรับการทำดัชนี ในกรณีนั้นเป็นมากกว่าข้อมูลเมตาและยังสามารถกู้คืนได้ หากคุณไม่ได้เห็นสิ่งที่อยู่บนดิสก์และทุกสิ่งที่ทำฉันไม่ชำนาญ แต่ฉันไม่สนใจสิ่งที่เกิดขึ้นที่นั่น
Psycogeek

ฉันระบุไว้เป็นการเฉพาะว่าการเขียนบันทึกประจำวันอาจเป็นประเด็นของการทุจริตได้ และคุณกลับมาอย่างมีเหตุผลด้วย "การบันทึกรายวันที่สมบูรณ์แบบ" แต่การเขียนบันทึกล้มเหลวของตัวเอง มันจะรู้ได้อย่างไรว่ามันเขียนเสร็จสมบูรณ์ถ้าตรงกลางบอกว่าข้อมูลเสร็จสมบูรณ์แล้วมันล้มเหลวมันล้มเหลวในการเขียนของมันเอง? หากคุณสามารถอธิบายได้ว่า ถ้าอย่างนั้นการค้นหาวารสาร USN ที่เสียหายควรเกิดอะไรขึ้นที่ google?
Psycogeek

0

ในระบบไฟล์แบบบันทึกการเปลี่ยนแปลงทั้งหมดในไฟล์ของคุณจะถูกบันทึกและจัดเก็บไว้ด้วยกัน สิ่งนี้อนุญาตให้แยกเนื้อหาไฟล์จากข้อมูลเมตา (ชื่อไฟล์, วันที่แก้ไข, ฯลฯ ... ) อย่างไรก็ตามความหมายของสิ่งนี้คือว่าหากไฟล์นั้นไม่ได้จัดทำดัชนีในสมุดรายวันมันจะไม่มีอยู่จริง - แม้ว่า 0 และ 1 จะมีอยู่จริงบนแผ่นเสียง

นี่คือที่ chkdsk มีประโยชน์เช่นเดียวกับ "บิตสกปรก" ของไดรฟ์ เมื่อทำการดำเนินการระบบไฟล์ต่าง ๆ บิตสกปรกจะถูกตั้งค่าจนกว่าการดำเนินการจะเสร็จสิ้น ณ จุดนั้นจะถูกล้าง จาก ไมโครซอฟท์ fsutil เอกสาร :

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

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

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