Reputation: 11
We have a custom Linux based on LFS, which we imported to Azure. There we run it as a classical virtual machine.
The system boots up and appears to run fine, but really weird things happen to the virtual disks. They appear once as ide disks on hdX and once as sata disks on sdx.
[dl-azure-jp-east-pub-1:~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
hda 3:0 0 21G 0 disk
|-hda1 3:1 0 1024M 0 part
|-hda2 3:2 0 50M 0 part
|-hda3 3:3 0 100M 0 part
|-hda4 3:4 0 1K 0 part
|-hda5 3:5 0 5.9G 0 part
|-hda6 3:6 0 5.9G 0 part
`-hda7 3:7 0 8.1G 0 part
hdb 3:64 0 70G 0 disk
`-hdb1 3:65 0 70G 0 part
hdc 22:0 1 4G 0 disk
sda 8:0 0 21G 0 disk
|-sda1 8:1 0 1024M 0 part [SWAP]
|-sda2 8:2 0 50M 0 part /boot
|-sda3 8:3 0 100M 0 part
|-sda4 8:4 0 1K 0 part
|-sda5 8:5 0 5.9G 0 part /usr/backup
|-sda6 8:6 0 5.9G 0 part /
`-sda7 8:7 0 8.1G 0 part /shared
sdb 8:16 0 70G 0 disk
`-sdb1 8:17 0 70G 0 part
Also if you check the output of fdisk -l, you would see the the start/end block of every partition hdXY is equal to sdXY.
This happens for us when using kernel 3.18.16 as well as when using kernel 4.1.10.
I also checked the XML configuration file of the Azure VM, but it does not contain any information about the disk controllers.
Is there a way to completely disable the ide/ata controller? Any other thoughts how to solve this problem?
BTW, the reason I found out about this were the masses of log entries in dmesg:
....
[ 4451.750444] hdb: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
[ 4451.750461] hdb: task_no_data_intr: error=0x04 { DriveStatusError }
[ 4451.750463] hdb: possibly failed opcode: 0xea
[ 4451.750563] hdb: wcache flush failed!
[ 4451.750840] hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
[ 4451.750856] hda: task_no_data_intr: error=0x04 { DriveStatusError }
[ 4451.750858] hda: possibly failed opcode: 0xea
[ 4451.750957] hda: wcache flush failed!
[ 4451.757472] hdb: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
[ 4451.757490] hdb: task_no_data_intr: error=0x04 { DriveStatusError }
[ 4451.757492] hdb: possibly failed opcode: 0xea
[ 4451.757606] hdb: wcache flush failed!
...
Upvotes: 0
Views: 289
Reputation: 11
I found the solution: the Linux kernel option CONFIG_IDE must be disabled.
Too bad it is enabled by default..
Upvotes: 1