Snapshots และ rollback
ทำไม snapshot แทบไม่มีค่าใช้จ่ายที่นี่ ต้นไม้แยกสาขา และสามวิธีกลับสู่สถานะที่รู้ว่าดี
snapshot ใน 1VMTool เป็น APFS clone ของดิสก์เครื่อง ไม่ใช่สำเนา ไฟล์ระบบแชร์บล็อกจนกว่าฝ่ายหนึ่งจะเขียน ดังนั้นการถ่าย snapshot คัดลอก ศูนย์ไบต์ และเสร็จประมาณมิลลิวินาที — บนดิสก์ 24 GiB และ 1 TiB เท่ากัน เพราะไม่มีขนาดให้ scale
นั่นเปลี่ยนว่า snapshot ใช้ทำอะไร เมื่อหนึ่งอันค่าเป็นวินาทีและกิกะไบต์ คุณจำกัด และข้ามอันก่อนขั้นตอนเสี่ยง เมื่อไม่มีค่า คุณหยุดตัดสินใจ
การถ่ายและคืนค่า
1vm snapshot take dev "before upgrade"
1vm snapshot list dev
1vm snapshot restore dev before-upgrade
1vm snapshot rm dev <ref>
<ref> คือชื่อหรือ prefix ของ id snapshot rm รับ -r เพื่อลบทั้งสาขา ไม่ใช่โหนดเดียว
Snapshots แยกสาขา
คืนสถานะเก่ากว่าแล้วถ่าย snapshot ใหม่จะสร้าง เส้นที่สอง แทนการทิ้งเส้นแรก คุณสำรวจมากกว่าหนึ่งทิศจากจุดเริ่มเดียวกัน และมุมมองต้นไม้วาดรูปจริงด้วยข้อมูลเฉพาะของแต่ละโหนด — สาขาที่กินดิสก์จริงมองเห็นได้ ไม่ใช่เดา
สิ่งที่ถูกจับ
| Situation | Captured |
|---|---|
| Running on Virtualization.framework | หน่วยความจำพร้อมดิสก์ คืนค่าแล้ว resume กลางการทำงาน |
| Running on the 1VM engine | ดิสก์เท่านั้น — คืนค่าแล้ว cold-boot |
| Stopped, either engine | ดิสก์เท่านั้น |
สามวิธีกลับ
สิ่งเหล่านี้สับสนง่าย จึงควรระบุตรงๆ
snapshot restore ไป snapshot เฉพาะที่คุณเลือก
discard-session กลับไป snapshot ที่การบูตนี้เริ่มจาก ทิ้งทุกอย่างที่เขียนตั้งแต่เปิดเครื่อง:
1vm discard-session dev --force
reset คืนเครื่องสู่สถานะสะอาด:
1vm reset dev --force
โหมด rollback
สำหรับเครื่องที่ไม่ควรสะสมสถานะ — VM เล่นเว็บ sandbox demo สิ่งที่ส่งให้คนอื่น — เปิดโหมด rollback แล้วมันทิ้งทุกการเขียนตอนปิดเครื่องอัตโนมัติ:
1vm rollback dev on
ทุกการบูตเริ่มจากจุดปลอดภัยโดยไม่มีอะไรต้องจำ นี่คือเวอร์ชันเชิงโครงสร้างของวินัยที่มิฉะนั้นคุณต้องรักษามือ
โคลน
primitive โคลนเดียวกันให้สำเนาเครื่องทั้งก้อนราคาถูก:
1vm clone dev test # linked clone, shares blocks until they diverge
1vm clone dev test --full # an independent copy
1vm clone dev test --rekey-ssh # regenerate the guest's host keys
ใช้ --rekey-ssh เมื่อโคลนจะรนพร้อม parent —
มิฉะนั้นทั้งสองเครื่องแสดง SSH host key เดียวกัน
การใช้ดิสก์
1vm du
รายงาน allocated on-disk และไบต์ต่อ snapshot ทั่วไลบรารี ซึ่งเป็นคำตอบตรงๆ ว่า "ใช้พื้นที่เท่าไร" เมื่อโคลนแชร์บล็อก