是否将文件添加到Azure虚拟机导致无条件重新启动?

我注意到,在Azure上运行的Ubuntu 14.04 VM中添加一个新磁盘导致Azure VM无条件重启。

当我添加第二个磁盘时,虚拟机没有重新启动,但第一个磁盘被盗走了,我需要重新启动虚拟机才能重新获得第一个磁盘的访问权限。

这似乎不是特别有用的行为。

这种行为logging在任何地方?

更新:修改了评论中所要求的更多细节。

我用来附加一个新磁盘的过程基本上是从这里进行的:

https://azure.microsoft.com/nl-nl/documentation/articles/virtual-machines-linux-how-to-attach-disk/

有一些分歧。

下面的过程描述了我所做的添加第二个额外的磁盘(sdd)。 上周我做了类似的事情,添加了第一个额外的磁盘(sdc)。 在这种情况下,系统自行重启。 在这种情况下,系统并没有自行重新启动,但是当我添加新磁盘时,我确实无法访问/ dev / sdc。

请注意,我没有使用azure cli分配或附加新磁盘。 相反,我使用了门户网站。

一旦我做到了,我就使用了:

dmesg | grep scsi 

发现新设备名为/ dev / sdd

12月16日14:00:58 azure内核:[2.696851] sd 5:0:0:1:[sdd]连接的SCSI磁盘

然后按照上面的文章中的说明,用fdisk格式化磁盘。

然后,我挂载了磁盘,然后继续rsync将文件系统树移到磁盘上。

那时我注意到我上周连接的上一个磁盘(sdc)(导致重新启动的磁盘)不再可用。 (这在blkid中也是不可见的)。

我已经在kern.log中发现了这些消息,这些消息表明(sdc)几乎一旦我在门户中完成了附加磁盘操作(例如,在我通过扫描dmesg发现新磁盘之前)

 Dec 16 13:23:34 azure kernel: [538544.870108] scsi scan: INQUIRY result too short (5), using 36 Dec 16 13:23:34 azure kernel: [538544.870267] scsi scan: INQUIRY result too short (5), using 36 Dec 16 13:23:35 azure kernel: [538545.824751] hv_storvsc vmbus_0_16: cmd 0x2a scsi status 0x0 srb status 0x20 Dec 16 13:23:35 azure kernel: [538545.824846] end_request: I/O error, dev sdc, sector 130548832 Dec 16 13:23:35 azure kernel: [538545.828189] Aborting journal on device sdc1-8. Dec 16 13:23:35 azure kernel: [538545.830301] JBD2: Error -5 detected when updating journal superblock for sdc1-8. Dec 16 13:23:35 azure kernel: [538545.836606] end_request: I/O error, dev sdc, sector 0 Dec 16 13:23:35 azure kernel: [538546.308389] sd 5:0:0:0: [sdc] Synchronizing SCSI cache Dec 16 13:23:35 azure kernel: [538546.308528] hv_storvsc vmbus_0_16: cmd 0x35 scsi status 0x0 srb status 0x20 Dec 16 13:23:35 azure kernel: [538546.309513] scsi scan: INQUIRY result too short (5), using 36 Dec 16 13:23:35 azure kernel: [538546.309776] scsi 5:0:0:1: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 4 Dec 16 13:23:35 azure kernel: [538546.310764] sd 5:0:0:1: Attached scsi generic sg2 type 0 Dec 16 13:23:35 azure kernel: [538546.311251] sd 5:0:0:1: [sdd] 268435456 512-byte logical blocks: (137 GB/128 GiB) Dec 16 13:23:35 azure kernel: [538546.311254] sd 5:0:0:1: [sdd] 4096-byte physical blocks Dec 16 13:23:35 azure kernel: [538546.311265] scsi scan: INQUIRY result too short (5), using 36 Dec 16 13:23:35 azure kernel: [538546.312429] scsi scan: INQUIRY result too short (5), using 36 Dec 16 13:23:35 azure kernel: [538546.312737] scsi scan: INQUIRY result too short (5), using 36 Dec 16 13:23:35 azure kernel: [538546.313289] sd 5:0:0:1: [sdd] Write Protect is off Dec 16 13:23:35 azure kernel: [538546.313293] sd 5:0:0:1: [sdd] Mode Sense: 0f 00 10 00 Dec 16 13:23:35 azure kernel: [538546.313750] sd 5:0:0:1: [sdd] Write cache: enabled, read cache: enabled, supports DPO and FUA Dec 16 13:23:35 azure kernel: [538546.326335] sdd: unknown partition table Dec 16 13:23:35 azure kernel: [538546.328228] sd 5:0:0:1: [sdd] Attached SCSI disk Dec 16 13:23:35 azure kernel: [538546.446399] hv_storvsc vmbus_0_16: cmd 0x85 scsi status 0x2 srb status 0x86 Dec 16 13:23:35 azure kernel: [538546.446404] hv_storvsc vmbus_0_16: stor pkt ffff880159d31180 autosense data valid - len 18 Dec 16 13:23:35 azure kernel: [538546.446406] storvsc: Sense Key : Illegal Request [current] Dec 16 13:23:35 azure kernel: [538546.446409] storvsc: Add. Sense: Invalid command operation code Dec 16 13:23:35 azure kernel: [538546.446495] hv_storvsc vmbus_0_16: cmd 0x85 scsi status 0x2 srb status 0x86 Dec 16 13:23:35 azure kernel: [538546.446498] hv_storvsc vmbus_0_16: stor pkt ffff880159d31180 autosense data valid - len 18 Dec 16 13:23:35 azure kernel: [538546.446499] storvsc: Sense Key : Illegal Request [current] Dec 16 13:23:35 azure kernel: [538546.446501] storvsc: Add. Sense: Invalid command operation code 

