Cách nhanh nhất để hợp nhất ảnh chụp nhanh trong VirtualBox?


48

Tôi có vdi với khá nhiều ảnh chụp nhanh được lấy từ nó - giả sử, 50 hoặc 70 ảnh chụp nhanh. Tôi muốn có một vdi đơn giản với một trạng thái hiện tại. Các ảnh chụp nhanh này chiếm quá nhiều dung lượng đĩa và không cần thiết như ảnh chụp nhanh.

Tôi biết rằng nếu tôi gọi

VBoxManage clonehd thedisk.vdi thedisk-full.vdi
(50-70 times) VBoxManage clonehd {uuid-of-snapshot}.vdi thedisk-full.vdi --existing

Tôi sẽ nhận được những gì tôi muốn. Nhưng phải mất rất nhiều thời gian (hơn 5 giờ với phần cứng và kích thước đĩa ban đầu 16G của tôi).

Và, tất nhiên, tôi đã thử VBoxManage snapshot deletevà thật kỳ lạ: không hoạt động trên máy bị dừng, có thể bị lỗi khi chạy máy và khi bị lỗi một lần, nó sẽ thất bại trong tất cả các cuộc gọi tiếp theo.

Có cách nào để tạo vdi đơn giản từ một số ảnh chụp nhanh - nhanh hơn không?

$ VBoxManage --version
3.2.14r75509

(đã hỏi nó trên ServerFault nhưng quyết định nơi này phù hợp hơn cho câu hỏi này)


Lệnh bạn sử dụng là lệnh bạn muốn sử dụng không phải là cách nhanh hơn.
Ramhound

Còn việc xuất toàn bộ VM thì sao? Vdi của nó sẽ chứa những gì tôi muốn?
Andrey Regentov

Bạn nên thử nó. Cuối cùng, bất kỳ phương pháp nào khác vẫn sẽ mất một lúc vì kích thước của Máy ảo.
Ramhound

Câu trả lời:


53

Tìm thấy giải pháp. Nó đơn giản như bước cuối cùng từ các lệnh tôi đã viết ở đây. I E

VBoxManage clonehd fullpath/{uuid-of-last-snapshot}.vdi thedisk-full.vdi

Vì vậy, tôi chỉ nên sao chép ảnh chụp nhanh cuối cùng, không phải mọi ảnh chụp nhanh từ chuỗi. Và nó nhanh hơn hàng ngàn phần trăm.

Các uuid có thể được tìm thấy từ VBoxManage list hdds | grep VmName | tail

Trong GUI (trên Windows), chọn VM, chọn Ảnh chụp nhanh từ trên cùng bên phải, nhấp chuột phải vào ảnh chụp nhanh bạn muốn, chọn Sao chép ... và chọn Bản sao đầy đủ trong hộp thoại.


Thx nhưng nó không hoạt động trên thiết lập của tôi, nó nói rằng hình ảnh sẽ tồn tại. Bạn đã quên - hiện tại?
Andy

3
Nếu bạn đã có thedisk-full.vditập tin trên đĩa thì trước tiên hãy thay đổi tên trong lệnh thành một cái gì đó như thedisk-full-new.vdi.
Andrey Regentov

Fullpath cần phải là một trong đó được đăng ký trong VirtualBox, tất nhiên. Các liên kết tượng trưng sẽ không hoạt động, vì VBox cần tra cứu tất cả Ảnh chụp nhanh
Andy

không chắc cái đuôi làm gì, ý bạn là " tail -1"?
eckes

1
Trong VirtualBox 5, clonehdkhông dùng nữa và để lại khả năng tương thích ngược, hãy sử dụng clonemediumthay thế.
George Sovetov

22

Đây là một kỹ thuật (đã được thử nghiệm trên VirtualBox 4.3.4) sử dụng lệnh 'Clone' để hợp nhất và nén tất cả các ảnh chụp nhanh vào một VM mới chứa một tệp VDI duy nhất:

  1. Đổi tên VM để bạn có thể sử dụng lại tên hiện tại của nó cho VM nhân bản (bạn có thể thay đổi tên VM từ tab 'Cơ bản' của cài đặt 'Chung').

  2. Nhấp chuột phải vào VM và chạy lệnh 'Clone ...':

    • Đặt tên thành tên gốc của VM.
    • Chấp nhận các mặc định còn lại, tức là loại Clone: ​​'Full clone'; Ảnh chụp nhanh: 'Trạng thái máy hiện tại'.
  3. Xóa VM cũ (nhấp chuột phải vào VM và chạy lệnh 'Xóa ...').


Kể từ VirtualBox 6.0.8, điều này vẫn hoạt động.
Paul Sturm

3

Bạn có thể thử xuất sang OVF và sau đó nhập lại tệp đã tạo.

Như đã giải thích ở đây :

OVF không thể mô tả các ảnh chụp nhanh được chụp cho một máy ảo. Kết quả là, khi bạn xuất một máy ảo có ảnh chụp nhanh, chỉ trạng thái hiện tại của máy sẽ được xuất và hình ảnh đĩa trong quá trình xuất sẽ có trạng thái "làm phẳng" giống với trạng thái hiện tại của máy ảo.

