เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบเปˆเบฝเบงเบเบฑเบš inode

เปเบ•เปˆเบฅเบฐเป„เบฅเบเบฐ, เป€เบžเบทเปˆเบญเบเป‰เบฒเบเป„เบ›เบชเบนเบ™เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเบชเบนเบ™เบเบฒเบ‡, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบชเปเบฒเบžเบฒเบ”เบšเปเบฅเบดเบชเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ•เปˆเบฒเบ‡เป†, เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™ St. Petersburg เปเบฅเบฐ Moscow, เบชเปเบฒเบฅเบฑเบšเบ•เปเบฒเปเบซเบ™เปˆเบ‡ DevOps. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบšเปเบฅเบดเบชเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ (เบšเปเบฅเบดเบชเบฑเบ”เบ—เบตเปˆเบ”เบตเบซเบผเบฒเบ, เบ•เบปเบงเบขเปˆเบฒเบ‡ Yandex) เบ–เบฒเบกเบชเบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™:

  • inode เปเบกเปˆเบ™เบซเบเบฑเบ‡;
  • เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เปƒเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบเบฒเบ™เบ‚เบฝเบ™เปเบœเปˆเบ™ (เบซเบผเบทเบ•เบปเบงเบขเปˆเบฒเบ‡: เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบซเบกเบปเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”, เป‚เบ”เบเป€เบ™เบทเป‰เบญเปเบ—เป‰เปเบฅเป‰เบงเปเบกเปˆเบ™เบ„เบทเบเบฑเบ™).

เป€เบฅเบทเป‰เบญเบเป†, เบ‚เป‰เบญเบเปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ‚เป‰เบญเบเบฎเบนเป‰เบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰เบ”เบต, เปเบ•เปˆเบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบ‚เป‰เบญเบเป€เบฅเบตเปˆเบกเบญเบฐเบ—เบดเบšเบฒเบ, เบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เปƒเบ™เบ„เบงเบฒเบกเบฎเบนเป‰เบเปเปˆเบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™. เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบฅเบฐเบšเบปเบšเบ„เบงเบฒเบกเบฎเบนเป‰เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เปเบฅเบฐเบšเปเปˆเบญเบฒเบเบ•เบปเบงเป€เบญเบ‡, เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบ‚เบฝเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบšเบฒเบ‡เบ—เบตเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบ„เบปเบ™เบญเบทเปˆเบ™.

เบ‚เป‰เบญเบเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบฅเบธเปˆเบก, i.e. เบˆเบฒเบเบฎเบฒเบ”เป„เบ” (เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเบปเบเป€เบฅเบตเบ flash drive, SSDs เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบญเบทเปˆเบ™เป†; เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบซเป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ drive เป€เบเบปเปˆเบฒ 20 เบซเบผเบท 80 gig, เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบเบกเบต 512 bytes).

เบฎเบฒเบ”เบ”เบดเบ”เบšเปเปˆเบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบžเบทเป‰เบ™เบ—เบตเปˆ byte เป‚เบ”เบ byte; เบกเบฑเบ™เบ–เบทเบเปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ•เบฑเบ™. เบเบฒเบ™เบšเบฅเบฑเบญเบเบ•เบปเบงเป€เบฅเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบ 0. (เบญเบฑเบ™เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ LBA, เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰: ru.wikipedia.org/wiki/LBA)

เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบเปˆเบฝเบงเบเบฑเบš inode

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบซเบฑเบ™เป„เบ”เป‰เบˆเบฒเบเบฎเบนเบš, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบšเบฅเบฑเบญเบ LBA เป€เบ›เบฑเบ™เบฅเบฐเบ”เบฑเบš HDD. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฑเบ™เบ‚เบญเบ‡เปเบœเปˆเบ™เบ”เบดเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบกเบตเปเบšเบšเบ™เบตเป‰:

root@ubuntu:/home/serp# blockdev --getpbsz /dev/sdb
512

