Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3194408
  • 博文数量: 443
  • 博客积分: 11301
  • 博客等级: 上将
  • 技术积分: 5679
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-08 12:30
个人简介

欢迎加入IT云增值在线QQ交流群:342584734

文章分类

全部博文(443)

文章存档

2022年(1)

2021年(1)

2015年(2)

2014年(1)

2013年(1)

2012年(4)

2011年(19)

2010年(32)

2009年(2)

2008年(4)

2007年(31)

2006年(301)

2005年(42)

2004年(2)

分类:

2006-03-18 21:07:53

In the steps below, I'm using Veritas volume manager (VxVM) to mirror the active root disk (c0t0d0) to a mirror (c0t1d0).

First, we start with a filesystem layout that looks as follows:
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0t0d0s0    6607349  826881 5714395    13%    /
/proc                      0       0       0     0%    /proc
fd                         0       0       0     0%    /dev/fd
mnttab                     0       0       0     0%    /etc/mnttab
/dev/dsk/c0t0d0s4    1016863    8106  947746     1%    /var
swap                 1443064       8 1443056     1%    /var/run
swap                 1443080      24 1443056     1%    /tmp

The following steps guide the reader through the process of encapsulating and mirroring the operating system using vxinstall as per Veritas' recommendations. Though easy to install and fully supported by the vendor, it is difficult to maintain. Consequently, there is some debate as to the merits of this approach,

The following alternative approaches are more difficult to install, but are easier to maintain:

  • Rather than encapsulating the boot disk, initialize it. The process was originally presented in the August 2000 Sun Blueprint article , by Gene Trantham and John S. Howard.
  • Use Solstice DiskSuite to mirror the operating system and use VxVM for everything else (one can create a single-slice rootdg on unused slices of the root disk and its mirror).

No matter which of the three approaches is selected, the most important consideration is that the administrative staff understands how to maintain it. For the sake of consistency, all servers at a site should use the same approach to mirror the operating system. Unless the site is willing to pay for VxVM for every server, we recommend the use of Solstice DiskSuite to mirror the operating system, making use of a single-slice rootdg on those servers that also have Veritas volume manager installed.

Create two unused slices for Veritas volume manager

We're going to be mirroring from c0t0d0 to c0t1d0. When the operating system was installed, we created unassigned slices five, six, and seven of roughly 10 MB each. VxVM requires a minimum of two unused disk slices to store the Veritas private and public region on the disk. Prior to placing the operating system under the control of VxVM, we'll free up those 10MB slices so that Veritas can use the reserved space. Now we "zero out" slices five, six, and seven so that VxVM sees disk space available.

# format c0t0d0

selecting c0t0d0
[disk formatted]
...
partition> print
Current partition table (original):
Total disk cylinders available: 5266 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0 - 3994        6.40GB    (3995/0/0) 13423200
  1       swap    wu    3995 - 4619        1.00GB    (625/0/0)   2100000
  2     backup    wm       0 - 5265        8.44GB    (5266/0/0) 17693760
  3 unassigned    wu       0               0         (0/0/0)           0
  4        var    wm    4620 - 5244        1.00GB    (625/0/0)   2100000
  5 unassigned    wm    5245 - 5251       11.48MB    (7/0/0)       23520
  6 unassigned    wm    5252 - 5258       11.48MB    (7/0/0)       23520
  7 unassigned    wm    5259 - 5265       11.48MB    (7/0/0)       23520

partition> 5
Part      Tag    Flag     Cylinders        Size            Blocks
  5 unassigned    wm    5245 - 5251       11.48MB    (7/0/0)       23520

Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[5245]: 0
Enter partition size[23520b, 7c, 11.48mb, 0.01gb]: 0
partition> 6
Part      Tag    Flag     Cylinders        Size            Blocks
  6 unassigned    wm    5252 - 5258       11.48MB    (7/0/0)       23520

Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[5252]: 0
Enter partition size[23520b, 7c, 11.48mb, 0.01gb]: 0
partition> 7
Part      Tag    Flag     Cylinders        Size            Blocks
  7 unassigned    wm    5259 - 5265       11.48MB    (7/0/0)       23520

