Một trong những điều cool về VirtualBox là nó cho phép bạn tạo snapshot của virtual machine. Bạn làm việc, lưu state, làm thay đổi, và tiện lợi revert về state đã lưu. Bạn có thể branch bất kỳ cách nào, tạo snapshot với VM đang chạy hoặc stopped, và chức năng này cung cấp cho bạn nhiều sự linh hoạt - và determinism - vì bạn có thể re-test các trạng thái hệ thống đã biết một cách nhất quán lặp đi lặp lại.
Điều không cool về snapshot là chúng chiếm khá nhiều dung lượng. Tôi nhận thấy một VM của tôi, với dung lượng dự kiến chỉ khoảng 11 GB, thực tế lại chiếm 46 GB disk space. Và như bạn tưởng tượng, có snapshot - tổng cộng bảy trạng thái máy đã lưu khác nhau. Không tồi, nhưng nếu bạn không còn cần snapshot và muốn compact chúng, tức là flatten chúng, tức là merge mọi thứ xuống và cắt giảm disk usage? Hãy khám phá thêm.
Làm thế nào để merge snapshot trong VirtualBox?
Đây thực sự là một câu hỏi non-trivial. Không có nút bấm ma thuật nào có thể layer tất cả các snapshot khác nhau nhanh chóng. Điều bạn có thể làm là, thủ công xóa snapshot dưới snapshot hiện tại - một bằng một. Điều này sẽ khiến VirtualBox merge các thay đổi, một quá trình có thể mất khá nhiều thời gian.
May mắn thay, có một giải pháp nhanh hơn - cloning. Chúng ta đã nói về cloning vài lần trước - chủ yếu để resize VM. Nếu bạn tạo VM với disk trở nên quá nhỏ cho mục đích, bạn có thể resize disk - nhưng điều này CHỈ hoạt động nếu không có snapshot. Trong hướng dẫn đó, tôi đã chỉ cho bạn cách clone máy (và collapse snapshot), sau đó resize disk. Bản chất, đó là tất cả những gì chúng ta cần cho công việc. Nhưng để rõ ràng, hãy demo từng bước.
Clone Virtual Machine
Nếu bạn chọn bất kỳ VM nào trong danh sách trong VirtualBox Manager, bạn sẽ thấy nút Clone trong menu bên trên pane phải. Click nút và làm theo wizard. Có khá nhiều chi tiết, nhưng những cái quan trọng là sau. Thứ nhất, chọn Clone type. Bạn muốn Full Clone. Thứ hai, chọn snapshot nào bạn muốn giữ. Chúng ta cần: Current machine state. Bây giờ, nếu bạn chọn option thứ hai (Everything), điều này sẽ không mang lại lợi ích tiết kiệm dung lượng disk.
Bạn cũng có thể clone địa chỉ mạng, tên disk và hardware UUID - điều này cực kỳ hữu ích, vì vậy bạn không cần lo lắng về xung đột tiềm ẩn mà một hệ điều hành giống hệt nhau thấy "khác" hardware. Bạn sẽ tạo một bản clone giống hệt.
Bấm nút Clone và để phép màu xảy ra. Quá trình sẽ mất một chút thời gian - tùy thuộc vào kích thước VM, disk usage, và tài nguyên hệ thống. Nhưng tổng thể, quá trình sẽ mất khoảng thời gian bằng việc collapse một snapshot đơn lẻ, nên nếu VM của bạn có nhiều snapshot, bạn tự động tiết kiệm thời gian.
Khi quá trình hoàn tất, bạn có thể dùng máy clone ngay lập tức. Tôi thử nhiều biến thể, bao gồm VM suspended, và nó hoạt động hoàn hảo. Clone resume ngay tại nơi hệ thống gốc dừng, bao gồm cửa sổ và ứng dụng mở. Tất cả. Sự khác biệt duy nhất là snapshot biến mất, và khi tôi xóa máy gốc, tôi đã giành lại một lượng đáng kể dung lượng disk.
Kết luận
Xong rồi. Same same but different. Mặc dù bài viết này không khác biệt đáng kể so với tutorial về resize disk tôi đã cung cấp, nhưng nó tập trung chỉ vào phần cloning. Bạn có hai cách để quản lý snapshot - và disk space - với máy VirtualBox, nhưng quy trình full cloning nhanh hơn việc thủ công xóa từng snapshot. Tuy nhiên, phương pháp sau cho phép bạn giữ lại một số snapshot, hoặc chỉ collapse những cái cụ thể. Ví dụ, bạn có thể collapse các snapshot cũ nhất, nhưng giữ lại ba cái cuối.
Hy vọng bạn thấy hướng dẫn này hữu ích. VirtualBox có ton tính năng hay, và nó thực sự là công cụ tiện dụng cho nerd khởi nghiệp. Snapshot rất thực tế, nhưng chúng xu hướng dẫn đến việc tăng dung lượng disk. Đáng kể. Nếu bạn bao giờ thiếu GB trên ổ cứng hoặc SSD, bạn có thể selectively clone VM hoặc xóa snapshot cụ thể để lấy lại một chút "digital equity" tốt đẹp ấy. Xong.
Chúc vui.