Azure架設Linux VM,並掛載Blob File

今天突然被提到一個需求,要架設Linux VM 在Azure,架設一個Windows VM算是簡單,但要架設Linux還是第一次。畢竟很久沒有用過Linux,指令也忘記差不多。不過,在Azure 好處就是當我架設壞掉時候,就可以很快重來
建立Linux VM
要架設Linux VM,首先要先找到相關Image,需求上是需要CentOS,所以就去找了CentOS的Image來安裝。不過,這裡有一個陷阱,後面會描述。你可以在Marketplace搜尋CentOS
,就可以找到很多版本的Image檔案

但是,卻發現這樣做到最後,在於收費地方,是要額外再花錢的,主要原因這個Image的提供者,並非是Microsoft,而是其他公司

那要怎樣選擇比較好呢? 會建議先找到虛擬機器
選項

然後,點開後,在設定頁面中的Image,選擇CentOS,就可以。

這邊建議Remote方式,採用SSH模式作為連線方式。因此,選擇了SSH金鑰。這時務必要輸入好使用者名稱和金鑰名稱。另外,也要額外開啟SSH的22 Port,才有辦法連線

至於,其他設定就跟設定Windwos VM一樣,這部分還算是簡單。當我們設定完畢後,會跳出一個下面這視窗,讓你下載金鑰。這時候務必要把這個金鑰儲存好

因為,後續會用到這個金鑰做連線。一切都好了之後,就可以開始建立VM了
遠端連線到Linux VM
當VM建立好之後,就要開始能用遠端連線,連入VM內做事情,連線是採用SSH模式,可以使用PowerShell進行。其連線指令如下

當我下達這個指令時候,又出現另一個問題,發現下面這樣錯誤
Permissions for '.\\testlinux_key.pem' are too open.
原來是在pem的檔案權限給的人員太多,導致系統認為這個pem是不安全的。因此,這邊必須要修改該pem檔案權限。首先,先在檔案的安全性地方,停用繼承。這樣原本繼承的人員都會先被取消

然後,我們再重新加入權限進去,這裡只能加入一位,且不能使用Group方式加入。所以,最好的模式就是看這個檔案擁有者是誰,只要在權限地方加入這個人員就好

這樣加好之後,就可以使用pem進行連線了
掛載Blob File作為擴充磁碟
當有了VM之後,再來就要mount一個大一點的資料儲存體,我這裡選用Blob File,因此,必須先建立好Blob服務。然後,再到Blob的檔案共用
的地方方,建立擴充資料儲存體

在檔案共用
地方,選擇檔案共用,就會跳出下面這個畫面。這時候,只要選Linux就會出現Mount指令。算是一個很貼心的方式

但是,如果只是先按照上面方式去Mount,就會發現下面這個錯誤
bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program
主要在於Blob File的File System會跟Linux類型不同,所以,還必須安裝cifs-utils
套件。這時候,只要連入VM內,下達下面這個指令,進行安裝套件
sudo dnf install cifs-utils
套件就會自動安裝了,然後,就可以重新Mount在blob File服務了
透過以上方式,就可以建立好一個Linux VM外加Blob作為擴充資料儲存體