Enter partition id tag[unassigned]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[5259]: 0
Enter partition size[23520b, 7c, 11.48mb, 0.01gb]: 0
partition> print
Current partition table (unnamed):
Total disk cylinders available: 5266 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0 - 3994        6.40GB    (3995/0/0) 13423200
  1       swap    wu    3995 - 4619        1.00GB    (625/0/0)   2100000
  2     backup    wm       0 - 5265        8.44GB    (5266/0/0) 17693760
  3 unassigned    wu       0               0         (0/0/0)           0
  4        var    wm    4620 - 5244        1.00GB    (625/0/0)   2100000
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0

partition> label
Ready to label disk, continue? y

partition> quit

At this point, slices three, five, six and seven are available, as are cylinders 5245 to 5265. We'll see what Veritas does with these once the disk c0t0d0 is encapsulated.

Though one can download and install the packages for free, actually running the software requires a license key from your Veritas sales representative. Note that if Veritas detects the presence of certain Sun fibre storage arrays, including the A5x00 series, a limited license will be granted just on the basis of that hardware. Normally, however, you do require a node-locked license key from Veritas.

Starting with VxVM 3.5, the commands for installing and querying licenses have changed. Instead of the vxlicense command, there are a few new commands:

  • vxlicinst: installs a veritas license key.
  • vxlicrep: reports all veritas license keys installed on the system.
  • vxlictest: identifies whether a veritas product feature is licensed on the system.

We'll use the vxlicinst key to install the licenses required for volume manager (including raid5 functionality) and filesystem. Of course, the keys listed below are not actually valid keys:

# /opt/VRTSvlic/bin/vxlicinst 

VERITAS License Manager vxlicinst utility version 3.00.007d
Copyright (C) VERITAS Software Corp 2002. All Rights reserved.

Enter your license key : 1144 3385 4498 7652 4920 229
Key successfully installed in /etc/vx/licenses/lic/11443385449876524920229.vxlic

The disk c0t0d0 is at present a simple Solaris disk that is composed of up to eight disk slices. One of the most powerful features of VxVM is that it replaces the concept of disk slices with that of subdisks, plexes, and volumes. However, in order to manage the root disk, Veritas requires that the disk be "encapsulated", thus preserving the existing on-disk data. This encapsulation process is accomplished as part of the vxinstall command:

#  vxinstall

  VxVM uses license keys to control access.  If you have a SPARCstorage
  Array (SSA) controller or a Sun Enterprise Network Array (SENA) controller 
  attached to your system, then VxVM will grant you a limited use license 
  automatically.  The SSA and/or SENA license grants you unrestricted use 
  of disks attached to an SSA or SENA controller, but disallows striping,
  RAID-5, and DMP on non-SSA and non-SENA disks.  If you are not running an
  SSA or SENA controller, then you must obtain a license key to operate.

  Licensing information:
    System host ID: 808f18b5
    Host type: SUNW,Ultra-30
    SPARCstorage Array or Sun Enterprise Network Array: No arrays found

Some licenses are already installed.  Do you wish to review them
[y,n,q,?] (default: y) n

Do you wish to enter another license key [y,n,q,?] (default: n) n


Volume Manager Installation
Menu: VolumeManager/Install

  VxVM will use the following format to name disks on the host:

        _

  In the above format,  is the logical name of the enclosure
  to which the disk belongs. VxVM assigns default enclosure names which can
  be changed according to the user requirements.

  Some examples would be:

        hitachi0_2      - second disk detected in enclosure 'hitachi0'
        enggdept_2      - second disk detected in enclosure 'enggdept'
        dgc1_1          - first disk detected in enclosure 'dgc1'
        jbod_1          - first disk detected in the jbod category

  For non-public loop disks (Ex. FC disks directly connected to the host
  or through hubs), you could choose to use the c#t#d#s# naming format.

Do you want to use enclosure based names for all disks ?
[y,n,q,?] (default: n) 

-Generating list of attached disk arrays....
 
Volume Manager Installation
Menu: VolumeManager/Install

  The Volume Manager has detected the following categories of storage
  connected to your system:

  Enclosures:     Disk       

Hit RETURN to continue.

