• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

VxVM Tutorials : Creating Volume and file system

by admin

VxVM Tutorials
  • Installing VxvM in VMware virtual machine
  • Volume layouts and layered volumes
  • Comparing layered and non-layered Volumes
  • Root disk Encapsulation and Mirroring
  • Volume resize with vxassist and vxresize
  • Replacing a failed disk under VxVM

VxVM allows a system administrator to configure various volume layouts for the volume thus allowing high redundancy and high performance. Let us see how we can create a basic volume and a file system with Veritas Volume Manager.

I have added six, 1 GB disks (other than two, 16 GB disks for root mirroring) to my vmware virtual machine for future tutorials.
To check all the disks scanned under the Operating System:

# vxdisk -eoalldgs list
DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR
disk_8       auto:none      -            -           online invalid       c1t0d0s2         -
disk_9       auto:none      -            -           online invalid       c1t1d0s2         -
disk_10      auto:none      -            -           online invalid       c1t5d0s2         -
disk_11      auto:none      -            -           online invalid       c1t2d0s2         -
disk_12      auto:none      -            -           online invalid       c1t6d0s2         -
disk_13      auto:none      -            -           online invalid       c1t3d0s2         -
disk_14      auto:none      -            -           online invalid       c1t8d0s2         -
disk_15      auto:none      -            -           online invalid       c1t4d0s2         -

OS native Vs Enclosure based naming Scheme

We can have disks naming scheme in 2 ways – OS native and Enclosure based. For my convenience I will be using OS native disk scheming. But you can have it your way. To change the scheme use vxdiskadm command and select option 20. You can use enclosure based naming scheme if you prefer that. You would see the difference in the DEVICE column in the output of “vxdisk -eoalldgs list” as shown above and below in the vxdisk command output.
To check the current naming scheme

# vxddladm get namingscheme
NAMING_SCHEME       PERSISTENCE    LOWERCASE      USE_AVID
============================================================
OS Native           No             Yes            Yes

To change the naming scheme through command line

# vxddladm set namingscheme=ebn
# vxddladm get namingscheme
NAMING_SCHEME       PERSISTENCE    LOWERCASE      USE_AVID
============================================================
Enclosure Based     Yes            Yes            Yes
# vxdisk -eoalldgs list
DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR 
c1t0d0s2     auto:none      -            -           online invalid       c1t0d0s2         - 
c1t1d0s2     auto:none      -            -           online invalid       c1t1d0s2         - 
c1t2d0s2     auto:none      -            -           online invalid       c1t2d0s2         - 
c1t3d0s2     auto:none      -            -           online invalid       c1t3d0s2         - 
c1t4d0s2     auto:none      -            -           online invalid       c1t4d0s2         - 
c1t5d0s2     auto:none      -            -           online invalid       c1t5d0s2         - 
c1t6d0s2     auto:none      -            -           online invalid       c1t6d0s2         - 
c1t8d0s2     auto:none      -            -           online invalid       c1t8d0s2         -

I would exclude the root disk (c1t0d0) and a disk supposed to be mirrored (c1t1d0) with it later on.

# df -h /
Filesystem             size   used  avail capacity  Mounted on
/dev/dsk/c1t0d0s0       15G   5.9G   8.6G    41%    /

Now first initialize the disk we want to use for the disk group creation. If you have seen output of vxdisk list, you would see all the disks with STATUS of online invalid. This indicates that the disk is not under VxVM control. To take it under VxVM control we would initialize it.

# vxdisksetup -i c1t2d0

vxdiks list would now show you the status as online implying that the disk is now under VxVM control.

# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
c1t0d0s2     auto:none       -            -            online invalid
c1t1d0s2     auto:none       -            -            online invalid
c1t2d0s2     auto:cdsdisk    -            -            online
c1t3d0s2     auto:none       -            -            online invalid
c1t4d0s2     auto:none       -            -            online invalid
c1t5d0s2     auto:none       -            -            online invalid
c1t6d0s2     auto:none       -            -            online invalid
c1t8d0s2     auto:none       -            -            online invalid

Initialization Vs Encapsulation

Now before going forward let us see whats the difference between encapsulation and initialization.
Initialization – When a disk is initialized a private and public region is created on the disk (placed under VxVM control) and VM disk header information is written to the private region. All the data already present on the disk is erased.
Encapsulation – Disk is taken under VxVM control when it is initialized but the data is preserved in this method.

Now create the disk group mydg by specifying the disk we just initialized. You can give any name to disk you prefer instead of disk01.

