Azure给ubuntu虚拟机挂载数据盘的详细步骤
在 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 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 文件中添加类似于以下内容的行:
保存文件就大功告成了,以后再开机时就会自动完成磁盘的挂载。到这里我们已经完成了添加数据磁盘的所有配置。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- 制作WordPress侧边栏“随机文章”小工具并集成在主题中的方法
- 使用熔断器设计模式保护软件
- H2 Database入门
- 浅谈UE4引擎
- 无插件仅代码实现 WordPress 分页导航
- 冗余代码检查工具Simian
- “瑞波币”全套三拼域名被同买家收入囊中
- 人们可能会犯的7个数据错误
- java:POI导出excel
- WordPress自定义栏目运用实例III:添加原创/转载文章不同版权声明
- 另一个强大的Visualizers :Mole For Visual Studio
- WordPress自定义栏目运用实例V:为加密文章添加密码提示文字
- java基础:所有参数皆是按值参数
- 使用Hystrix提高系统可用性
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- [Oracle 日常管理]表的相关操作
- JsonPath实践(二)
- C# 使用OpenCV在一张图片里寻找人脸
- 【DB笔试面试858】在Oracle中,ipcs和ipcrm命令的作用有哪些?
- Qt音视频开发13-mpv录像存储
- Oracle参数解析(spfile)
- ROS2机器人笔记20-08-18
- C sharp实例:华盾武器门数据接收和解析
- JsonPath实践(三)
- 有序链表转换二叉搜索树
- 128. 最长连续序列
- 【DB笔试面试859】在Oracle中,内核参数kernel.shmall、kernel.shmall等分别代表什么含义?
- Nginx配置SSL证书
- java_Object类、日期时间类、System类、包装类
- [周末往期回顾]UNDO_TABLESPACE参数