免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5354 | 回复: 0
打印 上一主题 下一主题

devfsadm: driver failed to attach: vxportal [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-09 13:06 |只看该作者 |倒序浏览
Document ID: 203100
http://support.veritas.com/docs/203100

[url=javascript:openSubWin('http://seer.entsupport.symantec.com/email_forms/tnote_sndml.asp?docID=http://seer.entsupport.symantec.com/docs/203100', 475, 500)]

E-Mail this document to a colleague[/url]

Fsadm command fails with the following error message, "fsadm: You don't have a license to run this program".
Exact Error Message
fsadm: you don't have a license to run this program
Details:
This TechNote assumes that the VERITAS File System (VxFS) license is actually installed.  
To verify that the VxFS license is installed, run the following command:

# vxlicense -p

vrts:vxlicense: INFO: Feature name: VXFS [80]
vrts:vxlicense: INFO: Number of licenses: 1 (non-floating)
vrts:vxlicense: INFO: Expiration date: No expiration date
vrts:vxlicense: INFO: Release Level: 22
vrts:vxlicense: INFO: Machine Class: 1859009269
NOTE: If the VxFS license is not installed then fsadm and other VxFS commands will fail. If  the VxFS license is installed and  the fsadm command is failing,  then this TechNote may be helpful.
There are two instances where the fsadm command may cause the error message,  "fsadm: You don't have a license to run this program".

# /usr/lib/fs/vxfs/fsadm -ed /vxfs_mnt  
                          (Defragment the VxFS file system)
# /usr/lib/fs/vxfs/fsadm -b new_fs_size /vxfs_mnt      (Grow or shrink the VxFS file system)

CAUSE OF THE PROBLEM

Either files are missing or corrupt:


      (a) /dev/vxportal
      (b) /devices/pseudo/vxportal@0:0
      (c) /kernel/drv/vxportal                     (32bit driver)     or
      (d) /kernel/drv/sparcv9/vxportal     (64bit driver)

In both instances fsadm automatically tries to load vxportal device driver (/kernel/drv/vxportal or /kernel/drv/sparcv9/vxportal).  If any of the four vxportal files (mentioned above) are missing or corrupt then fsadm will fail with an error message, "fsadm: You don't have a license to run this program".  
NOTE: The error message is misleading and appears to be a license error, but the real problem is with vxportal file(s).

(a)  /dev/vxportal is unlikely to be missing.  If it is missing, it is since it was manually deleted by a user or by some other unknown reason.  
(b)  If /devices/pseudo/vxportal@0:0 is missing it is probably because the VERITAS File System (VRTSvxfs) package was installed without rebooting the system.
During the installation (pkgadd) of VxFS many changes were made to the system.  Some of the changes made that relate to this issue are:

1.) /dev/vxportal device file is created, which is actually a soft link which points to /devices/pseudo/vxportal@0:0

# ls -la /dev/vxportal

lrwxrwxrwx   1 root     other         28 Mar 12 17:09 /dev/vxportal -> /devices/pseudo/vxportal@0:0
2.) /etc/name_to_major file is modified via add_drv command to include vxportal major number  (The major number may be different; it does not have to be 172)

# grep vxportal /etc/name_to_major

vxportal 172
/devices/pseudo/vxportal@0:0 is not created during the installation of VRTSvxfs. It is created after the system is rebooted (reconfiguration reboot only). During the boot process /devices/pseudo/vxportal@0:0 file is then created via drvconfig (/etc/rcS.d/S50drvconfig on Solaris 2.6 and below) or devfsadm (/etc/rcS.d/S50devfsadm on Solaris 2.7 and above).
See the devfsadm(1M) and drvconfig(1M) man pages for more information.
(c) and (d)   Device driver binaries, /kernel/drv/vxportal and /kernel/drv/sparcv9/vxportal, may be missing because they were mistakenly deleted or installation of  the VxFS package was never completed successfully.

HOW TO IDENTIFY THE PROBLEM

(a) and (b)  The problem can be identified by running fsadm command through truss.  For example,

# truss -fa /usr/lib/fs/vxfs/fsadm -e /vxfs_mnt

