Những cách hiệu quả nhất để chuyển tệp từ máy ảo sang máy chủ
Máy ảo mang lại nhiều lợi ích, chẳng hạn như tính linh hoạt, sử dụng tài nguyên hợp lý và khả năng chạy trong các môi trường cách ly. Một tác vụ phổ biến trong môi trường ảo là sao chép tệp giữa các máy ảo và máy chủ. Hãy đọc bài viết này để tìm hiểu cách sao chép tệp từ máy chủ sang máy ảo, cách chuyển tệp từ máy ảo sang máy chủ, cũng như cách sao chép tệp giữa các máy ảo.
Các Thành Phần Của Môi Trường Chúng Ta
Hãy bắt đầu bằng cách xem xét thuật ngữ:
- Một máy chủ vật lý là một máy vật lý mà trên đó một phần mềm ảo hóa được cài đặt.
- Một phần mềm ảo hóa là phần mềm để chạy máy ảo trên máy chủ vật lý. Có hai loại phần mềm ảo hóa:
- Loại 1: Sử dụng máy chủ ESXi, đó là máy chủ vật lý
- Loại 2: Sử dụng VMware Workstation, và trong trường hợp này, Windows và Linux có thể là hệ điều hành của máy chủ vật lý
Trong hướng dẫn này, môi trường được sử dụng để giải thích cách chuyển tệp từ máy ảo sang máy chủ vật lý bao gồm các thành phần sau:
- Host ESXi 1: 192.168.101.201
- Host ESXi 2: 192.168.101.202
- Máy Ubuntu Linux: 192.168.101.210
- Máy chủ vật lý Windows với VMware Workstation cài đặt
- Mạng: 192.168.101.0/24
- Các VM ESXi và các VM trên VMware Workstation kết nối với cùng một mạng
Chúng ta sử dụng các công nghệ sau để sao chép tệp giữa các VM và máy chủ vật lý:
- Thư mục Chia sẻ
- Bảng tạm Chia sẻ và Kéo và Thả
- Thiết bị Lưu trữ USB
- PowerCLI
- SSH và SCP
- NFS Share
- Tải về / Tải lên tệp trong giao diện web VMware
- Tệp ISO
Sử Dụng Thư Mục Chia Sẻ Để Chuyển Tệp VM sang Máy Chủ Vật Lý
Thư mục chia sẻ là một tính năng tiện lợi trong VMware Workstation để chuyển tệp giữa máy chủ vật lý Windows hoặc Linux mà trên đó VMware Workstation được cài đặt và VM chạy trên VMware Workstation. Đối với macOS, VMware Fusion là tương đương với VMware Workstation và hỗ trợ các tính năng tương tự.
Bây giờ, hãy cùng đi qua các bước để chuyển tệp từ VM sang máy chủ vật lý và ngược lại bằng cách sử dụng các thư mục chia sẻ của VMware.
Lưu ý: Để tính năng này hoạt động, VMware Tools phải được cài đặt trên một VM. Dữ liệu giữa máy chủ vật lý và VM được chuyển qua sự tương tác thông qua VMware Tools giữa hệ điều hành máy chủ và máy khách mà không cần sử dụng mạng.
- Chọn một VM mà bạn muốn cấu hình chia sẻ tệp VMware. Chúng tôi chọn một trong những VM Windows của chúng tôi.
- Nhấn
VM > Settings(Chỉnh sửa cài đặt máy ảo) trong giao diện VMware Workstation GUI. - Trong cửa sổ
Virtual Machine Settings, chọn tabOptionsvà nhấp vàoShared Folders. Trong phân đoạnFolder sharing, chọnAlways enabled. Nếu muốn, bạn có thể ánh xạ một thư mục chia sẻ thành ổ đĩa mạng trong các hệ điều hành khách Windows để thuận tiện hơn bằng cách chọn hộp kiểm. - Nhấp vào
Addđể chọn thư mục sẽ được sử dụng làm thư mục chia sẻ.
- Nhập đường dẫn đến thư mục cần chia sẻ trên máy chủ hoặc nhấp vào
Browsevà chọn thư mục cần thiết. Chúng ta chọnC:tempshare-VMNhập tên cho thư mục chia sẻ, ví dụ:
share-VMNhấp vào
Next.
- Chọn
Enable this share. Nếu bạn muốn các máy ảo (VM) truy cập thư mục chia sẻ ở chế độ chỉ đọc, hãy chọn hộp kiểmRead-only. Nhấp vàoFinish.
- Thư mục chia sẻ mới hiện được hiển thị trong danh sách các thư mục chia sẻ trong tab
Optionscủa cửa sổVirtual machine settings. Một thư mục chia sẻ được kích hoạt nếu hộp kiểm tương ứng bên cạnh tên tệp đã được chọn.Nhấp vào
OKđể lưu cài đặt.
- Mở giao diện người dùng của máy ảo Windows được sử dụng để chia sẻ thư mục thông qua tính năng
Shared folders. - Nhấp vào
Network(My Network Places) trongMy Computer(This PC) hoặc Windows Explorer để xem các máy tính có sẵn trong mạng. - Chọn
vmware-hostlàm tên máy tính trên đó thư mục chia sẻ đã được cấu hình. Tên này được đặt mặc định và được ánh xạ đến máy vật lý (máy chủ) của bạn có chứa thư mục chia sẻ.
- Nhấp vào
Shared Foldersvà chọn thư mục chia sẻ cần thiết (share-VMtrong ví dụ của chúng tôi). Đường dẫn đầy đủ đến thư mục chia sẻ, trong trường hợp của chúng tôi, làvmware-hostShared Foldersshare-VM
Bạn có thể sao chép tệp từ máy chủ sang máy ảo và từ máy ảo sang máy chủ. Trong ví dụ này, chúng tôi đã sao chép Test01.txt từ máy chủ Windows sang máy khách Windows bằng tính năng chia sẻ tệp của VMware trong VMware Workstation.

