zoukankan      html  css  js  c++  java
  • Changing Controller Numbers in Solaris

    If you need to change the controller numbers (c#) that a disk has assigned to it, whether it is for cluster, Solstice DiskSuite[TM]/Solaris[TM] Volume Manager, or just for ease of management. With Solaris[TM] 8 and above, there is a new directory, /dev/cfg, that allows us to move them easily.

    Steps to Follow

    You will have to quiesce the data to all of the devices that you are going to move. This cannot be done while the system is trying to access these paths. This works for SAN, and internal disks.

    Looking at the output of format and cfgadm we can see that our disks are on c3 and c4.

    root@ralph / # echo|format 
    Searching for disks...done 
    AVAILABLE DISK SELECTIONS: 
    0. c0t0d0 
    /pci@1f,0/pci@1,1/ide@3/dad@0,0 
    1. c3t50020F230000C21Ed0 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,0 
    2. c3t50020F230000C21Ed1 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,1 
    3. c3t50020F230000C21Ed2 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,2 
    4. c3t50020F230000C21Ed3 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,3 
    5. c4t50020F230000C21Ed0 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,0 
    6. c4t50020F230000C21Ed1 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,1 
    7. c4t50020F230000C21Ed2 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,2 
    8. c4t50020F230000C21Ed3 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,3 
    Specify disk (enter its number):
    
    root@ralph / # cfgadm -o show_FCP_dev -al 
    Ap_Id Type Receptacle Occupant Condition 
    c3 fc-fabric connected configured unknown 
    c3::50020f230000c21e,0 disk connected configured unknown 
    c3::50020f230000c21e,1 disk connected configured unknown 
    c3::50020f230000c21e,2 disk connected configured unknown 
    c3::50020f230000c21e,3 disk connected configured unknown 
    c4 fc-fabric connected configured unknown 
    c4::50020f230000c21e,0 disk connected configured unknown 
    c4::50020f230000c21e,1 disk connected configured unknown 
    c4::50020f230000c21e,2 disk connected configured unknown 
    c4::50020f230000c21e,3 disk connected configured unknown

    Looking at /dev/cfg, you can see that there are links to the device paths with a controller number designation.

    root@ralph / # cd /dev/cfg 
    root@ralph /dev/cfg # ls 
    ./ ../ c0@ c3@ c4@ 
    root@ralph /dev/cfg # ls -l 
    total 16 
    drwxr-xr-x 2 root root 512 Apr 20 12:50 ./ 
    drwxr-xr-x 17 root sys 3584 May 5 17:47 ../ 
    lrwxrwxrwx 1 root root 41 Apr 6 14:18 c0 -> ../../devices/pci@1f,0/pci@1,1/ide@3:scsi 
    lrwxrwxrwx 1 root root 49 Apr 13 15:21 c3 -> ../../devices/pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0:fc 
    lrwxrwxrwx 1 root root 51 Apr 13 15:21 c4 -> ../../devices/pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0:fc

    All you have to do at this point, is remove any extra links, for clean up. And then move the controller, in this case c4, to the new controller number.

    root@ralph /dev/cfg # mv c4 c2

    Now the '../../devices/pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0:fc' link has been moved from c4 to c2. When we recreate the link Solaris will look at this and create all of the links on c2. In a sense 'forcing' it to the controller that we want.

    root@ralph /dev/cfg # ls 
    ./ ../ c0@ c2@ c3@ 
    root@ralph /dev/cfg # ls -l 
    total 16 
    drwxr-xr-x 2 root root 512 May 9 10:17 ./ 
    drwxr-xr-x 17 root sys 3584 May 9 10:18 ../ 
    lrwxrwxrwx 1 root root 41 Apr 6 14:18 c0 -> ../../devices/pci@1f,0/pci@1,1/ide@3:scsi 
    lrwxrwxrwx 1 root root 51 Apr 13 15:21 c2 -> ../../devices/pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0:fc 
    lrwxrwxrwx 1 root root 49 Apr 13 15:21 c3 -> ../../devices/pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0:fc

    Next remove all of the old device links in /dev/rdsk and /dev/dsk

    root@ralph /dev/cfg # cd /dev/rdsk 
    root@ralph /dev/rdsk # rm -r c4* 
    root@ralph /dev/rdsk # cd /dev/dsk 
    root@ralph /dev/dsk # rm -r c4*

    With direct attached disks and san disks that are already configured with cfgadm, just run devfsadm -C to clean up dangling /dev links.

    root@ralph /dev/dsk # devfsadm -C

    Now format and cfgadm show the c4 devices on c2.

    root@ralph /dev/dsk # echo|format 
    Searching for disks...done 
    AVAILABLE DISK SELECTIONS: 
    0. c0t0d0 
    /pci@1f,0/pci@1,1/ide@3/dad@0,0 
    1. c2t50020F230000C21Ed0 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,0 
    2. c2t50020F230000C21Ed1 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,1 
    3. c2t50020F230000C21Ed2 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,2 
    4. c2t50020F230000C21Ed3 
    /pci@1f,0/pci@1/SUNW,qlc@3,1/fp@0,0/ssd@w50020f230000c21e,3 
    5. c3t50020F230000C21Ed0 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,0 
    6. c3t50020F230000C21Ed1 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,1 
    7. c3t50020F230000C21Ed2 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,2 
    8. c3t50020F230000C21Ed3 
    /pci@1f,0/pci@1/SUNW,qlc@3/fp@0,0/ssd@w50020f230000c21e,3 
    Specify disk (enter its number):

    You can do this to any controller except the device that you are booted off of. Doing this procedure on your boot controller can cause the system to panic.

  • 相关阅读:
    Android Framework 学习(八):屏幕刷新机制
    Android Framework 学习(七):Service启动原理
    Android Framework 学习(六):UI线程概念
    Android Framework 学习(五):Activity 启动流程
    Android Handler 机制(六):如何检测性能卡顿
    Android Handler 机制(五):ThreadLocal的工作原理
    Android Framework 学习(四):Binder机制与代理模式
    Android Framework 学习(三):Android 跨进程通信机制
    Android Handler 机制(四):屏障消息(同步屏障)
    Android Handler 机制(三):Handler 机制与管道 Pipe 机制
  • 原文地址:https://www.cnblogs.com/cqubityj/p/Solaris.html
Copyright © 2011-2022 走看看