本"HBase:決定的なガイド"は次のように述べています
単一のサーバーに異なるファイルシステムをインストールすることはお勧めしません。カーネルがさまざまなファイルシステムをサポートするためにバッファキャッシュを分割する必要がある場合があるため、これはパフォーマンスに悪影響を与える可能性があります。特定のオペレーティングシステムでは、これがパフォーマンスに壊滅的な影響を与える可能性があることが報告されています。
これは本当にLinuxに当てはまりますか? 300メガバイトを超えるバッファキャッシュを見たことがなく、最近のほとんどのサーバーではギガバイトがRAMであるため、異なるファイルシステム間でバッファキャッシュを分割することは問題になりません。何か他のものが不足していますか?
バッファキャッシュの分割は有害ですが、その影響は最小限です。小さすぎて基本的には測れないと思います。
異なるマウントポイント間のデータも共有できないことを覚えておく必要があります。
異なるファイルシステムは異なる割り当てバッファを使用しますが、そこに座って見栄えを良くするためだけにメモリが割り当てられるわけではありません。 3つの異なるファイルシステム(XFS、ext4、btrfs)を実行しているシステムのslabtop
からのデータ:
OBJSアクティブユースOBJサイズスラブOBJ /スラブキャッシュサイズ名 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 16256 64K jbd2_revoke_table_s 2826 1136 40%0.94K 167 17 2672K xfs_inode 1664 1664 100%0.03K 13128 52K jbd2_revoke_record _ 1333 %1.01K 43 31 1376K btrfs_inode_cache (他の多くのオブジェクト)
ご覧のとおり、実際にサイズの大きいキャッシュの使用率レベルは90%を超えています。そのため、複数のファイルシステムを並行して使用している場合、コストはシステムメモリの5%を失うことにほぼ等しく、コンピュータが専用のファイルサーバーでない場合はそれより少なくなります。
マイナスの影響はないと思います。同じサーバー設定でext3/ext4をXFS(さらにはZFS)と混合することがよくあります。私が実行しているハードウェアを考えると、私のパフォーマンスが予想よりも低いとは言いません。
[root@Lancaster ~]# 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)
特定のシナリオについて心配していますか?どのファイルシステムが機能しますか?どのディストリビューションを使用していますか?