Cách chuyển đổi máy chủ Linux vật lý thành máy ảo VMware: Hướng dẫn chi tiết từng bước
Việc vận hành máy chủ trên các máy ảo mang lại cho bạn nhiều lợi ích như khả năng mở rộng, sử dụng tài nguyên hợp lý, tính sẵn sàng cao, cân bằng tải, quản lý thuận tiện, các tính năng bảo vệ dữ liệu, v.v. Vì lý do này, bạn có thể muốn di chuyển một số máy chủ vật lý của mình sang máy ảo. Quá trình này còn được gọi là chuyển đổi từ vật lý sang ảo (Physical to Virtual) và được viết tắt là P2V.
VMware là một trong những nhà cung cấp hàng đầu trong lĩnh vực CNTT về các giải pháp ảo hóa, còn Linux là một trong những hệ điều hành đáng tin cậy nhất để chạy trên máy chủ. Bài viết này giải thích tầm quan trọng của việc sao lưu máy chủ Linux và cách chuyển đổi một máy chủ Linux vật lý sang máy ảo (VM) chạy trên máy chủ ESXi trong môi trường vSphere. Hai phương pháp khác nhau để thực hiện chuyển đổi P2V Linux trên VMware sẽ được phân tích thông qua ví dụ về Ubuntu 18.
Phương pháp 1 – Sử dụng VMware vCenter Converter
VMware vCenter Converter Standalone là ứng dụng miễn phí có thể cài đặt trên Windows để chuyển đổi máy vật lý Windows, máy vật lý Linux, máy ảo Hyper-V, máy ảo VMware và máy ảo đang chạy dưới Red Hat KVM hoặc RHEL XEN. Các kiểu đích được hỗ trợ bao gồm: máy ảo cho máy chủ ESXi không được quản lý; máy ảo cho máy chủ ESXi được quản lý bởi máy chủ vCenter; máy ảo cho máy trạm VMware; máy ảo cho VMware Fusion.
Chuyển đổi một máy ảo Hyper-V thành máy ảo VMware trên máy chủ ESXi được giải thích trong bài viết trên blog này.
Nguyên lý hoạt động
Khi chuyển đổi máy vật lý Linux đang chạy sang máy ảo với định dạng VMware ESXi, VMware vCenter Converter Standalone không cài đặt agent trên máy Linux nguồn (khác với các máy Windows). Quá trình chuyển đổi có thể chia thành hai giai đoạn chính.
Giai đoạn 1 . VMware Converter kết nối với máy vật lý Linux nguồn qua SSH và cho phép bạn chọn các thành phần cần sao chép, như đĩa ảo và phân vùng. Dựa vào các thành phần được chọn của máy vật lý Linux nguồn và cài đặt cấu hình của máy ảo đích, converter sẽ tạo một máy ảo trợ giúp.
Giai đoạn 2 . Khi tất cả các thành phần cần thiết được chọn và cài đặt mạng của máy ảo trợ giúp được cấu hình, VMware Converter tạo ra máy ảo trợ giúp trên máy chủ ESXi và kho dữ liệu đích. Sau đó, converter khởi động máy ảo trợ giúp từ hình ảnh ISO của máy ảo trợ giúp và sao chép tất cả dữ liệu cần thiết từ máy Linux nguồn sang máy ảo đích, có trạng thái là máy ảo trợ giúp cho đến khi quá trình chuyển đổi hoàn tất.
Một máy ảo trợ giúp được triển khai từ hình ảnh ISO dựa trên Linux và lưu trữ trên hệ thống tệp của máy Windows mà converter được cài đặt. Vị trí của các tệp converter-helper-vm.iso và converter-helper-vm-x64.iso để khởi động máy ảo trợ giúp trên máy chủ ESXi là “ C:Program Files (x86)VMwareVMware vCenter Converter Standalone” theo mặc định.
Sau khi sao chép dữ liệu vào máy ảo mục tiêu, máy ảo có thể được cấu hình lại bởi VMware Converter nếu các tùy chọn thích hợp đã được chọn cho tác vụ chuyển đổi.
Yêu cầu hệ thống
Có một số yêu cầu cần phải được đáp ứng để thực hiện chuyển đổi VMware P2V Linux với converter VMware:
- Máy vật lý chạy Linux phải được bật.
- Máy chủ ESXi phải được bật và truy cập được qua mạng. Khách hàng và máy chủ vCenter Converter Standalone phải có thể kết nối với nhau. Các cổng TCP 22, 443, 902 được sử dụng mặc định cho giao tiếp mạng.
- Trình khởi động GRUB phải được sử dụng trên máy Linux vật lý để được chuyển đổi. LILO không được hỗ trợ.
- Đĩa quang phải được lấy ra khỏi ổ đĩa quang.
- Máy chủ SSH phải được cấu hình trên máy Linux vật lý (máy nguồn).
Lưu ý: Máy chủ SSH có thể được cài đặt trên Ubuntu Linux với lệnh:
apt-get install openssh-server
Quyền truy cập từ xa cho người dùng với mật khẩu qua SSH có thể được cấu hình bằng cách chỉnh sửa tập tin sshd_config :
vim /etc/ssh/sshd_config
Tạo hoặc bỏ chú thích chuỗi:
PasswordAuthentication yes
Lưu tập tin cấu hình
:wq
Khởi động lại daemon (dịch vụ) sshd
service sshd restart
Chuyển đổi Linux P2V với VMware Converter: Hướng dẫn từng bước
Để thực hiện chuyển đổi P2V cho Linux, bạn nên làm theo các bước sau:
1. Tải xuống Tải xuống VMware vCenter Converter Standalone từ trang web chính thức.
2. Cài đặt bộ chuyển đổi trên máy Windows có thể kết nối với máy Linux của bạn qua mạng. Quá trình cài đặt rất đơn giản – chỉ cần chạy tập tin EXE và làm theo các khuyến nghị của trình hướng dẫn cài đặt. VMware Converter 6.2 được sử dụng trong ví dụ của ngày hôm nay.
3. Chạy VMware vCenter Converter Standalone.
4. Bấm Convert machine.
5. Source System. Chọn hệ thống nguồn trong trình chuyển đổi máy tính mở. Chọn Powered on và Remote Linux machine. Chỉ định địa chỉ IP, tên người dùng và mật khẩu được sử dụng trên máy Linux từ xa. Hãy nhớ rằng máy chủ SSH phải được cấu hình trên máy Linux và tường lửa không được chặn kết nối SSH ở bước này. Nếu không, thông báo lỗi sẽ hiển thị: Không thể kết nối SSH với máy nguồn. Kiểm tra xem tường lửa có chặn truy cập vào daemon SSH trên máy nguồn hay không . Người dùng bạn đã chỉ định phải có thể đăng nhập vào bảng điều khiển Linux qua SSH bằng cách sử dụng tổ hợp đăng nhập/mật khẩu hoặc tập tin khóa riêng tư. Một người dùng được gọi user1 với mật khẩu được sử dụng cho ví dụ này.
5.1. Bấm View source details để xem chi tiết máy Linux từ xa của bạn, máy phải được chuyển đổi thành máy ảo VMware. Nhấn Tiếp theo để tiếp tục và chuyển sang bước tiếp theo.
Nếu bạn thấy cảnh báo bảo mật (cảnh báo dấu vân tay máy chủ từ xa), bấm Có để kết nối. Đôi khi máy chuyển đổi không thể chạy các lệnh trên máy Linux từ xa của bạn và hiển thị cảnh báo: Không thể truy vấn máy nguồn Linux đang hoạt động. Đảm bảo rằng bạn có thể chạy sudo mà không cần nhập mật khẩu khi đăng nhập vào máy nguồn qua SSH như your_username .
Trong trường hợp này, bạn phải chỉnh sửa tệp /etc/sudoers và làm cho người dùng của bạn có thể chạy sudo mà không cần nhập mật khẩu. Thay vì chỉnh sửa /etc/sudoers thủ công, hãy sử dụng lệnh sau:
visudo
Thêm dòng ở cuối tệp như sau:
user1 ALL=(ALL) NOPASSWD: ALL
Trong đó user1 là tên người dùng của chúng tôi. Bạn cần nhập tên người dùng của bạn. Nhấn Ctrl+X để thoát và nhấn Y (Có) để lưu các thay đổi vào tệp.
6. Destination System. Chọn hệ thống đích. Theo mặc định, loại đích được định nghĩa là máy ảo Hạ tầng VMware nếu bạn đang chuyển đổi máy Linux vật lý, và đây là tùy chọn duy nhất có sẵn để chuyển đổi một máy Linux vật lý thành một máy ảo VMware VM. Điều này có nghĩa là máy ảo đích sẽ chạy trên máy chủ ESXi hoặc trong Cụm VMware vSphere. Nếu Máy chủ ESXi trên đó bạn muốn chạy máy ảo đã chuyển đổi được quản lý bởi vCenter, chọn địa chỉ IP của máy chủ vCenter Server của bạn và xác định thông tin xác thực của quản trị viên vCenter hoặc người dùng khác có quyền quản trị để quản lý máy chủ vCenter.
Lưu ý: Bạn không thể chuyển đổi một máy Linux vật lý thành một máy ảo định hình theo định dạng VMware Workstation với VMware vCenter Converter Standalone.
Nếu bạn thấy cảnh báo chứng chỉ, bạn có thể nhấn Bỏ qua để tiếp tục.
7. Destination Virtual Machine. Chọn trung tâm dữ liệu để lưu trữ máy ảo và nhập tên cho máy ảo mục tiêu, ví dụ, Ubuntu18-04-vm .
8. Destination Location. Chọn máy chủ ESXi để chạy máy ảo và kho dữ liệu để lưu trữ tệp máy ảo. Bạn cũng có thể chọn phiên bản máy ảo. Theo mặc định, phiên bản máy ảo được hỗ trợ cao nhất được chọn. Trong trường hợp này, là phiên bản 13 vì sử dụng ESXi 6.5.
9. Options. Ở bước này, bạn có thể chỉnh sửa các tùy chọn chuyển đổi khác nhau.
Dữ liệu để sao chép . Bạn có thể chọn tất cả các phân vùng hoặc phân vùng tùy chỉnh để sao chép và chọn loại cung cấp đĩa ảo ((cung cấp dung lượng dày hoặc mỏng). Cũng có thể lưu trữ mỗi đĩa ảo trên một kho dữ liệu khác nhau. Để lại ô dấu “ Tạo bố cục phần vùng tối ưu hóa ” được đánh dấu. Tùy chọn này được sử dụng để tối ưu hóa căn chỉnh các phần vùng đĩa.
Thiết bị . Thiết lập lượng bộ nhớ cần thiết cho VM đích trong tab Bộ Nhớ . Thiết lập bộ điều khiển đĩa, số lượng bộ xử lý và lõi xử lý trong tab Khác .
Mạng lưới . Chọn số lượng bộ điều hợp mạng ảo để kết nối với máy ảo. Sau đó, chọn mạng ảo mà mỗi bộ điều hợp mạng phải được được kết nối, loại bộ điều khiển mạng và đánh dấu vào ô chọn Kết nối khi khởi động nếu cần thiết.
Tùy chọn nâng cao . Các cài đặt sau chuyển đổi nằm trong phần này. Trong trường hợp của chúng tôi, để chuyển đổi máy chủ Linux vật lý sang máy ảo VMware, chỉ có tùy chọn Cấu hình lại máy ảo đích có sẵn. Tùy chọn này được sử dụng để cấu hình trình nạp khởi động, cập nhật trình điều khiển được hệ điều hành sử dụng để tối ưu hơn cho việc chạy VM trong môi trường ảo VMware (với phần cứng ảo phù hợp).
Mạng lưới VM hỗ trợ . Trong quá trình chuyển đổi máy chủ Linux sang VM, VMware vCenter Converter sẽ tạo một VM hỗ trợ trên máy chủ/kho dữ liệu đích. VM hỗ trợ phải có quyền truy cập qua mạng tới máy chủ vật lý nguồn chạy Linux để sao chép tất cả các tệp của máy nguồn. Trong phần này, bạn có thể cấu hình địa chỉ IP, mặt nạ mạng, cổng, và các máy chủ DNS sử dụng cho kết nối mạng của VM hỗ trợ.
10. Summary. Kiểm tra tất cả cài đặt chuyển đổi cho quá trình P2V Linux của bạn và nếu mọi thứ đều đúng, nhấp vào Hoàn thành để bắt đầu quá trình chuyển đổi.
11. Chờ cho đến khi quá trình chuyển đổi kết thúc. Thời gian chuyển đổi phụ thuộc vào lượng dữ liệu được lưu trữ trên đĩa của máy Linux nguồn. Nếu sau khi chuyển đổi kết thúc, bạn thấy trạng thái Hoàn tất của tác vụ chuyển đổi trong VMware vCenter Converter, bạn có thể bắt đầu máy ảo Linux đích trong giao diện của VMware vSphere Client, VMware Host Client, hoặc VMware Workstation.
Tuy nhiên, đôi khi quá trình chuyển đổi P2V của máy Linux có thể kết thúc ở 97% với lỗi:
THẤT BẠI: Đã xảy ra lỗi trong quá trình chuyển đổi: ‘GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh thất bại với mã quay lại: 127, và thông điệp: FATAL: kernel quá cũ Lỗi chạy vmware-updateGrub.sh qua chroot trong /mnt/p2v-src-root Lệnh:
chroot "/mnt/p2v-src-root" /vmware-updateGrub.sh "GRUB2" "(hd0)" "(hd0,1)" /vmware-device.map "grub2-install" '
Vấn đề này có thể xảy ra vì bộ nạp khởi động GRUB đã không được thiết lập đúng cách bởi VMware vCenter Converter trên máy ảo đích. Nếu bạn cố gắng khởi động máy ảo Linux sau khi chuyển đổi, bạn sẽ gặp lỗi: Lỗi khi tải hệ điều hành .
Làm thế nào để khắc phục sự cố này trên VMware Converter cho Linux?
1. Bạn cần khởi động từ phương tiện cài đặt Ubuntu và sử dụng nó như một đĩa cứu hộ. Chỉnh sửa cài đặt máy ảo bằng VMware vSphere Client, VMware Host Client hoặc VMware Workstation (VM > Edit Settings).
2. Trong phần Phần cứng , chọn ổ đĩa CD/DVD của máy ảo và chọn phương tiện cài đặt Ubuntu có khả năng khởi động. Trong ví dụ này, chúng tôi sử dụng hình ảnh đĩa ISO cài đặt Ubuntu 18.04 nằm trên kho dữ liệu, có thể truy cập được bởi máy chủ ESXi nơi máy ảo Linux tồn tại sau khi chuyển đổi. Đừng quên đánh dấu vào ô Kết nối khi khởi động .
3. Sau khi khởi động máy ảo, nhấn F2 để vào Cài đặt BIOS của máy ảo. Chọn CD-ROM làm thiết bị khởi động đầu tiên trong phần Khởi động .
Sau đó chuyển đến Exit > Exit Saving Changes.
Ngoài ra, bạn có thể thay đổi thứ tự khởi động một lần bằng cách nhấn Esc thay vì F2 ngay sau khi khởi động máy ảo.
4. Sau khi khởi động từ phương tiện cài đặt Ubuntu, chọn Try Ubuntu trên màn hình Chào mừng . Chờ cho đến khi Ubuntu được tải từ đĩa Live DVD và bạn sẽ thấy màn hình Desktop của Ubuntu.
5. Mở Ubuntu Console và lấy quyền root.
sudo -i
6. Liệt kê các đĩa có sẵn.
ls -al /dev/sd*
fdisk -l
Trong ví dụ của chúng tôi, sơ đồ phân vùng đĩa đơn giản nhất được sử dụng cho Ubuntu được cài đặt trên máy vật lý. Linux được cài đặt trên phân vùng duy nhất /dev/sda1 đại diện cho toàn bộ đĩa. Bạn phải xác định phân vùng nào được sử dụng để khởi động Linux và chứa thư mục /boot/ hoặc được gắn vào thư mục /boot/.
7. Bạn có thể tìm phân vùng được sử dụng để khởi động Linux bằng parted:
parted /dev/sda
unit MB
p free
Bây giờ bạn có thể thấy phân vùng nào được sử dụng để khởi động Linux (cờ boot có trong chuỗi đó). Sau đó, bạn có thể thoát khỏi parted .
quit
Lưu ý: Nếu bạn sử dụng sơ đồ phân vùng thủ công và một phân vùng khởi động riêng biệt để khởi động Linux, danh sách phân vùng của bạn sẽ khác, nhưng bạn cũng nên tìm phân vùng có cờ boot .
8. Tạo thư mục trên đĩa RAM và gắn các phân vùng được Ubuntu sử dụng. Nếu Ubuntu được cài đặt trên một phân vùng duy nhất, hãy sử dụng các lệnh như: mkdir /mnt/ubuntu18
mount /dev/sda1 /mnt/ubuntu18
Lưu ý: Nếu Ubuntu đang sử dụng nhiều phân vùng, hãy tạo các thư mục riêng biệt và gắn kết mỗi phân vùng vào thư mục tương ứng:
mkdir /mnt/ubuntu18/boot
mkdir/mnt/ubuntu18/root
mount /dev/sda1 /mnt/ubuntu18/boot
mount /dev/sda2 /mnt/ubuntu18/root
và cứ thế.
9. Cài đặt V im (trình soạn thảo văn bản).
apt-get install vim
10. Kiểm tra định danh đĩa cho từng phân vùng đĩa. Bạn cần biết UUID của phân vùng chứa /boot thư mục (hoặc phân vùng được gắn với /boot thư mục). Hãy nhớ UUID mới này. Trong trường hợp của chúng ta, phân vùng này là /dev/sda1
blkid
11. Chỉnh sửa tệp /etc/fstab trên đĩa ảo được sử dụng bởi Ubuntu đã cài đặt. Tệp /etc/fstab nằm trong thư mục tạm mà chúng ta đã gắn kết hệ thống tệp gốc của Ubuntu (/mnt/ubuntu18/etc/fstab ).
vim /mnt/ubuntu18/etc/fstab
Thay đổi UUID của từng phân vùng trong /etc/fstab để cho phép tự động gắn kết phân vùng khi khởi động Linux. Thay đổi giá trị UUID cũ sử dụng cho đĩa trên máy Linux vật lý sang giá trị UUID mới sử dụng trên máy ảo. Trong ví dụ đơn giản hiện tại, chỉ có một phân vùng /dev/sda1 được sử dụng và phải được gắn vào thư mục gốc (/) . Do đó, chúng ta phải thay đổi 2516177b-e9a9-4502-bdae-a3626fe3ab0a thành dd05b02c-8772-4ec2-9340-2473ec8c2f8b.
Lưu thay đổi và thoát khỏi vim.
:wq
Lưu ý: Nếu Linux của bạn đang sử dụng nhiều phân vùng, bạn có thể cần thay đổi giá trị UUID cho các phân vùng khác hoặc chỉ định chúng là sda2 , sda3 , sdb1 , sdb2 vv. để có thể gắn các phân vùng đó tự động khi khởi động Linux.
12. Chỉnh sửa tệp cấu hình GRUB thường nằm trong /boot/grub/ thư mục. Nhớ thư mục tạm mà bạn đã gắn một phân vùng chứa các tập tin của thư mục /boot/. Sau khi chuyển đổi một máy Linux vật lý sang máy ảo, UUID của đĩa đã thay đổi trên VM đích và vì lý do này, trình khởi động (GRUB) không thể khởi động từ phân vùng cần thiết. Trong trường hợp của chúng ta, chỉnh sửa tệp grub.cfg với lệnh:
vim /mnt/ubuntu18/boot/grub/grub.cfg
13. Thay thế UUID cũ bằng cái mới. UUID xuất hiện nhiều lần trong tệp cấu hình và chỉnh sửa giá trị này thủ công không tiện lợi. Trình soạn thảo văn bản vim cho phép bạn thực hiện thay thế tự động văn bản gốc bằng văn bản đích bằng cách sử dụng lệnh: :%s/source_text/target_text/g
Nơi %s có nghĩa là tất cả các giá trị phù hợp trong toàn bộ tệp văn bản phải được thay thế.
Trong ví dụ hiện tại của chúng tôi, chúng tôi sử dụng lệnh:
:%s/2516177b-e9a9-4502-bdae-a3626fe3ab0a/dd05b02c-8772-4ec2-9340-2473ec8c2f8b/g
Viết thay đổi trong tệp chỉ đọc và thoát vim.
:wq!
Lưu ý: Nếu Linux của bạn sử dụng nhiều phân vùng, hãy thay thế các giá trị UUID của tất cả các phân vùng có UUID được đề cập trong tệp grub.cfg .
14. Bây giờ bạn phải cài đặt lại GRUB vào trình tải khởi động vào cùng một thư mục nơi trình tải khởi động đã được cài đặt trước đó. Trong ví dụ của chúng tôi, GRUB đã được cài đặt trong thư mục /boot và thư mục /boot hiện có quyền truy cập tạm thời dưới dạng /mnt/ubuntu18/boot trong ví dụ của chúng tôi. Đĩa được sử dụng để khởi động Ubuntu là /dev/sda .
grub-install --boot-directory=/mnt/ubuntu18/boot /dev/sda
15. Tháo gỡ tất cả phân vùng đã được gắn kết trước đó:
umount /dev/sda1
16. Tắt VM
init 0
17. Cấu hình lại cài đặt khởi động để khởi động từ đĩa cứng ảo, không từ CD-ROM trong cài đặt VM.
18. Bật nguồn VM.
19. Bây giờ VM có thể khởi động từ đĩa cứng ảo của nó với GRUB trên máy chủ vật lý ESXi.
Vì vậy, bạn biết cách thực hiện chuyển đổi VMware P2V Linux với VMware vCenter Converter Standalone. Thật không may, phiên bản VMware converter cho Linux không có sẵn nhưng nếu bạn muốn chuyển đổi máy chủ Linux vật lý của mình thành VMware VM bằng cách chỉ sử dụng máy Linux, bạn nên làm quen với phương pháp chuyển đổi P2V Linux thứ hai.
Phương pháp 2 – Chuyển đổi VMware P2V Linux mà không cần VMware Converter
Phương pháp thứ hai để chuyển đổi máy Linux vật lý thành máy ảo định dạng ESXi không yêu cầu VMware vCenter Converter Standalone. Phương pháp này có thể được sử dụng cho người dùng và quản trị viên không có máy Windows trong môi trường của họ (như bạn nhớ, VMware vCenter Converter chỉ có thể được cài đặt trên Windows). Ý tưởng đằng sau phương pháp chuyển đổi P2V Linux thứ hai là như sau:
- Tạo các ảnh của đĩa vật lý của bạn được sử dụng trong máy chủ Linux vật lý với tiện ích dd
- Chuyển đổi các ảnh kết quả thành các ảnh định dạng vmdk
- Tạo một VM mới trong VMware Workstation (có thể chạy trên Linux hoặc Windows) sử dụng các đĩa ảo hiện có cho VM mới
- Xuất VM từ định dạng VMware Workstation thành mẫu OVF
- Tạo một VM mới trên máy chủ vật lý ESXi từ mẫu OVF
Trong ví dụ của chúng tôi, Ubuntu 18 được cài đặt trên máy vật lý phải được chuyển đổi, ESXi 6.5 và vCenter 6.5. được sử dụng làm điểm đến và VMware Workstation 15 được sử dụng làm điểm chuyển tiếp trong quy trình chuyển đổi P2V Linux.
Hướng dẫn từng bước
1. Trên máy chủ Linux vật lý, chạy tiện ích dd (trình sao chép dữ liệu) cho từng đĩa vật lý (/dev/sda , /dev/sdb v.v.) và tạo hình ảnh của từng đĩa. Bạn có thể gắn đĩa cứng ngoài USB vào máy Linux vật lý và lưu trữ hình ảnh tạo bằng tiện ích dd trên USB HDD đó. Sau đó, bạn có thể gắn USB HDD đó vào máy nơi cần tạo VM. Trong ví dụ này, tất cả các phân vùng do Linux sử dụng đều nằm trên đĩa /dev/sda :
dd if=/dev/sda of=/media/user1/data/sda.img bs=8M conv=sync,noerror status=progress
Ở đâu:
if=/dev/sda – tệp đầu vào là toàn bộ ổ đĩa vật lý;
of=/media/user1/data/sda.img – đường dẫn của tệp hình ảnh đầu ra nằm trên đĩa ngoài trong trường hợp này.
bs=8M – kích thước khối là 8 MB. Tùy chọn này tăng tốc độ vì dd sao chép dữ liệu bằng cách sử dụng các phần tử dữ liệu 512-Byte theo mặc định
conv=sync,noerror – được sử dụng để ngăn dd dừng khi xảy ra lỗi khi đọc dữ liệu từ ổ đĩa nguồn (file).
status=progress – sử dụng tùy chọn này để hiển thị tiến trình nhiệm vụ trong bảng điều khiển cho tiện lợi hơn
2. Cài đặt qemu là một ứng dụng nguồn mở để giả lập phần cứng. Bạn có thể cài đặt qemu trên bất kỳ máy Linux nào.
apt-get install qemu
3. Trong bảng điều khiển Linux, điều hướng đến thư mục nơi các tệp img bạn đã tạo trước đó được lưu trữ. Chuyển đổi hình ảnh đĩa của bạn đã được thực hiện với tiện ích dd từ định dạng tệp img sang định dạng vmdk . Qemu có thể được sử dụng cho nhiệm vụ này. Chúng tôi chuyển đổi một hình ảnh đĩa trong ví dụ của chúng tôi:
qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
Bây giờ hình ảnh đĩa đã được chuyển đổi sang định dạng vmdk và đã sẵn sàng để mở trong VMware Workstation. Như bạn nhớ, định dạng của đĩa ảo VMDK khác nhau đối với VMware Workstation và VMware ESXi. Các chi tiết về định dạng tệp VMDK được giải thích tại đây. Bạn cần xuất VM từ VMware Workstation sang mẫu OVF và sau đó nhập VM từ mẫu OVF sang máy chủ ESXi.
Hãy chắc chắn rằng VMware Workstation được cài đặt trên bất kỳ máy tính nào của bạn. Trong ví dụ của chúng tôi, VMware Workstation 15 được cài đặt trên một máy chạy Ubuntu 18, nhưng không phải trên máy Linux nguồn cần được chuyển đổi thành VM (chúng tôi không sử dụng Windows cho phương pháp chuyển đổi P2V Linux này). Quy trình thực hiện trên máy tính Windows cài đặt VMware Workstation cũng tương tự.
4. Tạo một thư mục mới trên máy tính đã cài đặt VMware Workstation, ví dụ: /vms/P2V_Linux
mkdir /vms/P2V_Linux
5. Sao chép các tệp vmdk đã được chuyển đổi bằng qemu vào thư mục đó. Trong trường hợp này, chúng ta sao chép tệp sda-vmware.vmdk vào thư mục đó.
6. Tạo một máy ảo mới trong VMware Workstation:
File > New virtual machine
Trình hướng dẫn New Virtual Machine Wizard sẽ được mở ra. Bạn nên thực hiện tất cả các bước cấu hình của trình hướng dẫn này:
Virtual Machine Configuration. Chọn Custom (advanced) để kích hoạt cấu hình các tùy chọn nâng cao. Nhấn Tiếp theo để tiếp tục.
Virtual Machine Hardware Compatibility. Chọn phiên bản phần cứng máy ảo cần thiết, ví dụ: Workstation 15.x.
Guest Operation System Installation. Chọn Tôi sẽ cài đặt hệ điều hành sau .
Guest Operating System. Chọn Linux , sau đó chọn Ubuntu 64-bit trong menu thả xuống.
Virtual Machine Name. Nhập tên và thiết lập vị trí cho máy ảo của bạn. Trong ví dụ này, tên máy ảo là P2V Linux và vị trí của nó là /vms/P2V_Linux_VM/
Processor configuration. Chọn số lượng bộ xử lý và số lõi bộ xử lý theo cấu hình được sử dụng trên máy Linux vật lý mà bạn đang chuyển đổi thành máy ảo VMware.
Memory for the Virtual Machine. Đặt dung lượng bộ nhớ sao cho ít nhất bằng với dung lượng bộ nhớ trên máy tính Linux vật lý của bạn.
Network Connection. Chọn loại mạng, ví dụ: Mạng cầu nối (Bridged networking) . Đảm bảo máy chủ Linux nguồn hiện đã ngắt kết nối để tránh xung đột mạng.
I/O Controller Types. Chọn giá trị được khuyến nghị. Trong ví dụ này, Bộ điều khiển SCSI: LSI Logic (Được khuyến nghị) được chọn.
Virtual Disk Type. Chọn loại đĩa được khuyến nghị. Trong trường hợp của chúng ta, đó là SCSI (Được khuyến nghị).
Select a Disk. Chọn tùy chọn Use an existing virtual disk.
Select an Existing Disk. Duyệt đến tệp vmdk phù hợp của đĩa đã chuyển đổi /dev/sda . Trong ví dụ hiện tại, tệp sda-vmware.vmdk được chọn làm đĩa ảo hiện có.
Lưu ý: Nếu bạn có nhiều đĩa cứng trên máy chủ Linux vật lý nguồn và nhiều tệp VMDK sau khi chuyển đổi, hãy chọn tệp vmdk đầu tiên được chuyển đổi từ đĩa /dev/sda . Thêm các đĩa khác thủ công sau khi tạo máy ảo bằng cách chỉnh sửa cài đặt máy ảo.
Nhấn Giữ định dạng hiện có để đảm bảo tương thích tốt hơn.
Ready to Create Virtual Machine. Kiểm tra tóm tắt cấu hình và nếu mọi thứ đều chính xác, nhấn Hoàn thành .
Sau khi VM được tạo, bạn có thể kiểm tra cấu hình VM trước khi bắt đầu VM.
Lưu ý: Nếu bạn đã chuyển đổi nhiều đĩa vật lý thành đĩa ảo, thêm các đĩa ảo còn lại bằng cách thực hiện các bước sau:
- Nhấn Cài đặt VM >
- Nhấn Thêm trên tab Phần cứng
- Chọn Đĩa cứng
- Chọn tùy chọn đề xuất (trong trường hợp của chúng tôi là SCSI)
- Nhấn Sử dụng đĩa ảo hiện có
- Chọn một tệp đĩa ảo
7. Khởi động VM trong VMware Workstation (đảm bảo rằng tất cả các đĩa ảo cần thiết được thêm vào cấu hình VM).
8. Khi hệ điều hành khách Linux của bạn được tải trên VM, kiểm tra kết nối mạng:
ifconfig
9. Cài đặt VMware Tools trên Linux chạy trên VM. Trong Ubuntu, VMware Tools có thể được cài đặt từ hình ảnh đĩa ISO ảo hoặc từ các kho phần mềm trực tuyến.
apt-get install open-vm-tools
10. Nếu mọi thứ đều chính xác, tắt VM và chuẩn bị tạo mẫu OVF để di chuyển VM đến máy chủ ESXi.
11. Trong GUI của VMware Workstation, nhấn File > Export to OVF.
12. Lưu tệp OVF trong thư mục với VM Linux của bạn, chẳng hạn. Trong ví dụ hiện tại, mẫu OVF được lưu vào /vms/P2V_Linux_VM/.
13. Mở VMware vSphere Client trong trình duyệt web của bạn.
14. Đi đến Máy chủ và Cấu trúc , sau đó chọn máy chủ ESXi của bạn mà bạn muốn chạy VM sau khi chuyển đổi.
15. Tạo VM từ một mẫu. Nhấn Actions > Deploy OVF Template.
Một cửa sổ mới của trình hướng dẫn Triển khai Mẫu OVF được mở và chứa 7 bước:
1. Chọn mẫu OVF . Nhấn Tệp cục bộ , sau đó nhấn Duyệt . Bạn nên chọn hai tệp – tệp OVF của mẫu VM và tệp VMDK (các tệp) của đĩa ảo (các đĩa ảo). Nếu bạn chỉ chọn một tệp mẫu OVF, một thông báo về các tệp bị thiếu và tên của chúng sẽ được hiển thị. Các tệp phải có thể truy cập từ máy mà trên đó bạn đã mở VMware vSphere Client (các tệp phải được lưu trữ trên đĩa cục bộ, SMB hoặc chia sẻ NFS, v.v.).
2. Chọn tên và thư mục . Chỉ định tên VM duy nhất và vị trí đích (một trung tâm dữ liệu hoặc thư mục VM). Trong ví dụ hiện tại, tên VM là P2V_Linux .
3. Chọn một tài nguyên máy tính . Tại bước này, bạn nên chọn một máy chủ ESXi hoặc cụm nơi máy ảo của bạn sẽ chạy.
Bạn có thể gặp lỗi ở bước này: Vấn đề được phát hiện với mẫu được chọn. Chi tiết: – -1:-1:VALUE_ILLEGAL: Không có các phiên bản phần cứng được hỗ trợ trong [vmx-16]; được hỗ trợ: [vmx-04, vmx-07, vmx-08, vmx-09, vmx-10, vmx-11, vmx-12, vmx-13].
Lỗi này có thể xảy ra khi phiên bản phần cứng được đặt trong mẫu VM cao hơn phiên bản phần cứng được máy chủ ESXi hỗ trợ.
Chỉnh sửa tệp OVF trong trình soạn thảo văn bản để khắc phục vấn đề này. Bạn có thể sử dụng Vim trên Linux. Truy cập vào thư mục nơi lưu trữ mẫu OVF và chỉnh sửa tệp:
vim P2V_Linux.ovf
Tìm chuỗi như vmx-xx , nơi xx là số phiên bản phần cứng của VM. Phiên bản phần cứng cao nhất được hỗ trợ cho ESXi 6.5 là 13 và trong mẫu của chúng tôi, phiên bản phần cứng VM đã đặt là 16.
Để tìm văn bản cần thiết trong Vim , trong chế độ điều hướng, hãy nhập:
/vmx-
Hãy chỉnh sửa vmx-16 thành vmx-12 , ví dụ, và lưu lại tệp OVF.
Khi bạn đã lưu các thay đổi trong tệp OVF, hãy quay lại VMware vSphere Client và nhấp Next vào bước Chọn một tài nguyên tính toán của trình hướng dẫn Triển khai Mẫu OVF .
4. Xem lại chi tiết . Trên bước này, bạn có thể xác minh các chi tiết về mẫu.
5. Chọn lưu trữ . Chọn kho dữ liệu đích để lưu trữ cấu hình và tệp đĩa của VM và chọn định dạng đĩa ảo (Lazy Zeroed Thick, Eager Zeroed Thick hoặc Thin Provision).
6. Chọn mạng . Chọn một mạng cho mỗi bộ điều hợp mạng ảo. Bạn nên cấu hình từng bộ điều hợp mạng để kết nối với mạng phù hợp.
7. Sẵn sàng hoàn tất . Xem lại cấu hình và nhấn Hoàn tất để bắt đầu tạo VM.
Đợi cho đến khi một VM mới được tạo từ mẫu.
16. Khi nhập khẩu VM từ mẫu OVF hoàn tất, hãy bật nguồn cho VM trên máy chủ ESXi của bạn. Đọc thêm về các mẫu VM trong bài blog. Nếu bạn nhận được thông báo “ Bạn có muốn thử kết nối thiết bị ảo này mỗi khi bật nguồn máy ảo không?”, hãy trả lời rằng bạn không muốn kết nối thiết bị đó mỗi khi khởi động VM bằng cách nhấp Không.
Một máy chủ Linux vật lý đã được chuyển đổi sang máy ảo mà không sử dụng Windows và VMware vCenter Converter Standalone. Quá trình chuyển đổi VMware P2V Linux đã được giải thích trên ví dụ của Ubuntu Linux. Nếu bạn cần chuyển đổi các máy chủ vật lý chạy các bản phân phối Linux khác như SUSE hoặc Red Hat sang máy ảo VMware, hãy sử dụng thuật toán tương tự, nhưng hãy nhớ rằng một số lệnh và vị trí tệp cấu hình có thể khác. Thay vì sử dụng apt-get trình quản lý gói trong SUSE, bạn nên sử dụng zypper và trong Red Hat sử dụng yum . Có thể bạn sẽ cần cấu hình lại cài đặt mạng của Máy ảo như địa chỉ IP, cổng mặc định, máy chủ DNS, v.v.
Bạn cũng có thể xem video này để thấy cả hai phương pháp chuyển đổi P2V Linux bằng VMware thực hiện như thế nào:
Kết Luận
Chuyển đổi một máy chủ Linux vật lý sang một máy ảo VMware có thể được thực hiện bằng nhiều phương pháp – sử dụng VMware vCenter Converter Standalone yêu cầu một máy Windows, và sử dụng các tiện ích Linux kết hợp với máy trạm VMware. Khi sử dụng bất kỳ phương pháp nào này, bạn có thể cần chỉnh sửa cấu hình VM thủ công. Khi sử dụng phương pháp đầu tiên, chỉ có thể sử dụng một máy chủ ESXi làm đích cho chuyển đổi P2V Linux, trong khi phương pháp thứ hai có thể sử dụng để chuyển đổi máy Linux vật lý sang cả hai định dạng VMware ESXi và máy trạm VMware.































