在 Azure 上从取消配置的 Ubuntu 映像创建 VM 时,它会使用 fuseblk 资源磁盘而不是 ext4 创



当我从Azure上预设的Ubuntu映像创建VM时 - 没关系。它看起来像:

brutto@app-test-brutto:~$ df -T
Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/sda1      ext4      30224952 1391464  27298436   5% /
udev           devtmpfs    851432       8    851424   1% /dev
tmpfs          tmpfs       344108     236    343872   1% /run
none           tmpfs         5120       0      5120   0% /run/lock
none           tmpfs       860268       0    860268   0% /run/shm
/dev/sdb1      ext4      72246600  331976  68244712   1% /mnt/resource

请参阅最后一行。作为 ext4 附加的资源磁盘。

但是,如果我从之前捕获的映像(基于 Ubuntu)创建 VM,它看起来像:

brutto@app1-test-brutto:~$ df -T
Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/sda1      ext4      30235684 1242036  27458060   5% /
udev           devtmpfs    851432       8    851424   1% /dev
tmpfs          tmpfs       344108     248    343860   1% /run
none           tmpfs         5120       0      5120   0% /run/lock
none           tmpfs       860260       0    860260   0% /run/shm
/dev/sdb1      fuseblk   73398268   99232  73299036   1% /mnt

也见最后一行。资源磁盘附加 NTFS/fuseblk

如何使用 ext4 资源磁盘从映像创建 VM?


我已经阅读了有关/etc/waagent.conf 的信息并尝试设置以下内容:

ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt

比重新启动,但什么也没发生。

我知道

这是很久以前的事了,但看起来该错误已在 cloud-init 0.7.5 中重新出现,并且尚未发布任何解决方案或解决方法。

我的解决方案是黑客,但它有效。如果有人有任何改善(特别是在睡眠方面),我很乐意听到他们。

基本上在启动时运行一个脚本,该脚本首先休眠以确保磁盘已挂载,然后强制挂载点使用 ext4 文件系统,然后重新挂载:

sleep 30
sudo umount /mnt
sudo mkfs -t ext4 -F /dev/sdb1
sudo mount /mnt 

并使用 cronjob 调度它:

$> crontab -e

加:

@reboot /path/to/script

最新更新