ตรวจสอบเมื่อวันที่ 6 ตุลาคม 2026หากการค้นหาใน Zimbra ให้ผลลัพธ์ที่ไม่สมบูรณ์สำหรับกล่องจดหมายหนึ่งกล่อง และบันทึกของกล่องจดหมายชี้ไปที่ข้อผิดพลาดของตัวสร้างดัชนีหรือ Lucene วิธีแก้ไขโดยทั่วไปคือการสร้างดัชนีการค้นหาของกล่องจดหมายนั้นขึ้นใหม่ด้วยzmprov rim account@example.com startคำสั่ง `recreate_index_index_name` คำสั่งนี้จะสร้างข้อมูลดัชนีที่ค้นหาได้ขึ้นใหม่จากเนื้อหาของกล่องจดหมาย ไม่ใช่การแก้ไขสำหรับไฟล์ข้อความที่หายไป ความเสียหายของฐานข้อมูล พื้นที่จัดเก็บข้อมูลเต็ม หรือความล้มเหลวในการค้นหาทั่วทั้งเซิร์ฟเวอร์
ตัดสินความสำเร็จจากผลลัพธ์ที่เกิดขึ้นจริง: งานสร้างดัชนีใหม่เสร็จสมบูรณ์ การค้นหาเป้าหมายแสดงข้อความที่ก่อนหน้านี้หายไป และอีเมลใหม่ยังคงปรากฏในผลการค้นหา การเริ่มคำสั่งไม่ใช่หลักฐานว่าดัชนีได้รับการสร้างใหม่แล้ว วางแผนการทำงานในช่วงเวลาที่ไม่ยุ่งมาก ตรวจสอบปริมาณดัชนีก่อน และเรียกใช้กับบัญชีที่ได้รับผลกระทบเพียงบัญชีเดียวก่อนที่จะขยายขอบเขต
เมื่อใดที่การจัดทำดัชนีกล่องจดหมายใหม่จึงเป็นวิธีแก้ไขที่เหมาะสม?
ดัชนีที่เสียหายหรือไม่สมบูรณ์เป็นสาเหตุที่น่าสงสัยเมื่อการเข้าถึงกล่องจดหมายตามปกติทำงานได้ แต่การค้นหาไม่พบข้อความที่รู้จัก ผู้ใช้ที่ได้รับผลกระทบเห็นผลการค้นหาที่ไม่สอดคล้องกัน หรือ/opt/zimbra/log/mailbox.logรายงานข้อความเช่น “ไม่สามารถเปิดตัวจัดทำดัชนีได้” หรือข้อยกเว้น Lucene สำหรับบัญชีนั้น เอกสารการแก้ไขปัญหาของ Zimbra zmprov verifyIndexระบุถึงการวินิจฉัยสำหรับดัชนีที่หายไปหรือไม่สามารถเปิดได้ และวิธีzmprov rim ... startการสร้างดัชนีขึ้นใหม่
ขั้นแรกให้กำหนดขอบเขตของปัญหา หากมีผู้ใช้เพียงรายเดียวที่ได้รับผลกระทบ ให้ตรวจสอบกล่องจดหมายนั้น หากผู้ใช้หลายรายในที่เก็บอีเมลเดียวกันมีอาการเดียวกัน ให้ตรวจสอบสถานะของเซิร์ฟเวอร์ ความจุในการจัดเก็บ การอัปเกรดล่าสุด และบันทึกต่างๆ ก่อนที่จะเริ่มการสร้างดัชนีใหม่จำนวนมาก การสร้างดัชนีใหม่จำนวนมากอาจใช้การอ่าน/เขียนดิสก์และ CPU จำนวนมาก และอาจทำให้การค้นหาช้าลงสำหรับผู้ใช้รายอื่น
การสร้างดัชนีใหม่ไม่ใช่ขั้นตอนแรกที่ถูกต้อง เมื่อผู้ใช้ไม่สามารถเข้าสู่ระบบได้ โฟลเดอร์หายไป ข้อความหรือไฟล์แนบเปิดไม่ได้ ฐานข้อมูลเมลสโตร์รายงานข้อผิดพลาด หรือบริการค้นหาไม่สามารถใช้งานได้สำหรับหลายบัญชี สัญญาณเหล่านี้อาจบ่งชี้ถึงปัญหาในฐานข้อมูล บล็อบสโตร์ บริการ หรือโครงสร้างพื้นฐาน ควรเก็บรักษาบันทึกและใช้ขั้นตอนการกู้คืนของ Zimbra หรือช่องทางการสนับสนุนที่เหมาะสมแทนที่จะถือว่าทุกข้อร้องเรียนเกี่ยวกับ "การค้นหา" เป็นความเสียหายของดัชนี
ก่อนรันคำสั่ง
- ยืนยันกล่องจดหมายเป้าหมาย:คัดลอกที่อยู่บัญชีหลัก ไม่ใช่ชื่อแทน ในการใช้งานแบบหลายเซิร์ฟเวอร์กล่องจดหมาย ให้ตรวจสอบว่าเซิร์ฟเวอร์กล่องจดหมายใดเป็นเจ้าของบัญชี และเรียกใช้คำสั่งตามโครงสร้างเครือข่ายและเวอร์ชัน Zimbra ที่ติดตั้งไว้
- ตรวจสอบพื้นที่ว่าง:ตรวจสอบพื้นที่ว่างและ inode บนวอลุ่มดัชนีจริง การติดตั้งอาจจัดเก็บข้อมูลดัชนีไว้ในไดเร็กทอรีที่แยกต่างหาก อย่าคิดว่าเส้นทางเริ่มต้นเป็นตำแหน่งที่ใช้งานอยู่ วอลุ่มดัชนีที่เต็มอาจทำให้การสร้างดัชนีล้มเหลวได้
- ตรวจสอบภาระงานของระบบ:สังเกตค่าความหน่วงของที่เก็บอีเมลในปัจจุบัน การใช้งาน CPU และดิสก์ การสร้างดัชนีใหม่ใช้ทรัพยากรมาก โดยเฉพาะอย่างยิ่งสำหรับกล่องจดหมายขนาดใหญ่ ดังนั้นควรวางแผนกำหนดเวลาให้ดำเนินการในช่วงเวลาที่ไม่มีการใช้งานสูงสุด
- ปกป้องความสามารถในการกู้คืน:ตรวจสอบให้แน่ใจว่ากระบวนการสำรองข้อมูลปกติทำงานได้อย่างมีประสิทธิภาพและเป็นปัจจุบันก่อนทำการบำรุงรักษา การจัดทำดัชนีใหม่มีจุดประสงค์เพื่อสร้างข้อมูลการค้นหาที่ได้มาใหม่ แต่การสำรองข้อมูลยังคงมีความสำคัญก่อนดำเนินการซ่อมแซมใดๆ กับระบบอีเมลที่ใช้งานจริง
- ตรวจสอบการรองรับคำสั่ง:ไวยากรณ์ CLI และตัวเลือกที่มีให้ใช้งานของ Zimbra อาจแตกต่างกันไปในแต่ละเวอร์ชัน ตรวจสอบความช่วยเหลือและเอกสารประกอบคำสั่งสำหรับเวอร์ชันที่ติดตั้งอย่างถูกต้อง โดยเฉพาะอย่างยิ่งหากคุณใช้เวอร์ชันเก่าหรือการติดตั้งแบบกำหนดเอง
วิธีการตรวจสอบและสร้างกล่องจดหมายใหม่
1. เรียกใช้การตรวจสอบวินิจฉัย หากมีให้บริการ
ในฐานะบัญชีผู้ใช้ระบบปฏิบัติการ Zimbra ให้ทดสอบกล่องจดหมายที่สงสัยโดยใช้เครื่องมือวินิจฉัยที่แสดงในคำแนะนำการแก้ไขปัญหาของ Zimbra:
zmprov verifyIndex user@example.com
การตอบสนองที่ระบุว่าดัชนีไม่มีอยู่หรือไม่พบไฟล์เซ็กเมนต์ สนับสนุนการวินิจฉัยว่าดัชนีเสียหาย หากเวอร์ชันที่ติดตั้งของคุณไม่รู้จักverifyIndexอย่าติดตั้งสคริปต์หรือคัดลอกไฟล์ดัชนีจากเซิร์ฟเวอร์อื่นเพื่อแก้ไขปัญหาชั่วคราว ให้ใช้เอกสารประกอบของ Zimbra ที่เฉพาะเจาะจงกับเวอร์ชันนั้น และเชื่อมโยงบันทึกกล่องจดหมายกับบัญชีที่ได้รับผลกระทบ
2. เริ่มการจัดทำดัชนีใหม่ของกล่องจดหมาย
บนเซิร์ฟเวอร์ Zimbra ที่เหมาะสม ให้เปลี่ยนไปใช้บัญชีระบบปฏิบัติการ Zimbra และเริ่มการสร้างใหม่สำหรับกล่องจดหมายที่ได้รับผลกระทบเพียงกล่องเดียว:
su - zimbra
zmprov rim user@example.com start
โดยปกติคำสั่งจะแจ้งว่างานได้เริ่มต้นแล้ว ซึ่งเป็นการยืนยันการส่งงาน ไม่ใช่การเสร็จสิ้น อย่าเริ่มงานซ้ำๆ เพียงเพราะการค้นหายังไม่เสร็จสมบูรณ์ในทันที ให้ตรวจสอบสถานะของงานและบันทึกของที่เก็บอีเมลก่อน
3. ตรวจสอบความคืบหน้า
เรียกใช้งานงานจัดทำดัชนีใหม่โดยใช้บัญชีและบริบทเซิร์ฟเวอร์เดียวกัน:
zmprov rim user@example.com status
ทำซ้ำในช่วงเวลาที่เหมาะสมแทนที่จะตรวจสอบอย่างต่อเนื่อง อ่านผลลัพธ์ตามเวอร์ชัน Zimbra ของคุณ: CLI จะรายงานสถานะของงาน ในขณะที่mailbox.logอาจแสดงความคืบหน้าหรือข้อผิดพลาดเฉพาะบัญชี หากคำสั่งรายงานข้อผิดพลาด งานไม่เสร็จสมบูรณ์ หรือบันทึกแสดงข้อผิดพลาดเกี่ยวกับพื้นที่ดิสก์หรือการเขียนดัชนี ให้หยุดและแก้ไขปัญหาที่ต้นเหตุนั้นก่อนที่จะลองใหม่อีกครั้ง
รายการอ้างอิงคำสั่งของ Zimbra reIndexMailboxประกอบด้วย การดำเนินการต่างๆ เช่น start, status, และcancelหากเวอร์ชันที่คุณใช้งานรองรับการยกเลิก และงานนั้นส่งผลเสียต่อบริการ โปรดตรวจสอบไวยากรณ์ในเครื่องก่อนใช้งาน อย่าฆ่ากระบวนการ Java หรือลบไฟล์ดัชนีเพื่อใช้แทนขั้นตอนการยกเลิกที่รองรับ
วิธีตรวจสอบว่าการซ่อมแซมสำเร็จหรือไม่
หลังจากดำเนินการเสร็จสิ้นแล้ว ให้ทดสอบจากเว็บไคลเอ็นต์ของผู้ใช้ที่ได้รับผลกระทบด้วยข้อความที่รู้จักบางส่วน ค้นหาผู้ส่ง วลีหัวเรื่อง และช่วงวันที่ที่โดดเด่น ตรวจสอบทั้งข้อความเก่าและอีเมลล่าสุด ตรวจสอบโฟลเดอร์ที่ควรแสดงข้อความ และเปรียบเทียบผลลัพธ์กับข้อความที่รู้จักซึ่งผู้ใช้สามารถเปิดได้โดยตรง จากนั้นส่งหรือรับข้อความทดสอบ และยืนยันว่าสามารถค้นหาได้หลังจากความล่าช้าในการจัดทำดัชนีตามปกติ
ควรพิจารณาถึงการพัฒนาอย่างต่อเนื่องมากกว่าความสำเร็จเพียงครั้งเดียว เกณฑ์ความสำเร็จในทางปฏิบัติมีดังนี้:
- สถานะการจัดทำดัชนีใหม่ของกล่องจดหมายเสร็จสมบูรณ์แล้วโดยไม่มีข้อผิดพลาดเกิดขึ้นซ้ำ
- ข้อความที่หายไปก่อนหน้านี้จะปรากฏในผลการค้นหาที่คาดไว้
- อีเมลใหม่ยังคงเข้าสู่ดัชนีการค้นหาอย่างต่อเนื่อง
- พื้นที่จัดเก็บข้อมูลดัชนียังคงมีพื้นที่ว่างเพียงพอ และกล่องจดหมายอื่นๆ ยังคงใช้งานได้ตามปกติ
หากคำสั่งแจ้งว่าเสร็จสมบูรณ์แล้ว แต่ข้อความบางข้อความยังคงหายไป โปรดตรวจสอบว่าข้อความเหล่านั้นยังคงมีอยู่และสามารถเปิดได้หรือไม่ ตรวจสอบว่าคำค้นหาของผู้ใช้ ตัวกรองวันที่ ขอบเขตโฟลเดอร์ หรือแคชฝั่งไคลเอ็นต์เป็นสาเหตุของความแตกต่างหรือไม่ ดัชนีที่สร้างใหม่ไม่สามารถกู้คืนข้อความที่ถูกลบ ไม่เคยส่ง หรือสูญหายจากที่เก็บข้อมูลพื้นฐานได้
เมื่อใดควรเปลี่ยนแนวทางการแก้ไขปัญหา
หากการสร้างดัชนีใหม่ล้มเหลวซ้ำ ๆ ให้ตรวจสอบข้อผิดพลาดที่ระบุไว้ในบันทึกก่อน ตรวจสอบพื้นที่ว่างในดิสก์และ inode ตรวจสอบข้อผิดพลาดใน mailstore หรือฐานข้อมูล และตรวจสอบให้แน่ใจว่ากล่องจดหมายนั้นได้รับการจัดการบนเซิร์ฟเวอร์ที่ถูกต้อง หากบัญชีไม่สามารถเข้าถึงเนื้อหาข้อความได้ หรือกล่องจดหมายอื่น ๆ แสดงปัญหาเดียวกัน ให้หยุดการสร้างดัชนีใหม่ซ้ำ ๆ และตรวจสอบสาเหตุในระดับ store, ฐานข้อมูล หรือเซิร์ฟเวอร์
ควรหลีกเลี่ยงการลบ/opt/zimbra/indexข้อมูลด้วยตนเองเป็นประจำ วิกิสาธารณะของ Zimbra มีขั้นตอนการลบไฟล์ดัชนีด้วยตนเอง แต่หน้านั้นยังอยู่ในระหว่างการพัฒนาและเชื่อมโยงกับเวอร์ชันเก่ากว่า การลบด้วยตนเองมีโอกาสเกิดข้อผิดพลาดมากกว่าคำสั่งสร้างดัชนีใหม่ระดับบัญชีที่รองรับ และควรพิจารณาใช้เฉพาะภายใต้คำแนะนำของผู้จำหน่ายเฉพาะเวอร์ชันปัจจุบันเท่านั้น โดยต้องมีเส้นทางกล่องจดหมายที่แน่นอน การสำรองข้อมูลที่ตรวจสอบแล้ว และแผนการบำรุงรักษา
ข้อจำกัดของการจัดทำดัชนีกล่องจดหมายใหม่
การสร้างดัชนีใหม่จะสร้างเมตาเดต้าการค้นหาขึ้นใหม่ แต่จะไม่ซ่อมแซมตาราง MySQL หรือ MariaDB กู้คืนข้อมูลที่หายไป แก้ไขระบบไฟล์ที่เสียหาย ล้างดิสก์ที่เต็ม หรือแก้ไขปัญหาการหยุดชะงักของการค้นหาทั่วทั้งเซิร์ฟเวอร์ นอกจากนี้ยังใช้เวลานานขึ้นเมื่อขนาดกล่องจดหมายและภาระงานของเซิร์ฟเวอร์เพิ่มขึ้น การค้นหาอาจไม่สมบูรณ์ชั่วคราวในขณะที่การสร้างดัชนีกำลังทำงาน และประสิทธิภาพโดยรวมอาจลดลงในระหว่างการทำงาน
หากหลักฐานชี้ไปที่ดัชนีการค้นหาของบัญชีใดบัญชีหนึ่ง ให้ใช้ฟังก์ชันการสร้างดัชนีใหม่ระดับกล่องจดหมายที่มีอยู่ก่อน วัดผลลัพธ์โดยใช้ข้อความที่ทราบและอีเมลติดตามผล หากการสร้างดัชนีใหม่ไม่เสร็จสมบูรณ์หรือข้อมูลเสียหาย ให้เปลี่ยนไปใช้ขั้นตอนการกู้คืนข้อมูลในที่จัดเก็บหรือฐานข้อมูลที่เกี่ยวข้องแทนที่จะลบดัชนีทั้งหมดในวงกว้าง
เอกสารอ้างอิงอย่างเป็นทางการ