在 azure 上建立的虛機默認會分配兩個磁盤,分別是系統盤和一個臨時磁盤。若是咱們要在系統中安裝使用 mysql 等軟件,須要再建立並掛載單獨的數據盤用來保存數據庫文件。這是由於臨時磁盤被定義爲:用於臨時數據處理的操做。特色是性能好(SSD),可是空間有限且存放在上面的數據沒有保障(在一些狀況下數據會被清空)。所以臨時磁盤絕對不能用來存放重要數據。同時應用程序的數據最好也不要放在系統盤中,以便於遷移、備份和擴容。本文將介紹如何爲 Azure 中的 Ubuntu 虛機添加數據磁盤,並完成相應的配置。mysql
當咱們從 portal 上建立虛機時,並未提供添加數據磁盤的相關選項。因此建立的主機只包含默認的兩塊磁盤:OS 盤和臨時磁盤:sql
而且咱們能在 portal 上看到的只有一個系統盤,Azure 對用戶隱藏了臨時磁盤相關的配置。數據庫
接下來咱們將介紹如何爲虛擬主機添加數據盤。工具
首先須要確認的是你建立的虛機是否支持添加數據磁盤,這個問題其實也能夠忽略。由於如今最便宜的虛機都能支持添加兩塊數據磁盤。更貴的虛機會支持添加更多的數據盤,因此這裏注意一下就能夠了。能夠在虛機的 size 中進行查看:性能
不敢相信,Azure 在一些區域中推出了每月只要 5.95 刀的虛機,太感人了!spa
標準磁盤是 Azure 早期推出的虛擬機磁盤類型,須要顯式的建立一個 Azure Storage Account,這個賬戶用於存儲虛擬機磁盤的虛擬硬盤 (VHD) 文件。 VHD 文件做爲頁 Blob 存儲在 Azure Storage Account 中:操作系統
託管磁盤是新的磁盤類型,最顯著的特徵是 Azure 會在後臺管理相關的 Storage Account,這樣用戶配置起來就簡單不少。同時擴展起來也比較容易。固然還有不少細節上的提高,感興趣的同窗能夠參考其官方文檔。3d
虛機使用的磁盤類型是在建立虛機配置時肯定的,如今的默認值就是託管磁盤:code
本文 demo 中的磁盤類型都選擇託管磁盤。blog
好的,終於進入正題了! 在虛機的 disks 配置中點擊 "Add data disk" 按鈕開始添加磁盤,而後打開下拉列表並點擊 "Create disk" 按鈕:
填寫磁盤的名稱和一些基本的配置:
是否選擇 SSD 取決於你的使用場景(SSD 仍是比較貴的),默認的大小是 1 T。設置完成後點 "Create" 就能夠了。最後保存磁盤配置,就能夠登陸到系統中查看新添加的磁盤了。
如今登陸到系統中查看磁盤狀況:
/dev/sdc 就是新磁盤。
查看一下當前系統中的磁盤及掛載狀況:
$ df -h
默認狀況下,OS 磁盤標記爲「/dev/sda」。分區名稱爲 /dev/sda1,掛載點爲 /。
臨時磁盤標記爲「/dev/sdb」。分區名稱爲 /dev/sdb1,掛載點爲 /mnt。
下面咱們就對新添加的磁盤分區並掛載到系統中。
先使用 fdisk 命令對磁盤進行分區:
(echo n; echo p; echo 1; echo ; echo ; echo w) | sudo fdisk /dev/sdc
而後使用 mkfs 命令將文件系統寫入分區:
sudo mkfs -t ext4 /dev/sdc1
最後把新的磁盤分區掛載到 /mydata 裝載新磁盤使其在操做系統中可訪問:
sudo mkdir /mydata && sudo mount /dev/sdc1 /mydata
再使用 df 命令查看結果:
$ df -h
磁盤分區已經掛載到了目錄 /mydata。
最後設置開機時掛載
使用 blkid 實用工具獲取磁盤的 UUID:
$ sudo -i blkid
輸出的內容相似下面:
/dev/sdc1: UUID="ed129dcb-b234-4fdf-877d-9ac359e1b544" TYPE="ext4" PARTUUID="6b476db1-01"
在 /etc/fstab 文件中添加相似於如下內容的行:
UUID=ed129dcb-b234-4fdf-877d-9ac359e1b544 /mydata ext4 defaults,nofail,barrier=0 1 2
保存文件就大功告成了,之後再開機時就會自動完成磁盤的掛載。到這裏咱們已經完成了添加數據磁盤的全部配置。