Đối với máy khách Linux, bạn có thể gắn tất cả các thư mục chia sẻ của VMware bằng lệnh như được hiển thị bên dưới:
- Trong Linux với kernel trước phiên bản 4.0:
mount -t vmhgfs .host:/ /home/user1/shares - Trên hệ điều hành Linux với kernel 4.0 trở lên:
/usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other
Nếu bạn muốn giữ thư mục chia sẻ được gắn sau khi khởi động lại máy ảo (VM), hãy thêm các dòng tương ứng kèm chú thích và cấu hình tại /etc/fstab , ví dụ:
#
Thư mục chia sẻ VMware để chuyển tệp giữa máy khách VMware và máy chủ
.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0
Trước khi chuyển sang phần tiếp theo, lưu ý rằng tính năng thư mục chia sẻ chỉ có sẵn trong VMware Workstation (và VMware Fusion trên macOS), và không khả dụng cho các máy ảo chạy trên máy chủ ESXi. Đối với các máy chủ ESXi, bạn có thể chia sẻ một thư mục theo cách thủ công và sử dụng mạng để sao chép tập tin giữa các máy Windows. Để sao chép tập tin từ VM sang máy chủ ESXi, bạn nên sử dụng một công cụ bổ sung hoặc kết hợp sao chép tập tin từ một thư mục được chia sẻ thủ công với một trong các phương pháp được giải thích dưới đây.
Có các phương pháp khác cho Chia sẻ thư mục trong Windows 10 và Windows Server 2019. Bạn cũng có thể tìm hiểu thêm về giao thức Chia sẻ tệp trong doanh nghiệp vừa và nhỏ (SMB).
Nếu bạn có tài khoản Windows với quyền quản trị và chính sách bảo mật cho phép truy cập vào các chia sẻ quản trị bị ẩn mặc định, bạn có thể truy cập tập tin trên các đĩa cục bộ của máy Windows bằng cách sử dụng đường dẫn đến chia sẻ như:
IP-Addressc$
Nơi:
IP-Address là địa chỉ IP hoặc tên máy chủ của máy Windows từ xa.
C$ là ký tự ổ đĩa cần thiết trên máy Windows từ xa mà là một chia sẻ hệ thống bị ẩn.
Sử dụng Bảng Nhớ Tạm Chia Sẻ để Truyền Tập Tin đến VM từ Máy chủ
Bảng nhớ tạm chia sẻ là một tính năng cho phép bạn sao chép và dán nội dung như văn bản và toàn bộ tập tin từ một máy ảo đến một máy chủ mà VMware Workstation được cài đặt. Quá trình này tương tự như quá trình khi bạn sao chép-dán nội dung giữa các cửa sổ ứng dụng khác nhau trong Windows hoặc Linux với GUI.
Phạm vi đầy đủ của các tính năng có sẵn trong VMware Workstation, cho phép bạn truyền tập tin đến máy ảo từ máy chủ và đến máy chủ từ VM. Bạn có thể sử dụng kéo và thả tập tin như một cách thay thế để sao chép-dán.
Bảng Nhớ Tạm Chia Sẻ trong VMware Workstation
Hãy xem cách truyền tập tin đến các VM trên VMware Workstation bằng bảng nhớ tạm chia sẻ và Kéo và Thả. Trong ví dụ của chúng tôi, VMware Workstation được cài đặt trên một máy chủ Windows.
- Chọn VM của bạn trong khung bên trái nơi các VM đang được liệt kê.
- Nhấp
Edit virtual machine settings(VM > Settings).
- Chọn tab
Optionsvà nhấpGuest Isolation.Chọn hai hộp kiểm:
- Enable drag and drop
- Enable copy and paste
Nhấp
OKđể lưu cài đặt và đóng cửa sổ.
Bảng Nhớ Tạm Chia Sẻ trong VMware ESXi
Đối với các VM chạy trên VMware ESXi, bạn không thể sao chép bất kỳ tập tin nào bằng cách kéo và thả hoặc qua bảng nhớ tạm chia sẻ giữa một VM trên máy chủ ESXi và bất kỳ máy nào khác. Tùy chọn duy nhất là sao chép-dán văn bản giữa một VM chạy trên ESXi và máy cục bộ của bạn (trên đó VMware Workstation hoặc Bảng điều khiển từ xa VMware được cài đặt). Sao chép-dán và kéo và thả cho tập tin không được hỗ trợ vì lý do bảo mật. Tuy nhiên, nếu bạn không thể sao chép tệp cấu hình, ví dụ, bạn có thể sao chép nội dung văn bản của tệp bằng cách sử dụng bảng tạm được chia sẻ. Theo mặc định, bảng tạm được chia sẻ đã vô hiệu hóa trong cài đặt của VM trên ESXi. Thực hiện những bước sau trên Máy chủ vật lý ESXi để kích hoạt bảng tạm được chia sẻ để sao chép-dán dữ liệu văn bản:
- VM phải được tắt nguồn khi chỉnh sửa cài đặt của VM. Tắt VM nếu VM đang chạy.
- Mở
VM settings. Bạn có thể sử dụng VMware Host Client và VMware vSphere Client. Chọn một VM, nhấpEdit VM settingsvà chọn thẻVM options.Mở rộng phần
Advanced Settingsvà nhấpEdit Configuration.
- Bạn cần thêm ba thông số cấu hình vào cài đặt của VM (được ghi vào tệp cấu hình VMX của VM). Nhấp
Add parameter.
- Thêm ba thông số sau:
isolation.tools.copy.disable FALSEisolation.tools.paste.disable FALSEisolation.tools.setGUIOptions.enable TRUE - Nhấp
OKvà lưu cài đặt.
Như một giải pháp thay thế, bạn có thể chỉnh sửa thủ công một tệp VMX với cấu hình VM nằm trong kho dữ liệu ESXi trong thư mục VM.
- Đăng nhập vào ESXi shell cục bộ hoặc qua SSH.
- Truy cập vào thư mục VM (một thư mục nơi lưu trữ các tệp của VM trên kho dữ liệu). Trong trường hợp của chúng tôi, chúng tôi vào thư mục này:
cd /vmfs/volumes/datastore10a/Windows-VM/
- Chỉnh sửa tệp cấu hình VMX. Trong trường hợp của chúng tôi, tệp là
Windows-VM.vmxvi Windows-VM.vmx - Thêm ba thông số được hiển thị ở trên vào cuối tệp cấu hình này.
- Lưu thay đổi và đóng tệp (thoát khỏi trình soạn thảo văn bản).

Bây giờ chúng tôi có thể sao chép và dán văn bản giữa máy cục bộ và Máy ảo chạy trên Máy chủ vật lý ESXi bằng cách sử dụng VMware Remote Console và VMware Workstation để kết nối với một Máy ảo.
Sử dụng Thiết bị Lưu trữ USB
VMware ESXi và VMware Workstation hỗ trợ tính năng USB passthrough, cho phép bạn cắm thiết bị USB vào máy chủ và kết nối thiết bị USB này với một Máy ảo đang chạy trên máy chủ này. Bạn có thể kết nối thiết bị lưu trữ USB với máy chủ và Máy ảo lần lượt để sao chép tệp giữa các máy này theo cả hai chiều.
Ghi chú: VMware Tools phải được cài đặt trên hệ điều hành khách của VM để sử dụng tính năng USB passthrough.
Sao chép tệp giữa các Máy ảo Workstation của VMware và Máy chủ vật lý
Thực hiện các bước sau để chuyển các tệp từ Máy ảo sang Máy chủ vật lý trong VMware Workstation được cài đặt trên máy chủ Windows và Linux (giao diện được thống nhất):
- Bật máy ảo.
- Kết nối thiết bị lưu trữ USB, chẳng hạn như ổ đĩa cứng USB (HDD) hoặc ổ đĩa flash USB, với máy tính vật lý là máy tính chủ.
- Cửa sổ
New USB Device Detectedsẽ mở ra trong VMware Workstation. Chọn nơi bạn muốn kết nối thiết bị USB của bạn:- Kết nối với Máy chủ vật lý
- Kết nối với máy ảo
Chúng ta hãy chọn tùy chọn thứ hai và kết nối ổ đĩa flash USB của chúng ta với máy ảo. Chúng tôi đang chạy một Máy ảo Windows trong ví dụ này. Nếu có nhiều Máy ảo đang chạy trên VMware Workstation, bạn phải chọn Máy ảo cần thiết trong danh sách. Thiết bị USB có thể chỉ được kết nối với một Máy ảo tại một thời điểm. Nhấn
OKđể tiếp tục.
Nếu thiết bị lưu trữ USB của bạn đã được cắm vào cổng USB của máy chủ vật lý trên đó VMware Workstation đang cài đặt, cửa sổ bật lên với các tùy chọn truyền qua USB sẽ không hiển thị tự động. Bạn có thể kết nối thiết bị USB với một Máy ảo (ngắt kết nối khỏi Máy chủ vật lý) trong menu:
Đi tới
VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from host).Trong ví dụ của chúng tôi, tên ổ đĩa flash USB là Kingston DataTraveler 2.0.