29373:  execve("/opt/VRTSvxfs/sbin/fsadm", 0xFFBEFAE4, 0xFFBEFAFC)  argc = 5
29373:   argv: fsadm -F vxfs -d /vxfs_mnt
...  ...
29373:  open64("/dev/vxportal", O_RDONLY)               Err#2 ENOENT
fsadm29373:     write(2, " f s a d m", 5)                       = 5
: You don't have a license to run this program
29373:  write(2, " :   Y o u   d o n ' t  ".., 47)               = 47
29373:  llseek(0, 0, SEEK_CUR)                                 = 8098
29373:  _exit(100)
From the above truss output it is easy to see that the open64() system call tried to open /dev/vxportal file but failed with error code 2, ENOENT.
Looking at intro(2) man page  (man -s 2 intro)  or /usr/include/sys/errno.h it is possible to see what error ENOENT means:
2 ENOENT
No such file or directory
A file name is specified and the file should exist but doesn't, or one of the directories in a path name does not exist
(c) and (d)   If  /kernel/drv/vxportal and/or /kernel/drv/sparcv9/vxportal are missing or corrupt the error message on the screen will be the same, "fsadm: You don't have a license to run this program". The truss output will show that open64() call is failing with a different error code.  For example,

# truss -fa /usr/lib/fs/vxfs/fsadm -e /vxfs_mnt

600:    execve("/usr/lib/fs/vxfs/fsadm", 0xEFFFFD54, 0xEFFFFD64)  argc = 3
600:     argv: /usr/lib/fs/vxfs/fsadm -e /vxfs_mnt
...  ...
33:     open64("/dev/vxportal", O_RDONLY)               Err#6 ENXIO
fsadm33:        write(2, " f s a d m", 5)                       = 5
: You don't have a license to run this program
33:     write(2, " :   Y o u   d o n ' t  ".., 47)                = 47
33:     llseek(0, 0, SEEK_CUR)                                  = 20357
open64() system call fails to open the same file, /dev/vxportal, but this time with error code 6, ENXIO.
Looking at intro(2) man page  (man -s 2 intro)  or /usr/include/sys/errno.h  it is possible to see what error ENXIO means:
6 ENXIO
No such device or address
I/O on a special file refers to a subdevice which does not  exist,  or exists beyond the limit of the device.  It may also occur when, for example, a tape drive is not on-line or no disk pack is loaded on a drive.

SOLUTION

(a) and (b)   Manually re-create  /dev/vxportal  and/or  /devices/pseudo/vxportal@0:0, depending on which file is missing.
First verify that the vxportal line was added to /etc/name_to_major file this way:  

# grep vxportal /etc/name_to_major

vxportal 172
If the  vxportal line is not in  /etc/name_to_major  file, then add it with the following command:
# add_drv -v -n vxportal
(a)  If  /dev/vxportal  file is missing then create it with this command:

# ln -s /devices/pseudo/vxportal@0:0 /dev/vxportal

(b)  If  /devices/pseudo/vxportal@0:0 file is missing then re-create it.
On Solaris 2.6 and below run:

# drvconfig -i  vxportal

On Solaris 2.7 and above run:

# devfsadm -v -i vxportal

devfsadm[10877]: verbose: mknod /devices/pseudo/vxportal@0:0 0l/3l/20600

(c) and (d)   If  /kernel/drv/vxportal  and/or  /kernel/drv/sparcv9/vxportal are missing or corrupt, then re-install VRTSvxfs package.  Re-installation of VRTSvxfs will re-install corrupt or missing files only. In this case, corrupt or missing vxportal drivers (/kernel/drv/vxportal and /kernel/drv/sparcv9/vxportal) will be re-installed.  For more detailed information about installing VxFS refer to the VERITAS File System for Solaris Installation Guide.
Products Applied:
File System for UNIX/Linux 2.3 (Solaris), 3.2.3 (Solaris), 3.2.4 (Solaris), 3.2.5 (Solaris), 3.2.6 (Solaris), 3.3 (Solaris), 3.3.1(Solaris), 3.3.2 (Solaris), 3.3.3 (Solaris), 3.4 (Solaris)
Last Updated: April 05 2001 07:37 PM GMT
Expires on: 365 days from publish date


Subscribe to receive critical updates about this document


Subjects:
File System for UNIX/Linux
   Application: Configuration, License
   License: Informational, Installation, License
   Operating System: Compatibility, Configuration, License
Languages:
English (US)
Operating Systems:
Solaris
2.3, 2.4, 2.5, 2.5.1, 2.6, 7.0 (32-bit), 8.0 (32-bit)


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31774/showart_1709872.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP