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.

  • 相关阅读:
    [你必须知道的.NET] 第四回:后来居上:class和struct
    [你必须知道的.NET]第十回:品味类型值类型与引用类型(下)-应用征途
    [你必须知道的.NET]第十一回:参数之惑传递的艺术(上)
    [你必须知道的.NET] 第一回:恩怨情仇:is和as
    [Anytao.History] 排名进入1000,未来值得努力
    [你必须知道的.NET] 第三回:历史纠葛:特性和属性
    [你必须知道的.NET] 第八回:品味类型值类型与引用类型(上)-内存有理
    [你必须知道的.NET] 第五回:深入浅出关键字把new说透
    [你必须知道的.NET]第十二回:参数之惑传递的艺术(下)
    .NET 3.5
  • 原文地址:https://www.cnblogs.com/cqubityj/p/Solaris.html
Copyright © 2011-2022 走看看