- Bây giờ chúng ta có thể thấy ổ đĩa flash USB được kết nối với Máy ảo Windows 7 trong danh sách ổ đĩa của Máy tính của tôi (Windows Explorer). Để kiểm tra thiết bị lưu trữ USB:
- Nhấp chuột phải
My Computervà nhấnManage. - Đi tới
Computer Management > Device Manager and Computer Management > Disk Managementtrong phần thích hợp sau khi bạn nhấp chuột phải.
Nếu một ký tự ổ đĩa không được gán tự động, gán ký tự bằng tay trong phần
Disk Management.Quy trình làm việc cho các khách Linux là giống hệt. Trong một số phiên bản Linux, bạn có thể cần phải gắn kết một thiết bị lưu trữ USB đã được kết nối như ổ đĩa flash vào hệ điều hành Linux bằng tay.
- Nhấp chuột phải
- Khi thiết bị lưu trữ USB đã được gắn kết vào Máy ảo và được hệ điều hành khách nhận dạng, sao chép các tệp cần thiết từ Máy ảo vào thiết bị lưu trữ USB. Quá trình sao chép tệp từ thiết bị lưu trữ USB vào Máy ảo cũng hoạt động ngay bây giờ.

- Sau khi sao chép tất cả các tệp cần thiết từ Máy ảo vào ổ đĩa flash USB, ngắt kết nối ổ đĩa flash USB từ Máy ảo và kết nối thiết bị USB này với Máy chủ vật lý:
Nhấp chuột
VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).
- Một thiết bị lưu trữ USB hiện đã được kết nối với một máy chủ vật lý (máy chủ chạy VMware Workstation trong trường hợp của chúng tôi). Chúng ta có thể chuyển các tệp đã sao chép từ VM sang ổ đĩa USB đến máy chủ vật lý của bạn.
USB passthrough từ VMware Workstation đến các VM ESXi
Bạn có thể sử dụng một ổ đĩa USB được cắm vào máy chủ ESXi và cắm vào máy tài khoản Windows hoặc Linux của bạn (với VMware Workstation hoặc VMware Remote Console (VMRC) được cài đặt) mà bạn sử dụng để quản lý máy chủ vật lý ESXi từ xa để kết nối ổ đĩa USB này với một VM ESXi. Trong trường hợp đầu tiên, passthrough USB được kết nối máy chủ được sử dụng và trong trường hợp thứ hai, passthrough USB được kết nối máy khách được sử dụng.
Hãy kết nối một ổ đĩa USB được cắm vào máy Windows 10 vật lý của chúng ta với một VM Windows XP đang chạy trên máy chủ vật lý ESXi v7.0 (sử dụng tính năng passthrough USB kết nối máy khách). VMware Workstation được cài đặt trên máy Windows vật lý của chúng ta và kết nối với máy chủ vật lý ESXi qua mạng (192.168.101.0/24).
Để thực hiện điều này:
- Một VM phải được tắt nguồn để chỉnh sửa cài đặt VM.
- Đảm bảo rằng một
USB controllercó mặt trong danh sách phần cứng ảo của VM. Bạn có thể kiểm tra cấu hình VM trong VMware Host Client. Chọn VM của bạn (Windows-VMtrong trường hợp của chúng tôi), nhấp chuộtEdit Settingsvà chọn tabVirtual Hardware.
- Hãy quay lại với VMware Workstation được cài đặt trên máy Windows 10 vật lý của chúng ta. Nhấp chuột
File > Connect to a servertrong VMware Workstation để kết nối với máy chủ vật lý ESXi từ xa.
- Nhập tên máy chủ ESXi hoặc địa chỉ IP, tên tài khoản và mật khẩu. Nhấp chuột
Connect.
- Mở rộng máy chủ ESXi trong ngăn bên trái của VMware Workstation nơi các máy chủ từ xa, các VM từ xa trên các máy chủ này và các VM VMware Workstation địa phương được hiển thị.
- Chọn một VM đang chạy trên máy chủ vật lý ESXi từ xa. Chúng tôi chọn
Windows-VMđang chạy trên 192.168.101.201 . Chúng tôi có thể thấy giao diện người dùng của hệ điều hành khách của VM được chọn sau đó. - Nhấp chuột
VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from Host).Lưu ý rằng chúng tôi chọn một thiết bị USB kết nối với máy Windows vật lý của chúng ta đã cài đặt VMware Workstation. Thiết bị USB này không phải là thiết bị được kết nối với Máy chủ vật lý ESXi vật lý mà chúng tôi đã kết nối từ xa.

- Bây giờ chúng ta có thể thấy ổ đĩa flash USB của mình được kết nối với VM Windows XP đang chạy trên Máy chủ vật lý ESXi từ xa:
Start > CMD > compmgmt.msc > Device Manager.
- Gán một ký tự ổ đĩa cho phân vùng của ổ đĩa flash USB đã kết nối nếu chưa có ký tự ổ đĩa nào được gán. Sao chép các tệp cần thiết giữa VM và Ổ đĩa flash USB. Bạn có thể chuyển tệp đến và từ một VM.

