[VMware] 用 scp 直接將檔案上傳至 ESXi 的檔案儲存庫
之前為了把安裝 VM 用的 ISO 光碟檔上傳到 ESXi 上,好讓 VM 可以掛載這些 ISO,
我都會用 Windows 版的 vSphere Client,用它提供的
Summary > Storage > Datastore > Browse Datastore,再選上傳的功能~
為了做這件事,還得在 Mac 上打開 Windows VM,
才能在 Windows VM 上跑 vSphere Client,有點麻煩…
而用 Web 版的 vSphere Client 的話,在我電腦上上傳又常常失敗…
今天突然想到,我們是可以用 ssh 連進 ESXi server 的,
所以應該也可以用 scp 把檔案傳進去~
一試也確實沒問題,來看看怎麼做吧~
1. 打開 ESXi server 的 ssh 服務
請參考 啟用 ESXi 的 SSH 功能 這篇的說明,把 ESXi server 的 ssh 服務打開~
2. 確認 ESXi server 上檔案庫的位置
用 ssh 連上 ESXi server,例如:
ssh [email protected]
進入 /vmfs/volumes 目錄後,用 ll (ls -l) 看一下 datastore 的名稱,
像我的是叫 datastore2 (這名稱在 vSphere Client 上也看得到):
/vmfs/volumes # ll total 1792 drwxr-xr-x 1 root root 8 Jan 1 1970 29076fe9-cabd0fbc-c40f-b2f3efa9937c drwxr-xr-x 1 root root 8 Jan 1 1970 5628ac60-10f35b28-6d96-bc305bf541d8 drwxr-xr-t 1 root root 2380 Apr 20 05:09 5965a881-2de030c2-0d94-bc305bf541d8 drwxr-xr-x 1 root root 8 Jan 1 1970 9f4259ef-8249a794-0316-b6d242e3c13e lrwxr-xr-x 1 root root 35 Apr 20 05:13 datastore2 -> 5965a881-2de030c2-0d94-bc305bf541d8
檢視一下檔案庫 (本例中的 datastore2) 的內容,
可以看到我在 ESXi server 上的 VM 目錄都在這裡,
另外還有一個我之前建立好,放 ISO 檔案用的 upload 目錄:
/vmfs/volumes # ll datastore2 total 64 drwxr-xr-x 1 root root 980 Nov 9 08:22 WinXP_VM drwxr-xr-x 1 root root 1960 Jul 12 2017 Win7_VM drwxr-xr-x 1 root root 980 Jan 31 02:33 upload
3. 上傳檔案到 ESXi 檔案庫
確定好檔案庫位置後,就可以從外部用 scp 直接傳檔進去了。
下面的例子是把 test.iso 上傳到 192.168.1.100 這台 ESXi 上的檔案庫 upload 目錄下:
scp test.iso [email protected]:/vmfs/volumes/datastore2/upload/
使用這個方法,就可以不用開啟 Windows 版的 vSphere Client,
也能成功把檔案上傳到檔案庫,
這樣子使用 vSphere Web Client 起來就更方便了,
避開 Web 版上傳容易失敗、Windows 版需要開 Windows VM 的困擾了~^^