当前位置: 首页 > news >正文

Azure虚拟机添加磁盘

目标:创建一个 Linux VM,并附加一个名为 uploadDataDisk1 的新虚拟硬盘 (VHD) 来存储 /uploads 目录

将空数据磁盘添加到 VM

此处,可创建一个空数据磁盘,然后将其附加到 VM。 最初,您的数据磁盘大小为 64 GB。 稍后,将此磁盘装载到 VM 上的 /uploads 目录下。

运行以下 az vm disk attach 命令,将新的空磁盘添加到 VM 中。

az vm disk attach --vm-name support-web-vm01 --name uploadDataDisk1 --size-gb 64 --sku Premium_LRS --new
  1. 此命令:

    • 将磁盘命名为 uploadDataDisk1。
    • 将其大小设置为 64 GB。
    • 指定使用具有本地冗余的高级存储。

若要使用此磁盘,需要对其进行分区和格式化。 现在让我们执行此操作。

初始化并格式化数据磁盘

空数据驱动器需要进行初始化和格式化。 执行此操作的过程与物理磁盘相同。

运行以下 ssh 命令,通过 SSH 连接在 VM 上使用你在上一步中创建的 ipaddress 变量数据来运行 lsblk 命令。 

ssh azureuser@$ipaddress lsblk

该命令的输出应如下所示。

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0    7G  0 disk 
└─sdb1    8:17   0    7G  0 part /mnt
sr0      11:0    1  628K  0 rom  
sdc       8:32   0   64G  0 disk 
sda       8:0    0   30G  0 disk 
├─sda14   8:14   0    4M  0 part 
├─sda15   8:15   0  106M  0 part /boot/efi
└─sda1    8:1    0 29.9G  0 part /
  1. 请注意,你创建的 64 GB 驱动器 (sdc) 未装载。 该驱动器以这种方式列出,是因为它尚未初始化。

  2. 运行以下 az vm extension set 命令以在 VM 上运行预制的 Bash 脚本。

该脚本修改 /etc/fstab。 /etc/fstab 文件修改有误可能会导致系统无法启动。 部署到生产环境之前,务必在临时暂存系统上测试配置更改。 请参阅分发的文档,了解如何正确修改此文件。 在生产中,我们还建议创建此文件的备份,以便在需要时还原配置。

az vm extension set --vm-name support-web-vm01 --name customScript --publisher Microsoft.Azure.Extensions --settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-add-and-size-disks-in-azure-virtual-machines/master/add-data-disk.sh"]}' --protected-settings '{"commandToExecute": "./add-data-disk.sh"}'
  1. 当命令运行时,如果愿意,可以在单独的浏览器标签页中检查 Bash 脚本。

    概括而言,该脚本:

    • 对驱动器 /dev/sdc 进行分区。
    • 在驱动器上创建 ext4 文件系统。
    • 创建 /uploads 目录,将其用作装入点。
    • 将磁盘附加到装载点。
    • 更新 /etc/fstab,以便在系统重新启动后自动装载驱动器。
  2. 若要验证配置,请运行与先前相同的 ssh 命令,以通过 SSH 连接在 VM 上运行 lsblk 命令。

你会看到 sdc/sdc1 已按预期分区并装载到 /uploads 目录。

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0    7G  0 disk 
└─sdb1    8:17   0    7G  0 part /mnt
sr0      11:0    1  628K  0 rom  
sdc       8:32   0   64G  0 disk 
└─sdc1    8:33   0   64G  0 part /uploads
sda       8:0    0   30G  0 disk 
├─sda14   8:14   0    4M  0 part 
├─sda15   8:15   0  106M  0 part /boot/efi
└─sda1    8:1    0 29.9G  0 part /

重设数据磁盘大小

若要重设磁盘大小,需要磁盘的 ID 或名称。 在这种情况下,你已知道名称(*uploadDataDisk1),但如果你没有,或者其他人创建了磁盘,则可以运行 az disk list 来查找该名称。

  1. 运行 az disk list 命令,显示资源组中的托管磁盘列表。 如果同一资源组中有多个 VM,则此列表可能包含其他磁盘。

将看到名为“uploadDataDisk1”的磁盘。

运行 az vm deallocate 命令以停止并解除分配 VM。 此命令不会删除 VM,但会使其处于你可以修改虚拟磁盘的状态。

运行 az disk update 命令,将磁盘大小重设为 128 GB。

运行 az vm start 命令以重启 VM

扩展磁盘分区

最后一步是告知 OS 有关可用空间的情况。 就像此前完成的分区和格式设置步骤一样,此过程与扩展物理本地磁盘时所遵循的过程相同。

  1. 尽管可为 VM 保留固定的公共 IP 地址,但默认情况下,VM 会在取消分配并重新启动时接收新的公共 IP 地址。 运行以下 az vm show 命令以使用 VM 的新公共 IP 地址更新 Bash 变量

如同之前的操作,通过 SSH 在 VM 上运行 lsblk 以了解其当前状态。

可看到 sdc/sdc1 磁盘的大小仍为 64 GB。

与先前初始化磁盘的操作类似,请运行以下 az vm extension set 命令,以通过执行我们为提供帮助而创建的预制 Bash 脚本,告知 VM 上的 OS 有关新可用空间的情况。

概括而言,该脚本:

  • 卸载磁盘 /dev/sdc1
  • 将分区 1 的大小重设为 128 GB。
  • 验证分区一致性。
  • 重设文件系统的大小。
  • 将驱动器 /dev/sdc1 重新装载回装入点 /uploads

这次将看到 sdc/sdc1 磁盘已扩展以适应磁盘增加后的大小。

NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb       8:16   0     7G  0 disk 
└─sdb1    8:17   0     7G  0 part /mnt
sdc       8:32   0   128G  0 disk 
└─sdc1    8:33   0 119.2G  0 part /uploads
sda       8:0    0    30G  0 disk 
├─sda14   8:14   0     4M  0 part 
├─sda15   8:15   0   106M  0 part /boot/efi
└─sda1    8:1    0  29.9G  0 part /

最后的验证步骤是,通过 SSH 在 VM 上运行操作系统的 df 实用程序,证明操作系统可以正确查看它,将看到驱动器的大小为 128 GB。

Filesystem      Size  Used Avail Use% Mounted on
udev            1.7G     0  1.7G   0% /dev
tmpfs           345M  9.3M  335M   3% /run
/dev/sda1        29G  1.9G   28G   7% /
tmpfs           1.7G     0  1.7G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.7G     0  1.7G   0% /sys/fs/cgroup
/dev/sda15      105M  3.2M  102M   3% /boot/efi
/dev/sdb1       6.8G   16M  6.4G   1% /mnt
/dev/sdc1       118G   60M  112G   1% /uploads
tmpfs           345M     0  345M   0% /run/user/1000

练习 - 将数据磁盘添加到 VM - Training | Microsoft Learn

相关文章:

  • 西安网站工作室关键词拓展工具有哪些
  • 网站404怎么做的黑龙江最新疫情
  • 天津做网站贵吗石家庄网站关键词推广
  • 做网站每年需要购买域名吗吴中seo网站优化软件
  • 自己做网站选什么好站长网站查询
  • 惠州网站制作网络广告营销成功案例
  • 企业级RAG系统架构设计与实现指南(Java技术栈)
  • 深入学习入门--(一)前备知识
  • Java基础黑马进阶综合考试
  • 网络安全漏洞扫描是什么?如何识别目标进行扫描?
  • 理解epoll:水平触发与边沿触发
  • (C++)vector数组相关基础用法(C++教程)(STL库基础教程)
  • 《从0到1:C/C++音视频开发自学指南》
  • 多个 Job 并发运行时共享配置文件导致上下文污染,固化 Jenkins Job 上下文
  • 家用存储怎么选?NAS vS 硬盘柜,备份游戏素材与照片谁更合适?
  • vue2 使用el-form中el-form-item单独绑定rules不生效问题
  • 51c嵌入式~CAN~合集2
  • 学习日记-spring-day37-6.25
  • C++11原子操作:从入门到精通
  • 西游记12:观世音菩萨送袈裟和禅杖;菩萨现身,教导大乘佛法三藏;御弟圣僧;宁恋本乡一捻(niǎn)土,莫爱他乡万两金。
  • 基于Hp感染的慢性胃炎居家管理小程序的设计与实现(消息震动)
  • DuDuTalk | 武汉赛思云科技有限公司通过武汉市人工智能企业认定!
  • 掌握CIS基准合规性:通过自动化简化网络安全
  • sentinel 自定义 dashboard 用户名密码
  • 【网站内容安全检测】之1:获取网站所有链接sitemap数据
  • 5.1 基于livox_ros_driver2运行MID360demo