如何在CentOS 5.x 中安装Windows Azure Linux Agent (WALA)

Qing Liu  Tue, Mar 10 2015 3:06 AM  

在今天的这一个章节中,我们主要讨论在CentOs 5.x 中如何安装Windows Azure Linux Agent 2.11 (简称WALA)。如果你是需要对CentOS 6.x 发行版本进行Windows Azure 基本镜像进行配置,请参考Azure 中文官网 "创建并上传包含 Linux 操作系统的虚拟硬盘"

对应6.x 的相关步骤,在CentOS 5.x中进行Windows Azure Linux Agent 主要步骤和区别如下,

  1. 需要手工安装Python 2.6 以上版本
  2. 需要手工安装python-pyasn1
  3. 需要修改resource disk 类型为ext3
  4. 需要手工安装WALA (waagent -install)
准备 CentOS 5.x 客户虚拟机,您必须在本地有HyperV 功能的操作系统中完成特定的配置步骤才能使虚拟机在 Azure 中运行,如Windows 8.0 or Windows 2008 R2 或以上版本的Windows 操作系统
  1. 在 Hyper-V 管理器中,选择已经通过ISO镜像安装完成的虚拟机
  2. 单击“连接”以打开虚拟机窗口。使用root账号登录系统
  3. 通过运行以下命令卸载 NetworkManager
     # yum remove NetworkManager
    注意:如果未安装此包,则该命令将失败,并显示一条错误消息。这是正常情况。
  4. 在 /etc/sysconfig/ 目录中创建一个名为 network 的文件,该文件包含以下文本:
     NETWORKING=yes
     NETWORKING_IPV6=no
     HOSTNAME=localhost.localdomain
  5. 在 /etc/sysconfig/network-scripts/ 目录中创建一个名为 ifcfg-eth0 的文件,该文件包含以下文本: 
     DEVICE=eth0
     ONBOOT=yes
     BOOTPROTO=dhcp
     TYPE=Ethernet
     USERCTL=no
     PEERDNS=yes
     IPV6INIT=no
  6. 移动(或删除)udev 规则,以避免产生以太网接口的静态规则。在 Windows Azure 或 Hyper-V 中克隆虚拟机时,这些规则会引发问题
     # mkdir -m 0700 /var/lib/waagent
     # mv /lib/udev/rules.d/75-persistent-net-generator.rules /var/lib/waagent/
     # mv /etc/udev/rules.d/70-persistent-net.rules /var/lib/waagent/
  7. 通过运行以下命令,确保网络服务将在引导时启动:
     # chkconfig network on
  8. 安装适用于 Linux Integration Services 的驱动程序 , 注意此处5.5 、5.6 、5.7、5.8 需要安装相应版本的LIS, 5.9、5.10可以省略,发行版本中已经包含了相应的LIS 驱动程序
  9. 将下列行添加到 /etc/yum.conf
     http_caching=packages
  10. 通过编辑文件“/etc/yum/pluginconf.d/fastestmirror.conf”禁用 yum 模块“fastestmirror”,并在 [main] 下面键入以下内容
     set enabled=0
  11. 运行以下命令以便清除当前 yum 本地库
     # yum clean all
  12. 对于 CentOS  5.x,通过运行以下命令更新正在运行的虚拟机的内核
     # yum --disableexcludes=all install kernel
  13. 在 grub 配置中修改内核引导行,以使其包含 Azure 的其他内核参数。若要执行此操作,请在文本编辑器中打开 /boot/grub/menu.lst,并确保默认内核包含以下参数:
    console=ttyS0 earlyprintk=ttyS0 rootdelay=300 numa=off 
  14. 安装编译器环境
     # yum install gcc zlib-devel python-setuptools readline-devel 
  15. 下载,解压,编译,安装Python 2.6 以上版本。在本例中使用了2.7.8。
     # cd /
     # mkdir /tmp
     # wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
     # tar -xzvf Python-2.7.8.tgz
     # cd Python-2.7.8
     # ./configure
     # make altinstall
  16. 建立sbin 硬连接
     # ln -s /usr/local/bin/python2.7 /usr/sbin/python
  17. 下载,解压,安装python-pyasn1
     # cd /tmp
     # wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/python-pyasn1-0.0.12a-1.el5.rf.noarch.rpm
     # rpm -ivh python-pyasn1-0.0.12a-1.el5.rf.noarch.rpm
     # rpm -qa|grep "python"
  18. 复制python-pyasn1的安装包到2.7.8的site-package内
     # cp -avr /usr/lib/python2.4/site-packages/pyasn1 /usr/local/lib/python2.7/site-packages/pyasn1 
  19. 下载,安装Windows Azure Linux Agent
     # cd /tmp
     # wget https://raw.githubusercontent.com/Azure/WALinuxAgent/WALinuxAgent-2.0.11/waagent --no-check-certificate
     # chmod +x waagent
     # cp waagent /usr/sbin
     # cd /usr/sbin
     # waagent -install 
  20. 清除/tmp下的文件

     # cd /
     # rm -Rf /tmp
     # mkdir /tmp 
  21. 不要在 OS 磁盘上创建交换空间。Azure Linux 代理可使用在 Azure 上设置后附加到虚拟机的本地资源磁盘自动配置交换空间。在安装 Azure Linux 代理(请参见步骤19)后,相应地在 /etc/waagent.conf 中修改以下参数:

     ResourceDisk.Format=y
     ResourceDisk.Filesystem=ext3
     ResourceDisk.MountPoint=/mnt/resource
     ResourceDisk.EnableSwap=y
     ResourceDisk.SwapSizeMB=4096 ## NOTE: set this to whatever you need it to be. 
  22. 重新启动Linux VM, 用root账号登录系统,执行deprovision

     # waagent -force -deprovision
     # export HISTSIZE=0
     # logout
  23. 关闭虚拟机,上传VHD 到Windows Azure 块存储中, 可以使用Add-AzureVHD 

     PS C:\> Add-AzureVhd -Destination http://mytestaccount.blob.core.windows.net/vhdstore/centos53image.vhd
     -LocalFilePath C:\vhd\centos53image.vhd -NumberOfThreads 32
最后可以参考 Create and upload a Linux VHD in Azure 完成虚拟机的建立。 

如果你有任何疑问 , 欢迎访问 MSDN 社区,由专家来为您解答 Windows Azure 各种技术问题,或者拨打世纪互联客户服务热线 400-089-0365/010-84563652 咨询各类服务信息

本文转载自:http://blogs.msdn.com/b/cciccat/archive/2015/03/10/centos-5-x-windows-azure-linux-agent-wala.aspx  

你可能感兴趣的:(如何在CentOS 5.x 中安装Windows Azure Linux Agent (WALA))