我刚刚使用门户调整了 Azure 上连接到 Linux VM(Ubuntu 18.04)的磁盘大小。我现在必须重新分区吗?
我解除了机器的分配,并在“配置”框中将磁盘大小设置为 200 Gb,然后重新启动它。在门户上,磁盘大小现在显示为 200 Gb。但是当我df -h
在虚拟机上运行时,它仍然显示磁盘的原始大小为 100 Gb(下面的“/dev/sdb1”)。
我对 Linux 磁盘不太了解,不知道 Azure 默认会处理什么。
谢谢!
$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 28G 0 28G 0% /dev
tmpfs tmpfs 5.5G 1.2M 5.5G 1% /run
/dev/sda1 ext4 97G 32G 66G 33% /
tmpfs tmpfs 28G 8.0K 28G 1% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 28G 0 28G 0% /sys/fs/cgroup
/dev/loop0 squashfs 40M 40M 0 100% /snap/hub/43
/dev/loop1 squashfs 94M 94M 0 100% /snap/core/9066
/dev/loop2 squashfs 13M 13M 0 100% /snap/hub/29
/dev/loop3 squashfs 98M 98M 0 100% /snap/core/9289
/dev/sdb1 ext4 99G 96G 0 100% /data
/dev/sdc1 ext4 1007G 792G 164G 83% /cdata
/dev/sdd1 ext4 334G 69M 317G 1% /mnt
tmpfs tmpfs 5.5G 28K 5.5G 1% /run/user/113
tmpfs tmpfs 5.5G 0 5.5G 0% /run/user/1003
答案1
我找到了答案;首先是几个关键点:
- Azure VM 上的 OS 磁盘在调整大小时会自动重新分区
- 其他磁盘(
/data
包括 DSVM 自带的默认磁盘)包括不是自动重新分区,因此一旦您调整了数据磁盘的大小,就必须重新对其进行分区以使用您创建的空间。 - A警告您的主目录可能位于 /data 上;因此,通过按照说明的第一步卸载磁盘,如果您已禁用密码访问并且您的私有 SSH 密钥位于目录中(很可能如此),您可能会锁定自己无法使用 SSH(就像我一样)
~/.ssh/
。如果发生这种情况,您可以通过 Azure 门户重新登录(找到您的 VM,查看侧边栏底部附近的“支持和故障排除”—>“重置密码”,然后选中“仅配置”,然后选择“更新”。)
其余过程在这些 Azure 文档。他们希望您知道的是,磁盘本身可能名为/dev/sba
,并且其上的任何分区都将具有相同的名称并添加数字(例如/dev/sba1
,/dev/sba2
),依此类推。警告:这些名称是异步分配的,如果您重新启动虚拟机,它们可能会发生变化。
对于着急的人来说,调整现有分区大小的步骤如下:
#Find the name of your disk:
df -Th
#Unmount the disk (in this example it's "sdc1")
sudo umount /dev/sdc1
#Call the interactive 'parted' command
sudo parted /dev/sdc
#1. Type "print" and note the size of the disk
#2. Type "resizepart"
# A. Type the partition number
# B. Type the size from the "print" command to make a full-size partition
#3. Type "quit" to exit
#Clean up any errors and check the consistency
sudo e2fsck -f /dev/sdc1
#Resize the file system, finally
sudo resize2fs /dev/sdc1
#Remount the disk
sudo mount /dev/sdc1 /data #or whatever you want to call it
#Check to make sure it worked
df -h
它看起来(并且确实)有点吓人,但只需要几分钟。我建议先备份你的磁盘。