Storage Foundation 有用但是不常用的命令 (ZZ)
1,给操作系统分配SAN新硬盘后,如果操作系统可是识别它而不需要重新启动,那么就需要SF自动扫描新硬盘,并能够使用它们:
# vxdctl -f enable
# vxdisk -f scandisks
#vxdisk scandisks new
2, 看系统连接的机器的部署,以及设备wwn号码(操作系统命令也可以看到):
# vxddladm listsupport
# vxddladm list hba1
3,如果光纤物理连接变化,需要操作系统和SF都扫描硬件设备,才能保证磁盘正常使用.保证动态多路径的正确性的命令:
# vxdctl enable
4, 显示支持的库文件(如果用户用的是一些小厂商的设备的话)
# vxddladm listsupport all
# vxddladm listsupport libname=libvxshark.so
5,如何将一个不支持ASL的磁盘加入VM控制下(如果用户用的是一些小厂商的设备的话)
1. 查看磁盘属性
格式: vxping+裸设备
# /etc/vx/diag.d/vxdmpinq /dev/rdsk/c1t5006016930603AE5d2s4
Inquiry for /dev/rdsk/c1t5006016930603AE5d2s4, evpd 0x0, page code 0x0
Vendor id : DGC
Product id : RAID 5
Revision : 0219
Serial Number : 230000BDA7CL
2. 停止该磁盘工作
3. 如果该盘是A/A A/P 或者A/PF模式,将它配置自动
4. 把该硬盘加入新的JBOD数据库
# vxddladm addjbod vid='RAID 5' pid=DGC
5. 将该硬盘置于VxVM控制之下
# vxdctl enable
6. 查看一下是否已经被支持
# vxddladm listjbod
VID PID Opcode Page Code Page Offset SNO length Policy
==========================================================================
SEAGATEALL PIDs 18 -1 36 12 Disk
SUN SESS01 18 -1 36 12 Disk
RAID 5 DGC 18 -1 36 12 Disk
7. 看是否DMP识别它
# vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE
=============================================================
OTHER_DISKS OTHER_DISKS OTHER_DISKS CONNECTED CLR-A/PF
Disk Disk DISKS CONNECTED Disk
8. 确认DMP被重新配置
# vxdmpadm getdmpnode enclosure=Disk
NAME STATE ENCLR-TYPE PATHSENBLDSBLENCLR-NAME
===========================================================
Disk_0 ENABLED Disk 1 1 0 Disk
Disk_1 ENABLED Disk 1 1 0 Disk
6,删除JBOD数据(如果用户用的是一些小厂商的设备的话)
# vxddladm rmjbod vid='RAID 5'
# vxddladm listjbod
VID PID Opcode Page Code Page Offset SNO length Policy
==========================================================================
SEAGATEALL PIDs 18 -1 36 12 Disk
SUN SESS01 18 -1 36 12 Disk
7,改变disk命名方式,可以将磁盘封装成对用户有意义的名字而不是c0t0d0这种默认名称,方便用户管理.
# vxddladm set namingscheme=osn persistence=no
set namingscheme={ebn|gdn|osn}
Bases the name of a device on theenclosurename
(ebn),onthedevicenamethat is used by the
operating system (osn), or on Global Device Naming
(GDN)(gdn). Thechange is immediate, and does
not require vxconfigd to be restarted.
改intern的name需要
# vxedit -g mydg rename mydg03 mydg02
8,如果磁盘名称总是变化的处理办法
1, vxdisk list 得到当前磁盘名称
2, 确定磁盘所有子路径:
# vxdmpadm getsubpaths dmpnodename=c1t5006016130603AE5d6s2 或者
# vxdisk list c1t5006016130603AE5d6s
3, 删除disk信息
# rm /etc/vx/disk.info
4, 重启vxconfigd进程
# vxconfigd –k
9,增加SF不支持的硬盘到系统(如果用户用的是一些非主流的磁盘的话)
# vxddladm addforeign blockdir=/dev/foo/dsk chardir=/dev/foo/rdsk
10, 查看share disk的wwn和lunid(多路径的情况下,每块盘都有不同的名字,但是肯定只有一个WWN号)
# /etc/vx/diag.d/vxwwnluid
11,移出一个磁盘时,如果有个volume正在用它,那么:
# vxassist move -g sales_dg !mydg02
12, 如何在SF管理下更换磁盘阵列的磁盘(solaris)
1,从VxVM删除disk(可以用vxdctl enable重新识别);
# vxdisk rm c1t2d0s2
2,在solaris上查看改盘的wwnn和wwpn
# luxadm disp /dev/rdsk/c1t2d0s2
3,从solaris系统级别删除该硬盘
4,# luxadm remove_device array_name,slot_number
# luxadm remove_device array_name,slot_number
5,加入新的硬盘
# luxadm insert_device array_name,slot_number
6,重新识别到新硬盘
# vxdiskconfig
13,VxVM用一组线程来管理DMP,其中恢复进程每5分钟一次,监控路径是否可用;DMP做failover的第一步要查清楚storage的类型,然后看veritas是否正确识别它的驱动
14,vxdisk list发现磁盘状态是online dgdisable
先将原来的挂载点停下来:/opt/VRTS/bin/umount /dev/vx/dsk/*/*
然后卷检查:/opt/VRTS/bin/fsck /dev/vx/dsk/*/*
如果没有问题,那么就可以把dg deport出来
重新import就去即可
如果这时在mount的时候发现磁盘不认得layout,那么:vxvol -g dgname startall即可
# /opt/VRTS/bin/mount /dev/vx/dsk/sharedg/sharevol /mnt
UX:vxfs mount: ERROR: V-3-20003: Cannot open /dev/vx/dsk/sharedg/sharevol: No such device or address
UX:vxfs mount: ERROR: V-3-24996: Unable to get disk layout version
15,DMP动态多路径常用命令:
1,得到磁盘的多路径信息
# vxdmpadm getdmpnode nodename=c3t2d1s2
2,得到某个enclosure的多路径信息
# vxdmpadm getdmpnode enclosure=EMC_CLARiiON0 (最后一个参数可以从命令1得到)
3,得到一个LUN组的信息
# vxdmpadm getlungroup dmpnodename=c2t12d0s2
4,得到子路径的信息
# vxdmpadm getsubpaths dmpnodename=c2t66d0s2
5,显示所有控制器
# vxdmpadm listctlr all
6,得出某个控制器下面的硬盘信息
vxdmpadm getsubpaths ctlr=c1
7,显示所有enclosure name
# vxdmpadm listenclosure enc0
8,显示dmp的io信息
# vxdmpadm iostat show all
9,得到DMP的io 策略
# vxdmpadm getattr enclosure Disk iopolicy
10, 得到DMP的分区策略
# vxdmpadm getattr enclosure enc0 partitionsize
11, 设置DMP的io策略
# vxdmpadm setattr arrayname Disk iopolicy=singleactive
12, 关闭DMP路径的两种办法
# vxdmpadm [-c|-f] disable enclosure=enclr_name portid=array_port_ID
# vxdmpadm [-c|-f] disable pwwn=array_port_WWN
13, 打开DMP路径的方法
# vxdmpadm enable enclosure=enclr_name portid=array_port_ID
# vxdmpadm [-f] enable pwwn=array_port_WWN
16, VxVM vxdg ERROR V-5-1-587 disk group groupname: import failed:
Disk is in use by another host
# vxdisk clearimport devicename
# vxdg -C import diskgroup
17, VxVM vxdg ERROR V-5-1-587 Disk group groupname: import failed:
Disk for disk group not found(先导入再说)
# vxdg -f import diskgroup
18,磁盘数据库冲突
VxVM vxconfigd NOTICE V-5-0-33 Split Brain. da id is 0.1, while dm id is 0.0
VxVM vxdg ERROR V-5-1-587 Disk group newdg: import failed: Serial Split Brain
1,# vxsplitlines -g newd (发现冲突)
2,# vxsplitlines -g newdg -c c2t6d0s2 (列出冲突的磁盘详细信息)
3,# vxdisk list c2t6d0s2 |grep disk: (选择正确的盘,查看id)
4,# /usr/sbin/vxdg -o selectcp=1045852127.32.olancha import newdg (导入)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2005/showart_727270.html thanks for lz 确实像楼主说的那样:em28: 确实像楼主说的那样:em28:
页:
[1]