1

I have a RAID6 array consisting of 10x2TB drives that I will be using as a NAS device. The server enclosure has 6 additional bays that I may use for future expansion. The storage will all be 500G-1T sparse files served up as iSCSI disks to various servers, with the disk images residing on an XFS partition.

My question is: given this setup, is it more efficient to install the XFS partition directly on the /dev/md device? I would prefer to create a volume group, and use LVM to manage the space, but not if is going to incur much of a performance penalty.

Thinking forward to eventually creating a second RAID array with the additional 6 slots, adding that to the volume group would be fairly trivial if I started out with LVM, but can you have an XFS filesystem run on two different devices without putting it on LVM to begin with? Two separate XFS mounts, while not ideal would probably work, but again only if there is some performance boost to compensate.

John P
  • 1,659
  • 6
  • 37
  • 56
  • Why have a filesystem at all? If you are serving out via iscsi, why not just setup LVM and then export the logical volumes? – Zoredache Sep 06 '11 at 16:58

2 Answers2

1

I think the performance impact is really minimal for LVM, except if you use snapshots which can have a big impact - best if snapshots are used during backups only. This answer agrees.

For a detailed discussion of issues with LVM, with some mention of XFS, Advanced Format, RAID, etc, see LVM dangers and caveats

RichVel
  • 3,524
  • 1
  • 17
  • 23
0

Every layer of abstraction adds an additional amount of performance impact. So LVM will decrease the performance by adding flexibility.

It's you who has to evaluate the gain and the risks. The best way is to do performance tests and see if the performance impact of LVM is acceptable (or even measurable).

mailq
  • 16,882
  • 2
  • 36
  • 66
  • have you measured that 'performance impact'? in fact, LVM doesn't add any extra disk activity and the only unavoidable 'abstraction overhead' is a single function call and a couple integer additions per block of IO. not only vanishingly small, but absolutely indetectable below many sources of statisitical noise. – Javier Sep 06 '11 at 18:46
  • @Javier this is exactly what I said. Without measurements you can only give the general answer that there is overhead. But the overhead could be so minimal that one shouldn't care. – mailq Sep 07 '11 at 08:00
  • my point is that it's beyond minimal, not even undetectable; it's totally inexistant since it doesn't generate extra I/O – Javier Sep 07 '11 at 18:34