|
|
|
|
移动端

5.2.4 自定义映像

《Microsoft Azure 管理与开发.上册,基础设施服务IaaS》本书是当下关于Microsoft Azure 产品的书籍中特别具有完整性、实用性的一本书,由Microsoft Azure中国区运维团队——世纪互联蓝云的资深工程师们编写。本节为大家介绍自定义映像。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-06 10:16

【新品产上线啦】51CTO播客,随时随地,碎片化学习

5.2.4 自定义映像

对于希望将本地预先配置好的虚拟机作为模板上传到Azure 中的用户,Azure 也提供了用户自定义映像的选择。在将本地虚拟机的操作系统磁盘上传到Azure 之前,首先要了解下面的一些常见的注意事项。

(1) 磁盘格式。

Azure 不支持VHDX 格式的磁盘,仅支持固定大小的VHD,VHD 大小必须是1MB的倍数。对于VHDX 磁盘,可以使用Hyper-V 管理器或者Convert-VHD 命令将VHDX 转换为VHD。如果本地使用的是VMWare 创建的虚拟机,则可以使用Microsoft 虚拟机转换器将VMDK 转换为VHD。

使用Hyper-V 管理器进行磁盘格式转换可以参考下面的步骤。

a. 打开 Hyper-V 管理器,在左侧选择“本地计算机”。在本地计算机上面的菜单中,单击“操作”—“编辑磁盘”。

b. 在“查找虚拟硬盘”屏幕上,浏览并选择要转换的虚拟磁盘。

c. 在“选择操作”屏幕上,依次选择“转换”和“下一步”。

d. 如果需要从 VHDX 进行转换,应选择“VHD”,然后单击“下一步”。

e. 如果需要从动态扩展磁盘进行转换,应选择“固定大小”,然后单击“下一步”。

f. 浏览并选择要保存新 VHD 文件的路径。

g. 单击“完成”以关闭。

使用下面的Convert-VHD 命令也可以完成磁盘格式转换,并将磁盘从动态扩展转换为固定大小的磁盘:

  1. Convert-VHD -Path D:\XXXX.vhdx -DestinationPath D:\XXXX.vhd -VHDType Fixed 

使用Microsoft 虚拟机转换器将VMDK 转换为VHD:

转换器下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=42497下载后使用默认选项安装即可,假定安装目录为“C:\Program Files”,使用下面的Powershell 命令导入转换器的模块:

  1. Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\  
  2. MvmcCmdlet.psd1' 

导入成功后,使用Get-Module 查看MvmcCmdlet 模块是否已经成功导入:

  1. PS C:\Users\DanielHX> Get-Module | select Name, Version  
  2. Name Version  
  3. ---- -------  
  4. Microsoft.PowerShell.Management 3.1.0.0  
  5. Microsoft.PowerShell.Utility 3.1.0.0  
  6. MvmcCmdlet 2.0  
  7. PSReadline 1.1 

成功导入模块后,就可以使用下面的命令进行格式转换了:

  1. ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath D:\XXXX.vmdk -VhdType  
  2. FixedHardDisk -VhdFormat Vhd -DestinationLiteralPath D:\XXXX.vhd 

(2) 虚拟机代次。

Azure 仅支持Hyper-V 创建的一代虚拟机,虚拟机在创建后不能从二代调整为一代。关于创建一代或二代虚拟机的详细说明,可以参考链接:https://technet.microsoft.com/windows-server-docs/compute/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v

(3) 虚拟机配置时的注意事项。

Linux 虚拟机在安装系统时,建议使用标准分区而非LVM 分区(通常LVM 是安装时的默认选项),LVM 和RAID 建议仅在数据磁盘中使用。

由于低于2.6.37 的Linux 内核版本中的bug,大型号的VM 不支持NUMA。此问题主要影响Red Hat 2.6.32 及较早的内核版本。手动安装的Azure Linux 代理(waagent)将自动在 Linux 内核的 GRUB 配置中禁用 NUMA。

不要在操作系统磁盘上配置交换分区。

将网卡配置为DHCP 模式而非静态地址,删除任何与本地环境有关的自定义路由表。配置防火墙规则,放行关键服务(例如RDP 和SSH 服务)。

有关为上传准备自定义映像的具体操作步骤,可以进一步参考以下Azure 官网指南。

准备要上传到Azure 的Windows 虚拟机:https://www.azure.cn/documentation/articles/virtual-machines-windows-prepare-for-upload-vhd-image/

准备要上传到Azure 的CentOS 虚拟机:https://www.azure.cn/documentation/articles/virtual-machines-linux-create-upload-centos/

准备要上传到Azure 的Ubuntu 虚拟机:https://www.azure.cn/documentation/articles/virtual-machines-linux-create-upload-ubuntu/

准备要上传到Azure 的Debian 虚拟机:https://www.azure.cn/documentation/articles/virtual-machines-linux-debian-create-upload-vhd/

准备要上传到Azure 的RedHat 虚拟机:https://www.azure.cn/documentation/articles/virtual-machines-linux-redhat-create-upload-vhd/

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

敏捷Acegi、CAS:构建安全的Java系统

本书是关于Acegi、CAS的权威教程,是Java/Java EE安全性开发者的必备参考书。无论是Java EE安全性编程模型的背景和基础知识,还是Acegi、CA...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