When attempting to change the max_transfer attribute on a VSCSI hdisk, the following error was displayed:
# chdev -l hdisk0 -a max_transfer=0x100000 -P
Method error (/etc/methods/chgdisk):
0514-018 The values specified for the following attributes
are not valid:
max_transfer Maximum TRANSFER Size
The desired value, 0x100000, was an allowed value for this type of device (as shown in the lsattr output below):
# lsattr -El hdisk0
PCM PCM/friend/vscsi Path Control Module False
algorithm fail_over Algorithm True
hcheck_cmd test_unit_rdy Health Check Command True
hcheck_interval 60 Health Check Interval True
hcheck_mode nonactive Health Check Mode True
max_transfer 0x40000 Maximum TRANSFER Size True
pvid 00f6a83aeb1948950000000000000000 Physical volume identifier False
queue_depth 256 Queue DEPTH True
reserve_policy no_reserve Reserve Policy True
# lsattr -Rl hdisk0 -a max_transfer
0x20000
0x40000
0x80000
0x100000
0x200000
0x400000
0x800000
0x1000000
After some discussion with IBM support, it was discovered that the virtual optical device, assigned to this LPAR, was causing the problem. They advised that we should perform the following steps:
1. Remove the cd0 device from the LPAR i.e.
# rmdev -dl cd0
2. Remove the vtopt0 device assigned to the LPAR on the VIOS i.e
$ rmvdev -vtd vtopt0
3. Shutdown the LPAR.
4. Reboot the VIOS.
5. Restart the LPAR.
6. Change the max_transfer value for the hdisk on the LPAR.
Sure enough, after following these steps, we were able to change max_transfer to the desired value!
# chdev -l hdisk0 -a max_transfer=0x100000
hdisk0 changed
# lsattr -El hdisk0
PCM PCM/friend/vscsi Path Control Module False
algorithm fail_over Algorithm True
hcheck_cmd test_unit_rdy Health Check Command True
hcheck_interval 0 Health Check Interval True
hcheck_mode nonactive Health Check Mode True
max_transfer 0x100000 Maximum TRANSFER Size True
pvid 00f6a83aeedf5ffb0000000000000000 Physical volume identifier False
queue_depth 3 Queue DEPTH True
reserve_policy no_reserve Reserve Policy True
Explanation given by IBM support:
The virtual optical device seems to use max_transfer size as 0x40000 (256 KB) internally, which is not allowed to be modified. Virtual optical CD's max_transfer seems to limit vhost adapter's max_transfer size. So if you want to increase max_transfer size for virtual SCSI disks, you should separate them from virtual optical SCSI CD by configuring those two groups under different vhost adapters
# chdev -l hdisk0 -a max_transfer=0x100000 -P
Method error (/etc/methods/chgdisk):
0514-018 The values specified for the following attributes
are not valid:
max_transfer Maximum TRANSFER Size
The desired value, 0x100000, was an allowed value for this type of device (as shown in the lsattr output below):
# lsattr -El hdisk0
PCM PCM/friend/vscsi Path Control Module False
algorithm fail_over Algorithm True
hcheck_cmd test_unit_rdy Health Check Command True
hcheck_interval 60 Health Check Interval True
hcheck_mode nonactive Health Check Mode True
max_transfer 0x40000 Maximum TRANSFER Size True
pvid 00f6a83aeb1948950000000000000000 Physical volume identifier False
queue_depth 256 Queue DEPTH True
reserve_policy no_reserve Reserve Policy True
# lsattr -Rl hdisk0 -a max_transfer
0x20000
0x40000
0x80000
0x100000
0x200000
0x400000
0x800000
0x1000000
After some discussion with IBM support, it was discovered that the virtual optical device, assigned to this LPAR, was causing the problem. They advised that we should perform the following steps:
1. Remove the cd0 device from the LPAR i.e.
# rmdev -dl cd0
2. Remove the vtopt0 device assigned to the LPAR on the VIOS i.e
$ rmvdev -vtd vtopt0
3. Shutdown the LPAR.
4. Reboot the VIOS.
5. Restart the LPAR.
6. Change the max_transfer value for the hdisk on the LPAR.
Sure enough, after following these steps, we were able to change max_transfer to the desired value!
# chdev -l hdisk0 -a max_transfer=0x100000
hdisk0 changed
# lsattr -El hdisk0
PCM PCM/friend/vscsi Path Control Module False
algorithm fail_over Algorithm True
hcheck_cmd test_unit_rdy Health Check Command True
hcheck_interval 0 Health Check Interval True
hcheck_mode nonactive Health Check Mode True
max_transfer 0x100000 Maximum TRANSFER Size True
pvid 00f6a83aeedf5ffb0000000000000000 Physical volume identifier False
queue_depth 3 Queue DEPTH True
reserve_policy no_reserve Reserve Policy True
Explanation given by IBM support:
The virtual optical device seems to use max_transfer size as 0x40000 (256 KB) internally, which is not allowed to be modified. Virtual optical CD's max_transfer seems to limit vhost adapter's max_transfer size. So if you want to increase max_transfer size for virtual SCSI disks, you should separate them from virtual optical SCSI CD by configuring those two groups under different vhost adapters
No comments:
Post a Comment