我对这些消息的阅读是,Ubuntu 14.04中的SCSI子系统不喜欢Azure在宣布新磁盘时所做的任何事情,实际上,它们已经失去了已经连接的磁盘的轨道。

其他说明:

  • 之前添加的磁盘sdc在blkid中没有出现,直到下一次重新启动
  • 在重新启动后,/ dev / sdc可以再次使用(尽pipe当然,它必须是fsck,并且数据库能够存活,而且数据库在磁盘没有任何警告的情况下可以继续存活)

将磁盘添加到正在运行的主机时,虚拟机上的+1重新启动…向22个主机添加了22个磁盘,大约一半重新启动或进入卡住状态,必须强制重新启动。

uname -a 3.10.0-123.13.2.el7.x86_64#1 SMP Thu Dec 18 14:09:13 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux waagent –version运行在centos上的WALinuxAgent-2.0.14

Openlogic CentOS 7.1

想要添加更新,微软build议升级Kernel + walinuxagent来解决问题。 他们自动升级驱动程序库,这会导致以前的内核版本不稳定。

来自Microsoft Support Rep的消息:可用于7.1的最新内核升级是kernel.x86_64 3.10.0-327.4.4.el7这将更新LIS驱动程序。 Hyper-V和Azure的Linux集成服务(LIS)驱动程序是Microsoft直接向上游Linux内核提供的内核模块。 到目前为止,我们还没有任何问题。 因此,我build议(在为您的应用程序testing之后)将内核与LIS驱动程序一起更新。

只是想补充一点,我也经历过这个。 看起来仅仅是将一个磁盘添加到Azure虚拟机的操作可能会导致它没有任何警告地重新启动。 实际上,它可能会导致多个虚拟机同时重新启动。

就我而言,我使用Azure Web门户将一个磁盘添加到特定的虚拟机,并且没有任何警告,虚拟机重新启动。 此重新启动导致网站中断。

我试图寻找任何文件,为什么这是如此,但找不到任何。 而且不可能得到Azure的支持,因为……显然你必须支付额外的钱(购买技术支持)来帮助你解决技术问题 – 甚至是由Azure本身造成的问题。

尽可能避免将Azure用于关键的在线业务基础架构。