Kết quả là bạn sẽ có một máy ảo nhân bản với trạng thái hiện tại mà không có ảnh chụp nhanh khác.


Tôi hỏi về vdis vì không thể xuất máy - nó đã bị hỏng (trạng thái không thể truy cập sau khi khởi động lại máy chủ) và tất cả những gì tôi có là bó VDI - đĩa và khoảng năm mươi ảnh chụp nhanh.
Andrey Regentov

0

Hoạt động đó có nghĩa là đọc và ghi các tệp rất lớn trong cùng một đĩa vật lý. Cách duy nhất bạn có thể tăng tốc đó là đặt các tệp đó vào các đĩa khác nhau thay đổi đường dẫn trong lệnh VBoxManage của bạn. Nếu máy chỉ có một đĩa, bạn có thể sử dụng ổ USB ngoài hoặc thậm chí là đĩa trong máy khác thông qua chia sẻ mạng (tùy thuộc vào tốc độ mạng của bạn)


1
Thông thường mạng là các đơn đặt hàng có cường độ chậm hơn so với giao diện ổ cứng nội bộ, vì vậy điều này có thể sẽ không làm cho quá trình nhanh hơn.
Andrey Regentov

-2

Một số có mạng LAN 10Gib / s, do đó, nó có thể truyền nhiều hơn một gigabyte mỗi giây, vì vậy nó sẽ không phải là nút cổ chai.

Một số có mạng LAN 1Gib / s, do đó, nó có thể truyền hơn 100 megabyte mỗi giây, do đó, nó sẽ không phải là nút cổ chai (trừ khi bạn có ổ SSD thực sự nhanh).

Các đĩa cơ, khi đọc và ghi trên cùng một đĩa cùng một lúc (hoặc bị phân mảnh nhiều), giảm xuống gần 20 megabyte mỗi giây, trong khi trên không phân mảnh chỉ đọc hoặc chỉ ghi có thể lên tới hơn 100 megabyte mỗi giây.

Bạn nói về LAN chậm hơn, nhưng không phải về USB (2.0, chưa kể 1.1 hay 1.0) thì chậm hơn nhiều lần.

Những gì tôi muốn đề xuất sẽ là: Sử dụng USB 3.1 Gen2 Type C hoặc eSATA / SATA / SAS

Nhưng allways: Sử dụng một đĩa đủ nhanh thứ hai.

Và luôn luôn: Sao chép vào một đĩa khác và sao chép lại tệp nhanh hơn nhiều khi chỉ sử dụng một trong số các ổ đĩa trừ khi đó là ổ SSD hoặc đĩa cứng có nhiều nhánh độc lập (chúng có thể đọc và ghi cùng lúc trên hai bề mặt, mỗi đầu có cánh tay riêng, rất đắt, khoảng> 9876 €).

Cách tốt nhất là chỉ sao chép đĩa cứng ảo của trạng thái bạn muốn, sau đó kiểm tra nó hoạt động, sau đó RESTORE cấp cao nhất (sẽ xóa tất cả các ảnh chụp nhanh), sau đó xóa ổ cứng lưu trữ và kết nối ổ cứng mới.

Vì vậy, các bước, để loại bỏ tất cả các trạng thái cũ trên sơ đồ chụp nhanh không có cây:

  1. Nhân bản từ ổ cứng này sang ổ cứng khác, tránh tắc nghẽn
  2. Tạo một máy mới, kết nối đĩa đó, ngắt kết nối nó, cấu hình nó là không thể thay đổi
  3. Kiểm tra nó hoạt động (vì nó không thể thay đổi) bạn sẽ có trạng thái tương tự
  4. Nếu bạn cần nó không thể thay đổi, ngắt kết nối nó, thay đổi trở lại bình thường, vv
  5. Xóa ảnh chụp nhanh của máy cũ (RESTORE trước)
  6. Xóa máy kiểm tra thời gian
  7. Sao chép lại vào đĩa đĩa ảo
  8. Đính kèm đĩa nhân bản

Nhưng mọi người đều nghĩ rằng, ảnh chụp nhanh có thể giống như một cái cây đầy đủ, một nút có thể có nhiều hơn một con, mỗi con có thể có nhiều hơn một con, v.v.

Để làm việc với các cây snoapshots, luôn luôn nghĩ về việc XÓA như xóa một nút mà không xóa các nút còn lại (chỉ mất trạng thái đó, nhưng không có phần còn lại, không có cha mẹ và không có con nào được kết hợp, dữ liệu sẽ được hợp nhất trên tất cả các phụ đầu tiên cấp độ con, quá trình chậm) và trên RESTORE khi phá hủy tất cả các con của nó ở tất cả các cấp con (mất tất cả các trạng thái sau khi bạn khôi phục, nó chỉ xóa các tệp, vì vậy quá trình thực sự nhanh, chỉ vài giây).

Đó là!

PD: VBOX đã đặt tên khủng khiếp như thế nào cho hai thao tác đó (chỉ xóa một nút = XÓA; xóa tất cả các nút con trên tất cả các cấp phụ = RESTORE)


Khôi phục không xóa bất kỳ ảnh chụp nhanh, chỉ trạng thái hiện tại (chưa lưu).
Melebius
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.