Ubuntu XFS лучший параметр для многих маленьких файлов - PullRequest
0 голосов
/ 23 марта 2020

в моей виртуальной машине с Ubuntu У меня есть папка, к которой принадлежит nfs.

Я скопировал бы содержимое этой папки на NAS и использовал общий ресурс NAS nfs, пока переставлял места на виртуальной машине.

Из-за разницы в настройках между файловой системой VM и NAS (которая использует блоки MINIMUM 4k) я потерял много места.

У меня миллионы маленьких файлов, некоторые даже 20-30 байтов.

Я решил создать новую виртуальную машину и смонтировать диск, отформатированный в xfs (который из того, что я прочитал, лучше всего поддерживает файловые системы с большим количеством маленьких файлов).

Сравнение обоих монтирований:

#df -i
Filesystem               Inodes    IUsed      IFree IUse% Mounted on
/dev/ORIGINAL_ext      37879808 11084953   26794855   30% /share/ORIG
nas:/nas_4k           295272448 16477377  278795071    6% /share/DEST

#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/ORIGINAL_ext     569G  547G   20G  97% /share/ORIG
nas:/nas_4k           1.1T  999G   57G  95% /share/DEST

Данные назначения являются частичными, в настоящее время 80-90% копии

Более того, система продолжит расти, получая больше данных.

Моя текущая ситуация с ORIGIN ext4 такова:

#tune2fs -l /share/ORIG
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              37879808
Block count:              151514112
Reserved block count:     750554
Free blocks:              4091210
Free inodes:              23428620
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      475
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Mount count:              55
Maximum mount count:      -1
Check interval:           0 (<none>)
Lifetime writes:          868 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Journal backup:           inode blocks

Является ли XFS лучшим выбором?

Каков наилучший параметр для индекса xfs (256 или 512) и блоков в моей ситуации?

для размера блока 512 i вижу что надо отключить cr c, et c: что это мне an?

Я использовал это сейчас:

meta-data=/dev/ubuntu/share      isize=256    agcount=4, agsize=366999552 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=512    blocks=1467998208, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=512    blocks=716796, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Как вы предлагаете мне настроить?

...