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控制下(如果用户用的是一些小厂商的设备的话)
查看磁盘属性
格式: 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
停止该磁盘工作
如果该盘是A/A A/P 或者A/PF模式,将它配置自动
把该硬盘加入新的JBOD数据库
# vxddladm addjbod vid='RAID 5' pid=DGC
将该硬盘置于VxVM控制之下
# vxdctl enable
查看一下是否已经被支持
# vxddladm listjbod
VID PID Opcode Page Code Page Offset SNO length Policy
==========================================================================
SEAGATE ALL PIDs 18 -1 36 12 Disk
SUN SESS01 18 -1 36 12 Disk
RAID 5 DGC 18 -1 36 12 Disk
看是否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
确认DMP被重新配置
# vxdmpadm getdmpnode enclosure=Disk
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-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
==========================================================================
SEAGATE ALL 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} [persistence={yes|no}]
Bases the name of a device on the enclosure name
(ebn), on the device name that is used by the
operating system (osn), or on Global Device Naming
(GDN) (gdn). The change 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 (导入)