使用 Azure CLI 在 Linux VM 上扩展虚拟硬盘

Expand virtual hard disks on a Linux VM with the Azure CLI

我正在尝试扩展我的虚拟机 (azure) 中的磁盘。我以前是这样做的:

sudo umount /dev/sdc1 

(以sdc1为例)

sudo parted /dev/sdc

输入 print 后,我应该会看到如下内容:

GNU Parted 3.2
Using /dev/sdc1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Unknown Msft Virtual Disk (scsi)
Disk /dev/sdc1: 215GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags:

Number  Start  End    Size   File system  Flags
    1      0.00B  107GB  107GB  ext4

我不能再继续了,因为在我的例子中,在输入这​​个命令后我看到:

GNU Parted 3.3
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 550GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

如你所见,没有分区,所以我不能使用resizepart命令。

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

sda     1:0:1:0      16G 
└─sda1               16G /mnt
sdb     0:0:0:0      30G 
├─sdb1             29.9G /
├─sdb14               4M 
└─sdb15             106M /boot/efi
sdc     3:0:0:0     512G 

As you can see, there are no partitions, so I can't use resizepart command.

您需要格式化磁盘 sdc 以使用 xfs 或 ext4 文件系统创建分区并进一步调整大小/expand the disk partition & file system.

使用 XFS 文件系统进行磁盘格式化和磁盘分区的 Cmdlet:

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

这里我们使用 XFS file system 格式化磁盘并使用 partprobe 实用程序以确保内核知道新分区和文件系统。

参考 documentation to format the disk & also you can refer this blog 如何在 Linux 中创建 ext4 文件系统分区。

我们已经在我们的本地环境中测试创建一个磁盘分区(到新连接的磁盘到 linux 机器 运行 ubuntu 20.84 映像)并用 xfs 文件初始化磁盘分区系统.

下面是我们创建新磁盘并将其附加到虚拟机时的参考图像。当 运行 lsblk 您看到磁盘未安装并且没有分区。

在上图中,post 运行 上面提到的磁盘格式和文件分区 cmdlets 你可以看到一个新的分区 sdc1 已经创建。