Làm thế nào để tạo một máy ảo từ một máy chủ trực tiếp?


8

Tôi đang tìm cách sao chép từ xa một máy chủ trực tiếp vào một máy ảo, để sử dụng nó như một môi trường thử nghiệm giống hệt nhất có thể với máy chủ trực tiếp. Điều này sẽ được sử dụng để kiểm tra các thay đổi, phiên bản phần mềm mới, v.v ... Bản sao sẽ cần chứa trình quản lý khởi động, thông tin phân vùng, v.v.

Những cách tôi có thể thực hiện điều này với mức độ ảnh hưởng tối thiểu trên máy chủ trực tiếp, trong khi tạo ra một hình ảnh hoạt động mà tôi có thể khởi động (giả sử nó được gắn theo cách thích hợp hoặc được chuyển đổi thành hình ảnh sau khi sao chép)?

Máy chủ trực tiếp chạy Centos 6.7 và tôi dự định sử dụng Virtualbox để chạy bản sao. Tôi đang làm điều này từ máy Mac có Homebrew, điểm thưởng nếu câu trả lời sẽ hoạt động từ máy Mac nhưng có thể sử dụng * nix nếu cần.

Tôi đã thử sử dụng rsync và tạo một hình ảnh từ thư mục kết quả, nhưng nó bị thiếu phân vùng & thông tin khởi động nên tôi không thể sử dụng hình ảnh kết quả trong Virtualbox mà không cài đặt centos trước sau đó sao chép tất cả các tệp - Tôi cảm thấy điều này sẽ không xảy ra ' t đủ trung thành cho một môi trường thử nghiệm.

Cập nhật: Tôi đã thử sử dụng trình chuyển đổi VMware nhưng tiếc là nó chỉ có sẵn cho windows và tôi không thể sử dụng nó.

Thay vào đó, tôi đang tải xuống một hình ảnh của máy chủ bằng cách sử dụng dd trên ssh. Tôi dự định chuyển đổi hình ảnh này khi nó được tải xuống .vdi bằng tiện ích dòng lệnh của virtuablox. Nếu nó hoạt động tôi sẽ cập nhật câu hỏi với nhiều chi tiết hơn.


1
Vì bạn đang chạy VM trên máy chủ linux từ xa, tôi khuyên bạn nên sử dụng kvmthay vì hộp ảo. virtualbox rất tốt để chạy một số vms trên máy tính để bàn của người dùng, nhưng kvmphù hợp hơn với máy chủ. Bạn có thể sử dụng virt-managertrên máy Mac của mình nếu bạn muốn kết nối GUI để quản lý VM hoặc sử dụng bảng điều khiển của nó (ví dụ: xem github.com/jeffreywildman/homebrew-virt-manager ). kvm + qemu + libvirt. họ có thể sử dụng ddhình ảnh thô trực tiếp hoặc bạn có thể chuyển đổi nó thành qcow2tệp hình ảnh được nén, có thể chụp nhanh bằngqemu-img
cas

thực tế, bạn có thể sử dụng qemu-imgthay vì ddnếu bạn muốn, để đọc trực tiếp (các) thiết bị khối của máy chủ trực tiếp và tạo qcow2hoặc các loại tệp hình ảnh khác (bao gồm vdi, vmdk, raw và hơn thế nữa) ,. xem qemu-img --helphoặc trang người đàn ông để biết chi tiết. btw, tốt nhất là sao chép máy chủ trực tiếp trong khi nó không chạy.
cas

Bạn có bản sao lưu tốt của hệ thống sản xuất của bạn phải không? Thời gian tuyệt vời để tìm hiểu ... và như một phần thưởng, bạn sẽ kết thúc với bản sao mà bạn yêu cầu. Nếu không, tốt, sửa chữa hệ thống / phương pháp sao lưu của bạn đầu tiên!
ivanivan

Câu trả lời:


7

Vật lý thành ảo - P2V - là thủ tục bạn đang tìm kiếm. rsyncsẽ không giúp đỡ trong trường hợp này.

Bạn nên sử dụng công cụ VMware Converter miễn phí của Vmware để chuyển đổi các đĩa của máy chủ vật lý của bạn sang đĩa ảo, tạo một máy ảo trong VirtualBox và thêm các đĩa ảo hiện có vào nó.
Bạn sẽ tìm thấy một mô tả từng bước đầy đủ ở đây .


2
+1. thực sự rsynccó thể được sử dụng, nhưng bạn phải khởi động VM bằng hình ảnh CD trực tiếp, tạo, định dạng và gắn bất kỳ phân vùng nào trên (các) đĩa ảo của VM, rsync vào các phân vùng đó, sau đó chroot vào hệ thống và sử dụng grub-installđể tạo nó có khả năng khởi động. phức tạp vừa phải nhưng RẤT ít thời gian chết cho máy chủ trực tiếp.
cas

thực sự là có - đây là trường hợp rsyncsẽ hữu ích
mazs

Tôi đã sử dụng rsync để thực hiện P2V trong quá khứ. Hoạt động tốt. Xem câu trả lời liên kết của tôi trong câu hỏi này.
Kyle

0
  1. Bắt đầu trong chế độ cứu hộ
  2. Nhập lệnh này để kết nối và tải xuống đĩa máy chủ và lưu nó vào vị trí máy khách

    ssh root@xx.xx.xx.xx "dd if=/dev/sda " | dd of=/home/backups/centos_image.img Nếu bạn bị từ chối kết nối, hãy đảm bảo rằng bạn thêm sshd trong công việc khởi động lại và cho phép nó chạy trong chế độ gỡ lỗi. Nếu bạn muốn sử dụng windows, hãy chắc chắn rằng bạn có Cygwin

  3. Sau khi bạn tải xuống .img, bạn sẽ thấy đầu ra sau

    xxxxxxxxxx bytes (x.x GB) copied, xxx.xxx s, x.x MB/s

  4. Bây giờ sử dụng VBoxManage để chuyển đổi nó thành .vdi

    VBoxManage convertfromraw --format VDI [filename].img [filename].vdi

  5. Gắn VDI dưới dạng đĩa cứng


0

Tôi đã viết một câu trả lời chi tiết từng bước về cách tôi giải quyết một thách thức rất giống với câu hỏi: Biến một hệ thống Linux đang chạy thành một cá thể KVM trên một máy khác . Tôi hy vọng nó cũng chứng minh một câu trả lời hữu ích cho câu hỏi này.

Mục tiêu của câu trả lời: lấy một Pnút Linux vật lý chạy sản xuất trực tiếp và ảo hóa nó. Không phải tạo và phân bổ nhiều đĩa terabyte, cũng không phải sử dụng md raid trong máy Vkhách, vì trình ảo hóa đích (Proxmox 5) đã sử dụng ZoL / ZFS. Cũng muốn giảm thiểu thời gian chết / khởi động lại trên Pnút đang chạy .

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.