SVM Components
SVM Components
Solaris Packages
SDS 4.2.1 > SUNWmdr - core kernel & /etc files > SUNWmdu - user commands, libraries and docs > SUNWmdx - 64-bit SPARC kernel drivers > SUNWmdg - metatool GUI > SUNWmdnr - log daemon config files > SUNWmdnu - log daemon core files > SUNWmdja - Japanese language support
Solaris Packages
Solaris 9 SVM > SUNWmdr - core kernel & /etc files > SUNWmdu - user commands, libraries and docs > SUNWmdx - 64-bit SPARC kernel drivers > SUNWlvma - log daemon and SunMC API's > SUNWlvmr - log daemon config files > SUNWlvmg - SunMC plugins Language support comes with Solaris > SUNWmddr - RCM support (backport from S10)
Copyright 2006 Sun Microsystems, Inc. All rights reserved.
Solaris Packages
Solaris 10 SVM > SUNWmdr - core kernel & /etc files > SUNWmdu - user commands, libraries and docs > SUNWmddr - RCM components > SUNWlvma - log daemon and SunMC API's > SUNWlvmr - log daemon config files > SUNWlvmg - SunMC plugins Language support comes with Solaris No separate 64-bit package required > SPARC is 64-bit only, x64 support included.
Copyright 2006 Sun Microsystems, Inc. All rights reserved.
User Commands
/usr/sbin/meta* > Dynamically linked commands /sbin/meta* > Statically linked commands (4.2.1 & S9) > Required commands for boot support /etc/lvm/md.tab > User's configuration file /etc/lvm/md.cf > System's private configuration file
Copyright 2006 Sun Microsystems, Inc. All rights reserved.
Graphical Interface
SDS 4.2.1 - metatool > Custom GUI for SDS only Solaris 9 onwards SunMC plugin > Integrates SVM management with other Solaris functionality > Single admin station to manage many servers
Graphical Interface
Graphical Interface
Daemons
mdmonitord > Scans devices for component failures > Runs on failure or via a timer rpc.metad > Metaset configuration daemon rpc.mdcommd > Multi-owner metaset control daemon rpc.metamhd > Multi-Host metaset control daemon
Copyright 2006 Sun Microsystems, Inc. All rights reserved.
Daemons SunCluster
rpc.metamedd > SunCluster mediator daemon rpc.metacld > SunCluster proxy transport daemon
Libraries
libmeta > Primary userland library > Used by every meta* command libpreen > Provides metadevice layout data to fsck > Helps avoid multiple fsck's on the same disk libsvm > Support for upgrades and installs with SVM
Kernel Modules
md > Core SVM module > Interfaces SVM to the rest of the kernel md_mirror, md_stripe, md_raid, md_sp > Metadevice drivers > Provide core device support md_hotspares, md_notify, md_trans > SVM utility drivers > Provide services to SVM itself
Copyright 2006 Sun Microsystems, Inc. All rights reserved.
Kernel Modules
Devices build in layers > All top level access through md Can mix device types, eg : > Softparts on top of RAID's > Mirror made from Stripes of Softparts Top-level metadevice is the one that gets used > Eg the mirror, rather than the sub-mirrors
Kernel Modules
I/O into metadevice md mirror md stripe md stripe stripe 1 md md Underlying Disk Devices md stripe 2
mirror
RCM Framework
SUNW_svm_rcm.so module > /usr/lib/rcm/modules/SUNW_svm_rcm.so Interfaces SVM into DR operations Designed to block offline requests if : > The device contains a meta replica > The device is a working part of a metadevice Calls into libmeta to get component state
Devices Tree
Created on reconfig reboot Numbers specified in /kernel/drv/md.conf Admin Device > One per system > Provides ioctl interface to kernel modules Local Set Devices > /dev/md/(r)dsk Shared Set Devices > /dev/md/{setname}/(r)dsk
Copyright 2006 Sun Microsystems, Inc. All rights reserved.
In-Core Metadb's
Created in kernel memory on boot / set take Working copy of the configuration / status data > Used by metastat etc On-disk metadb's are copies of the in-core db
Header Files
Delivered as part of SUNWhea package
6 -> ls usr/include mdiox. mdmn_changelog.h metamed.h metamhd.h meta.h meta_basic.h meta_runtime.h metacl.h metad.h metadyn.h 7 -> ls usr/include/sys/lvm md_mhdx.h md_stripe.h md_mirror.h md_trans.h md_basic.h md_mirror_shared.h md_convert.h md_names.h md_crc.h md_notify.h md_hotspares.h md_raid.h md_mddb.h md_rename.h md_mdiox.h md_sp.h
SVM Components