公司在Azure上的一台Ubuntu14虚机,重启后死活连不上,幸好是个测试服务器,打了技术支持工单,经过Azure技术支持的帮助下,最终解决问题,微软方面发来的故障诊断如下:

经过查询日志发现客户的VM没有获取到IP, 默认的网卡变为eth3, 客户当前的系统为Ubuntu 14,因客户系统为早期安装,早期的Ubuntu厂商有udev的Bug, 通过挂载VHD数据盘到现在有VM中,删除有问题的网卡配置文件,复制正在启动VM网络配置到当前network配置文件,修复此问题,当前Azure库镜像已经修复此问题。 另外当VM重启时临时盘(sdb)会发生变化,建议不要把临时盘写入到fstab中,保持默认状态即可,如果要写入临时盘,可将UUID写入到fstab中。

  1. 当前VM没有获取到IP
  2. /etc/fstab 中sdb临时盘条目没有被注释掉

为了帮您解决当前问题,烦请做如下操作:(为了保证VHD数据安全性,建议预留一份备份的VHD)

  1. 注释掉sdb临时盘条目
  2. 我们在后台查到您当前VM没有获取到IP, 请按照如下操作进行:
1
2
3
4
    cat /etc/network/interfaces.d/eth0.cfg
    #The primary network interface
    auto eth0
    iface eth0 inet dhcp

删除文件下/var/lib/dhcp已缓存的dhcp设置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    fdisk -l
    df -h
    mount /dev/sdc1 /temporary
    df -h
    cd /temporary/etc/udev/rules.d
    ls -ltr
    mv 70-persistent-net.rules /temporary/root/
    cd ../../network

    ls
    mv interfaces interfaces.org - take backup of original file
    ls -ltr - to check if it is moved

    cp /etc/network/interfaces .
    cp -R /etc/network/interfaces
    cp -R /etc/network/interfaces.d .   
    cp -R /etc/network/interfaces.dynamic.d .         

    ls -ltr - to verify interfaces folder is copied

    cd ..
    cd
    umount /mnt