Docs · เริ่มต้น

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 ใหม่จะสร้าง เส้นที่สอง แทนการทิ้งเส้นแรก คุณสำรวจมากกว่าหนึ่งทิศจากจุดเริ่มเดียวกัน และมุมมองต้นไม้วาดรูปจริงด้วยข้อมูลเฉพาะของแต่ละโหนด — สาขาที่กินดิสก์จริงมองเห็นได้ ไม่ใช่เดา

สิ่งที่ถูกจับ

SituationCaptured
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 ทั่วไลบรารี ซึ่งเป็นคำตอบตรงๆ ว่า "ใช้พื้นที่เท่าไร" เมื่อโคลนแชร์บล็อก