Lösung 1:
Das Aufteilen des Buffer-Cache ist nachteilig, aber der Effekt ist minimal. Ich würde vermuten, dass es so klein ist, dass es im Grunde unmöglich ist, es zu messen.
Sie müssen sich diese Daten zwischen verschiedenen Einhängepunkten merken ist auch nicht teilbar.
Während verschiedene Dateisysteme unterschiedliche Zuordnungspuffer verwenden, ist es nicht so, dass der Speicher nur dazu zugewiesen wird, dort zu sitzen und hübsch auszusehen. Daten von slabtop
für ein System mit 3 verschiedenen Dateisystemen (XFS, ext4, btrfs):
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME 42882 42460 99% 0.70K 1866 23 29856K shmem_inode_cache 14483 13872 95% 0.90K 855 17 13680K ext4_inode_cache 4096 4096 100% 0.02K 16 256 64K jbd2_revoke_table_s 2826 1136 40% 0.94K 167 17 2672K xfs_inode 1664 1664 100% 0.03K 13 128 52K jbd2_revoke_record_ 1333 886 66% 1.01K 43 31 1376K btrfs_inode_cache (many other objects)
Wie Sie sehen können, hat jeder wirklich große Cache eine Auslastung von über 90 %. Wenn Sie also mehrere Dateisysteme parallel verwenden, entsprechen die Kosten ungefähr dem Verlust von 5 % des Systemspeichers, weniger, wenn der Computer kein dedizierter Dateiserver ist.
Lösung 2:
Ich glaube nicht, dass es negative Auswirkungen hat. Ich habe oft ext3/ext4 mit XFS (und sogar ZFS) auf demselben Server-Setup gemischt. Angesichts der Hardware, auf der ich arbeite, würde ich meine Leistung nicht als geringer als erwartet beschreiben.
[[email protected] ~]# mount
/dev/cciss/c0d0p2 on / type ext4 (rw)
/dev/cciss/c0d0p7 on /tmp type ext4 (rw,nobarrier)
/dev/cciss/c0d0p3 on /usr type ext4 (rw,nobarrier)
/dev/cciss/c0d0p6 on /var type ext4 (rw,nobarrier)
vol2/images on /images type zfs (rw,xattr)
vol1/ppro on /ppro type zfs (rw,noatime,xattr)
vol3/Lancaster_Test on /srv/Lancaster_Test type zfs (rw,noatime,xattr)
Befürchten Sie ein bestimmtes Szenario? Welche Dateisysteme wären im Spiel? Welche Distribution verwenden Sie?