Operating System - HP-UX
1832869 Members
8000 Online
110048 Solutions
New Discussion

Re: Deploying disks for best I/O ?

 
discoverer
Frequent Advisor

Deploying disks for best I/O ?

Hello All friends,

Now in my hand there are many disks for the users??? home, how to deploy them to get the best I/O?
(most of them are S/W designers, and the number increase continuously)

One of my thought is :
1. one vg = one disk = one lv = one home directory for part of the users;
2. when add an account, assign its home to these disk/LVs in turn.

Any good ideas?

Thanks in advance!

Regards,
discoverer
Listen, then discover, then succeed!
10 REPLIES 10
Tom Geudens
Honored Contributor

Re: Deploying disks for best I/O ?

Hi,
You might want to split into logical volumes according to the task (or even for the project, if they are "longrunning" ones).
For example :
/home/dba -> if your dba's are going to do exports in here, you might want to limit them in what they are doing :-)
/home/sys -> for your system engineer(s)
/home/fvs2 -> specific project FVS2
/home/fvs2000 -> specific project FVS2000
...

I would personally not bother to create seperate volumegroups for all these "tasks". I think the work exceeds the benefits. It might however depend on how big these logical volumes really get. In my site the total /home on our development server is +/- 8Gb. If you're talking numbers that are 10 times that big (or even bigger) you might want to split in seperate volumegroups. Otherwise ...

Hope this helps,
Tom Geudens
A life ? Cool ! Where can I download one of those from ?
Bill McNAMARA_1
Honored Contributor

Re: Deploying disks for best I/O ?

you should stripe the home lv across a few disks.

lvcreate -i -I

make it a large lvol because they'll start creating object files etc..

You may also want to tune your filesystem mount options... but developers will require memory most for compilation, which is perhaps more important than file io. if a file is accessed .50 sec quicker if you tune file i/o and mount and kernel buffer options you could trade off compilation at expense of a greater loss in time.
ie compilation taking 1hour instead of 40 minutes...

NFS mount your home and allow the developers to compile on different systems for max perf.

Your file io is then dependant on network io... get 100Bt at least.

Later,
Bill




It works for me (tm)
Roger Baptiste
Honored Contributor

Re: Deploying disks for best I/O ?

hi,

it depends on the type of disks you have. Is it any array? A highend array like EMC, XP ? or Jamaica? or is lowend RAID arrays? How many PV paths go to it.

If it is a high end array, the LUNS which you will see are not physical disks but RAID luns. you can stripe the luns across all channels during VG/LV creation.

If you can provide info on the disks used, it will be helpful.

-raj
Take it easy.
harry d brown jr
Honored Contributor

Re: Deploying disks for best I/O ?

discoverer,

Unless the developers can TYPE VERY VERY fast, like a couple MB per second, then there isn't much sense in micromanaging /home, unless you are concerned about one group of developers exhausting the disk space leaving little to other developers. I don't like the idea of one disk = one VG = one LV, where again this is micro managing and has NO benefits and actually has a negative impact. The reason it has a negative impact is this: if a group (groupA) uses say 18GB and they needed 2GB more and groupB had 10GB available on their ONE VG-ONE DISK, the only way to do it in a ONE VG-ONE DISK environment is to ADD ANOTHER DISK to the VG. Had you made your VG two disks to begin with, you could expand groupA's LV by 2GB without impacting groupB.

live free or die
harry
Live Free or Die
discoverer
Frequent Advisor

Re: Deploying disks for best I/O ?

Hi Tom, Bill, RajMan, Harry(Potter!)

I know exactly what you mean.

Sorry that I did't tell you all the truth.

I can't describe how embarrassed I am:
Just only several single disks! Not H/W RAID, no S/W RAID...
But on the other hand, I have to consider about both the data safety & proper I/O speed, because it is mainly for the users' data.

Consider about data safety, I don't think striping is good -- if one disk fail, I have to restore all the data onto all the disks(remember: NO RAID3/5!);

Consider about I/O, following are more detail of the disk usage:
Each of the disks is 36G, the developers' home is set to 500M~1G quota.
But if the space were fully occupied by the users' HOME(about 60), I think the disk I/O will be the bottleneck.
So I plan to only allocate 30 users per disk, and use the left space to store some seldom used data.
That's why 'one vg = one disk = one lv'+'rotation home assignment' scheme comes out.

Any better ideas?

Regards,
discoverer
Listen, then discover, then succeed!
Michael Tully
Honored Contributor

Re: Deploying disks for best I/O ?

Before any further recommendations can be made, may I ask what these people will be doing? Are they testing applications, writing code, stress testing, or a cobination?
Anyone for a Mutiny ?
discoverer
Frequent Advisor

Re: Deploying disks for best I/O ?

Michael & all,

They are viewing codes(using source navigator and some other big tools, they will read the codes from some big source code libs, create a lot of temporary files for reference), writing codes(it will only occupy less resource) and compiling codes.

And there are some other GUI applications for viewing docs & testing.


BTW,
say there are several PVs inside a VG, can I realize this when create a LV:
lvol1 = 10G on PV1 + 10 G on PV2?

Regards,
discoverer
Listen, then discover, then succeed!
Michael Tully
Honored Contributor

Re: Deploying disks for best I/O ?

Hi,

I don't see too many problems with this at all
unless the system is very small. What model are
we talking about here?

viewing/writing code = memory + plus a small
amount of disk IO when the code is written
away.

Compiling code = memory + cpu + disk IO

GUI applications being run, again memory and CPU

Yes, you can create lvol1 on disk 1 and lvol2
on disk 2.

examples
# lvcreate -n lvol1 /dev/myvg
# lvextend -L 10240 /dev/myvg/lvol1 /dev/dsk/c2t2d0
# lvcreate -n lvol2 /dev/myvg
# lvextend -L 10240 /dev/myvg/lvol2 /dev/dsk/c2t2d1

HTH
Michael
Anyone for a Mutiny ?
Shannon Petry
Honored Contributor

Re: Deploying disks for best I/O ?

If you use vmstat, or sar to see the disk activity for developers, it is very low except at compile time. Most of these builds are not done continually (unless your developers came from Micro^%@# because they dont know what else to do.)

Disk I/O is critical for FEA and databases, but not editors and web browsers, and home directories.

In these scenarios, I would still want the best bang for the buck, and spread the disks out over every controller available to increase I/O.
6 disks on 1 controller is worse at performance than 5 disks on 1 controller, but 3 disks on 2 controllers smokes them both!
Stripe the disks into a HUGE VG!

You can allocate homes separately, which I do at certain sites, and create larger project LV's.
I.E.
Johndoe's home is 128MB, gui1 project has 20GB. (theory, johndoe saves his work into the project dir, not home, and I can force the issue).

If you would rather, you can setup user accounts with quotas on a single large LV, and none for projects!
NOTE: quotas are enabled at mount time, and take a few minutes to setup. "man quota" for more info.

Regards,
Shannon
Microsoft. When do you want a virus today?
Rodney Hills
Honored Contributor

Re: Deploying disks for best I/O ?

You can do striping on none raid disk systems and this will provide better performance. And if data safety is important then you can also use disk mirroring (a seperatly priced product of LVM).

-- Rod Hills
There be dragons...