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
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 công ty hàng đầu trong lĩnh vực CNTT về cung cấp các giải pháp ảo hóa và 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 đăng trên blog này giải thích tầm quan trọng của Sao lưu máy chủ Linux và cách chuyển đổi máy chủ Linux vật lý sang máy ảo (VM) chạy trên máy chủ ESXi trong vSphere. Hai phương pháp chuyển đổi VMware P2V Linux khác nhau được xem xét trên ví dụ về Ubuntu 18.
Phương pháp 1 – Sử dụng VMware vCenter Converter
VMware vCenter Converter Standalone là một ứng dụng miễn phí có thể cài đặt trên Windows để chuyển đổi các máy vật lý Windows, máy vật lý Linux, máy ảo Hyper-V, máy ảo VMware và các máy ảo chạy trên Red Hat KVM hoặc RHEL XEN. Các loại đí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 vCenter Server; máy ảo cho VMware Workstation; máy ảo cho VMware Fusion.
Việc chuyển đổi một máy ảo Hyper-V thành máy ảo VMware nằm trên máy chủ ESXi đã được giải thích tại bài viết trên blog này.
Nguyên lý hoạt động
Khi chuyển đổi một máy Linux vật lý đang bật nguồn thành máy ảo định dạng VMware ESXi, VMware vCenter Converter Standalone không cài đặt trình điều khiển trên máy Linux nguồn (khác với máy Windows). Quá trình chuyển đổi có thể được chia thành hai giai đoạn chính.
Giai đoạn 1 . VMware Converter kết nối với máy Linux nguồn qua SSH và cho phép bạn chọn các thành phần cần sao chép, chẳng hạn như đĩa ảo và phân vùng. Dựa trên các thành phần đã chọn của máy Linux vật lý nguồn và cài đặt đã định cấu hình của máy ảo đích, trình chuyển đổi 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 sẽ tạo một máy ảo trợ giúp trên máy chủ ESXi đích và các kho dữ liệu. Sau đó, trình chuyển đổi sẽ 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, máy này sẽ 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áy ảo trợ giúp được triển khai từ hình ảnh ISO dựa trên Linux được lưu trữ trên hệ thống tệp của máy tính Windows nơi trình chuyển đổi được cài đặt. Vị trí của các tệp converter-helper-vm.iso và converter-helper-vm-x64.iso được sử dụng để 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 đích, máy ảo có thể được cấu hình lại bằng 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 phải được đáp ứng để thực hiện chuyển đổi VMware P2V Linux bằng VMware Converter:
- Một máy vật lý chạy Linux phải được bật nguồn.
- Một máy chủ ESXi phải được bật nguồn và có thể truy cập qua mạng. Máy khách 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 việc giao tiếp mạng.
- Trình tải khởi động GRUB phải được sử dụng trên máy Linux vật lý cần chuyển đổi. LILO không được hỗ trợ.
- Các đĩ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 bằng lệnh:
apt-get install openssh-server
Quyền truy cập từ xa cho người dùng bằng mật khẩu qua SSH có thể được cấu hình bằng cách chỉnh sửa tệp sshd_config :
vim /etc/ssh/sshd_config
Tạo hoặc bỏ bình luận dòng:
PasswordAuthentication yes
Lưu tệp cấu hình
:wq
Khởi động lại daemon sshd (dịch vụ)
service sshd restart
Chuyển đổi VMware Converter Linux P2V: Hướng dẫn từng bước
Để thực hiện chuyển đổi Linux P2V, bạn nên thực hiện 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 trình 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 EXE và làm theo hướng dẫn của trình hướng dẫn cài đặt. Trong ví dụ hôm nay, chúng tôi sử dụng VMware Converter 6.2.
3. Chạy VMware vCenter Converter Standalone.
4. Nhấp vào Convert machine.
5. Source System. Chọn hệ thống nguồn trong trình hướng dẫn chuyển đổi máy đang 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. Lưu ý 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 các kết nối SSH trong bước này. Nếu không, thông báo lỗi sau 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 giao diện điều khiển Linux qua SSH bằng cách sử dụng tổ hợp tên đăng nhập/mật khẩu hoặc tệp khóa riêng. Trong ví dụ này, người dùng có tên user1 với mật khẩu được sử dụng.
5.1. Nhấp vào View source details để xem chi tiết về máy Linux từ xa cần chuyển đổi thành máy ảo VMware. Nhấp vào 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), hãy nhấp vào Có để kết nối. Đôi khi trình chuyển đổi không thể thực thi 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. Hãy đảm bảo rằng bạn có thể chạy lệnh `sudo` mà không cần nhập mật khẩu khi đăng nhập vào máy nguồn qua SSH với tên người dùng là `your_username` .
Trong trường hợp này, bạn phải chỉnh sửa tệp /etc/sudoers và cho phép người dùng của bạn chạy sudo mà không cần nhập mật khẩu. Thay vì chỉnh sửa /etc/sudoers theo cách thủ công, hãy sử dụng lệnh sau:
visudo
Thêm dòng sau vào cuối tệp như sau:
user1 ALL=(ALL) NOPASSWD: ALL
Trong đó user1 là tên người dùng của chúng ta. Bạn cần nhập tên người dùng của mình. Nhấn Ctrl+X để thoát và nhấn Y (Yes) để 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 VMware Infrastructure nếu bạn đang chuyển đổi một 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áy ảo VMware. Đ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 mà bạn muốn chạy máy ảo đã chuyển đổi được quản lý bởi vCenter, hãy chọn địa chỉ IP của máy chủ vCenter Server và xác định thông tin đăng nhập 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 Server.
Lưu ý: Bạn không thể chuyển đổi máy Linux vật lý sang máy ảo định dạng VMware Workstation bằng 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 đích, 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 cao nhất được hỗ trợ sẽ đượ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 cần sao chép . Bạn có thể chọn tất cả các khối lượng hoặc các khối lượng tùy chỉnh để sao chép và chọn loại cấp phát đĩa ảo ((cấu hình dung lượng dày hoặc mỏng). Bạn cũng có thể lưu trữ mỗi đĩa ảo trên một kho dữ liệu khác nhau. Giữ ô chọn “ Tạo bố cục phân vùng tối ưu ” được đánh dấu. Tùy chọn này được sử dụng để tối ưu hóa sự căn chỉnh của các phân vùng đĩa.
Thiết bị . Đặt dung lượng bộ nhớ cần thiết cho máy ảo đích tại tab Memory . Đặt bộ điều khiển đĩa, số lượng bộ xử lý và nhân bộ xử lý tại tab Other .
Networks . 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 kết nối tới được kết nối, loại bộ điều khiển mạng và đánh dấu vào ô chọn Connect at power-on nếu cần.
Advanced options . Các thiết lập sau khi chuyển đổi được đặt trong phần này. Trong trường hợp của chúng ta, khi chuyển đổi máy chủ Linux vật lý sang máy ảo VMware, chỉ có tùy chọn Reconfigure destination virtual machine là khả dụng. Tùy chọn này được sử dụng để cấu hình trình tải 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óa hơn cho việc chạy máy ảo trong môi trường ảo VMware (với phần cứng ảo phù hợp).
Mạng máy ảo trợ giúp . Trong quá trình chuyển đổi máy chủ Linux thành máy ảo, VMware vCenter Converter sẽ tạo một máy ảo trợ giúp trên máy chủ đích/bộ lưu trữ dữ liệu. Máy ảo trợ giúp phải có quyền truy cập qua mạng đến máy vật lý nguồn chạy Linux để sao chép tất 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 mặc định và máy chủ DNS được sử dụng cho kết nối mạng của máy ảo trợ giúp.
10. Summary. Kiểm tra tất cả cài đặt chuyển đổi cho quá trình chuyển đổi P2V Linux của bạn và nếu mọi thứ đều chính xác, nhấp vào Hoàn tất để bắt đầu quá trình chuyển đổi.
11. Chờ cho đến khi quá trình chuyển đổi hoàn tất. Thời gian chuyển đổi phụ thuộc vào lượng dữ liệu được lưu trữ trên các đĩa của máy Linux nguồn. Nếu sau khi chuyển đổi hoàn tất, bạn thấy trạng thái Completed của tác vụ chuyển đổi trong VMware vCenter Converter, bạn có thể khởi động máy ảo Linux đích trong giao diện 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ể dừng lại ở 97% với lỗi:
FAILED: Đã 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ã trả về: 127, và thông báo: FATAL: kernel quá cũ Lỗi khi chạy vmware-updateGrub.sh thông qua chroot vào /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 do trình tải khởi động GRUB không được VMware vCenter Converter thiết lập đúng cách 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 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 cài đặt, 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ụ của chúng tôi, 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 cư trú 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.
Thay thế, 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 DVD Live và bạn sẽ thấy Màn hình nền Ubuntu.
5. Mở Bảng điều khiển Ubuntu 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 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 từng 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ác thư mục khác.
9. Cài đặt V im (trình soạn thảo văn bản).
apt-get install vim
10. Kiểm tra mã định danh đĩa (UUID) của từng phân vùng. Bạn cần biết UUID của phân vùng chứa thư mục /boot (hoặc phân vùng được gắn vào thư mục /boot ). Hãy ghi 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 bản cài đặt Ubuntu. Tệp /etc/fstab nằm trong thư mục tạm thời mà chúng ta đã gắn 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 gắn phân vùng tự động khi khởi động Linux. Thay đổi các giá trị UUID cũ được sử dụng cho các đĩa trên máy Linux vật lý thành các giá trị UUID mới được sử dụng trên máy ảo mới. 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 hệ thống Linux của bạn 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 v.v. để có thể tự động gắn các phân vùng đó khi khởi động Linux.
12. Chỉnh sửa tệp cấu hình GRUB thường nằm trong thư mục /boot/grub/ . Hãy ghi nhớ thư mục tạm thời mà bạn đã gắn phân vùng chứa các tệp của thư mục /boot/ . Sau khi chuyển đổi máy Linux vật lý thành máy ảo, UUID của đĩa đã bị thay đổi trên máy ảo đích và vì lý do này, trình tải 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úng ta chỉnh sửa tệp grub.cfg bằng lệnh:
vim /mnt/ubuntu18/boot/grub/grub.cfg
13. Thay thế UUID cũ bằng UUID mới. UUID xuất hiện nhiều lần trong tệp cấu hình và việc chỉnh sửa giá trị này thủ công không thuận tiện. 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 nguồn bằng văn bản đích bằng cách sử dụng lệnh: :%s/source_text/target_text/g
Trong đó %s có nghĩa là tất cả các giá trị trùng khớp trong toàn bộ tệp văn bản phải được thay thế.
Trong ví dụ hiện tại, chúng ta sử dụng lệnh:
:%s/2516177b-e9a9-4502-bdae-a3626fe3ab0a/dd05b02c-8772-4ec2-9340-2473ec8c2f8b/g
Lưu các thay đổi vào tệp chỉ đọc và thoát khỏi vim.
:wq!
Lưu ý: Nếu hệ thống 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 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ó thể truy cập tạm thời tại /mnt/ubuntu18/boot trong ví dụ của chúng tôi. Ổ đĩa được sử dụng để khởi động Ubuntu là /dev/sda tương ứng.
grub-install --boot-directory=/mnt/ubuntu18/boot /dev/sda
15. Gỡ bỏ tất cả các phân vùng đã được gắn trước đó:
umount /dev/sda1
16. Tắt máy ảo (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 phải từ CD-ROM trong cài đặt máy ảo.
18. Bật máy ảo.
19. Bây giờ máy ảo có thể khởi động từ đĩa cứng ảo của nó với GRUB trên máy chủ ESXi.
Như vậy, bạn đã biết cách thực hiện chuyển đổi VMware P2V Linux bằng VMware vCenter Converter Standalone. Rất tiếc, phiên bản VMware Converter cho Linux hiện không có sẵn, nhưng nếu bạn muốn chuyển đổi máy chủ Linux vật lý sang máy ảo VMware chỉ bằng các 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 P2V Linux mà không cần VMware Converter
Phương pháp thứ hai để chuyển đổi máy Linux vật lý sang 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 tính Windows trong môi trường của họ (như bạn đã biết, VMware vCenter Converter chỉ có thể được cài đặt trên Windows). Ý tưởng đằng sau phương pháp chuyển đổi VMware P2V Linux thứ hai như sau:
- Tạo ảnh của các đĩa vật lý được sử dụng trong máy chủ Linux vật lý bằng công cụ dd
- Chuyển đổi các ảnh thu được thành ảnh định dạng vmdk
- Tạo một máy ảo mới trong VMware Workstation (có thể chạy trên Linux hoặc Windows) bằng cách sử dụng các đĩa ảo hiện có cho máy ảo mới
- Xuất máy ảo từ định dạng VMware Workstation sang mẫu OVF
- Tạo máy ảo mới trên máy chủ ESXi từ mẫu OVF
Trong ví dụ của chúng tôi, Ubuntu 18 được cài đặt trên một máy vật lý cần được chuyển đổi, ESXi 6.5 và vCenter 6.5 được sử dụng làm đích đến, và VMware Workstation 15 được sử dụng làm điểm trung gian trong quá trình chuyển đổi P2V trên Linux.
Hướng dẫn từng bước
1. Trên máy chủ Linux vật lý, hãy chạy dd (công cụ sao chép dữ liệu) cho từng đĩa cứng vật lý (/dev/sda , /dev/sdb v.v.) và tạo ảnh sao chép cho từng đĩa. Bạn có thể kết nối một ổ cứng USB với máy Linux vật lý của mình và lưu trữ các bản sao được tạo bằng các công cụ dd trên ổ cứng USB đó. Sau đó, bạn có thể kết nối ổ cứng USB đó với một máy tính mà trên đó cần tạo một máy ảo. Trong ví dụ hiện tại, tất cả các phân vùng được 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
Trong đó:
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 đến tệp hình ảnh đầu ra, trong trường hợp này nằm trên đĩa ngoài.
bs=8M – kích thước khối là 8 MB. Tùy chọn này giúp tăng tốc độ vì dd sao chép dữ liệu bằng cách sử dụng các phần dữ liệu 512 byte theo mặc định
conv=sync,noerror – được sử dụng để ngăn dd dừng lại khi gặp lỗi khi đọc dữ liệu từ đĩa nguồn (tệp).
status=progress – sử dụng tùy chọn này để hiển thị tiến trình tác vụ trên giao diện điều khiển cho thuận tiện hơn
2. Cài đặt qemu đây là một ứng dụng mã nguồn mở để mô phỏng 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, hãy chuyển đến thư mục chứa các tệp img mà bạn đã tạo trước đó. Chuyển đổi hình ảnh đĩa của bạn được tạo bằng tiện ích dd từ định dạng tệp img sang định dạng vmdk . Qemu có thể được sử dụng cho tác vụ này. Chúng ta sẽ chuyển đổi một hình ảnh đĩa trong ví dụ này:
qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
Bây giờ các 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 đã biết, định dạng đĩa ảo VMDK khác nhau giữa VMware Workstation và VMware ESXi. Chi tiết về định dạng tệp VMDK được giải thích tại tại đây. Bạn cần xuất một máy ảo (VM) từ VMware Workstation sang mẫu OVF, sau đó nhập máy ảo từ mẫu OVF vào máy chủ ESXi.
Đảm bảo rằng VMware Workstation đã được cài đặt trên một trong các máy tính 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 máy ảo (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 chạy 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 tôi 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ớ í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 . Đả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 của bạn. 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ó để 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, hãy nhấp vào Hoàn tất .
Sau khi máy ảo được tạo, bạn có thể kiểm tra cấu hình máy ảo trước khi khởi động máy ảo.
Lưu ý: Nếu bạn đã chuyển đổi nhiều đĩa vật lý thành đĩa ảo, hãy thêm các đĩa ảo còn lại bằng cách thực hiện như sau:
- Nhấp vào Máy ảo > Cài đặt
- Nhấp vào Thêm trên Phần cứng tab
- Chọn Đĩa cứng
- Chọn tùy chọn được đề xuất (SCSI trong trường hợp của chúng tôi)
- Nhấn Sử dụng đĩa ảo hiện có
- Chọn tệp đĩa ảo
7. Bật nguồn máy ảo 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 máy ảo).
8. Khi máy khách Linux của bạn đã được tải trên máy ảo, hãy kiểm tra kết nối mạng:
ifconfig
9. Cài đặt VMware Tools trên Linux đang chạy trên máy ảo. Trong Ubuntu, VMware Tools có thể được cài đặt từ hình ảnh đĩa ISO ảo hoặc từ 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, hãy tắt máy ảo và chuẩn bị tạo mẫu OVF để di chuyển máy ảo sang máy chủ ESXi.
11. Trong giao diện người dùng (GUI) của VMware Workstation, nhấp vào File > Export to OVF.
12. Lưu tệp OVF vào thư mục chứa máy ảo Linux của bạn, ví dụ. 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. Truy cập Hosts and Clusters , sau đó chọn máy chủ ESXi mà bạn muốn chạy máy ảo sau khi chuyển đổi.
15. Tạo máy ảo từ mẫu. Nhấp vào Actions > Deploy OVF Template.
Một cửa sổ mới của trình hướng dẫn Deploy OVF Template sẽ mở ra và bao gồm 7 bước:
1. Chọn mẫu OVF . Nhấp vào Tệp cục bộ , sau đó nhấp vào Duyệt . Bạn nên chọn hai tệp – tệp OVF của mẫu máy ảo và tệp (các tệp) VMDK của đĩa ảo (các đĩa). 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 được từ máy mà bạn đã mở VMware vSphere Client (các tệp phải được lưu trữ trên đĩa cục bộ, chia sẻ SMB hoặc NFS, v.v.).
2. Chọn tên và thư mục . Chỉ định tên máy ảo duy nhất và vị trí đích (trung tâm dữ liệu hoặc thư mục máy ảo). Trong ví dụ hiện tại, tên máy ảo là P2V_Linux .
3. Chọn tài nguyên tính toán . Ở bước này, bạn cần chọn một máy chủ ESXi hoặc cụm máy chủ ESXi để chạy máy ảo (VM) của mình.
Bạn có thể gặp lỗi ở bước này: Phát hiện sự cố với mẫu đã chọn. Chi tiết: – -1:-1:VALUE_ILLEGAL: Không có phiên bản phần cứng nào được hỗ trợ trong danh sách [vmx-16]; các phiên bản đượ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 thiết lập trong mẫu máy ảo cao hơn phiên bản phần cứng được hỗ trợ bởi máy chủ ESXi.
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 chứa mẫu OVF và chỉnh sửa tệp:
vim P2V_Linux.ovf
Tìm chuỗi tương tự như vmx-xx , trong đó xx là số phiên bản phần cứng của máy ảo. Phiên bản phần cứng cao nhất được hỗ trợ cho ESXi 6.5 là 13, trong khi mẫu của chúng ta đã thiết lập phiên bản phần cứng máy ảo là 16.
Để tìm văn bản cần thiết trong Vim , trong chế độ điều hướng, nhập:
/vmx-
Hãy chỉnh sửa vmx-16 thành vmx-12 , ví dụ, và lưu tệp OVF.
Sau khi đã lưu các thay đổi trong tệp OVF, quay lại VMware vSphere Client và nhấp vào Next trên bước Chọn 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 . Tại bước này, bạn có thể xác minh chi tiết của mẫu.
5. Chọn lưu trữ . Chọn kho dữ liệu đích để lưu trữ các tệp cấu hình và đĩa của máy ảo, đồng thời 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 tương ứng.
7. Sẵn sàng hoàn tất . Kiểm tra lại cấu hình và nhấp vào Hoàn tất để bắt đầu tạo máy ảo.
Chờ cho đến khi máy ảo mới được tạo từ mẫu.
16. Khi quá trình nhập máy ảo từ mẫu OVF hoàn tất, hãy bật nguồn máy ảo trên máy chủ ESXi của bạn. Tìm hiểu thêm về mẫu máy ảo tại đây bài viết trên blog. Nếu bạn nhận được thông báo “ Do you want to try to connect this virtual device every time you power on the virtual machine?”, hãy trả lời rằng bạn không muốn kết nối thiết bị đó mỗi lần khởi động máy ảo bằng cách nhấp vào No.
Một máy chủ Linux vật lý đã được chuyển đổi thành máy ảo mà không sử dụng Windows và VMware vCenter Converter Standalone. Quy 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ý đang 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 quy trình tương tự, nhưng lưu ý rằng một số lệnh và vị trí của các tệp cấu hình có thể khác nhau. Thay vì sử dụng apt-get trong SUSE, bạn nên sử dụng zypper và trong Red Hat, hãy sử dụng yum . Bạn có thể cần phải cấu hình lại các thiết lập mạng của máy ảo như địa chỉ IP, cổng mặc định, máy chủ DNS, v.v.
Kết luận
Việc chuyển đổi một máy chủ Linux vật lý thành máy ảo VMware có thể được thực hiện bằng nhiều phương pháp khác nhau – với VMware vCenter Converter Standalone yêu cầu một máy Windows, và bằng cách sử dụng các tiện ích Linux kết hợp với VMware Workstation. Khi sử dụng bất kỳ phương pháp nào trong số này, bạn có thể cần phải chỉnh sửa cấu hình máy ảo thủ công. Khi sử dụng phương pháp đầu tiên, chỉ có thể sử dụng máy chủ ESXi làm đích cho quá trình chuyển đổi P2V Linux, trong khi phương pháp thứ hai có thể được sử dụng để chuyển đổi máy Linux vật lý sang cả định dạng VMware ESXi và VMware Workstation.































