|Subject:||Possible to preallocate files that always begin/end on stripe unit/width?|
|From:||Green Guy <greentech3000@xxxxxxxxx>|
|Date:||Fri, 3 Sep 2010 13:12:30 -0700|
|Dkim-signature:||v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=SOuoE39LZ7oF2S1oWXT/BNxKjkHc8gbLBH5g2B8Ygvc=; b=i/0fH1dcDyoK3qKt+g/KmvRWt95FlBAJYyDW9P2h4Ri2McM0c+wx3t2Z4Ut7p9XrUn 6EgMshKEHVisFMZ195MkAB9lJTycFnH122V7DONRBpDJxx9nXdxRpYR7PzXtGCzCV6Cd 8hNwqT6hy0ZzJM93NLgH55t9/EHaeQq2158wQ=|
|Domainkey-signature:||a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=rZxfQthkc9lz1HKwF4Sg0BgQEZ+F93ngoL3lQAXt02wkcW2iT4SsO60IQacMnwWzZd RY8nsnTnOnYfKRnB20tSlBptyBlHNfBRQEHFnINjfRcIKJ1mJuVW5Cwnr6NaBNmejJaQ 9e78cO1qB5SA9ydn27T9F8djNrPDZ9tw5plLo=|
I am working on an app that will write to preallocated files. I can control how big the files are (as long as they are between 4-6GB) and the amount of data sent with each write() call.
I have a 3.2TB virtual drive that I need to use as much of as possible but performance is the number one concern.
The system is an 8 disk RAID5 with a 256k stripe. Based on this, I am using:
mkfs.xfs -b size=4096 -l version=2,sunit=512 -d su=256k,sw=7 -f /dev/sdb
meta-data="" isize=256 agcount=32, agsize=26679232 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=853735424, imaxpct=25
= sunit=64 swidth=
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=32768, version=2
= sectsz=512 sunit=64 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
mount -t xfs -o sunit=512,swidth=3584,inode64,nobarrier,logbufs=8 /dev/sdb /mnt
Based on what I have read, it appears then my "most optimal" write/read size would be 1835008 bytes (3584 *512).
So based on that, I want to preallocate files somewhere between 4-6GB each that will always begin and end on the stripe unit and stripe width and be a multiple of 1835008.
I know that XFS metadata such as the log, AG info, etc also need to be accounted for, but I am not sure the best way to determine how much space they will take.
I assume that the fact that, once I set the number of files on the disk, they will not change/expand must be an advantage, but I am unsure how to leverage it.
I have tried file sizes in several different multiples of 1835008, but for all of them, bmap -vp has flags 00011.
How can I determine the correct file size and preallocate them in a way where they always begin/end on stripe unit/width taking the filesystem overhead into account?
Note: the log needs to stay on the same fs.
|<Prev in Thread]||Current Thread||[Next in Thread>|
|Previous by Date:||Re: xfsprogs: minimum version with these commands, Bogdan|
|Next by Date:||[XFS updates] XFS development tree branch, master, updated. v2.6.34-19256-geb54d19, xfs|
|Previous by Thread:||阅读刚传邮件2C（3-5）, Qpgw|
|Next by Thread:||Re: Possible to preallocate files that always begin/end on stripe unit/width?, Nathan Scott|
|Indexes:||[Date] [Thread] [Top] [All Lists]|