- Sau khi sao chép các tệp, bạn có thể ngắt kết nối thiết bị lưu trữ USB từ VM và kết nối lại thiết bị này với máy tính Windows 10 vật lý nơi mà máy trạm VMware đang chạy. Trong giao diện GUI của máy trạm VMware, nhấp vào
VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).
Kết nối Ổ đĩa Flash USB trên ESXi
Phương pháp này cực kỳ hữu ích trong một số trường hợp, ví dụ, nếu bạn cần cập nhật trình điều khiển mạng trên máy chủ ESXi và không thể sử dụng mạng. Kết nối ổ đĩa flash USB với ESXi phức tạp hơn so với việc kết nối với máy chủ đang chạy máy trạm VMware.
Có những hạn chế trên ESXi liên quan đến hệ thống tệp được hỗ trợ có thể gắn kết với ESXi. Ổ đĩa flash USB hoặc USB HDD với hệ thống tệp FAT32 và NTFS không được hỗ trợ. Vì lý do này, chúng ta cần tạo một phân vùng trên ổ đĩa flash USB và định dạng phân vùng này với VFAT (được nhận dạng trong Windows là FAT12). VFAT có những hạn chế, chẳng hạn như kích thước phân vùng tối đa và kích thước tệp tối đa. Do đó, phương pháp này không áp dụng cho các tệp lớn như đĩa ảo hoặc tệp ảnh ISO lớn hơn 4 GB. Tuy nhiên, những hạn chế này đủ để chuyển các tệp cấu hình, trình điều khiển, v.v.
Tạo phân vùng trên ổ đĩa flash USB
Trước hết, hãy tạo một phân vùng mới trên ổ đĩa flash USB của chúng ta và định dạng phân vùng này bằng VFAT. Chúng ta có thể thực hiện điều đó bằng cách kết nối một ổ đĩa flash USB đã được chèn vào máy chủ ESXi với một VM (sử dụng tính năng USB kết nối qua máy chủ). Ngoài ra, chúng ta có thể chèn một ổ đĩa flash USB vào một máy Windows hoặc Linux vật lý.
Trong ví dụ này, chúng tôi sử dụng một máy Windows 7 để chuẩn bị ổ đĩa flash USB cho ESXi. Các lệnh cho Windows Server 2008R2, Windows 10 và các phiên bản Windows mới hơn là giống nhau.
- Để đảm bảo rằng ổ đĩa flash USB được kết nối với máy tính Windows của bạn, nhấp chuột phải vào
My ComputerhoặcThis PC(hoặc chạydiskmgmt.msctừ CMD) để mởDisk Management. - Mở dòng lệnh Windows:
Start > Run > cmd - Gõ
diskpartvào dòng lệnh và nhấnEnter.Bạn thấy lời nhắc diskpart:
Diskpart - Liệt kê các đĩa ảo được kết nối với máy Windows của bạn:
list diskTìm ổ flash USB của bạn trong danh sách đầu ra và ghi nhớ số đĩa ảo. Trong trường hợp của chúng tôi,
Disk 1là số của ổ flash USB (xem hình dưới đây). - Chọn ổ flash USB của bạn bằng cách xác định số đĩa phù hợp mà bạn đã lấy từ kết quả lệnh trên (
disk 1trong trường hợp của chúng tôi).select disk 1 - Liệt kê các phân vùng trên ổ flash USB đã chọn:
list partitionChúng tôi có một phân vùng (
Partition 1) trên ổ flash USB của chúng tôi (xem hình dưới đây). Có một phân vùng trên ổ flash USB là trường hợp phổ biến nhất.
Tiếp theo, chúng ta cần xóa các phân vùng trên ổ flash USB.
Quan trọng: Tất cả dữ liệu trên ổ flash USB sẽ bị xóa. Bạn có thể sao chép dữ liệu từ ổ flash nếu cần trước khi tiếp tục các bước tiếp theo.
- Chọn một phân vùng trên ổ flash USB sắp bị xóa:
select partition 1 - Chạy lệnh để xóa phân vùng đã chọn:
delete partition - Chọn một đĩa ảo là ổ flash USB của bạn một lần nữa:
select disk 1
- Tạo một phân vùng mới với hệ thống tệp VFAT. Trong ví dụ này, chúng tôi tạo một phân vùng 4 GB trên ổ flash USB của chúng tôi. Lưu ý rằng bạn không thể lưu trữ tệp lớn hơn 4 GB trên VFAT. Lưu ý rằng VFAT chỉ hỗ trợ định dạng tên tệp 8.3.
create partition primary size=4000 id=6 - Định dạng phân vùng được tạo theo cách này để tương thích với ESXi:
format fs=fat quick
- Thoát tiện ích diskpart (chạy lệnh
exit).
Ổ flash USB đã sẵn sàng để được nhận diện bởi ESXi và sao chép tệp. Sau một số bước cấu hình ESXi bổ sung, bạn có thể đính kèm ổ flash USB vào VM và sao chép tệp cần thiết vào ổ flash USB.
Giả sử rằng chúng ta cần sao chép một kho lưu trữ ZIP với các trình điều khiển. Chúng tôi đã sao chép net-tulip.zip vào ổ flash USB trong ví dụ của chúng tôi. Tiếp theo, chúng ta cần gắn phân vùng của ổ flash USB được cắm vào máy chủ ESXi trên dòng lệnh ESXi.
Cấu hình một máy chủ ESXi để sử dụng ổ đĩa flash USB
Giả sử chúng ta cần sao chép một tệp lưu trữ ZIP có trình điều khiển từ một ổ đĩa flash USB sang kho dữ liệu ESXi và sau đó sao chép một tệp cấu hình VM từ kho dữ liệu ESXi sang ổ đĩa flash USB. Tên tệp là net-tulip.zip trong ví dụ của chúng tôi. Thực hiện điều sau trên máy chủ ESXi để chuyển tệp vào VMware ESXi từ ổ đĩa flash USB và ngược lại:
- Cấu hình được thực hiện trong giao diện dòng lệnh. Vì lý do này, bạn phải kích hoạt quyền truy cập SSH trên Máy chủ ESXi.
- Để kích hoạt quyền truy cập SSH từ xa trong DCUI, hãy chuyển đến
Troubleshooting options > Enable SSH. - Để kích hoạt quyền truy cập SSH từ xa và máy chủ SSH trên ESXi trong VMware Host Client, hãy chuyển đến
Host > Managevà chọn tabServices. Nhấp chuột phải vàoTSM-SSHvà nhấnStartđể bắt đầu dịch vụ. Bạn có thể kích hoạt dịch vụ này vĩnh viễn.

- Để kích hoạt quyền truy cập SSH từ xa trong DCUI, hãy chuyển đến
- Kết nối với máy chủ ESXi qua SSH để sử dụng dòng lệnh. Bạn có thể sử dụng ứng dụng khách SSH yêu thích của mình.
- Dừng dịch vụ điều tiết USB:
/etc/init.d/usbarbitrator stopĐiều tiết USB tự động kích hoạt tính năng USB passthrough cho Máy ảo nằm trên một máy chủ ESXi (bạn chỉ cần chọn ổ đĩa flash USB trong cài đặt VM của máy ảo thích hợp để sử dụng tính năng này).
- Nếu bạn muốn vô hiệu hóa dịch vụ điều tiết USB sau khi khởi động lại ESXi (vĩnh viễn), bạn có thể sử dụng lệnh:
chkconfig usbarbitrator offĐể kích hoạt dịch vụ điều tiết USB, sử dụng lệnh thích hợp:
/etc/init.d/usbarbitrator startchkconfig usbarbitrator on
- Các lệnh tùy chọn để kiểm tra các thiết bị USB kết nối với một máy chủ ESXi:
lsusbesxcli storage core device list | grep -i usbesxcli storage filesystem listBạn có thể xem
/var/log/usb.logđể kiểm tra trạng thái của một thiết bị USB. - Bạn có thể cần ngắt kết nối và kết nối lại một thiết bị lưu trữ USB sau khi dừng dịch vụ điều tiết USB.
- Liệt kê các thiết bị đĩa chặn để tìm kiếm/xác định ổ đĩa flash USB (hoặc USB HDD) kết nối.
ls -ltrh /vmfs/devices/disks/Ổ đĩa flash USB của chúng tôi là
mpx.vmhba32:C0:T0:L0:(xem ảnh chụp màn hình bên dưới).Vì vậy, địa chỉ/vị trí đầy đủ của đĩa là:
/dev/disks/mpx.vmhba32:C0:T0:L0:
- Kiểm tra số phân vùng của thiết bị USB để đảm bảo rằng bạn đã xác định đúng thiết bị đĩa:
ls /dev/disks/mpx.vmhba32:C0:T0:L0:*Theo như kết quả xuất ra, ID thiết bị đầy đủ, bao gồm cả số phân vùng trong trường hợp của chúng tôi, là:
/dev/disks/mpx.vmhba32:C0:T0:L0:1 - Định vị thư mục gốc của ổ USB để xác định đường dẫn nguồn/đích để sao chép tệp. Chạy lệnh sau và nhấn
Tabđể xem các mục có sẵn trong thư mục volumes. Thư mục/volumes/trong hệ thống tệp ESXi là một thư mục mà các phân vùng có hệ thống tệp được gắn kết.ls -al /vmfs/volumes/ [press Tab]Phân vùng trên ổ USB gọi là
NO NAME
- Kiểm tra nội dung của thư mục gốc ổ USB
ls -al /vmfs/volumes/NO NAME/Tệp ZIP của chúng tôi có trên phân vùng ổ USB.

- Chúng tôi đã tạo thư mục
installtrên kho dữ liệu ESXi (datastore10a) với các lệnh:cd /vmfs/volumes/datastore10amkdir installTrong hình chụp màn hình bên dưới, bạn cũng có thể thấy thư mục của VM mà chúng ta sẽ sao chép tệp cấu hình từ kho dữ liệu ESXi vào USB sau này.

- Sao chép tệp ZIP từ ổ USB sang thư mục cài đặt trên máy chủ vật lý ESXi của chúng tôi (trong
datastore10a).cp /vmfs/volumes/NO NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/ - Kiểm tra xem tệp đã được sao chép chưa:
ls -al /vmfs/volumes/datastore10a/install/Tệp đã được sao chép thành công.

