在 azure 上创建的虚机默认会分配两个磁盘,分别是系统盘和一个临时磁盘。如果我们要在系统中安装使用 mysql 等软件,需要再创建并挂载单独的数据盘用来保存数据库文件。这是因为临时磁盘被定义为:用于临时数据处理的操作。特点是性能好(SSD),但是空间有限且存放在上面的数据没有保障(在一些情况下数据会被清空)。因此临时磁盘绝对不能用来存放重要数据。同时应用程序的数据最好也不要放在系统盘中,以便于迁移、备份和扩容。本文将介绍如何为 Azure 中的 Ubuntu 虚机添加数据磁盘,并完成相应的配置。

为什么需要单独的过程添加磁盘?

当我们从 portal 上创建虚机时,并未提供添加数据磁盘的相关选项。所以创建的主机只包含默认的两块磁盘:OS 盘和临时磁盘:

并且我们能在 portal 上看到的只有一个系统盘,Azure 对用户隐藏了临时磁盘相关的配置。

接下来我们将介绍如何为虚拟主机添加数据盘。

检查虚机是否支持

首先需要确认的是你创建的虚机是否支持添加数据磁盘,这个问题其实也可以忽略。因为现在最便宜的虚机都能支持添加两块数据磁盘。更贵的虚机会支持添加更多的数据盘,所以这里注意一下就可以了。可以在虚机的 size 中进行查看:

不敢相信,Azure 在一些区域中推出了每个月只要 5.95 刀的虚机,太感人了!

标准磁盘与托管磁盘

标准磁盘是 Azure 早期推出的虚拟机磁盘类型,需要显式的创建一个 Azure Storage Account,这个帐户用于存储虚拟机磁盘的虚拟硬盘 (VHD) 文件。 VHD 文件作为页 Blob 存储在 Azure Storage Account 中:

托管磁盘是新的磁盘类型,最显著的特征是 Azure 会在后台管理相关的 Storage Account,这样用户配置起来就简单很多。同时扩展起来也比较容易。当然还有很多细节上的提升,感兴趣的同学可以参考其官方文档。

虚机使用的磁盘类型是在创建虚机配置时确定的,现在的默认值就是托管磁盘:

本文 demo 中的磁盘类型都选择托管磁盘。

为虚机添加数据磁盘

好的,终于进入正题了! 在虚机的 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 ; 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=     

保存文件就大功告成了,以后再开机时就会自动完成磁盘的挂载。到这里我们已经完成了添加数据磁盘的所有配置。

Azure: 给 ubuntu 虚机挂载数据盘的更多相关文章

  1. 服务器 阿里云服务器Ubuntu挂载数据盘

    服务器 阿里云服务器Ubuntu挂载数据盘  转自:http://www.codingyun.com/article/24.html coding云运行在阿里云的Ubuntu 12.04 64位操作系 ...

  2. 阿里云Linux挂载数据盘

    Linux 系统挂载数据盘   适用系统:Linux(Redhat , CentOS,Debian,Ubuntu) *  Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化 ...

  3. Linux 格式化和挂载数据盘

    如果您已经为 ECS 实例配了数据盘,您需要先格式化数据盘并挂载文件系统后才能正常使用数据盘. 注意: 磁盘分区和格式化是高风险行为,请慎重操作.本文档描述如何处理一个新买的数据盘,如果您的数据盘上有 ...

  4. centos7 挂载数据盘

    centos 挂载数据盘1.运行 fdisk -l 命令查看数据盘.注意:在没有分区和格式化数据盘之前,使用 df -h 命令是无法看到数据盘的. 如果执行了 fdisk -l 命令后,没有发现 /d ...

  5. Ubuntu虚机中SVN连接出错,虚机本机可正常CO,CIN,解决方法

    Ubuntu虚机中SVN连接出错,虚机本机可正常CO,CIN,外面机器无法正常连接. 解决: 虚机换个IP即可正常连接,原因不明,有可能为公司网管对该IP做了某些限制. PS:VMware中只需将网络 ...

  6. 阿里云CENTOS服务器挂载数据盘

    阿里云Linux云服务器数据盘默认是未做分区和格式化的,使用前需要先挂载数据盘.步骤如下: 1.查看数据盘 在没有分区之前,使用   1 df -h 2.命令,是无法查看到数据盘的,可以使用   1 ...

  7. Aliyun上Linux服务器挂载数据盘及速度测试

    原始文档来自于阿里云官方文档:  Linux 系统挂载数据盘 铁锚 于 2013年12月19日 根据自己的需要进行整理 操作系统: CentOS 6.3, 平台  : 阿里云 ECS 云服务器 1. ...

  8. linux(CentOS)磁盘挂载数据盘

    linux(CentOS)磁盘挂载数据盘:第一步:查看是否存在需要挂载的磁盘: sudo fdisk -l 第二步:为需要挂载的磁盘创建分区: sudo fdisk /dev/vdb 执行中:依次选择 ...

  9. Linux学习笔记之如何挂载数据盘

    一.引入 双11在阿里云买了一台服务器(Linux操作系统,版本:CentOS7.04),配置就是20G的系统盘和40G的数据盘,可是问题来了,当系统初始化登录进去之后,输入:free -h命令并不能 ...

随机推荐

  1. MUI框架开发HTML5手机APP(一)--搭建第一个手机APP

      前  言 JRedu 随着HTML5的不断发展,移动开发成为主流趋势!越来越多的公司开始选择使用HTML5开发手机APP,而随着手机硬件设备配置的不断提升,各种开发框架的不断优化,也使着H5开发的 ...

  2. Spring AOP高级——源码实现(2)Spring AOP中通知器(Advisor)与切面(Aspect)

    本文例子完整源码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/Spring%20AOP%E9%A ...

  3. 三:动态SQL

    :动态SQL 1.使用动态sql完成多条件查询 If:利用if实现简单的条件选择 Choose(when,otherwise):相当于java中的switch语句,通常与whenhe otherwis ...

  4. 常见的Mysql数据库优化总结

    索引 1.主键索引 作用:唯一约束和提高查询速度 #建表时创建主键索引 create table `table_name`( `id` int unsigned not null auto_incre ...

  5. HTML5原生拖拽/拖放⎡Drag & Drop⎦详解

    前言 拖放(drap && drop)在我们平时的工作中,经常遇到.它表示:抓取对象以后拖放到另一个位置.目前,它是HTML5标准的一部分.我从几个方面学习并实践这个功能. 拖放的流程 ...

  6. Python Base64 编码

    0x00 Base64简介 0x01 常用场景举例 0x02 编.解码流程 0x03 Python中Base64编码与解码 0x00 Base64简介 我们知道在计算机中任何数据都是按ascii码存储 ...

  7. 学习java的优势

    学习java之后,到企业的岗位 技术:java软件开发工程师(中初级):技术一般: 高级工程师:技术高等: 技术架构师:技术顶级: 管理:项目经理:产品经理: 质询:质询顾问:销售经理: 学会之后可以 ...

  8. 使用vue2.x+webpack+vuex+sass+axios+elementUI等快速搭建前端项目框架

    一.本文将分享如何快速搭起基于webpack+vue的前端项目框架,利用vue的自己的脚手架工具vue-cli搭建起基本的环境配置,再通过npm包管理工具引入相应的依赖来完善项目的各种依赖框架.下面是 ...

  9. Android开发过程中使用弱引用解决内存泄露的习惯

    Java虽然有垃圾回收,但是仍然存在内存泄露,比如静态变量.缓存或其他长生命周期的对象引用了其他对象,这些被引用的对象就会长期不能被GC释放,导致内存泄露. 弱引用(WeakReference)是解决 ...

  10. Model中设置表单验证方法

    Model类里面定义$_validate属性支持的验证因子格式: 格式:array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间). 验证条件: (1)Model::EXISTS_TO_ ...