Volume Manager Installation
Menu: VolumeManager/Install

  You will now be asked if you wish to use Quick Installation or
  Custom Installation.  Custom Installation allows you to select how
  the Volume Manager will handle the installation of each disk
  attached to your system.

  Quick Installation examines each disk attached to your system and
  attempts to create volumes to cover all disk partitions that might
  be used for file systems or for other similar purposes.

  If you want to exclude any devices from being seen by VxVM or not
  be multipathed by vxdmp then use the Prevent multipathing/Suppress
  devices from VxVM's view option, before you choose Custom Installation
  or Quick Installation.

  If you do not wish to use some disks with the Volume Manager, or if
  you wish to reinitialize some disks, use the Custom Installation
  option Otherwise, we suggest that you use the Quick Installation
  option.
Hit RETURN to continue.

Volume Manager Installation Options
Menu: VolumeManager/Install

 1      Quick Installation
 2      Custom Installation
 3      Prevent multipathing/Suppress devices from VxVM's view

 ?      Display help about menu
 ??     Display help about the menuing system
 q      Exit from menus

Select an operation to perform: 2


Volume Manager Custom Installation
Menu: VolumeManager/Install/Custom

  The c0t0d0 disk is your Boot Disk.  You can not add it as a new
  disk.  If you encapsulate it, you will make your root file system
  and other system areas on the Boot Disk into volumes.  This is
  required if you wish to mirror your root file system or system
  swap area.

Encapsulate Boot Disk [y,n,q,?] (default: n) y

Enter disk name for  [,q,?] (default: rootdisk) 

  The c0t0d0 disk has been configured for encapsulation.

Hit RETURN to continue.

Volume Manager Custom Installation
Menu: VolumeManager/Install/Custom/Disk

Disk array serial number : DISKS

Generating list of disks in disk array Disk....

-
/ 
  The Volume Manager has detected the following disks in enclosure Disk:

  c0t1d0

Hit RETURN to continue.

Installation options for controller Disk
Menu: VolumeManager/Install/Custom/Disk

 1      Install all disks as pre-existing disks. (encapsulate)
 2      Install all disks as new disks. (discards data on disks!)
 3      Install one disk at a time.
 4      Leave these disks alone.

 ?      Display help about menu
 ??     Display help about the menuing system
 q      Exit from menus

Select an operation to perform: 3


Installation options for disk c0t1d0
Menu: VolumeManager/Install/Custom/Disk

 1      Install as a pre-existing disk. (encapsulate)
 2      Install as a new disk. (discards data on disk!)
 3      Leave this disk alone.

 ?      Display help about menu
 ??     Display help about the menuing system
 q      Exit from menus

Select an operation to perform: 2


Are you sure (destroys data on c0t1d0) [y,n,q,?] (default: n) y

Enter disk name for c0t1d0 [,q,?] (default: disk01) rootmirror

Volume Manager Custom Installation
Menu: VolumeManager/Install/Custom/Disk

  The following is a summary of your choices.

        c0t0d0                          Encapsulate
        c0t1d0                          New Disk


Is this correct [y,n,q,?] (default: y) y

  The system now must be shut down and rebooted in order to continue
the reconfiguration.

Shutdown and reboot now [y,n,q,?] (default: n) y

Shutdown started.    Wed Oct 23 10:58:40 EDT 2002

Changing to init state 6 - please wait

The system will then reboot (twice) before bringing the system back to the login prompt. Note that the output of df -k now refers to Veritas volumes instead of disk slices. Furthermore, not the output of vxprint -ht, the Veritas command that lists the structure of those volumes.

pegasus console login: root
Password: 
Last login: Wed Oct 23 11:03:51 from rambler.wakefie
Oct 23 11:03:58 pegasus login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.8       Generic February 2000

# df -k

Filesystem            kbytes    used   avail capacity  Mounted on
/dev/vx/dsk/rootvol  6607349 1059924 5481352    17%    /
/proc                      0       0       0     0%    /proc
fd                         0       0       0     0%    /dev/fd
mnttab                     0       0       0     0%    /etc/mnttab
/dev/vx/dsk/var      1016863  239985  715867    26%    /var
swap                 1392736      16 1392720     1%    /var/run
swap                 1392736      16 1392720     1%    /tmp

# vxprint -ht

Disk group: rootdg

DG NAME         NCONFIG      NLOG     MINORS   GROUP-ID
DM NAME         DEVICE       TYPE     PRIVLEN  PUBLEN   STATE
RV NAME         RLINK_CNT    KSTATE   STATE    PRIMARY  DATAVOLS  SRL
RL NAME         RVG          KSTATE   STATE    REM_HOST REM_DG    REM_RLNK
V  NAME         RVG          KSTATE   STATE    LENGTH   READPOL   PREFPLEX UTYPE
PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    NCOL/WID MODE
SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
SV NAME         PLEX         VOLNAME  NVOLLAYR LENGTH   [COL/]OFF AM/NM    MODE
DC NAME         PARENTVOL    LOGVOL
SP NAME         SNAPVOL      DCO

dg rootdg       default      default  0        1035385242.1025.pegasus

dm rootdisk     c0t0d0s2     sliced   3359     17693759 -
dm rootmirror   c0t1d0s2     sliced   6719     17683680 -

sd rootdiskPriv -            rootdisk 13423200 3359     PRIVATE   c0t0d0   ENA

v  rootvol      -            ENABLED  ACTIVE   13423200 ROUND     -        root
pl rootvol-01   rootvol      ENABLED  ACTIVE   13423200 CONCAT    -        RW
sd rootdisk-B0  rootvol-01   rootdisk 13423199 1        0         c0t0d0   ENA
sd rootdisk-02  rootvol-01   rootdisk 0        13423199 1         c0t0d0   ENA

v  swapvol      -            ENABLED  ACTIVE   2096640  ROUND     -        swap
pl swapvol-01   swapvol      ENABLED  ACTIVE   2096640  CONCAT    -        RW
sd rootdisk-01  swapvol-01   rootdisk 13426559 2096640  0         c0t0d0   ENA

v  var          -            ENABLED  ACTIVE   2100000  ROUND     -        fsgen
pl var-01       var          ENABLED  ACTIVE   2100000  CONCAT    -        RW
sd rootdisk-04  var-01       rootdisk 15523199 2100000  0         c0t0d0   ENA

Having encapsulated the root disk (rootdisk) and initialized the disk c0t1d0 as a new disk (rootmirror), we're now prepared to actually mirror the data from one to the other. Like many tasks in VxVM, there are many ways to accomplish this task, but the easiest if probably via the vxdiskadm command:

# vxdiskadm

Volume Manager Support Operations
Menu: VolumeManager/Disk

 1      Add or initialize one or more disks
 2      Encapsulate one or more disks
 3      Remove a disk
 4      Remove a disk for replacement
 5      Replace a failed or removed disk
 6      Mirror volumes on a disk
 7      Move volumes from a disk
 8      Enable access to (import) a disk group
 9      Remove access to (deport) a disk group
 10     Enable (online) a disk device
 11     Disable (offline) a disk device
 12     Mark a disk as a spare for a disk group
 13     Turn off the spare flag on a disk
 14     Unrelocate subdisks back to a disk
 15     Exclude a disk from hot-relocation use
 16     Make a disk available for hot-relocation use
 17     Prevent multipathing/Suppress devices from VxVM's view
 18     Allow multipathing/Unsuppress devices from VxVM's view
 19     List currently suppressed/non-multipathed devices
 20     Change the disk naming scheme
 21     Get the newly connected/zoned disks in VxVM view
 list   List disk information


 ?      Display help about menu
 ??     Display help about the menuing system
 q      Exit from menus

Select an operation to perform: 6


Mirror volumes on a disk
Menu: VolumeManager/Disk/Mirror

  This operation can be used to mirror volumes on a disk.  These
  volumes can be be mirrored onto another disk or onto any
  available disk space.  Volumes will not be mirrored if they are
  already mirrored.  Also, volumes that are comprised of more than
  one subdisk will not be mirrored.

  Mirroring volumes from the boot disk will produce a disk that
  can be used as an alternate boot disk.

  At the prompt below, supply the name of the disk containing the
  volumes to be mirrored.

Enter disk name [,list,q,?] list

Disk group: rootdg

DM NAME         DEVICE       TYPE     PRIVLEN  PUBLEN   STATE

