Azure给ubuntu虚拟机挂载数据盘的详细步骤
<p>在 azure 上创建的虚机默认会分配两个磁盘,分别是系统盘和一个临时磁盘。如果我们要在系统中安装使用 mysql 等软件,需要再创建并挂载单独的数据盘用来保存数据库文件。这是因为临时磁盘被定义为:用于临时数据处理的操作。特点是性能好(ssd),但是空间有限且存放在上面的数据没有保障(在一些情况下数据会被清空)。因此临时磁盘绝对不能用来存放重要数据。同时应用程序的数据最好也不要放在系统盘中,以便于迁移、备份和扩容。本文将介绍如何为 azure 中的 ubuntu 虚机添加数据磁盘,并完成相应的配置。</p>
<p>
<strong>为什么需要单独的过程添加磁盘?</strong></p>
<p>
当我们从 portal 上创建虚机时,并未提供添加数据磁盘的相关选项。所以创建的主机只包含默认的两块磁盘:os 盘和临时磁盘:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/9ab024f959dd41cbb4654dfa5768d47f.jpg"></p>
<p>
并且我们能在 portal 上看到的只有一个系统盘,azure 对用户隐藏了临时磁盘相关的配置。</p>
<p>
接下来我们将介绍如何为虚拟主机添加数据盘。</p>
<p>
<strong>检查虚机是否支持</strong></p>
<p>
首先需要确认的是你创建的虚机是否支持添加数据磁盘,这个问题其实也可以忽略。因为现在最便宜的虚机都能支持添加两块数据磁盘。更贵的虚机会支持添加更多的数据盘,所以这里注意一下就可以了。可以在虚机的 size 中进行查看:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/2932a161e5663e52908905436eae0432.jpg"></p>
<p>
不敢相信,azure 在一些区域中推出了每个月只要 5.95 刀的虚机,太感人了!</p>
<p>
<strong>标准磁盘与托管磁盘</strong></p>
<p>
标准磁盘是 azure 早期推出的虚拟机磁盘类型,需要显式的创建一个 azure storage account,这个帐户用于存储虚拟机磁盘的虚拟硬盘 (vhd) 文件。 vhd 文件作为页 blob 存储在 azure storage account 中:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/429c9abe990540480610331e49e0451c.jpg"></p>
<p>
托管磁盘是新的磁盘类型,最显著的特征是 azure 会在后台管理相关的 storage account,这样用户配置起来就简单很多。同时扩展起来也比较容易。当然还有很多细节上的提升,感兴趣的同学可以参考其官方文档。</p>
<p>
虚机使用的磁盘类型是在创建虚机配置时确定的,现在的默认值就是托管磁盘:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/8e7115a17d1ce83e1ccbe04092e1694f.jpg"></p>
<p>
本文 demo 中的磁盘类型都选择托管磁盘。</p>
<p>
<strong>为虚机添加数据磁盘</strong></p>
<p>
好的,终于进入正题了! 在虚机的 disks 配置中点击 "add data disk" 按钮开始添加磁盘,然后打开下拉列表并点击 "create disk" 按钮:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/ec52d50f2973081776c5ba5c0796a76a.jpg"></p>
<p>
填写磁盘的名称和一些基本的配置:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/5a7d6f7d131581aad698c67e30e81631.jpg"></p>
<p>
是否选择 ssd 取决于你的使用场景(ssd 还是比较贵的),默认的大小是 1 t。设置完成后点 "create" 就可以了。最后保存磁盘配置,就可以登录到系统中查看新添加的磁盘了。</p>
<p>
现在登录到系统中查看磁盘情况:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/cde66b70f435c6ce02d551d3da719371.jpg"></p>
<p>
/dev/sdc 就是新磁盘。</p>
<p>
查看一下当前系统中的磁盘及挂载情况:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_524052">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">df</code> <code class="bash plain">-h</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/bb91cf96448ee871004fcbac73ba7d83.jpg"></p>
<p>
默认情况下,os 磁盘标记为“/dev/sda”。分区名称为 /dev/sda1,挂载点为 /。<br>
临时磁盘标记为“/dev/sdb”。分区名称为 /dev/sdb1,挂载点为 /mnt。</p>
<p>
下面我们就对新添加的磁盘分区并挂载到系统中。</p>
<p>
<strong>挂载数据磁盘</strong></p>
<p>
先使用 fdisk 命令对磁盘进行分区:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_830565">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">(echo n; echo p; echo 1; echo ; echo ; echo w) | sudo fdisk /dev/sdc</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
然后使用 mkfs 命令将文件系统写入分区:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_58760">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">mkfs -t ext4 </code><code class="bash plain">/dev/sdc1</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
最后把新的磁盘分区挂载到 /mydata 装载新磁盘使其在操作系统中可访问:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_49303">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash functions">mkdir</code> <code class="bash plain">/mydata</code> <code class="bash plain">&& </code><code class="bash functions">sudo</code> <code class="bash functions">mount</code> <code class="bash plain">/dev/sdc1</code> <code class="bash plain">/mydata</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
再使用 df 命令查看结果:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_715613">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">df</code> <code class="bash plain">-h</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Azure给ubuntu虚拟机挂载数据盘的详细步骤" alt="Azure给ubuntu虚拟机挂载数据盘的详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/a22268e27b8e320b83494e5c6c059ea2.jpg"></p>
<p>
磁盘分区已经挂载到了目录 /mydata。</p>
<p>
<strong>最后设置开机时挂载</strong></p>
<p>
使用 blkid 实用工具获取磁盘的 uuid:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_503133">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">sudo</code> <code class="bash plain">-i blkid</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
输出的内容类似下面:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code51914">
<br>
/dev/sdc1: uuid="ed129dcb-b234-4fdf-877d-9ac359e1b544" type="ext4" partuuid="6b476db1-01"</div>
<p>
</p>
<p>
在 /etc/fstab 文件中添加类似于以下内容的行:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code43628">
uuid=ed129dcb-b234-4fdf-877d-9ac359e1b544 /mydata ext4 defaults,nofail,barrier=0 1 2</div>
<p>
</p>
<p>
保存文件就大功告成了,以后再开机时就会自动完成磁盘的挂载。到这里我们已经完成了添加数据磁盘的所有配置。</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
<p>
原文链接:http://www.cnblogs.com/sparkdev/p/8108921.html</p>
頁:
[1]