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

การเปรียบเทียบด้านล่างอยู่ระหว่าง „ทันเนลก่อน“ กับ „งานก่อน“ เพราะทางเลือกเดียวนี้คือคำอธิบายของผลลัพธ์แย่ส่วนใหญ่

สองลำดับการปิดเครื่อง สองผลลัพธ์

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

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

ทำไมแชร์ต้องไปก่อนทันเนล

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

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

ถ้าแชร์ปฏิเสธการถอดเมานต์ แสดงว่ายังมีบางอย่างถือไฟล์เปิดอยู่ ค้นหา ปิด แล้วลองอีกครั้ง การปฏิเสธคือข้อมูล การบังคับถอดเมานต์เปลี่ยนมันเป็นการสูญเสียข้อมูล

หยุดไคลเอนต์ที่เป็นเจ้าของเซสชัน

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

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

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

ปล่อยการปิดเครื่องของระบบปฏิบัติการไว้ตามลำพัง

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

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

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

ใส่กำหนดเวลาไว้ในแผน

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

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

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

บทความที่เกี่ยวข้อง