dm rootdisk     c0t0d0s2     sliced   3359     17693759 -
dm rootmirror   c0t1d0s2     sliced   3359     17690400 -

Enter disk name [,list,q,?] rootdisk

  You can choose to mirror volumes from disk rootdisk onto any
  available disk space, or you can choose to mirror onto a specific
  disk.  To mirror to a specific disk, select the name of that disk.
  To mirror to any available disk space, select "any".

Enter destination disk [,list,q,?] (default: any) rootmirror

  The requested operation is to mirror all volumes on disk rootdisk
  in disk group rootdg onto available disk space on disk rootmirror.

  NOTE: This operation can take a long time to complete.

Continue with operation? [y,n,q,?] (default: y) 

  Mirror volume rootvol ...
  Mirror volume swapvol ...
  Mirror volume var ...

  Mirroring of disk rootdisk is complete.

Mirror volumes on another disk? [y,n,q,?] (default: n) q

Having completed the mirroring process, let's take a look at the output of vxprint -ht

# vxprint -ht
Disk group: rootdg

DG NAME         NCONFIG      NLOG     MINORS   GROUP-ID
DM NAME         DEVICE       TYPE     PRIVLEN  PUBLEN   STATE
RV NAME         RLINK_CNT    KSTATE   STATE    PRIMARY  DATAVOLS  SRL
RL NAME         RVG          KSTATE   STATE    REM_HOST REM_DG    REM_RLNK
V  NAME         RVG          KSTATE   STATE    LENGTH   READPOL   PREFPLEX UTYPE
PL NAME         VOLUME       KSTATE   STATE    LENGTH   LAYOUT    NCOL/WID MODE
SD NAME         PLEX         DISK     DISKOFFS LENGTH   [COL/]OFF DEVICE   MODE
SV NAME         PLEX         VOLNAME  NVOLLAYR LENGTH   [COL/]OFF AM/NM    MODE
DC NAME         PARENTVOL    LOGVOL
SP NAME         SNAPVOL      DCO

dg rootdg       default      default  0        1035385242.1025.pegasus

dm rootdisk     c0t0d0s2     sliced   3359     17693759 -
dm rootmirror   c0t1d0s2     sliced   3359     17690400 -

sd rootdiskPriv -            rootdisk 13423200 3359     PRIVATE   c0t0d0   ENA

v  rootvol      -            ENABLED  ACTIVE   13423200 ROUND     -        root
pl rootvol-01   rootvol      ENABLED  ACTIVE   13423200 CONCAT    -        RW
sd rootdisk-B0  rootvol-01   rootdisk 13423199 1        0         c0t0d0   ENA
sd rootdisk-02  rootvol-01   rootdisk 0        13423199 1         c0t0d0   ENA
pl rootvol-02   rootvol      ENABLED  ACTIVE   13423200 CONCAT    -        RW
sd rootmirror-01 rootvol-02  rootmirror 0      13423200 0         c0t1d0   ENA

v  swapvol      -            ENABLED  ACTIVE   2096640  ROUND     -        swap
pl swapvol-01   swapvol      ENABLED  ACTIVE   2096640  CONCAT    -        RW
sd rootdisk-01  swapvol-01   rootdisk 13426559 2096640  0         c0t0d0   ENA
pl swapvol-02   swapvol      ENABLED  ACTIVE   2096640  CONCAT    -        RW
sd rootmirror-02 swapvol-02  rootmirror 13423200 2096640 0        c0t1d0   ENA

v  var          -            ENABLED  ACTIVE   2100000  ROUND     -        fsgen
pl var-01       var          ENABLED  ACTIVE   2100000  CONCAT    -        RW
sd rootdisk-04  var-01       rootdisk 15523199 2100000  0         c0t0d0   ENA
pl var-02       var          ENABLED  ACTIVE   2100000  CONCAT    -        RW
sd rootmirror-03 var-02      rootmirror 15519840 2100000 0        c0t1d0   ENA

Note that Veritas created two device alias referencing the boot disk and it's mirror. Based on the disk names, go to the ok prompt and confirm that the system can boot from either "vx-rootdisk" and "vx-rootmirror".

阅读(2757) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~