เบฅเบฐเบ”เบฑเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปเบกเปˆเบ™เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™, เบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเปเบœเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” (เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบ). เบชเปˆเบงเบ™เบซเบผเบฒเบเบกเบฑเบ, เบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เปเบšเปˆเบ‡เปเบกเปˆเบ™เปƒเบŠเป‰: msdos เปเบฅเบฐ gpt. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, msdos เปเบกเปˆเบ™เบฎเบนเบšเปเบšเบšเป€เบเบปเปˆเบฒเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปเบœเปˆเบ™เป€เบ–เบดเบ‡ 2Tb, gpt เปเบกเปˆเบ™เบฎเบนเบšเปเบšเบšเปƒเบซเบกเปˆเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰เป€เบ–เบดเบ‡ 1 zettabyte เบ‚เบญเบ‡ 512 byte blocks. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเป€เบžเบ” msdos, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบซเบฑเบ™เป„เบ”เป‰เบˆเบฒเบเบฎเบนเบš, เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ•เบฑเบ™ 1, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบชเบนเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบš MBR.

เปƒเบ™ partition เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบ‚เป‰เบญเบเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ext2, เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™ 4096 bytes, เป€เบŠเบดเปˆเบ‡เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เปƒเบ™เบฎเบนเบš. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

root@ubuntu:/home/serp# tune2fs -l /dev/sdb1
tune2fs 1.42.9 (4-Feb-2014)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          a600bf40-f660-41f6-a3e6-96c303995479
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              65536
Block count:              261888
Reserved block count:     13094
Free blocks:              257445
Free inodes:              65525
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      63
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Fri Aug  2 15:02:13 2019
Last mount time:          n/a
Last write time:          Fri Aug  2 15:02:14 2019
Mount count:              0
Maximum mount count:      -1
Last checked:             Fri Aug  2 15:02:13 2019
Check interval:           0 (<none>)
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
Default directory hash:   half_md4
Directory Hash Seed:      c0155456-ad7d-421f-afd1-c898746ccd76

เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบกเปˆเบ™ "เบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบ".

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเปˆเบงเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบญเปˆเบฒเบ™เป„เบŸเบฅเปŒ /home/serp/testfile? เป„เบŸเบฅเปŒเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปœเบถเปˆเบ‡ เบซเบผเบทเบซเบผเบฒเบเบญเบฑเบ™เบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰. เบฎเบนเป‰เบŠเบทเปˆเป„เบŸเบฅเปŒ, เบงเบดเบ—เบตเบเบฒเบ™เบŠเบญเบเบซเบฒ? เบ‚เป‰เบญเบเบ„เบงเบ™เบญเปˆเบฒเบ™เบšเบฅเบฑเบญเบเปƒเบ”?

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆ inodes เบกเบตเบ›เบฐเป‚เบซเบเบ”. เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ext2fs เบกเบต "เบ•เบฒเบ•เบฐเบฅเบฒเบ‡" เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบš inodes เบ—เบฑเบ‡เบซเบกเบปเบ”. เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ inodes เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ ext2fs เบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ. เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™ "เบเบฒเบ™เบ™เบฑเบš Inode" เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ‚เบญเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ” tune2fs, i.e. เบžเบงเบเป€เบฎเบปเบฒเบกเบต 65536 เบ•เปˆเบญเบ™. inode เบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™: เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบŠเบญเบเบซเบฒ. เบงเบดเบ—เบตเบเบฒเบ™เบŠเบญเบเบซเบฒเบ•เบปเบงเป€เบฅเบ inode เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเปƒเบซเป‰?

เบŠเบทเปˆเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เปเบฅเบฐเป€เบฅเบ inode เปเบกเปˆเบ™เบšเบฑเบ™เบˆเบธเบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เปเบฅเบฐเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปƒเบ™ ext2fs เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบ›เบฐเป€เบžเบ”เบžเบดเป€เบชเบ”, i.e. เบเบฑเบ‡เบกเบตเบ•เบปเบงเป€เบฅเบ inode เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เป€เบžเบทเปˆเบญเบ—เปเบฒเบฅเบฒเบเบงเบปเบ‡เบเบฒเบ™เบญเบฑเบ™เป‚เบซเบ”เบฎเป‰เบฒเบเบ™เบตเป‰, "เปเบเป‰เป„เบ‚" เป€เบฅเบ inode "2" เป„เบ”เป‰เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบฎเบฒเบ. เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡ inode เป€เบฅเบ 2:

root@ubuntu:/# debugfs /dev/sdb1
debugfs 1.42.9 (4-Feb-2014)
debugfs:  stat <2>

Inode: 2   Type: directory    Mode:  0755   Flags: 0x0
Generation: 0    Version: 0x00000000:00000002
User:     0   Group:     0   Size: 4096
File ACL: 0    Directory ACL: 0
Links: 3   Blockcount: 8
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x5d43cb51:16b61bcc -- Fri Aug  2 16:34:09 2019
 atime: 0x5d43c247:b704301c -- Fri Aug  2 15:55:35 2019
 mtime: 0x5d43cb51:16b61bcc -- Fri Aug  2 16:34:09 2019
crtime: 0x5d43b5c6:00000000 -- Fri Aug  2 15:02:14 2019
Size of extra inode fields: 28
BLOCKS:
(0):579
TOTAL: 1

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบกเปˆเบ™เบšเบฑเบ™เบˆเบธเบขเบนเปˆเปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ•เบฑเบ™ 579. เปƒเบ™เบกเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบŠเบญเบเบซเบฒเบซเบกเบฒเบเป€เบฅเบ node เบชเปเบฒเบฅเบฑเบšเป‚เบŸเป€เบ”เบตเบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†เบฅเบปเบ‡เบ•เบฒเบกเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบˆเบปเบ™เบเปˆเบงเบฒเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต serp เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบˆเปเบฒเบ™เบงเบ™ node เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เป. เบ–เป‰เบฒเบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เบœเบนเป‰เปƒเบ”เบœเบนเป‰เบซเบ™เบถเปˆเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบ•เบปเบงเป€เบฅเบเปเบกเปˆเบ™เบ–เบทเบเบ•เป‰เบญเบ‡เบซเบผเบทเบšเปเปˆเปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบšเปเปˆเบเบฒเบ. เป€เบฎเบปเบฒโ€‹เป€เบฎเบฑเบ”:

root@ubuntu:/# dd if=/dev/sdb1 of=/home/serp/dd_image bs=4096 count=1 skip=579
1+0 records in
1+0 records out
4096 bytes (4,1 kB) copied, 0,000184088 s, 22,3 MB/s
root@ubuntu:/# hexdump -c /home/serp/dd_image

เปƒเบ™โ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบญเปˆเบฒเบ™โ€‹เบŠเบทเปˆโ€‹เบ‚เบญเบ‡โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เป„เบ”เป‰โ€‹.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบกเบฒเบฎเบญเบ”เบ„เปเบฒเบ–เบฒเบกเบ•เบปเป‰เบ™เบ•เป: "เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เปƒเบ”เบ—เบตเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบชเบฒเบกเบฒเบ”เป€เบเบตเบ”เบ‚เบทเป‰เบ™?"

เบ•เบฒเบกเบ—เปเบฒเบกเบฐเบŠเบฒเบ”, เบ™เบตเป‰เบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบšเปเปˆเบกเบตเบ•เบฑเบ™เบŸเบฃเบตเบ›เบฐเป„เบงเป‰เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ. เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰? เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเปเบˆเป‰เบ‡ "เบฅเบถเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™", เบ—เปˆเบฒเบ™เบ„เบงเบ™เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ ext2,3 เปเบฅเบฐ 4 เบกเบฑเบ™เบกเบตเบชเบดเปˆเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ›เบฑเบ™ "เบˆเปเบฒเบ™เบงเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰". เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบŠเบทเปˆเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบกเบต "13094" เบ•เบฑเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป„เบ”เป‰เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบฎเบฒเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, เป€เบ›เบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบŠเบปเปˆเบงเบ„เบฒเบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบšเบ—เบธเบเบ„เบปเบ™, เป€เบŠเบดเปˆเบ‡เบเปเปˆเปƒเบซเป‰เป€เบเบตเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เบšเบฒเบ‡เบญเบฑเบ™:

root@ubuntu:/mnt# tune2fs -m 0 /dev/sdb1
tune2fs 1.42.9 (4-Feb-2014)
Setting reserved blocks percentage to 0% (0 blocks)

เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ—เปˆเบฒเบ™เบกเบต 5% เบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™, เปเบฅเบฐเปƒเบซเป‰เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เปเบœเปˆเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก, เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบกเบตเบซเบผเบฒเบเบฎเป‰เบญเบ gigabytes.

เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบญเบตเบเปเบ”เปˆ? เบกเบฑเบ™เบเปเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบงเปˆเบฒเบกเบตเบ—เปˆเบญเบ™เป„เบกเป‰เบŸเบฃเบต, เปเบ•เปˆเบšเปเปˆเบกเบตเบ‚เปเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบ™เบตเป‰เบกเบฑเบเบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบŠเปเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบšเบฅเบฑเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ. เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบงเปˆเบฒ 1 inode เปเบกเปˆเบ™เปƒเบŠเป‰เปƒเบ™ 1 เป„เบŸเบฅเปŒเบซเบผเบทเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เปเบฅเบฐเปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบžเบงเบเป€เบฎเบปเบฒเบกเบต (เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰) 65536 - เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบกเปˆเบ™เบซเบผเบฒเบเบเปˆเบงเบฒเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบˆเบฒเบเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ df:

serp@ubuntu:~$ df -hi
Filesystem     Inodes IUsed IFree IUse% Mounted on
udev             493K   480  492K    1% /dev
tmpfs            493K   425  493K    1% /run
/dev/xvda1       512K  240K  273K   47% /
none             493K     2  493K    1% /sys/fs/cgroup
none             493K     2  493K    1% /run/lock
none             493K     1  493K    1% /run/shm
none             493K     2  493K    1% /run/user
/dev/xvdc1       320K  4,1K  316K    2% /var
/dev/xvdb1        64K   195   64K    1% /home
/dev/xvdh1       4,0M  3,1M  940K   78% /var/www
serp@ubuntu:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2,0G  4,0K  2,0G   1% /dev
tmpfs           395M  620K  394M   1% /run
/dev/xvda1      7,8G  2,9G  4,6G  39% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
none            5,0M     0  5,0M   0% /run/lock
none            2,0G     0  2,0G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/xvdc1      4,8G  2,6G  2,0G  57% /var
/dev/xvdb1      990M  4,0M  919M   1% /home
/dev/xvdh1       63G   35G   25G  59% /var/www

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบขเบนเปˆเปƒเบ™เบžเบฒเบ—เบดเบŠเบฑเบ™ /var/www, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบ•เบฑเบ™เบŸเบฃเบตเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ nodes เบŸเบฃเบตเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ.

เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบซเบกเบปเบ” inodes, เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เบšเบญเบโ€‹เบ—เปˆเบฒเบ™โ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบเบปเบ”โ€‹เบ„เปเบฒโ€‹เปƒเบ”, เป€เบ™เบทเปˆเบญเบ‡โ€‹เบˆเบฒเบโ€‹เบงเปˆเบฒ ... เบšเปเปˆเบกเบต (เบ–เป‰เบฒเบ‚เป‰เบญเบเบœเบดเบ”, เบšเบญเบเบ‚เป‰เบญเบ). เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเบžเบฒเบ—เบดเบŠเบฑเบ™เบ—เบตเปˆเป„เบŸเบฅเปŒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบฅเบทเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบขเปˆเบฒเบ‡เบชเบฐเบซเบฅเบฒเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, btrfs inodes เบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบดเป‰เบ™เบชเบธเบ”เป„เบ”เป‰, เป€เบžเบฒเบฐเบงเปˆเบฒ เปƒเปเปˆเป†เบ–เบทเบเบชเป‰เบฒเบ‡เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ–เป‰เบฒเบˆเบณเป€เบ›เบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™