Operating System - HP-UX
1823989 Members
4083 Online
109667 Solutions
New Discussion юеВ

Smallest unit of the data (extent-based mirrored stripes)

 

Smallest unit of the data (extent-based mirrored stripes)

We plan to create extent-based mirrored stripes on two FC10s with size of extent equals to 1MB. It???s mean that 1MB ??? smallest unit allocated. Question is: system will read whole extent, whole stripe or can read smallest portion of data when accessing to the disk?

Thank you.
PS sorry for mad bad english.
9 REPLIES 9
RAC_1
Honored Contributor

Re: Smallest unit of the data (extent-based mirrored stripes)

If I am remembering correctly , data that can be read from file system depends on parameter max_direct_iosz. This can be set as follows.

vxtunefs -- for vxfs file system
tunefs -- for hfs file system
There is no substitute to HARDWORK
Stuart Abramson_2
Honored Contributor

Re: Smallest unit of the data (extent-based mirrored stripes)

Why don't you just use "normal" byte-striping, which uses allows smaller stripe sizes of 4 KB, 8 KB, 16 KB, 32 KB and 64 KB.

Here's how I used to stripe 8 LVs across 8 PVs:

for LV in 01 02 03 04 05 06 07 08
do
lvcreate -i 8 -I 64 -n lvol${LV} vgXX
lvextend -L 2000 /dev/vgXX/lvol${LV} pv01 pv02 ... pv08
done

where:
-i 8 Means stripe across 8 disks.
-I 64 Means stripe size is 64 KB
pv01, pv02, ... pv08 are all on eight different paths.
Jeff Schussele
Honored Contributor

Re: Smallest unit of the data (extent-based mirrored stripes)

Hi Serhiy,

The system will only read the size requested in the read command itself. Now the samllest unit that can be read is a block. The standard, default block size is 1Kb...UNLESS...overridden in the mkfs command. It *could* be as large as 8Kb...depending on the size of the FS at creation..OR..the -o bsize=X parameter on the command line.

HTH,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!

Re: Smallest unit of the data (extent-based mirrored stripes)

Jeff,
Check my understanding, please. For instance, I create extent-based mirrored stripe located on the 10 drives (2 PVGs, each of them contain 5 drives). Extent size is 1MB. In that case we have stripe size 5MB. Next step, I create FS with 8k block size. When I have to read 16k block of data, system will read:
a)2 times per 8;
b)whole extent which contain our block of data;
c)whole stripe which contain our block of data;
d)something else
I think that right answer is ???a???. Am I right?

PS to Stuart: I can???t use ???i ???I, becose customer wants performance plus data redundancy.
Bernhard Mueller
Honored Contributor

Re: Smallest unit of the data (extent-based mirrored stripes)

Hello,

be aware that you can have only 65536 logical extents per VG, which in the case of LVM Mirroring and "Striping" (via distributed extents) limits you to VGs whith 6x 9GB disk per PVG or 3x 18GB disk per PVG!

Only solution is to increase PE size, 2Mb PE size makes sense if you have 18GB disks since you would probably want to use as many as possible. If 2 MB is too large, consider using 3 disks to stripe across.

Regards,
Bernhard
Bernhard Mueller
Honored Contributor

Re: Smallest unit of the data (extent-based mirrored stripes)

Sherif,

from your previous posts I see that your customer has 18 GB disks.

and you have a very poor record of assigning points.

Regards,
Bernhard
Jeff Schussele
Honored Contributor

Re: Smallest unit of the data (extent-based mirrored stripes)

Yes, theoretically it would just read the 2 8K blocks containing the data. But it *could* read block 1 from mirror #1 & block 2 from mirror #2 or vice-versa. It won't read block 1 from both mirrors.
It only has to write to both mirrors, it will read from the mirror that has the smallest queue.
Now to muddy up the waters a little more, you have to understand that HP-UX uses a "read-ahead" algorithm. In this case it could possibly read not only those 2 blocks, but also the NEXT 8 blocks or so as well in anticipation that the next read may come from them. It will place those blocks in the buffer cache, because as you know memory reads are MUCH faster.
So the answer, as so oft times, is - it depends.

Rgds,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!

Re: Smallest unit of the data (extent-based mirrored stripes)

Oops, customer has one FC10 with 9GB disks and another with 36GB. Only 2x36GB disks per PVG - not good, but ...

Thank you for your help.
Tim D Fulford
Honored Contributor

Re: Smallest unit of the data (extent-based mirrored stripes)

above Stuart suggested using kB stripes. DO NOT DO THIS if need to mirror from in LVM.

We use kB striping on our FC60's & VA74xx because they are internally mirrored, but use extend based striped on SC10's as they do not support HW striping.

Reagards

Tim

PS I know VA74xx stripes its LUNs internally etc, its historical.....
-