# vxdg init mydg disk01=c1t2d0
bash-3.2# vxdg list
NAME         STATE           ID
mydg         enabled,cds          1381663220.16.geeklab
bash-3.2# vxdisk -eoalldgs list
DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR 
c1t0d0s2     auto:none      -            -           online invalid       c1t0d0s2         - 
c1t1d0s2     auto:none      -            -           online invalid       c1t1d0s2         - 
c1t2d0s2     auto:cdsdisk   disk01       mydg        online               c1t2d0s2         - 
c1t3d0s2     auto:none      -            -           online invalid       c1t3d0s2         - 
c1t4d0s2     auto:none      -            -           online invalid       c1t4d0s2         - 
c1t5d0s2     auto:none      -            -           online invalid       c1t5d0s2         - 
c1t6d0s2     auto:none      -            -           online invalid       c1t6d0s2         - 
c1t8d0s2     auto:none      -            -           online invalid       c1t8d0s2         -

Now create a simple concatenated volume myvol of around 500 MB size in the mydg.

# vxassist -g mydg make myvol 500m

Create a vxfs file system on this volume and also create a directory to mount this volume.

# mkfs -F vxfs /dev/vx/rdsk/mydg/myvol

To make the mount to persists after reboot you can add an entry to /etc/vfstab. Also it is a preferred way to check the entry in vfstab by mounting it with just “mount /mount-point” or “mountall” command.

# cat /etc/vfstab |grep data
/dev/vx/dsk/mydg/myvol  /dev/vx/rdsk/mydg/myvol /data   vxfs    0       yes     -
# mount /data     ( or mountall)
bash-3.2# df -h |grep data
/dev/vx/dsk/mydg/myvol   500M   2.2M   467M     1%    /data

Adding a new disk to the existing disk group

We can also add disks after we create the disk group. Before adding a new disk initialize it.

# vxdisksetup -i c1t3d0
# vxdg -g mydg adddisk disk02=c1t3d0

To check the layout of the volume we just create:

# vxprint -g mydg -htr
.............
dg mydg         default      default  28000    1381663220.16.geeklab

dm disk01       c1t2d0s2     auto     65536    2027168  -
dm disk02       c1t3d0s2     auto     65536    2027168  -

v  myvol        -            ENABLED  ACTIVE   1024000  SELECT    -        fsgen
pl myvol-01     myvol        ENABLED  ACTIVE   1024000  CONCAT    -        RW
sd disk01-01    myvol-01     disk01   0        1024000  0         c1t2d0   ENA

As you can see in the output above, a plex with one subdisk is created which comprises the volume myvol. You can also see the layout as concat in the 6th column.

To heck the disk property of a disk in the mydg :

# vxdisk -p list c1t2d0
DISK           : c1t2d0s2
DISKID         : 1381663112.11.geeklab
VID            : VMware,
UDID           : VMware%2C%5FVMware%20Virtual%20S%5FDISKS%5F6000C2952A4E5B4ACE2B2AE07A473A35
SCSI_VERSION   : 2
REVISION       : 1.0
PID            : VMware Virtual S
PHYS_CTLR_NAME : /pci@0,0/pci15ad,1976@10
MEDIA_TYPE     : hdd
LUN_SNO_ORDER  : 0
LUN_SERIAL_NO  : 6000C2952A4E5B4ACE2B2AE07A473A35
LIBNAME        : scsi3_jbod
DMP_DEVICE     : c1t2d0
CAB_SERIAL_NO  : DISKS
ATYPE          : Disk
ARRAY_PORT_PWWN:
ANAME          : Disk
TRANSPORT      : SCSI

Remove volume , diks and diskgroups

Before removing the volume umount the mount point /data and remove the entry from vfstab.

# umount /data

After removing the volume you can remove the disks in the diskgroup. But the last disk can not be removed. For that we have to remove the entire disk group mydg. After removing the DG we can use these disks in any other DG.

# vxassist -g mydg remove volume myvol
# vxdg -g mydg rmdisk disk02
# vxdg -g mydg rmdisk disk01
VxVM vxdg ERROR V-5-1-10127 disassociating disk-media disk01:
        Cannot remove last disk in disk group
# vxdg destroy mydg

Filed Under: VxVM Tagged With: solaris, VxVM

Some more articles you might also be interested in …

  1. VxVM tutorials : Replacing a failed disk under VxVM
  2. VxVM tutorials : Volume resize with vxassist and vxresize
  3. VxVM tutorials : Root disk Encapsulation and Mirroring
  4. VxVM tutorials : Comparing layered and non-layered volumes
  5. VxVM tutorials : Volume layouts and layered volumes

You May Also Like

Primary Sidebar

Recent Posts

  • nixos-rebuild Command Examples in Linux
  • nixos-option: Command Examples in Linux
  • nixos-container : Command Examples in Linux
  • nitrogen Command Examples in Linux

© 2023 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright