On Mon, Feb 16, 2015 at 10:21 AM, Chris Murphy <lists at colorremedies.com> wrote: > On Mon, Feb 16, 2015 at 6:47 AM, Eliezer Croitoru <eliezer at ngtech.co.il> wrote: > >> I am unsure I understand what you wrote. >> "XFS will create multiple AG's across all of those >> devices," >> Are you comparing md linear/concat to md raid0? and that the upper level XFS >> will run on top them? > > Yes to the first question, I'm not understanding the second question. > Allocation groups are created at mkfs time. When the workload IO > involves a lot of concurrency, XFS over linear will beat XFS or ext4 > over raid0. Whereas for streaming performance workloads, striped raid > will work better. If redundancy is needed, mdadm permits creation of > 1+linear, as compared to 10. > http://xfs.org/docs/xfsdocs-xml-dev/XFS_Filesystem_Structure/tmp/en-US/html/Allocation_Groups.html > > You can think of XFS on linear as being something like raid0 at a file > level, rather than at a block level. On a completely empty file system > if you start copying a pile of dozens or more (typically hundreds or > thousands) of files in mail directories, XFS distributes those across > AG's and hence across all drives, in parallel. ext4 would for the most > part focus all writes to the first device until mostly full, then the > 2nd device, then the 3rd. And on raid0 you'll get a bunch of disk > contention that isn't really necessary because everyones files are > striped across all drives. > > So contrary to popular opinion on XFS being mainly useful for large > files, it's actually quite useful for concurrent read write workflows > of small files on a many disk linear/concat arrangement. This extends > to using raid1 + linear instead of raid10 if some redundancy is > desired. The other plus is that growing linear arrays is cake. They just get added to the end of the concat, and xfs_growfs is used. Takes less than a minute. Whereas md raid0 grow means converting to raid4, then adding the device, then converting back to raid0. And further, linear grow can be any size drive, whereas clearly with raid0 the drive sizes must all be the same. -- Chris Murphy