Tương tự, bạn có thể sao chép tệp theo hướng ngược lại – sao chép tệp từ ESXi sang ổ USB và sau đó sao chép tệp cần thiết vào VM hoặc sang máy khác từ ổ USB này.
- Kiểm tra nội dung của thư mục VM:
ls -al /vmfs/volumes/datastore10a/Windows-VM/ - Sao chép tệp cấu hình
Windows-VM.vmxtừ kho dữ liệu ESXi vào ổ USB:cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO NAME/ - Kiểm tra xem tệp có được sao chép vào ổ USB hay không:
ls -al /vmfs/volumes/NO NAME/
Sau khi kết thúc sao chép tệp trên máy chủ vật lý ESXi, bạn có thể tháo ổ USB và khởi động dịch vụ arbitrator USB trên máy chủ vật lý ESXi. Sau đó, bạn có thể gắn ổ USB và sử dụng tính năng USB passthrough kết nối USB với Máy ảo.
Đọc thêm về Chức năng chuyển tiếp USB cho ESXi và việc kết nối một thiết bị lưu trữ USB cắm vào máy chủ vật lý ESXi với một Máy ảo trên máy chủ vật lý ESXi.
Sử dụng PowerCLI để chuyển tệp đến các VMware VMs
Một phương thức khác để chuyển tệp từ VM đến máy vật lý là sử dụng các lệnh (cmdlets) PowerCLI. VMware Tools phải được cài đặt trên hệ điều hành khách bên trong một VM. Các lệnh cmdlets PowerShell này sử dụng VMware Tools để sao chép tệp từ/tới VMs lưu trú trên một máy chủ ESXi. Vì vậy, bạn không cần mạng nếu bạn chạy lệnh bên trong một VM lưu trú trên máy chủ ESXi nguồn/đích.
Để sao chép tệp giữa VMs, bạn có thể sử dụng một cmdlet Copy-VMGuestFile và các cmdlet khác bằng vSphere PowerCLI.
- Kết nối với một máy chủ ESXi hoặc vCenter Server. Chúng tôi kết nối với máy chủ ESXi trong ví dụ này.
Connect-VIServer 192.168.101.201
- Để tránh cảnh báo chứng chỉ, hãy chạy lệnh:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
Copy-VMGuestFile (Local > ESXi VM)
Sử dụng lệnh sau để sao chép một tệp từ máy cục bộ (máy mà PowerCLI đang chạy tới một VM từ xa trên máy chủ ESXi):
Copy-VMGuestFile -Source "c:temptest.txt" -LocalToGuest -VM Windows-VM -Destination "c:temp-VM" -GuestUser user1 -GuestPassword Password
Nơi:
c:temptest.txt là tệp nguồn mà chúng tôi muốn sao chép từ máy cục bộ
-LocalToGuest là hướng (từ máy cục bộ tới hệ điều hành khách trên VM đích đang chạy trên ESXi)
-VM Windows-VM là định nghĩa tên VM đích
c:temp-VM là thư mục đích trên VM đích (nơi chúng tôi muốn lưu trữ một bản sao tệp)
user1 là tên người dùng trong hệ điều hành khách trên VM đích. Người dùng này phải có quyền truy cập vào thư mục đích đã định nghĩa.
Password là mật khẩu cho người dùng này.
Chúng tôi bỏ qua cảnh báo về phiên bản VMware Tools và kiểm tra xem tệp text.txt của chúng tôi đã được sao chép chưa.

Chúng tôi có thể thấy rằng tệp test.txt của chúng tôi, có kích thước 29 byte, đã được sao chép thành công đến VM Windows XP đang chạy trên một máy chủ ESXi.

Copy-VMGuestFile (ESXi VM > Local)
Bây giờ, hãy sao chép một tệp từ hệ điều hành khách của VM tới một thư mục cục bộ của máy nơi lệnh được thực thi:
Copy-VMGuestFile -Source "c:temp-VMtest2.txt" -GuestToLocal -Destination "c:temp" -VM Windows-VM -GuestUser user1 -GuestPassword Password
Nơi:
-Source "c:temp-VMtest2.txt" là đường dẫn tới tệp nguồn trên VM đang chạy trên ESXi
-GuestToLocal là hướng (từ hệ điều hành khách của VM ESXi tới máy cục bộ nơi lệnh được thực thi)
"c:temp" là đường dẫn tới thư mục đích trên máy cục bộ
user1 là tên người dùng trong hệ điều hành khách trên VM đích. Người dùng này phải có quyền truy cập vào thư mục đích đã định nghĩa.
Password là mật khẩu cho người dùng này trong hệ điều hành khách

Bạn có thể thấy ví dụ sử dụng cmdlet Copy-VMGuestFile với lệnh:
get-help Copy-VMGuestFile -examples
Sử dụng Copy-DatastoreItem
Cmdlet PowerShell Copy-DatastoreItem được sử dụng để sao chép tệp từ/tới kho dữ liệu ESXi. Có hai cách sử dụng cmdlet này để sao chép tệp vào kho dữ liệu VMware ESXi:
- Nếu PowerCLI được cài đặt trên khách Windows trong VM, bạn có thể chạy lệnh để sao chép tệp trực tiếp từ kho dữ liệu ESXi đến VM và ngược lại.
- Nếu bạn không thể cài đặt PowerCLI trên máy ảo đang cư trú trên máy chủ vật lý ESXi, bạn có thể chạy lệnh PowerCLI từ máy Windows cục bộ của mình, sao chép các tệp từ kho dữ liệu ESXi vào máy cục bộ bằng lệnh
Copy-VMGuestFile, và sau đó sao chép các tệp này từ máy cục bộ vào VM với lệnhCopy-VMGuestFile.
Bạn phải được kết nối với máy chủ vật lý ESXi hoặc máy chủ vCenter. Bạn có thể làm điều này bằng lệnh:
ViConnect <server_name_or_IP>
Chúng ta đã được kết nối trực tiếp với máy chủ vật lý ESXi.
Hãy sao chép một tệp cấu hình VM từ kho dữ liệu vào máy Windows hiện tại (máy mà chúng ta chạy những lệnh này – nó cũng có thể là một máy ảo trên máy chủ vật lý ESXi):
- Lấy thông tin về kho dữ liệu:
Get-Datastore "datastore10a" - Lấy đối tượng kho dữ liệu ESXi:
$datastore = Get-Datastore "datastore10a" - Tạo một ổ đĩa PowerShell mới, có tên là
ds:ánh xạ tới$datastore:New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root "" - Đặt kho dữ liệu của bạn làm vị trí hiện tại:
Set-Location ds: - Để liệt kê các tệp và thư mục trong thư mục đã chọn, sử dụng lệnh:
Get-ChildItem
- Bạn có thể đặt thư mục VM làm vị trí mới. Trong trường hợp của chúng tôi, thư mục này là
Windows-VMSet-Location "Windows-VM" - Lệnh để sao chép tệp VM, tức là tệp cấu hình VMX, từ kho dữ liệu ESXi đã định nghĩa tới thư mục tạm thời trên máy hiện tại:
Copy-DatastoreItem -Item ds:Windows-VMWindows-VM.vmx -Destination c:tempNơi:
ds:Windows-VMWindows-VM.vmxlà đường dẫn đến tệp phải được sao chép vàds:là lối tắt được định nghĩa để đến kho dữ liệu (datstore10atrong trường hợp này).
- Nếu bạn đã kết nối với máy chủ vCenter (không phải một máy chủ cụ thể ESXi như chúng tôi đã làm trong ví dụ này), bạn có thể sử dụng lệnh sau với việc định nghĩa một kho dữ liệu trong trung tâm dữ liệu vCenter để sao chép tệp từ kho dữ liệu ESXi vào một thư mục trên máy cục bộ:
Copy-DatastoreItem vmstore:Datacenter1datastore10aWindows-VMWindows-VM.vmx c:temp - Để sao chép một tệp theo hướng ngược lại (bằng cách kết nối với máy chủ vật lý ESXi), sử dụng lệnh:
Copy-DatastoreItem -Item c:tempdarwin.iso -Destination ds:installChúng tôi sao chép
darwin.iso(đây là một ảnh cùng VMware Tools cho macOS) từ một máy Windows vào thư mục cài đặt trên kho dữ liệu ESXi.
- Nếu bạn kết nối với vCenter, bạn có thể sử dụng lệnh này để sao chép một tệp từ máy Windows địa phương vào kho dữ liệu trên một Máy chủ vật lý ESXi từ xa:
Copy-DatastoreItem c:tempdarwin.iso -Destination vmstore:Datacenter1datastore10ainstall
Bạn có thể sử dụng các cmdlet PowerCLI này và tạo các kịch bản PowerShell để chuyển tệp từ VM đến máy chủ và ngược lại.
Lệnh để sao chép tệp từ một VM đến máy chủ trong VMware Workstation
Nếu bạn sử dụng VMware Workstation (là một loại máy trạm ảo) trên máy chủ Windows hoặc Linux của bạn (hoặc VMware Fusion trên macOS), bạn cũng có thể sử dụng giao diện dòng lệnh để sao chép các tệp từ VM đến máy chủ và ngược lại. Bạn có thể sử dụng công cụ dòng lệnh vmrun để thao tác với các máy ảo. Cú pháp của các lệnh là giống nhau cho Windows, Linux và macOS (VMware Fusion). Chúng tôi sử dụng VMware Workstation 15 trên Windows 10 trong hướng dẫn này.
- Đến thư mục VMware Workstation:
cd "C:Program Files (x86)VMwareVMware Workstation" - Sử dụng lệnh như sau để sao chép tệp từ hệ điều hành khách bên trong VM đến máy chủ Windows địa phương:
CopyFileFromHostToGuest <Path to vmx file> <Path in guest> <Path on host>Trong trường hợp của chúng tôi, lệnh chính xác là:
vmrun copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied" - Nhập tên người dùng và mật khẩu cho người dùng này khi được nhắc (người dùng phải có đủ quyền truy cập vào tệp đã xác định).
Ở đây:
d:virtualWinServer2019WinServer2019.vmxlà đĩa ảo của VM từ đó chúng tôi sao chép tệp.c:temptest.txtlà tệp được lưu trữ trên đĩa ảo của VM; đây là tệp mà chúng tôi sao chép.c:tempcopiedlà thư mục nơi lưu trữ tệp sao chép trên máy chủ.Hãy chắc chắn bạn sử dụng kí tự dấu gạch chéo ngược khi thiết lập đường dẫn. Chúng tôi đã sao chép test.txt là một tệp văn bản từ VM đến máy chủ.
Ngoài ra, bạn có thể chạy lệnh bằng cách xác định thông tin xác thực trong lệnh:
vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"
Để sao chép một tệp theo hướng ngược lại (từ một máy chủ đến một VM), sử dụng lệnh như sau:
CopyFileFromHostToGuest <Path to vmx file> <Path on host> <Path in guest>
Lệnh cụ thể của chúng tôi trong ví dụ này là:
vmrun copyFileFromHostToGuest d:virtualWinServer2019WinServer2019.vmx "c:temptest3.txt" "c:temptest3-copy.txt"

Cách Chuyển Tệp Sử Dụng SSH và SCP
SSH (Secure Shell) là một giao thức thông dụng để quản lý an toàn các Máy chủ vật lý từ xa dựa vào mã hóa. SCP là một giao thức dựa trên SSH để sao chép các tệp an toàn qua mạng. Bạn có thể sử dụng SCP để chuyển tệp từ VM đến máy chủ, đặc biệt nếu Linux chạy trên VM. Một máy chủ SCP và SSH có thể được kích hoạt trên các máy Linux và ESXi trong một vài bước.
Cách kích hoạt máy chủ SSH trong ESXi
Dịch vụ máy chủ SSH phải được kích hoạt trên máy chủ ESXi để sử dụng phương pháp này và chuyển tập tin đến VMware ESXi và từ ESXi.
- Để kích hoạt máy chủ SSH trong VMware Host Client, đi đến
Host > Manage > Servicesvà bắt đầu dịch vụTSM-SSH. - SSH phải được cho phép trong tường lửa ESXi để cho phép lưu thông SCP cho việc chuyển tập tin từ một máy chủ ESXi cũng như kết nối tới các máy khác bằng SCP từ máy chủ ESXi này:
- Đi tới
Networkingtrong khayNavigator, chọn thẻFirewall rulesvà chọnSSH Client. - Nhấn
Actions > Enableđể kích hoạt quy tắc tường lửa.

- Đi tới
- Để kiểm tra kết nối SSH giữa các máy chủ, bạn có thể chạy lệnh này trên máy chủ ESXi:
nc -z 192.168.101.202 22Ở đâu:
192.168.101.202là địa chỉ IP của một máy chủ từ xa.22 là số cổng cho kết nối SSH (22 là số cổng mặc định).
Cú pháp chung của lệnh scp để sao chép tập tin qua SCP qua mạng:
scp [OPTION] [user]@[SRC_HOST]:path_to_file1 [user]@[DEST_HOST]:path_to_file2
[user]@[SRC_HOST]:path_to_file1 – một tập tin nguồn
[user]@[DEST_HOST]:path_to_file2 – một tập tin đích
-P xác định số cổng cho kết nối SSH (sử dụng cờ này nếu số cổng không phải là 22).
Dưới đây, chúng tôi giải thích các ví dụ cụ thể trong thực tiễn.
Cách sao chép một tập tin cục bộ tới một máy từ xa qua SCP
Để sao chép một tập tin cục bộ tới một máy từ xa qua SCP, sử dụng lệnh như:
scp file.txt remote_username@remote_host_ip:/remote/directory
Từ Linux
Hãy sao chép tập tin LinuxDir.txt từ một máy Linux Ubuntu cục bộ (cũng có thể là VM) tới một máy chủ ESXi qua mạng bằng SCP. Vị trí đích trên máy chủ ESXi từ xa là thư mục install trên kho dữ liệu datastore10a. Địa chỉ IP của máy chủ ESXi từ xa là 192.168.101.201 .
Lệnh để sao chép tập tin từ máy Linux cục bộ tới máy chủ ESXi từ xa trong trường hợp của chúng tôi là:
scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/

Bạn có thể lưu tập tin đã sao chép trên máy đích bằng một tên tập tin mới:
scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt
Sử dụng tùy chọn -r để sao chép cả thư mục với tất cả các tập tin bao gồm:
scp -r /local/directory remote_username@192.168.101.201:/remote/directory
Từ ESXi
Bạn có thể sử dụng các lệnh scp trên một máy chủ ESXi. Cú pháp scp trong dòng lệnh là giống nhau cho Linux và ESXi. Máy chủ SSH phải được cấu hình trên máy từ xa. Hãy đăng nhập vào máy chủ ESXi (192.168.101.201) và sao chép thư mục install cùng với tất cả các tệp trong đó vào thư mục chính của user1 trên máy Linux từ xa (192.168.101.210).
scp -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

Nếu máy chủ SSH đang lắng nghe ở cổng khác 22, hãy sử dụng tham số -P; ví dụ, nếu số cổng SSH là 8022, lệnh sẽ là:
scp -P 8022 -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/
Cách sao chép tệp từ máy chủ từ xa sang máy cục bộ qua SCP
SCP thuận tiện cho việc sao chép tệp từ máy từ xa sang máy cục bộ, cho phép bạn cũng chuyển tệp từ VM sang máy chủ. Dưới đây, chúng tôi sẽ giải thích cách chạy các lệnh phù hợp trong Linux và ESXi.
Sao chép tệp vào máy Linux cục bộ
Chúng ta sẽ sao chép tệp từ máy chủ ESXi từ xa đến máy Linux hiện tại bằng cách sử dụng SCP. Để thực hiện việc này, hãy sử dụng lệnh như sau:
scp remote_username@remote_ip_address:/remote/file.txt /local/directory
Hãy sao chép một tệp darwin.iso từ máy chủ ESXi từ xa vào thư mục chính đã xác định trên máy Linux:
scp root@192.168.101.201:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/

Sao chép tệp vào máy chủ ESXi cục bộ
Nếu chúng ta đăng nhập vào máy chủ ESXi, chúng ta có thể chạy lệnh để sao chép một tệp VM từ máy Linux từ xa vào kho dữ liệu trên máy chủ ESXi cục bộ. Hãy sao chép VM_file.txt từ máy Linux vào thư mục của kho dữ liệu ESXi qua mạng bằng cách sử dụng SCP:
scp user1@192.168.101.210:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

Cách sao chép tệp giữa hai máy từ xa
Có các lệnh SCP để sao chép tệp từ một máy từ xa sang một máy từ xa khác với và không qua việc sao chép dữ liệu qua máy cục bộ hiện tại. Cú pháp lệnh như sau:
scp user1@remote-host1.com://directory/file.txt user2@remote-host2.com://directory/
Dữ liệu được truyền trực tiếp từ một máy chủ từ xa sang máy chủ khác (không bị sao chép vào máy cục bộ hiện tại của chúng tôi) với lệnh trên. Nếu bạn muốn định tuyến lưu lượng qua máy cục bộ hiện tại nơi bạn đang chạy lệnh, hãy sử dụng cờ -3.
Lưu ý: Sử dụng lệnh này nếu thông tin xác thực trên cả hai máy chủ từ xa là giống nhau.
Một ví dụ về lệnh chạy trên máy Linux cục bộ để sao chép một tệp (vim.v00) từ máy chủ ESXi từ xa (192.168.101.202) sang máy chủ ESXi cục bộ (192.168.101.201):
scp root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/
Nếu bạn thấy lỗi Host key verification failed, điều đó có nghĩa là không có khóa máy chủ được lưu trữ trên một trong các máy chủ. Nếu lỗi là do thay đổi khóa máy chủ trên máy chủ từ xa, hãy xóa khóa máy chủ cũ trong ~/.ssh/known_hosts ssh-keygen -R hostname_or_IP_address
Ví dụ, chạy lệnh trên 192.168.101.202 để xóa khóa máy chủ cũ cho máy chủ từ xa 192.168.101.201:
ssh-keygen -R 192.168.101.201
Một ví dụ về cách sử dụng -3 trong lệnh để sao chép tệp thông qua máy nội bộ:
scp -3 root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/
Lệnh thay thế cho mục đích này là:
scp -o "ForwardAgent yes" root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/
Cách sao chép tệp qua SCP từ Windows
Bạn cũng có thể sao chép tệp đến máy ảo hoặc máy chủ ESXi trên Windows. Để làm điều này, bạn cần sử dụng khách hàng SCP như WinSCP, một giao diện đồ họa thân thiện và tiện lợi. Bạn có thể Tải xuống WinSCP miễn phí.
- Chạy WinSCP.
- Chọn một giao thức, ví dụ,
SFTP. - Nhập tên máy chủ và số cổng của máy chủ từ xa, chẳng hạn như máy chủ ESXi hoặc máy Linux.
- Nhập tên người dùng và mật khẩu của máy từ xa.
- Click
Login.
Trong ví dụ này, chúng tôi kết nối đến máy chủ ESXi từ xa.

- Chọn một giao thức, ví dụ,
- Một thông báo cảnh báo được hiển thị:
Continue connecting to unknown server and add its host key to a cache?Nhấp
Yesđể tiếp tục. - Một khi kết nối, bạn sẽ thấy cửa sổ kiểu chỉ huy với hai bảng. Một bảng hiển thị thư mục trên máy nội bộ và bảng kia hiển thị thư mục trong máy từ xa. Bạn có thể sao chép tệp giữa máy chủ địa phương và máy chủ từ xa bằng cách sao chép tệp giữa hai bảng này.

Bạn có thể sao chép tệp từ kho dữ liệu của máy chủ ESXi từ xa mà bạn đã kết nối trong WinSCP tới máy ảo Windows từ xa hoặc máy vật lý sử dụng chia sẻ SMB trên máy Windows.
Tuy nhiên, bạn không thể nhập đường dẫn chia sẻ trực tiếp trong bảng WinSCP (ví dụ, 192.168.101.117c$). Bạn chỉ có thể chọn một chữ cái ổ đĩa. Để bỏ qua hạn chế này, kết nối tới chia sẻ tệp trong Windows Explorer và ánh xạ chia sẻ này dưới dạng ổ đĩa mạng. Gán một chữ cái ổ đĩa, ví dụ, S: như chúng tôi đã làm trong ví dụ này, để kết nối thư mục chia sẻ trên 192.168.101.211 .
Giờ, chúng tôi có thể chọn S: làm ổ đĩa mạng trong menu thả xuống ở khung bên trái của WinSCP, chọn các tệp hoặc thư mục cần thiết trong kho dữ liệu của máy chủ ESXi từ xa và sao chép tệp theo cả hai hướng.

Sử dụng Chia sẻ NFS
Bạn có thể sử dụng chia sẻ NFS để chuyển tệp đến các máy ảo từ kho dữ liệu ESXi và ngược lại. ESXi không hỗ trợ chia sẻ SMB (gốc cho Windows). Nó hỗ trợ chia sẻ NFS (gốc cho Linux) và đính kèm chia sẻ NFS làm kho dữ liệu. Bằng cách sử dụng tính năng này, bạn có thể sử dụng một trong những phương pháp dưới đây để truyền tệp giữa các máy ESXi và Linux:
Phương pháp 1 :
- Cấu hình máy chủ NFS và chia sẻ NFS trên một máy ảo Linux
- Đính kèm chia sẻ NFS như một kho dữ liệu trên ESXi
- Sao chép tệp từ máy ảo đến kho dữ liệu ESXi và ngược lại
Phương pháp 2 :
- Cấu hình máy chủ NFS trên một máy Linux vật lý hoặc NAS
- Đính kèm chia sẻ NFS như một kho dữ liệu trên ESXi
- Kết nối với chia sẻ NFS trên một máy ảo Linux
- Sao chép tệp từ máy ảo Linux vào chia sẻ NFS và sau đó sao chép các tệp này lên máy chủ ESXi. Sao chép tệp từ máy chủ ESXi đến chia sẻ NFS và sao chép các tệp từ chia sẻ NFS vào máy ảo Linux.
Đọc NFS so với SMB so sánh để tìm hiểu thêm về các giao thức chia sẻ tệp này.
Cấu hình chia sẻ NFS trên Linux
Chúng tôi sử dụng Linux Ubuntu 20.04 trong hướng dẫn này. Chúng tôi đã đăng nhập vào Linux với tư cách người dùng thông thường và sử dụng sudo khi cần quyền root để chạy lệnh. Thực hiện theo các bước sau để cài đặt máy chủ NFS và cấu hình chia sẻ NFS.
- Cập nhật kho lưu trữ trong Linux:
sudo apt-get update - Cài đặt gói máy chủ NFS trên Linux:
sudo apt-get install nfs-kernel-server -y - Tạo một thư mục (thư mục xuất) sẽ được chia sẻ trên máy chủ NFS:
sudo mkdir -p /srv/nfs/share1/ - Thiết lập quyền sở hữu và quyền truy cập cho thư mục đã tạo:
sudo chown -R nobody:nogroup /srv/nfs/share1/sudo chmod 0777 /srv/nfs/share1/nobodylà một người dùng giả để đại diện cho người dùng có quyền hạn thấp nhất và không có truy cập vỏ. Mục đích của nhómnogrouptương tự như người dùngnobody.
- Cấu hình tệp `exports` để chia sẻ thư mục đã tạo.
sudo nano /etc/exportshoặc
sudo vim /etc/exports - Thêm dòng vào cuối tệp cấu hình:
/srv/nfs/share1/ CLIENT_IP(rw,sync,no_subtree_check)Trong trường hợp của chúng tôi, dòng có địa chỉ IP được phép của máy chủ ESXi của chúng tôi là:
/srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)Bạn có thể cho phép truy cập cho tất cả các máy chủ thuộc subnet bằng cách thêm dòng:
/srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)Bạn có thể thêm dòng tiếp theo để cho phép truy cập cho một máy chủ khác (địa chỉ IP).
Lưu thay đổi vào tệp cấu hình và thoát khỏi trình chỉnh sửa văn bản.
- Để kiểm tra xem dữ liệu đã được ghi vào tệp hay chưa, bạn có thể sử dụng lệnh:
cat /etc/exports - Áp dụng cấu hình mới bằng lệnh:
sudo exportfs -a - Đảm bảo rằng tường lửa trên máy Linux với máy chủ NFS cho phép truy cập. Bạn có thể cấp quyền truy cập cho địa chỉ IP cụ thể với một lệnh như sau:
sudo ufw allow from IP to any port nfsTrong trường hợp của chúng ta:
sudo ufw allow from 192.168.101.201 to any port nfsĐể cho phép truy cập đến các máy chủ từ toàn bộ mạng con:
sudo ufw allow from SUBNET to any port nfsTrong trường hợp của chúng ta, lệnh sẽ là:
sudo ufw allow from 192.168.101.0/24 to any port nfs - Bạn có thể kiểm tra trạng thái tường lửa bằng lệnh:
sudo ufw status - Khởi động lại máy chủ NFS để áp dụng các thay đổi cấu hình:
sudo systemctl restart nfs-kernel-server - NFS share đã được cấu hình trong Linux.
- Sao chép một tệp từ bất kỳ thư mục nào của máy Linux đến thư mục được chia sẻ qua NFS. Chúng tôi sao chép
VM_file.txtvào NFS share của chúng ta và kiểm tra nội dung của thư mục sau đó:cp VM_file.txt /srv/nfs/share1/ls -al /srv/nfs/share1/
Gắn kết một kho dữ liệu NFS trong ESXi
Bạn cần thêm kho dữ liệu NFS vào ESXi sau khi cấu hình NFS share. Chúng tôi sử dụng VMware Host Client trong ví dụ này để thực hiện điều này.
Đi đến Storage > Datastores và nhấp vào New datastore.

Trình hướng dẫn New datastore được mở ra.
- Chọn
Mount NFS datastore. Nhấp vàoNextđể tiếp tục.
- Cung cấp chi tiết gắn kết NFS:
- Tên:
NFS-share(tên sẽ được hiển thị như tên kho dữ liệu) - Máy chủ NFS: 192.168.101.210
- NFS share:
/srv/nfs/share1/ - Phiên bản NFS:
NFS4
Tên người dùng và mật khẩu là tùy chọn cho NFS4. Chúng tôi để trống hai trường này.”

- Tên:
- Sẵn sàng hoàn tất. Kiểm tra cấu hình của bạn và nhấp
Finishnếu mọi thứ là chính xác.
Sao chép tệp từ VM đến máy chủ
Kho dữ liệu NFS đã được gắn kết thành công. Bạn có thể kiểm tra điều này trong Storage > Datastores.
Bây giờ chúng ta có thể sao chép tập tin từ VM trên NFS share đến kho dữ liệu ESXi cục bộ (chuyển tập tin từ VM đến máy chủ).
- Nhấp vào
Datastore Browser.
- Chọn kho dữ liệu NFS của bạn trong trình duyệt kho dữ liệu (
NFS-sharetrong trường hợp của chúng ta). Duyệt tập tin cần thiết trong kho dữ liệu NFS. Chọn tập tin cần thiết và nhấp vàoCopy.
- Chọn điểm đến. Chọn vị trí cần thiết trong kho dữ liệu đích nơi bạn muốn lưu trữ tệp sao chép (
datastore10btrong trường hợp của chúng tôi). Nhấp vàoCopy.
Ngoài ra, bạn có thể sao chép tệp cần thiết trong dòng lệnh trên máy chủ ESXi:
cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt
Sử dụng Giao diện Web của VMware để Tải xuống/Tải lên Tệp
Bạn có thể sử dụng giao diện web của VMware Host Client hoặc VMware vSphere Client để tải lên/tải xuống tệp vào/từ một kho dữ liệu ESXi. Giao diện web có thể truy cập từ bất kỳ máy vật lý hoặc máy ảo nào nơi trình duyệt web được cài đặt và kết nối mạng đến một máy chủ ESXi có sẵn. Vì vậy, bạn có thể mở giao diện web này trực tiếp từ một VM nếu hệ điều hành khách có GUI hoặc sử dụng bất kỳ máy cục bộ nào làm máy trung gian để chuyển tệp từ VM đến máy chủ và ngược lại.

Có cách khác nhưng phức tạp hơn để chuyển tệp đến VMware ESXi từ các VM:
- Tải xuống một đĩa ảo của VM đến máy cục bộ hoặc máy khác.
- Trích xuất các tệp cần thiết từ đĩa ảo của VM này (
.vmdkvà-flat.vmdk) đến một máy cục bộ. Ngoài ra, bạn có thể gắn kết một đĩa ảo vào ổ đĩa ảo nếu VMware Workstation được cài đặt. - Tải lên các tệp đã trích xuất hoặc tệp từ đĩa ảo đã được gắn kết vào kho dữ liệu của máy chủ ESXi bằng một trong những phương pháp đã giải thích ở trên (trong VMware Host Client, vSphere Client, hoặc SCP client, v.v.).

Đọc bài đăng blog chi tiết về Cách trích xuất tệp từ đĩa ảo VMDK.
Sử dụng Tệp ISO để Chuyển Dữ Liệu Đến VM
Nếu kết nối mạng không khả dụng cho VM, bạn có thể chuyển tệp đến VMware VMs bằng cách sử dụng tệp hình ảnh ISO:
- Tạo một tệp hình ảnh ISO với phần mềm như Ultra ISO cho Windows.
- Viết các tệp cần thiết vào tệp hình ảnh ISO trên máy cục bộ hoặc máy khác. Bạn có thể sao chép các tệp từ ESXi bằng một trong các phương pháp trên và viết chúng vào tệp hình ảnh ISO.
- Gắn kết tệp hình ảnh ISO vào VM bằng ổ đĩa CD/DVD ảo của VM (bạn có thể gắn kết tệp ISO trực tiếp từ máy cục bộ hoặc tải lên tệp ISO vào một kho dữ liệu ESXi trước khi thực hiện việc này). Sử dụng VMware Host Client, VMware vSphere Client, VMware Workstation, hoặc VMware Remote Console để gắn kết tệp ISO vào ESXi VM.
Phương pháp này không thể sử dụng để chuyển tệp từ VM đến máy chủ vì một VM hoạt động với đĩa CD/DVD ảo ở chế độ chỉ đọc.
Kết luận
Có nhiều phương pháp để sao chép tệp từ máy chủ sang máy ảo và ngược lại. Một số phương pháp yêu cầu kết nối mạng, trong khi một số khác vẫn hoạt động ngay cả khi không có kết nối mạng. Bạn có thể sử dụng phương pháp phù hợp với tình huống cụ thể của mình và kết hợp các phương pháp này. Hãy nhớ sao lưu các máy ảo của bạn để tránh mất dữ liệu. Với NAKIVO Backup and Replication, bạn có thể bảo vệ các máy ảo của mình trong VMware vSphere và khôi phục từng tệp riêng lẻ trực tiếp từ bản sao lưu máy ảo.