The Cuddletech Veritas Volume Manager Series: Volume Kreation: VxMake & Her Seductive Ways | ||
---|---|---|
Prev |
Look at the following log, and see if you can see what's being done. I'm starting from clean vmdisks again. We'll talk about it afterwords, here goes:
# vxprint Disk group: rootdg TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dg rootdg rootdg - - - - - - dm disk01 c2t0d0s2 - 17678493 - - - - dm disk02 c2t1d0s2 - 17678493 - - - - dm disk03 c2t2d0s2 - 17678493 - - - - dm disk04 c2t6d0s2 - 17678493 - - - - # vxmake sd disk01-01 disk01,0,17678493 # vxmake sd disk02-01 disk02,0,17678493 # vxmake sd disk03-01 disk03,0,17678493 # vxmake sd disk04-01 disk04,0,17678493 # vxmake plex vol01-01 layout=stripe ncolumn=4 stwidth=32k sd=disk01-01,disk02-01,disk03-01,disk04-01 # vxprint -hrt Disk group: rootdg DG NAME NCONFIG NLOG MINORS GROUP-ID DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX 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 dg rootdg default default 0 952738334.1025.nexus6 dm disk01 c2t0d0s2 sliced 3590 17678493 - dm disk02 c2t1d0s2 sliced 3590 17678493 - dm disk03 c2t2d0s2 sliced 3590 17678493 - dm disk04 c2t6d0s2 sliced 3590 17678493 - pl vol01-01 - DISABLED - 70714077 STRIPE 4/64 RW sd disk01-01 vol01-01 disk01 0 17678493 0/0 c2t0d0 ENA sd disk02-01 vol01-01 disk02 0 17678493 1/0 c2t1d0 ENA sd disk03-01 vol01-01 disk03 0 17678493 2/0 c2t2d0 ENA sd disk04-01 vol01-01 disk04 0 17678493 3/0 c2t6d0 ENA # # vxmake -U fsgen vol vol01 plex=vol01-01 # vxprint -hrt Disk group: rootdg DG NAME NCONFIG NLOG MINORS GROUP-ID DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX 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 dg rootdg default default 0 952738334.1025.nexus6 dm disk01 c2t0d0s2 sliced 3590 17678493 - dm disk02 c2t1d0s2 sliced 3590 17678493 - dm disk03 c2t2d0s2 sliced 3590 17678493 - dm disk04 c2t6d0s2 sliced 3590 17678493 - v vol01 fsgen DISABLED EMPTY 70713885 ROUND - pl vol01-01 vol01 DISABLED EMPTY 70714077 STRIPE 4/64 RW sd disk01-01 vol01-01 disk01 0 17678493 0/0 c2t0d0 ENA sd disk02-01 vol01-01 disk02 0 17678493 1/0 c2t1d0 ENA sd disk03-01 vol01-01 disk03 0 17678493 2/0 c2t2d0 ENA sd disk04-01 vol01-01 disk04 0 17678493 3/0 c2t6d0 ENA # # vxvol start vol01 # vxprint -hrt Disk group: rootdg DG NAME NCONFIG NLOG MINORS GROUP-ID DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX 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 dg rootdg default default 0 952738334.1025.nexus6 dm disk01 c2t0d0s2 sliced 3590 17678493 - dm disk02 c2t1d0s2 sliced 3590 17678493 - dm disk03 c2t2d0s2 sliced 3590 17678493 - dm disk04 c2t6d0s2 sliced 3590 17678493 - v vol01 fsgen ENABLED ACTIVE 70713885 ROUND - pl vol01-01 vol01 ENABLED ACTIVE 70714077 STRIPE 4/64 RW sd disk01-01 vol01-01 disk01 0 17678493 0/0 c2t0d0 ENA sd disk02-01 vol01-01 disk02 0 17678493 1/0 c2t1d0 ENA sd disk03-01 vol01-01 disk03 0 17678493 2/0 c2t2d0 ENA sd disk04-01 vol01-01 disk04 0 17678493 3/0 c2t6d0 ENA # |
Okey! How did it look? Everything looks very similar to our first lesson when we were working with a Simple RAID. There is one difference... and only one! It was where we used VxMake to create the plex. Let's dissect this line. Here's the line I used:
# vxmake plex vol01-01 layout=stripe ncolumn=4 stwidth=32k \ sd=disk01-01,disk02-01,disk03-01,disk04-01 |
This line may look scary, but its really tame. If you read my first course (RAID Theory) this will probably make sense already. Let's break it down..... The syntax is like this:
vxmake plex <plexname> layout=<layout> ncolumn=<#> stwidth=<width> sd=<subdisk>,<subdisk>,.... |
Okey, "vxmake" is the command we're using. "plex" is what we want vxmake to build for us. "plexname" is the name of our new plex will have, call it anything you like. "layout" specifies the plex layout type, or what you commonly think of as "RAID Type". Veritas supports several layout types, but the 3 most common are concat, stripe, and raid5. The concat layout is a Simple RAID. The stripe layout is a RAID0. And the raid5 layout is RAID5 - go figure. We're using stripe, to form a striped RAID0. "ncloumns" is used to specify how many columns your striped volume with contain. For the meantime, just figure that you need 1 column per subdisk. In our case we're going to be using 4 subdisks, so we'll specify 4 columns. Next, "stwidth" specifies stripe width. We'll use a 32k stripe width, just for fun. (We'll get to these last two options in a minute). And last we have "sd=" followed by a list of the subdisks we want to have vxmake attach to the plex for us. Using the "sd=" option allows vxmake to just associate the subdisks by itself, so that we don't need to worry about using "vxsd" to manually associate them.
Lets talk about two concepts here: "ncolumn" and "stwidth". Remember why we want to stripe data. We want our data to be stretched across all 4 of our subdisks, so that all 4 are sharing the data load. In order to do this we need to tell Veritas how to divide the data. We do this by dividing the data into chunks, which is specified by "stwidth" and then sequentially placing on different disks, which is specified by "ncolumn". So, in our new plex, when we write data to our volume, the first 32k will be written to disk01-01. The second 32k will be written to disk02-01. The third 32k will be written to disk03-01. Then the fourth 32k will be written to disk04-01. The fifth chunk goes on disk01-01, and so on. We just keep "wrapping" data around our subdisks, evenly splitting the load. In this way, even a single 128k file will exist on all 4 of our disks! So, again, Stripe Width is the amount of data that should be written to a column before moving to the next, and a Column is the number of subdisks to be written to.
One more thing, look back at the final vxprint output from our example, and notice that the subdisks associated with our plex have numbers in the 7th column (under "STRIPE" in the plex line) that look like this "1/0". This is the "ncolumn/offset" pair. If the number is "1/0" this tells me that this subdisk is the second column (always start with zero!) and it has no offset. If the number was "5/23128" the subdisk would be the sixth subdisk, with an offset of 23128 sectors. This is important to look for, and something you'll only see with the "-hrt" option to vxprint.
At this point, I hope you're confident in building volumes, and working with Veritas objects. I hope you are seeing how they work together. In the "Advanced Veritas Theory" course we'll talk about more kool things you can do with this new found information, and how to work with common problems. We're going to leave RAID5 out of this course, for information on RAID5 and Veritas look at the "Volume Kreation: The VxAssist Way", vxassist is a much better tool for RAID5 creation. If you haven't read any of the Veritas manuals by now, please start flipping through them. Also start reading the manual pages, which are really truly great reading. (I keep them all printed and in a binder!)
Wasn't this easy? I just want to leave this course, by pointing out how "undifficult" Veritas is. It's just different and new, not hard at all. Don't ever let Veritas scare you... she's sweet and kind. Be gentle and kind to her and she'll always treat you right. If you have a problem admit that you probably don't know what you are doing, and study the materials in man pages and in guides. In all my workings with Veritas 99.9995% of the time I have problems in Veritas it's a personal problem, not Veritas' fault. I've become comfortable with this, understanding that Veritas is trying to help me, I just need to listen to what it tells me so that I can find the right and best solution for the problem... she wants me to stop and think, no go away. Be confident, and enjoy Veritas.