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.

NAKIVO cho sao lưu VMware vSphere

NAKIVO cho sao lưu VMware vSphere

Bảo vệ dữ liệu toàn diện cho các máy ảo VMware vSphere cùng các tùy chọn khôi phục tức thì. Các đích sao lưu an toàn tại chỗ, ngoài cơ sở và trên đám mây. Các tính năng chống ransomware.

Các thành phần của môi trường của chúng ta

Hãy bắt đầu bằng việc điểm qua các thuật ngữ:

  • Một máy chủ là một máy vật lý trên đó được cài đặt phần mềm hypervisor.
  • Một phần mềm hypervisor là phần mềm ảo hóa dùng để chạy các máy ảo trên máy chủ. Có hai loại phần mềm hypervisor:
    • Loại 1: Sử dụng máy chủ ESXi, vốn chính là máy chủ
    • Loại 2: Sử dụng VMware Workstation, và trong trường hợp này, Windows và Linux đều có thể là hệ điều hành của máy chủ

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ủ bao gồm các thành phần sau:

  • Máy chủ ESXi 1: 192.168.101.201
  • Máy chủ ESXi 2: 192.168.101.202
  • Máy Ubuntu Linux: 192.168.101.210
  • Máy chủ Windows cài đặt VMware Workstation
  • Mạng: 192.168.101.0/24
  • Các máy ảo (VM) ESXi và VMware Workstation kết nối cùng một mạng

Chúng tôi sử dụng các công nghệ sau để sao chép tệp giữa các máy ảo (VM) và máy chủ:

  • Thư mục chia sẻ
  • Bảng tạm chia sẻ và kéo thả
  • Thiết bị lưu trữ USB
  • PowerCLI
  • SSH và SCP
  • Chia sẻ NFS
  • Tải xuống/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 máy ảo sang máy chủ

Thư mục chia sẻ là 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 (nơi cài đặt VMware Workstation) và các máy ảo đang chạy trên VMware Workstation. Đối với macOS, VMware Fusion tương đương với VMware Workstation và hỗ trợ các tính năng tương tự.

Bây giờ chúng ta hãy cùng xem qua các bước để chuyển tệp từ máy ảo sang máy chủ và ngược lại bằng cách sử dụng thư mục chia sẻ VMware.

Lưu ý: Để tính năng này hoạt động, VMware Tools phải được cài đặt trên máy ảo. Dữ liệu giữa máy chủ và máy ảo được chuyển thông qua tương tác giữa máy chủ và hệ điều hành khách bằng VMware Tools mà không cần sử dụng mạng.

  1. Chọn một máy ảo mà bạn muốn cấu hình tính năng chia sẻ tệp VMware. Chúng tôi chọn một trong các máy ảo Windows của mình.
  2. Nhấp vào VM > Settings (Chỉnh sửa cài đặt máy ảo) trong giao diện người dùng (GUI) của VMware Workstation.
  3. Trong cửa sổ Virtual Machine Settings , chọn tab Options và nhấp vào Shared Folders. Trong phần Folder sharing , chọn Always 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.
  4. Nhấp vào Add để chọn thư mục sẽ được sử dụng làm thư mục chia sẻ.

    VMware sharing folder – how to enable shared folders in VMware Workstation

  5. Nhập đường dẫn đến thư mục cần chia sẻ trên máy chủ hoặc nhấp vào Browse và chọn thư mục cần thiết. Chúng ta chọn C:tempshare-VM

    Nhập tên cho thư mục chia sẻ, ví dụ: share-VM

    Nhấp vào Next.

    VMware file sharing – configuring shared folders in VMware Workstation

  6. 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ểm Read-only . Nhấp vào Finish.

    VMware sharing folder in VMware Workstation and enabling this share

  7. 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 Options củ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.

    VMware sharing folder – a shared folder is created

  8. 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 .
  9. Nhấp vào Network (My Network Places) trong My Computer (This PC) hoặc Windows Explorer để xem các máy tính có sẵn trong mạng.
  10. Chọn vmware-host là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ẻ.

    How to access a shared folder to copy VMware virtual machine files

  11. Nhấp vào Shared Folders và chọn thư mục chia sẻ cần thiết (share-VM trong 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.

VMware transfer files from a VMware VM using a shared folder

Đố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ẻ thư mục theo cách thủ công và sử dụng mạng để sao chép tệp giữa các máy Windows. Để sao chép tệp từ một máy ảo (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 việc sao chép tệp 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 10Windows 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 có quyền quản trị và chính sách bảo mật cho phép truy cập các chia sẻ quản trị ẩn có sẵn theo mặc định, bạn có thể truy cập tệp trên đĩa cục bộ của máy tính Windows bằng đường dẫn đến chia sẻ như sau:

IP-Addressc$

Trong đó:

IP-Address là địa chỉ IP hoặc tên máy chủ của máy tính Windows từ xa.

C$ là ký tự ổ đĩa cần thiết trên máy tính Windows từ xa, đây là một chia sẻ hệ thống ẩn.

Sử dụng Clipboard chia sẻ để chuyển tệp sang máy ảo từ máy chủ

Clipboard chia sẻ là 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 từ máy ảo sang máy chủ có cài đặt VMware Workstation. Quy trình này tương tự như khi bạn sao chép và dán nội dung giữa các cửa sổ ứng dụng khác nhau trong Windows hoặc Linux thông qua giao diện đồ họa (GUI).

Toàn bộ các tính năng có sẵn tại VMware Workstation, cho phép bạn chuyển tệp từ máy chủ sang máy ảo và ngược lại. Bạn có thể kéo và thả tệp thay vì sao chép và dán.

Bảng tạm chung trong VMware Workstation

Hãy cùng tìm hiểu cách chuyển tệp sang các máy ảo VMware Workstation bằng bảng tạm chung và thao tác kéo thả. Trong ví dụ này, VMware Workstation được cài đặt trên máy chủ Windows.

  1. Chọn máy ảo của bạn trong khung bên trái nơi liệt kê các máy ảo.
  2. Nhấp vào Edit virtual machine settings (VM > Settings).

    Opening virtual machine settings

  3. Chọn tab Options và nhấp vào Guest Isolation.

    Chọn hai ô kiểm:

    • Enable drag and drop
    • Enable copy and paste

    Nhấp vào OK để lưu cài đặt và đóng cửa sổ.

    Enabling shared clipboard and drag & drop to transfer files to VMware VMs

Bảng tạm chia sẻ trong VMware ESXi

Đối với các máy ảo (VM) chạy trên VMware ESXi, bạn không thể sao chép bất kỳ tệp nào bằng cách kéo và thả hoặc thông qua bảng tạm chia sẻ giữa một máy ảo 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 và dán văn bản giữa một máy ảo chạy trên ESXi và máy tính cục bộ của bạn (trên đó đã cài đặt VMware Workstation hoặc Bảng điều khiển từ xa VMware ). Chức năng sao chép và dán cũng như kéo và thả tệp 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 một tệp cấu hình, chẳng hạn, 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 khay nhớ tạm chung. Theo mặc định, khay nhớ tạm chung bị tắt trong cấu hình máy ảo ESXi. Thực hiện các bước sau trên máy chủ ESXi để kích hoạt khay nhớ tạm chung nhằm sao chép và dán dữ liệu văn bản:

  1. Máy ảo phải được tắt nguồn khi chỉnh sửa cấu hình máy ảo. Tắt máy ảo nếu máy ảo đang chạy.
  2. Mở VM settings. Bạn có thể sử dụng VMware Host Client và VMware vSphere Client. Chọn một máy ảo, nhấp vào Edit VM settings và chọn tab VM options .

    Mở rộng phần Advanced Settings và nhấp vào Edit Configuration.

    Advanced VM configuration to enable shared clipboard in ESXi

  3. Bạn cần thêm ba tham số cấu hình vào cấu hình máy ảo (được ghi vào tệp VMX cấu hình máy ảo). Nhấp vào Add parameter.

    Enabling shared clipboard for a VM on VMware ESXi

  4. Thêm ba tham số này:

    isolation.tools.copy.disable FALSE

    isolation.tools.paste.disable FALSE

    isolation.tools.setGUIOptions.enable TRUE

  5. Nhấp vào OK và lưu cài đặt.

    Configuration parameters to enable shared clipboard are added

Ngoài ra, bạn có thể chỉnh sửa thủ công tệp VMX chứa cấu hình máy ảo nằm trên kho dữ liệu ESXi trong thư mục máy ảo.

  1. Đăng nhập vào giao diện dòng lệnh ESXi trực tiếp hoặc qua SSH.
  2. Truy cập vào thư mục máy ảo (thư mục chứa các tệp máy ảo trên kho dữ liệu). Trong trường hợp của chúng tôi, chúng tôi truy cập vào thư mục này:

    cd /vmfs/volumes/datastore10a/Windows-VM/

    Locating a VMX configuration file of the VM to enable a shared clipboard

  3. 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.vmx

    vi Windows-VM.vmx

  4. Thêm ba tham số được hiển thị ở trên vào cuối tệp cấu hình này.
  5. Lưu các thay đổi và đóng tệp (thoát khỏi trình soạn thảo văn bản).

    Adding configuration parameters to a VMX file to enable shared clipboard for a VM on an ESXi host

Giờ đây, chúng ta có thể sao chép và dán văn bản giữa máy cục bộ và máy ảo từ xa đang chạy trên máy chủ ESXi bằng cách sử dụng VMware Remote Console và VMware Workstation để kết nối với máy ảo.

Sử dụng thiết bị lưu trữ USB

VMware ESXi và VMware Workstation hỗ trợ tính năng truyền qua USB, 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áy ảo đang chạy trên máy chủ đó. Bạn có thể kết nối thiết bị lưu trữ USB với máy chủ và máy ảo theo thứ tự để sao chép tệp giữa các máy này theo cả hai hướng.

Lưu ý: Phải cài đặt VMware Tools trên hệ điều hành khách (OS) của máy ảo để sử dụng tính năng truyền qua USB.

Sao chép tệp giữa các máy ảo (VM) trong VMware Workstation và máy chủ

Thực hiện các bước sau để chuyển tệp từ máy ảo sang máy chủ trong VMware Workstation được cài đặt trên các máy chủ Windows và Linux (giao diện được thống nhất):

  1. Bật nguồn cho máy ảo.
  2. Cắm thiết bị lưu trữ USB, chẳng hạn như ổ cứng USB (HDD) hoặc ổ đĩa flash USB, vào máy tính vật lý đóng vai trò là máy chủ.
  3. Cửa sổ New USB Device Detected sẽ mở ra trong VMware Workstation. Chọn nơi bạn muốn kết nối thiết bị USB:
    • Kết nối với máy chủ
    • Kết nối với máy ảo

    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. Trong ví dụ này, chúng ta đang chạy một máy ảo Windows. 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. Một thiết bị USB chỉ có thể được kết nối với một máy ảo tại một thời điểm. Nhấp vào OK để tiếp tục.

    How to transfer files to virtual machines by using a USB storage device

    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ý nơi cài đặt VMware Workstation, cửa sổ bật lên với các tùy chọn chuyển tiếp USB sẽ không hiển thị tự động. Bạn có thể kết nối thiết bị USB với máy ảo (ngắt kết nối khỏi máy chủ) qua menu:

    Truy cập VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from host).

    Trong ví dụ này, tên ổ đĩa flash USB là Kingston DataTraveler 2.0.

    Connecting a USB flash drive to a VM to copy files between a host and VM

  4. 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 các ổ đĩa của My Computer (Windows Explorer). Để kiểm tra thiết bị lưu trữ USB:
    • Nhấp chuột phải vào My Computer và chọn Manage.
    • Truy cập Computer Management > Device Manager and Computer Management > Disk Management trong snap-in tương ứng sau khi nhấp chuột phải.

    Nếu ký tự ổ đĩa không được gán tự động, hãy gán ký tự đó thủ công trong snap-in Disk Management .

    Quy trình làm việc cho máy ảo chạy Linux cũng tương tự. Trong một số bản phân phối Linux, bạn có thể cần gắn thiết bị lưu trữ USB đã kết nối (như ổ đĩa flash) thủ công trong hệ điều hành Linux.

  5. Sau khi thiết bị lưu trữ USB đã được gắn vào máy ảo và được hệ điều hành khách nhận diện, hãy sao chép các tệp cần thiết từ máy ảo sang thiết bị lưu trữ USB. Việc sao chép tệp từ thiết bị lưu trữ USB sang máy ảo hiện cũng đã hoạt động.

    A USB flash drive is connected to a VM

  6. Sau khi sao chép tất cả các tệp cần thiết từ máy ảo sang ổ đĩa flash USB, hãy ngắt kết nối ổ đĩa flash USB khỏi máy ảo và kết nối thiết bị USB này với máy chủ:

    Nhấp vào VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).

    How to transfer files from VM to host – disconnecting a USB flash drive from a VM

  7. Hiện tại, một thiết bị lưu trữ USB đã được kết nối với máy chủ (trong trường hợp này là máy tính chạy Windows có cài đặt VMware Workstation). Chúng ta có thể chuyển các tệp đã được sao chép từ máy ảo (VM) sang ổ USB flash sang máy chủ của bạn.

Chuyển tiếp USB từ VMware Workstation sang các máy ảo ESXi

Bạn có thể sử dụng một ổ USB flash được cắm vào máy chủ ESXi và cắm vào máy tính Windows hoặc Linux cục bộ của bạn (đã cài đặt VMware Workstation hoặc VMware Remote Console (VMRC)) mà bạn đang sử dụng để quản lý máy chủ ESXi từ xa để kết nối ổ USB flash này với một máy ảo ESXi. Trong trường hợp đầu tiên, tính năng truyền qua USB kết nối từ máy chủ được sử dụng; trong trường hợp thứ hai, tính năng truyền qua USB kết nối từ máy khách được sử dụng.

Hãy kết nối một ổ USB được cắm vào máy tính vật lý Windows 10 cục bộ của chúng ta với một máy ảo Windows XP đang chạy trên máy chủ ESXi phiên bản 7.0 (sử dụng tính năng truyền qua USB kết nối từ máy khách). VMware Workstation đã được cài đặt trên máy tính vật lý Windows của chúng ta và kết nối với máy chủ ESXi qua mạng (192.168.101.0/24).

Để thực hiện điều này:

  1. Máy ảo phải được tắt nguồn để chỉnh sửa cài đặt máy ảo.
  2. Đảm bảo rằng USB controller có trong danh sách phần cứng ảo của máy ảo. Bạn có thể kiểm tra cấu hình máy ảo trong VMware Host Client. Chọn máy ảo của bạn (Windows-VM trong trường hợp này), nhấp vào Edit Settings và chọn tab Virtual Hardware .

    A USB controller must be present on a VM to transfer files to virtual machine with a USB flash drive

  3. Hãy quay lại VMware Workstation được cài đặt trên máy Windows 10 cục bộ (vật lý) của chúng ta. Nhấp vào File > Connect to a server trong VMware Workstation để kết nối với máy chủ ESXi từ xa.

    Connecting to a remote ESXi server

  4. Nhập tên máy chủ ESXi hoặc địa chỉ IP, tên người dùng và mật khẩu. Nhấp vào Connect.

    Connecting to a remote ESXi host – entering credentials

  5. Mở rộng máy chủ ESXi trong khung bên trái của VMware Workstation, nơi hiển thị các máy chủ từ xa, các máy ảo (VM) từ xa trên các máy chủ này và các máy ảo VMware Workstation cục bộ.
  6. Chọn một máy ảo đang chạy trên máy chủ ESXi từ xa. Chúng ta chọn Windows-VM đang chạy trên 192.168.101.201 . Sau đó, chúng ta có thể thấy giao diện người dùng của hệ điều hành khách (guest OS) của máy ảo đã chọn.
  7. Nhấp vào VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from Host).

    Lưu ý rằng chúng ta chọn một thiết bị USB được kết nối với máy tính Windows vật lý của chúng ta, trên đó đã cài đặt VMware Workstation. Thiết bị USB này không phải là thiết bị được kết nối trực tiếp với máy chủ ESXi vật lý mà chúng ta đã kết nối từ xa.

    Connecting a USB flash drive to a VM running on an ESXi host using client-connected USB passthrough

  8. Giờ đây, chúng ta có thể thấy ổ đĩa flash USB của mình được kết nối với máy ảo Windows XP đang chạy trên máy chủ ESXi từ xa: Start > CMD > compmgmt.msc > Device Manager.

    A USB flash drive is connected to a VM running on an ESXi host and is ready to copy files

  9. Gán ký tự ổ đĩa cho phân vùng của ổ đĩa flash USB đã kết nối nếu ký tự ổ đĩa chưa được gán. Sao chép các tệp cần thiết giữa máy ảo và ổ đĩa flash USB. Bạn có thể chuyển tệp vào và ra khỏi máy ảo.

    Using a USB flash drive to transfer files from VM to host

  10. Sau khi sao chép tệp, bạn có thể ngắt kết nối thiết bị lưu trữ USB khỏi máy ảo và kết nối lại thiết bị này với máy tính vật lý Windows 10 cục bộ đang chạy VMware Workstation. Trong giao diện người dùng (GUI) của VMware Workstation, nhấp vào “ VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host)”.

Kết nối ổ 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ụ như khi bạn cần cập nhật trình điều khiển mạng trên máy chủ ESXi mà không thể sử dụng mạng. Việc kết nối ổ USB với ESXi phức tạp hơn so với việc kết nối với máy chủ chạy VMware Workstation.

Trên ESXi có những hạn chế liên quan đến các hệ thống tệp được hỗ trợ có thể gắn vào ESXi. Ổ USB hoặc ổ cứng USB sử dụng hệ thống tệp FAT32 và NTFS không được hỗ trợ. Do đó, chúng ta cần tạo một phân vùng trên ổ USB và định dạng phân vùng này bằng VFAT (được Windows nhận diện là FAT12). VFAT có một số 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 được cho các tệp lớn như đĩa ảo hoặc hình ảnh ISO có dung lượng lớn hơn 4 GB. Tuy nhiên, các giới hạn này vẫn đủ để 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 ổ USB

Trước tiên, hãy tạo một phân vùng mới trên ổ USB của chúng ta và định dạng phân vùng này bằng hệ thống tệp VFAT. Chúng ta có thể thực hiện điều này bằng cách kết nối ổ USB đã cắm vào máy chủ ESXi với một máy ảo (sử dụng tính năng passthrough USB kết nối với máy chủ). Ngoài ra, chúng ta có thể cắm ổ USB vào một máy tính vật lý chạy Windows hoặc Linux.

Trong ví dụ này, chúng ta sử dụng máy tính Windows 7 để chuẩn bị ổ 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 đều giống nhau.

  1. Để đảm bảo ổ đĩa flash USB đã được kết nối với máy tính Windows của bạn, hãy nhấp chuột phải vào My Computer hoặc This PC (hoặc chạy diskmgmt.msc từ CMD) để mở Disk Management.
  2. Mở dòng lệnh Windows:

    Start > Run > cmd

  3. diskpart vào dòng lệnh và nhấn Enter.

    Bạn sẽ thấy dấu nhắc lệnh diskpart:

    Diskpart

  4. Liệt kê các đĩa được kết nối với máy tính Windows của bạn:

    list disk

    Tìm ổ đĩa flash USB của bạn trong danh sách kết quả và ghi nhớ số đĩa. Trong trường hợp của chúng tôi, Disk 1 là số của ổ đĩa flash USB (xem ảnh chụp màn hình bên dưới).

  5. Chọn ổ đĩa flash USB của bạn bằng cách chỉ định số đĩa tương ứng mà bạn đã lấy từ kết quả lệnh trên (disk 1 trong trường hợp của chúng tôi).

    select disk 1

  6. Liệt kê các phân vùng trên ổ USB đã chọn:

    list partition

    Ổ USB của chúng tôi có một phân vùng (Partition 1) (xem ảnh chụp màn hình bên dưới). Việc có một phân vùng trên ổ USB là trường hợp phổ biến nhất.

    Listing disks to identify a USB flash drive that can be used to copy files from a VM to an ESXi host

    Tiếp theo, chúng ta cần xóa các phân vùng trên ổ USB.

    Lưu ý quan trọng: Tất cả dữ liệu trên ổ USB sẽ bị xóa. Bạn có thể sao chép dữ liệu từ ổ USB nếu cần trước khi thực hiện các bước tiếp theo.

  7. Chọn một phân vùng trên ổ USB sắp bị xóa:

    select partition 1

  8. Chạy lệnh để xóa phân vùng đã chọn:

    delete partition

  9. Chọn lại ổ đĩa là ổ USB của bạn:

    select disk 1

    Selecting the first partition on a USB flash drive in Diskpart

  10. 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 ta tạo một phân vùng 4 GB trên ổ USB. Lưu ý rằng bạn không thể lưu trữ các tệp lớn hơn 4 GB trên hệ thống tệp 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

  11. Định dạng phân vùng vừa tạo theo cách này để đảm bảo tương thích với ESXi:

    format fs=fat quick

    Formatting a partition in VFAT transfer files from VM to host (ESXi)

  12. Thoát khỏi công cụ diskpart (chạy lệnh exit ).

Ổ USB đã sẵn sàng để được ESXi nhận diện và sao chép tệp. Sau một số bước cấu hình ESXi bổ sung, bạn có thể gắn ổ USB vào máy ảo (VM) và sao chép các tệp cần thiết vào ổ USB.

Giả sử chúng ta cần sao chép một tệp lưu trữ ZIP chứa các trình điều khiển. Trong ví dụ này, chúng ta đã sao chép tệp net-tulip.zip vào ổ đĩa flash USB. Tiếp theo, chúng ta cần gắn phân vùng của ổ đĩa flash USB được cắm vào máy chủ ESXi trong dòng lệnh ESXi.

Cấu hình máy chủ ESXi để sử dụng ổ đĩa flash USB

Giả sử chúng ta cần sao chép một tệp nén ZIP chứa trình điều khiển từ ổ đĩa flash USB vào kho dữ liệu ESXi, sau đó sao chép tệp cấu hình máy ảo từ kho dữ liệu ESXi sang ổ đĩa flash USB. Tên tệp trong ví dụ của chúng ta là net-tulip.zip . Thực hiện các bước sau trên máy chủ ESXi để chuyển tệp từ ổ USB sang VMware ESXi và ngược lại:

  1. Cấu hình được thực hiện trong giao diện dòng lệnh. Do đó, bạn phải kích hoạt quyền truy cập SSH trên Máy chủ ESXi.
    • Để kích hoạt truy cập SSH từ xa trong DCUI, hãy truy cập Troubleshooting options > Enable SSH.
    • Để kích hoạt truy cập SSH từ xa và máy chủ SSH trên ESXi trong VMware Host Client, hãy truy cập Host > Manage và chọn tab Services . Nhấp chuột phải vào TSM-SSH và nhấp vào Start để khởi động dịch vụ. Bạn có thể kích hoạt dịch vụ này vĩnh viễn.

    Starting the SSH server service on an ESXi host to allow remote management in the command line

  2. 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 trình khách SSH ưa thích của mình.
  3. Dừng dịch vụ USB arbitrator:

    /etc/init.d/usbarbitrator stop

    Dịch vụ USB arbitrator tự động kích hoạt tính năng truyền qua USB cho các máy ảo nằm trên máy chủ ESXi (bạn chỉ cần chọn một ổ USB flash trong cài đặt máy ảo của máy ảo tương ứng để sử dụng tính năng này).

  • Nếu bạn muốn vô hiệu hóa dịch vụ USB arbitrator 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ụ USB arbitrator, hãy sử dụng lệnh tương ứng:

    /etc/init.d/usbarbitrator start

    chkconfig usbarbitrator on

  1. Các lệnh tùy chọn để kiểm tra các thiết bị USB được kết nối với máy chủ ESXi:

    lsusb

    esxcli storage core device list | grep -i usb

    esxcli storage filesystem list

    Bạn có thể truy cập /var/log/usb.log để kiểm tra trạng thái của thiết bị USB.

  2. Bạn có thể cần ngắt kết nối và kết nối lại thiết bị lưu trữ USB sau khi dừng dịch vụ USB arbitrator.
  3. Liệt kê các thiết bị đĩa khối để tìm/xác định ổ đĩa flash USB (hoặc ổ cứng USB) đã kết nối.

    ls -ltrh /vmfs/devices/disks/

    Ổ đĩa flash USB của chúng ta là mpx.vmhba32:C0:T0:L0: (xem ảnh chụp màn hình bên dưới).

    Do đó, địa chỉ/vị trí đầy đủ của đĩa là:

    /dev/disks/mpx.vmhba32:C0:T0:L0:

    Viewing disk devices connected to an ESXi host to identify a USB flash drive

  4. 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 kết quả hiển thị, ID thiết bị đầy đủ — bao gồm cả số phân vùng trong trường hợp của chúng ta — là:

    /dev/disks/mpx.vmhba32:C0:T0:L0:1

  5. Xác định 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/ của hệ thống tệp ESXi là thư mục mà các phân vùng có hệ thống tệp được gắn vào.

    ls -al /vmfs/volumes/ [press Tab]

    Khối lượng trên ổ USB flash được gọi là NO NAME

    A USB flash drive connected to an ESXi host has the NO NAME volume label

  6. Kiểm tra nội dung của thư mục gốc trên ổ USB flash

    ls -al /vmfs/volumes/NO NAME/

    Tệp nén ZIP của chúng ta hiện có trên khối lượng ổ USB flash.

    How to transfer files from VM to host using a USB flash drive connected to ESXi

  7. Chúng ta đã tạo thư mục install trên kho dữ liệu ESXi (datastore10a) bằng các lệnh:

    cd /vmfs/volumes/datastore10a

    mkdir install

    Trong ảnh chụp màn hình bên dưới, bạn cũng có thể thấy thư mục của máy ảo (VM) mà tệp cấu hình của nó sẽ được sao chép từ kho dữ liệu ESXi sang ổ USB flash sau này.

    Selecting a VM file that can be copied to a USB flash drive from an ESXi datastore

  8. Sao chép tệp ZIP từ ổ USB vào thư mục ` ` trong thư mục cài đặt ` ` trên máy chủ ESXi của chúng ta (tại ` datastore10a`).

    cp /vmfs/volumes/NO NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/

  9. 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.

    How to copy file from VM to host in the ESXi command line interface

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, sau đó sao chép tệp cần thiết vào máy ảo (VM) hoặc sang máy khác từ ổ USB này.

  1. Kiểm tra nội dung của thư mục máy ảo:

    ls -al /vmfs/volumes/datastore10a/Windows-VM/

  2. Sao chép tệp cấu hình ` Windows-VM.vmx ` từ kho dữ liệu ESXi sang ổ USB:

    cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO NAME/

  3. Kiểm tra xem tệp đã được sao chép vào ổ USB chưa:

    ls -al /vmfs/volumes/NO NAME/

    Copying a VM file from an ESXi host to a USB flash drive

Sau khi hoàn tất việc sao chép tệp trên máy chủ ESXi, bạn có thể tháo ổ USB và khởi động dịch vụ USB arbitrator trên máy chủ ESXi. Sau đó, bạn có thể cắm lại ổ USB và sử dụng tính năng truyền qua USB kết nối với máy chủ để gắn ổ USB vào máy ảo.

Tìm hiểu thêm về Chức năng chuyển tiếp USB cho ESXi và cách kết nối thiết bị lưu trữ USB được cắm vào máy chủ ESXi với máy ảo đang chạy trên máy chủ ESXi.

Sử dụng PowerCLI để chuyển tệp sang các máy ảo VMware

Một phương pháp khác để chuyển tệp từ máy ảo sang máy chủ là sử dụng các lệnh (cmdlets) tại PowerCLI. VMware Tools phải được cài đặt trong hệ điều hành khách bên trong một máy ảo (VM). Các lệnh PowerShell này sử dụng VMware Tools để sao chép tệp tin đến/từ các máy ảo nằm trên máy chủ ESXi. Do đó, bạn không cần kết nối mạng nếu thực thi các lệnh bên trong một máy ảo nằm trên chính máy chủ ESXi nguồn hoặc đích.

Để sao chép tệp tin giữa các máy ảo, bạn có thể sử dụng lệnh ` Copy-VMGuestFile ` và các lệnh khác trong vSphere PowerCLI.

  1. Kết nối với máy chủ ESXi hoặc vCenter Server. Trong ví dụ này, chúng ta sẽ kết nối với máy chủ ESXi.

    Connect-VIServer 192.168.101.201

    Connecting to an ESXi host in VMware PowerCLI

  • Để tránh cảnh báo chứng chỉ, hãy chạy lệnh:

    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

    How to disable a certificate warning in VMware vSphere PowerCLI

Copy-VMGuestFile (Máy ảo ESXi cục bộ > )

Sử dụng lệnh sau để sao chép tệp từ máy cục bộ (máy đang chạy PowerCLI) sang máy ảo 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

Trong đó:

c:temptest.txt là tệp nguồn mà chúng ta muốn sao chép từ máy cục bộ

-LocalToGuest là hướng sao chép (từ máy cục bộ sang hệ điều hành khách trên máy ảo đích chạy trên ESXi)

-VM Windows-VM là tên máy ảo đích

c:temp-VM là thư mục đích trên máy ảo đích (nơi chúng ta muốn lưu bản sao tệp)

user1 là tên người dùng trong hệ điều hành khách (OS) trên máy ảo đí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 của người dùng này.

Chúng ta 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 ta đã được sao chép hay chưa.

How to copy file to virtual machine in PowerCLI

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

A file has been copied to a VMware VM

Copy-VMGuestFile (Máy ảo ESXi > Cục bộ)

Bây giờ, hãy sao chép một tệp từ hệ điều hành khách của máy ảo sang 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

Trong đó:

-Source "c:temp-VMtest2.txt" là đường dẫn đến tệp nguồn trên máy ảo chạy trên ESXi

-GuestToLocal là hướng sao chép (từ hệ điều hành khách của máy ảo ESXi sang máy cục bộ nơi lệnh được thực thi)

"c:temp" là đường dẫn đến 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 máy ảo đích. Người dùng này phải có quyền truy cập vào thư mục đích đã định.

Password là mật khẩu của người dùng này trong hệ điều hành khách

How to copy a file from a virtual machine in PowerCLI

Bạn có thể xem các ví dụ về cách 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 tin đến/từ kho dữ liệu ESXi. Có 2 cách để sử dụng cmdlet này nhằm sao chép tệp vào kho dữ liệu (datastore) của VMware ESXi:

  • Nếu PowerCLI đã được cài đặt trên hệ điều hành khách Windows bên trong máy ảo, bạn có thể chạy lệnh để sao chép tệp trực tiếp từ kho dữ liệu ESXi sang máy ảo và ngược lại.
  • Nếu bạn không thể cài đặt PowerCLI trên máy ảo (VM) đang chạy trên máy chủ ESXi, bạn có thể chạy các lệnh PowerCLI từ máy Windows cục bộ của mình, sao chép tệp từ kho dữ liệu ESXi sang 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ộ sang máy ảo bằng lệnh Copy-VMGuestFile.

Bạn phải kết nối với máy chủ ESXi hoặc vCenter Server. Bạn có thể thực hiện điều này bằng lệnh:

ViConnect <server_name_or_IP>

Chúng ta đang kết nối trực tiếp với máy chủ ESXi.

Hãy sao chép tệp cấu hình máy ảo từ kho dữ liệu sang máy Windows hiện tại (máy mà chúng ta đang chạy các lệnh này – cũng có thể là một máy ảo trên máy chủ ESXi):

  1. Lấy thông tin về kho dữ liệu:

    Get-Datastore "datastore10a"

  2. Lấy đối tượng kho dữ liệu ESXi:

    $datastore = Get-Datastore "datastore10a"

  3. Tạo một ổ đĩa PowerShell mới, đặt tên là ds: và ánh xạ đến $datastore:

    New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root ""

  4. Đặt kho dữ liệu của bạn làm vị trí hiện tại:

    Set-Location ds:

  5. Để liệt kê các tệp và thư mục trong thư mục đã chọn, hãy sử dụng lệnh:

    Get-ChildItem

    Preparing to copy files from an ESXi host

  6. Bạn có thể đặt thư mục máy ảo làm vị trí mới. Trong trường hợp của chúng ta, thư mục này là Windows-VM

    Set-Location "Windows-VM"

  7. Lệnh để sao chép tệp máy ảo (tức là tệp cấu hình VMX của máy ảo) từ kho dữ liệu ESXi đã định nghĩa sang thư mục tạm trên máy hiện tại:

    Copy-DatastoreItem -Item ds:Windows-VMWindows-VM.vmx -Destination c:temp

    Trong đó:

    ds:Windows-VMWindows-VM.vmx là đường dẫn đến tệp cần sao chép và ds: là đường dẫn tắt đã định nghĩa đến kho dữ liệu (datstore10a trong trường hợp này).

    Copying a file from an ESXi datastore in PowerCLI

  • Nếu bạn đã kết nối với vCenter (chứ không phải với một máy chủ ESXi cụ thể như trong ví dụ này), bạn có thể sử dụng lệnh sau đây cùng 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 tệp theo hướng ngược lại (bằng cách kết nối với một máy chủ ESXi), hãy sử dụng lệnh:

    Copy-DatastoreItem -Item c:tempdarwin.iso -Destination ds:install

    Chúng ta sao chép darwin.iso (đây là hình ảnh có chứa VMware Tools dành cho macOS) từ một máy tính Windows vào thư mục cài đặt trên kho dữ liệu (datastore) của ESXi.

    Copy file to VMware ESXi datastore in PowerCLI

  • 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 tệp từ máy tính Windows cục bộ sang kho dữ liệu trên máy chủ 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 tập lệnh PowerShell để chuyển tệp từ máy ảo (VM) sang máy chủ và ngược lại.

Các lệnh để sao chép tệp từ máy ảo (VM) sang máy chủ trong VMware Workstation

Nếu bạn sử dụng VMware Workstation (một trình ảo hóa loại 2) trên máy chủ Windows hoặc Linux (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 tệp từ máy ảo sang 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 lệnh giống nhau trên Windows, Linux và macOS (VMware Fusion). Trong hướng dẫn này, chúng tôi sử dụng VMware Workstation 15 trên Windows 10.

  1. Truy cập vào thư mục VMware Workstation:

    cd "C:Program Files (x86)VMwareVMware Workstation"

  2. Sử dụng lệnh sau để sao chép một tệp từ hệ điều hành khách bên trong máy ảo sang máy chủ Windows cục bộ:

    CopyFileFromHostToGuest <Path to vmx file> <Path in guest> <Path on host>

    Trong trường hợp này, lệnh chính xác là:

    vmrun copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

  3. Nhập tên người dùng và mật khẩu khi được yêu cầu (người dùng phải có đủ quyền truy cập vào tệp đã định).

    Trong đó:

    d:virtualWinServer2019WinServer2019.vmx là đĩa ảo của máy ảo mà từ đó chúng ta sao chép tệp.

    c:temptest.txt là tệp được lưu trữ trên đĩa ảo của máy ảo; đây là tệp mà chúng ta sao chép.

    c:tempcopied là thư mục để lưu bản sao tệp trên máy chủ.

    Hãy đảm bảo bạn sử dụng ký tự gạch chéo ngược khi thiết lập đường dẫn. Chúng ta đã sao chép test.txt – đây là một tệp văn bản từ máy ảo sang máy chủ.

    Ngoài ra, bạn có thể chạy lệnh bằng cách định nghĩa thông tin đăng nhập trong lệnh:

    vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

    How to transfer files from VM to host by using the vmrun command

Để sao chép tệp theo hướng ngược lại (từ máy chủ sang máy ảo), hãy sử dụng lệnh như sau:

CopyFileFromHostToGuest <Path to vmx file> <Path on host> <Path in guest>

Lệnh cụ thể trong ví dụ này là:

vmrun copyFileFromHostToGuest d:virtualWinServer2019WinServer2019.vmx "c:temptest3.txt" "c:temptest3-copy.txt"

How to copy files to virtual machine by using vmrun

Cách chuyển tệp bằng SSH và SCP

SSH (Secure Shell) là giao thức phổ biến để quản lý máy chủ từ xa một cách an toàn nhờ mã hóa. SCP là giao thức dựa trên SSH để sao chép tệp qua mạng một cách an toàn. Bạn có thể sử dụng SCP để chuyển tệp từ máy ảo sang máy chủ, đặc biệt nếu máy ảo chạy hệ điều hành Linux. Có thể kích hoạt máy chủ SCP và SSH trên các máy Linux và ESXi chỉ bằng vài bước.

Cách kích hoạt máy chủ SSH trong ESXi

Phải kích hoạt dịch vụ máy chủ SSH trên máy chủ ESXi để sử dụng phương pháp này và truyền tệp đến cũng như từ VMware ESXi.

  1. Để kích hoạt máy chủ SSH trong VMware Host Client, hãy truy cập Host > Manage > Services và khởi động dịch vụ TSM-SSH .
  2. Phải cho phép SSH trong tường lửa ESXi để cho phép lưu lượng SCP nhằm chuyển tệp từ máy chủ ESXi cũng như kết nối với các máy khác bằng SCP từ máy chủ ESXi này:
    • Truy cập Networking trong ngăn Navigator , chọn tab Firewall rules và chọn SSH Client.
    • Nhấp vào Actions > Enable để kích hoạt quy tắc tường lửa.

    Enabling SSH access in the ESXi firewall

  3. Để 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

    Trong đó:

    192.168.101.202 là địa chỉ IP của 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 qua SCP trên mạng:

scp [OPTION] [user]@[SRC_HOST]:path_to_file1 [user]@[DEST_HOST]:path_to_file2

[user]@[SRC_HOST]:path_to_file1 – tệp nguồn

[user]@[DEST_HOST]:path_to_file2 – tệp đích

-P chỉ định số cổng cho kết nối SSH (sử dụng tùy chọn này nếu số cổng không phải là 22).

Dưới đây, chúng tôi sẽ giải thích các ví dụ cụ thể trong thực tế.

Cách sao chép tệp cục bộ sang máy từ xa qua SCP

Để sao chép tệp cục bộ sang máy từ xa qua SCP, hãy sử dụng lệnh như sau:

scp file.txt remote_username@remote_host_ip:/remote/directory

Từ Linux

Hãy sao chép tệp LinuxDir.txt từ máy Ubuntu Linux cục bộ (cũng có thể là một máy ảo) sang 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 từ máy Linux cục bộ sang máy chủ ESXi từ xa trong trường hợp của chúng ta là:

scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/

How to copy a file to a remote ESXi host via SCP

Bạn có thể lưu tệp đã sao chép trên máy đích với tên tệp 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 một thư mục cùng với tất cả các tệp bên trong:

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áy chủ ESXi. Cú pháp scp trong dòng lệnh là giống nhau cho cả 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 tất cả các tệp bên trong vào thư mục home 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/

How to copy a file from an ESXi host to a remote machine via SCP

Nếu máy chủ SSH lắng nghe trên cổng khác với cổng 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 từ xa sang máy cục bộ qua SCP

SCP rất tiện lợi để sao chép tệp từ máy từ xa sang máy cục bộ, đồng thời cho phép bạn chuyển tệp từ máy ảo (VM) sang máy chủ (host). Dưới đây chúng tôi sẽ giải thích cách thực thi các lệnh tương ứng trên Linux và ESXi.

Sao chép tệp tin sang máy Linux cục bộ

Chúng ta sẽ sao chép một tệp tin từ máy chủ ESXi từ xa sang máy Linux hiện tại bằng SCP. Để thực hiện điều 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 tệp tin darwin.iso từ máy chủ ESXi từ xa sang thư mục home đã định nghĩa trên máy Linux:

scp root@192.168.101.201:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/

How to copy a file from a remote ESXi datastore to the current Linux machine via SCP

Sao chép tệp tin sang máy chủ ESXi cục bộ

Nếu đăng nhập vào máy chủ ESXi, chúng ta có thể chạy lệnh để sao chép tệp tin máy ảo từ máy Linux từ xa sang kho dữ liệu (datastore) trên máy chủ ESXi cục bộ. Hãy sao chép tệp tin VM_file.txt từ máy Linux sang thư mục của kho dữ liệu ESXi qua mạng bằng SCP:

scp user1@192.168.101.210:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

How to copy a file from a remote Linux machine to the ESXi host via SCP

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, có hoặc không 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ủ từ xa khác (không sao chép qua máy cục bộ hiện tại) bằng lệnh trên. Nếu bạn muốn định tuyến lưu lượng qua máy cục bộ 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 đăng nhập trên cả hai máy chủ từ xa đều giống nhau.

Ví dụ về lệnh cần chạy trên máy Linux cục bộ để sao chép 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óa máy chủ không được lưu trữ trên một trong các máy chủ. Nếu lỗi này do việc thay đổi khóa máy chủ trên máy chủ từ xa gây ra, hãy xóa khóa máy chủ cũ của máy chủ từ xa hiện tại được lưu trữ trong ~/.ssh/known_hosts

. Lệnh để xóa khóa máy chủ cũ là: ssh-keygen -R hostname_or_IP_address

Ví dụ: chạy lệnh trên địa chỉ 192.168.101.202 để xóa khóa máy chủ cũ của máy chủ từ xa 192.168.101.201:

ssh-keygen -R 192.168.101.201

Ví dụ về việc sử dụng -3 trong lệnh để sao chép tệp qua máy cục 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 sang máy ảo hoặc máy chủ ESXi trong Windows. Để thực hiện điều này, bạn cần sử dụng một trình khách SCP như WinSCP, đây là 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í.

  1. Khởi chạy WinSCP.
    • Chọn 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 tính Linux.
    • Nhập tên người dùng và mật khẩu của máy tính từ xa.
    • Nhấp vào Login.

    Trong ví dụ này, chúng ta đang kết nối với một máy chủ ESXi từ xa.

    Connecting to an ESXi host in WinSCP to copy files

  2. Một thông báo sẽ hiển thị:

    Continue connecting to unknown server and add its host key to a cache?

    Nhấp vào Yes để tiếp tục.

  3. Sau khi kết nối, bạn sẽ thấy cửa sổ kiểu dòng lệnh với hai bảng. Một bảng đại diện cho thư mục trên máy cục bộ và bảng còn lại đại diện cho thư mục trên máy từ xa. Bạn có thể sao chép tệp giữa máy chủ cục bộ và máy chủ từ xa bằng cách sao chép tệp giữa hai bảng này.

    Using WinSCP to copy a VM file from and to an ESXi host

Bạn có thể sao chép tệp từ kho dữ liệu (datastore) của một máy chủ ESXi từ xa mà bạn đã kết nối trong WinSCP sang một máy ảo Windows hoặc máy vật lý từ xa bằng cách 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 vào bảng điều khiển WinSCP (ví dụ: 192.168.101.117c$). Bạn chỉ có thể chọn ký tự ổ đĩa. Để vượt qua hạn chế này, hãy kết nối với thư mục chia sẻ trong Windows Explorer và ánh xạ thư mục chia sẻ này thành một ổ đĩa mạng. Gán một ký tự ổ đĩa, ví dụ: S: như chúng ta đã làm trong ví dụ này, để kết nối thư mục chia sẻ trên 192.168.101.211 .

Bây giờ chúng ta 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 trên kho dữ liệu của máy chủ ESXi từ xa và sao chép tệp theo cả hai hướng.

Copying files between a remote ESXi host and remote SMB share by using WinSCP in Windows

Sử dụng chia sẻ NFS

Bạn có thể sử dụng chia sẻ NFS để chuyển tệp tin sang các máy ảo từ kho dữ liệu ESXi và ngược lại. ESXi không hỗ trợ chia sẻ SMB (bản địa cho Windows). Hệ thống này hỗ trợ chia sẻ NFS (bản địa cho Linux) và việc gắn chia sẻ NFS làm kho dữ liệu. Sử dụng tính năng này, bạn có thể áp dụng một trong các phương pháp sau để 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áy ảo Linux
  • Gắn chia sẻ NFS làm kho dữ liệu trên ESXi
  • Sao chép tệp từ máy ảo sang 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áy Linux vật lý hoặc NAS
  • Kết nối chia sẻ NFS làm kho dữ liệu trên ESXi
  • Kết nối đến chia sẻ NFS trên máy ảo Linux
  • Sao chép tệp từ máy ảo Linux sang chia sẻ NFS, sau đó sao chép các tệp này sang máy chủ ESXi. Sao chép tệp từ máy chủ ESXi sang chia sẻ NFS và sao chép các tệp này từ chia sẻ NFS sang máy ảo Linux.

Đọc bài so sánh tại NFS so với SMB để 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

Trong hướng dẫn này, chúng tôi sử dụng Linux Ubuntu 20.04. Chúng tôi đã đăng nhập vào hệ thống 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 để thực thi lệnh. Thực hiện các bước sau để cài đặt máy chủ NFS và cấu hình chia sẻ NFS.

  1. Cập nhật kho lưu trữ trong Linux:

    sudo apt-get update

  2. Cài đặt gói máy chủ NFS trên Linux:

    sudo apt-get install nfs-kernel-server -y

  3. 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/

  4. Đặt chủ 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/

    nobody là một người dùng ảo đại diện cho người dùng có quyền truy cập thấp nhất và không có quyền truy cập shell. Mục đích của nhóm nogroup tương tự như người dùng nobody .

    Creating a directory for an NFS share

  5. Cấu hình tệp exports để chia sẻ thư mục đã tạo.

    sudo nano /etc/exports

    hoặc

    sudo vim /etc/exports

  6. Thêm dòng sau 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 ta, dòng chứa địa chỉ IP được phép của máy chủ ESXi 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ủ trong mạng con 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 các thay đổi vào tệp cấu hình và thoát khỏi trình soạn thảo văn bản.

  7. Để 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

  8. Áp dụng cấu hình mới bằng lệnh:

    sudo exportfs -a

  9. Đảm bảo rằng tường lửa trên máy Linux chạy máy chủ NFS cho phép truy cập. Bạn có thể cấp quyền truy cập cho một địa chỉ IP cụ thể bằng lệnh như sau:

    sudo ufw allow from IP to any port nfs

    Trong 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 từ tất cả các máy chủ trong cùng một mạng con:

    sudo ufw allow from SUBNET to any port nfs

    Trong 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

  10. Bạn có thể kiểm tra trạng thái tường lửa bằng lệnh:

    sudo ufw status

  11. Khởi động lại máy chủ NFS để các thay đổi cấu hình có hiệu lực:

    sudo systemctl restart nfs-kernel-server

  12. Chia sẻ NFS đã được cấu hình trên Linux.
  13. Sao chép một tệp từ bất kỳ thư mục nào trên máy Linux vào thư mục được chia sẻ qua NFS. Chúng ta sao chép VM_file.txt vào thư mục chia sẻ NFS 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/

    Copying a file to a directory configured as an NFS share

Gắn kết kho dữ liệu NFS vào ESXi

Bạn cần thêm kho dữ liệu NFS vào ESXi sau khi đã cấu hình chia sẻ NFS. Trong ví dụ này, chúng ta sử dụng VMware Host Client để thực hiện việc này.

Truy cập Storage > Datastores và nhấp vào New datastore.

Creating a new datastore to mount the NFS as a datastore

Trình hướng dẫn New datastore đã được mở.

  1. Chọn Mount NFS datastore. Nhấp vào Next để tiếp tục.

    How to mount an NFS datastore in ESXi

  2. Cung cấp thông tin gắn kết NFS:
    • Tên: NFS-share (tên sẽ được hiển thị làm tên kho dữ liệu)
    • Máy chủ NFS: 192.168.101.210
    • Chia sẻ NFS: /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 đối với NFS4. Chúng tôi để trống hai trường này.

    Entering the details to mount an NFS datastore in ESXi

  3. Sẵn sàng hoàn tất. Kiểm tra cấu hình của bạn và nhấp vào Finish nếu mọi thứ đều chính xác.

Sao chép tệp từ máy ảo sang máy chủ

Kho dữ liệu NFS đã được gắn thành công. Bạn có thể kiểm tra điều này tại Storage > Datastores.

Bây giờ chúng ta có thể sao chép các tệp từ máy ảo được lưu trữ trên chia sẻ NFS sang kho dữ liệu ESXi cục bộ (chuyển tệp từ máy ảo sang máy chủ).

  1. Nhấp vào Datastore Browser.

    Browsing the NFS datastore to copy a VM file

  2. Chọn kho dữ liệu NFS của bạn trong trình duyệt kho dữ liệu (NFS-share trong trường hợp của chúng ta). Duyệt tìm tệp cần thiết trong kho dữ liệu NFS. Chọn tệp cần thiết và nhấp vào Copy.

    How to copy a VM file from a virtual machine to an ESXi datastore using an NFS share

  3. Chọn đích đến. Chọn vị trí cần thiết trong kho dữ liệu đích nơi bạn muốn lưu tệp đã sao chép (trong trường hợp của chúng tôi làdatastore10b ). Nhấp vào Copy.

    Copying a VM file to an ESXi datastore in VMware Host Client

    . Ngoài ra, bạn có thể sao chép tệp cần thiết qua 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 VMware để tải lên/tải xuống 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 từ/đến kho dữ liệu ESXi. Giao diện web có sẵn trên bất kỳ máy vật lý hoặc máy ảo nào có cài đặt trình duyệt web và có kết nối mạng với máy chủ ESXi. Do đó, bạn có thể mở giao diện web này trực tiếp từ một máy ảo (VM) nếu hệ điều hành khách (guest OS) có giao diện đồ họa (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ừ máy ảo sang máy chủ và ngược lại.

How to copy a VM file - downloading a virtual disk file from an ESXi datastore in VMware Host Client

Có một phương pháp thay thế nhưng phức tạp hơn để chuyển tệp tin từ máy ảo sang VMware ESXi:

  1. Tải xuống đĩa ảo của máy ảo về máy cục bộ hoặc một máy khác.
  2. Giải nén các tệp tin cần thiết từ đĩa ảo này (.vmdk-flat.vmdk) sang máy cục bộ. Ngoài ra, bạn có thể gắn đĩa ảo vào ổ đĩa ảo nếu đã cài đặt VMware Workstation.
  3. Tải lên các tệp đã giải nén hoặc các tệp từ đĩa ảo đã gắn vào kho dữ liệu (datastore) của máy chủ ESXi bằng một trong các phương pháp được giải thích ở trên (trong VMware Host Client, vSphere Client hoặc SCP client, v.v.).

    How to map a VMDK file as a virtual disk drive in Windows

Đọc bài viết chi tiết trên blog về Cách trích xuất tệp từ đĩa ảo VMDK.

Sử dụng tệp ISO để chuyển dữ liệu sang máy ảo (VM)

Nếu kết nối mạng không khả dụng cho máy ảo (VM), bạn có thể chuyển tệp sang các máy ảo VMware bằng cách sử dụng tệp hình ảnh ISO:

  1. Tạo tệp hình ảnh ISO bằng phần mềm như Ultra ISO cho Windows.
  2. Ghi các tệp cần thiết vào tệp hình ảnh ISO trên máy tính cục bộ của bạn hoặc trên một máy tính khác. Bạn có thể sao chép tệp từ ESXi bằng một trong các phương pháp nêu trên và ghi chúng vào tệp hình ảnh ISO.
  3. Gắn tệp hình ảnh ISO vào máy ảo (VM) bằng ổ đĩa CD/DVD ảo của máy ảo (bạn có thể gắn tệp ISO trực tiếp từ máy tính cục bộ hoặc tải tệp ISO lên kho dữ liệu ESXi trước khi thực hiện thao tác này). Sử dụng VMware Host Client, VMware vSphere Client, VMware Workstation hoặc VMware Remote Console để gắn tệp ISO vào máy ảo ESXi.

Phương pháp này không thể được sử dụng để chuyển tệp từ máy ảo sang máy chủ vì máy ảo 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.

Dùng thử NAKIVO Backup & Replication

Dùng thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp này. 15 ngày miễn phí. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

Có thể bạn cũng quan tâm