НСщо Π·Π° inode

ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ, Π·Π° Π΄Π° сС прСмСстя Π² ЦСнтралния Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅Π½ Ρ†Π΅Π½Ρ‚ΡŠΡ€, ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŽΡ‚Π° Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π³Π»Π°Π²Π½ΠΎ Π² Π‘Π°Π½ΠΊΡ‚ ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ ΠΈ Москва, Π·Π° позиция DevOps. ЗабСлязах, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Yandex) Π·Π°Π΄Π°Π²Π°Ρ‚ Π΄Π²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠ°:

  • ΠΊΠ°ΠΊΠ²ΠΎ Π΅ inode;
  • ΠΏΠΎ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ запис Π½Π° диск (ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π·Π°Ρ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΡΠ²ΡŠΡ€ΡˆΠΈ дисковото пространство, ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π΅ ΡΡŠΡ‰Π°Ρ‚Π°).

ΠšΠ°ΠΊΡ‚ΠΎ чСсто сС случва, бях сигурСн, Ρ‡Π΅ ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌ Π΄ΠΎΠ±Ρ€Π΅ Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ°, Π½ΠΎ Π²Π΅Π΄Π½Π°Π³Π° Ρ‰ΠΎΠΌ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° обяснявам, ΠΏΡ€Π°Π·Π½ΠΈΠ½ΠΈΡ‚Π΅ Π² знанията станаха ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΈ. Π—Π° Π΄Π° систСматизирам знанията си, Π΄Π° попълня пропускитС ΠΈ Π²Π΅Ρ‡Π΅ Π΄Π° Π½Π΅ сС смущавам, пиша Ρ‚Π°Π·ΠΈ статия, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Ρ‰Π΅ бъдС ΠΏΠΎΠ»Π΅Π·Π½Π° Π½Π° някой Π΄Ρ€ΡƒΠ³.

Π©Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΎΡ‚ Π΄ΡŠΠ½ΠΎΡ‚ΠΎ, Ρ‚.Π΅. ΠΎΡ‚ Ρ‚Π²ΡŠΡ€Π΄ диск (Ρ‰Π΅ ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ Ρ„Π»Π°Ρˆ устройства, SSD ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈ Π½Π΅Ρ‰Π°; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΊΠ° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ всяко старо устройство ΠΎΡ‚ 20 ΠΈΠ»ΠΈ 80 Π³ΠΈΠ³Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π±Π»ΠΎΠΊΠ° Ρ‚Π°ΠΌ Π΅ 512 Π±Π°ΠΉΡ‚Π°).

Π’Π²ΡŠΡ€Π΄ΠΈΡΡ‚ диск Π½Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° адрСсира своСто пространство Π±Π°ΠΉΡ‚ ΠΏΠΎ Π±Π°ΠΉΡ‚, Ρ‚ΠΎΠΉ условно Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅. НомСриранСто Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΎΡ‚ 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 Π·Π΅Ρ‚Π°Π±Π°ΠΉΡ‚ ΠΎΡ‚ 512 Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅. Π’ нашия случай ΠΈΠΌΠ°ΠΌΠ΅ дял ΠΎΡ‚ Ρ‚ΠΈΠΏ msdos, ΠΊΠ°ΠΊΡ‚ΠΎ сС Π²ΠΈΠΆΠ΄Π° ΠΎΡ‚ Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚Π°, Π΄ΡΠ»ΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π²Π° с Π±Π»ΠΎΠΊ β„–1, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½ΡƒΠ»Π°Ρ‚Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° MBR.

Π’ ΠΏΡŠΡ€Π²ΠΈΡ дял ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма ext2, нСйният Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Π±Π»ΠΎΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ 4096 Π±Π°ΠΉΡ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΡ‰ΠΎ Π΅ ΠΎΡ‚Ρ€Π°Π·Π΅Π½ΠΎ Π½Π° Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

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 countβ€œ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° tune2fs, Ρ‚.Π΅. ΠΈΠΌΠ°ΠΌΠ΅ 65536 Π±Ρ€. Inode ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° информацията, ΠΎΡ‚ която сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ: списък с Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π·Π° Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΡŠΡ€ΡΠΈΠΌ. Как Π΄Π° намСря Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° inode Π·Π° Π΄Π°Π΄Π΅Π½ Ρ„Π°ΠΉΠ»?

Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Π½Π° inode сС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π² дирСкторията, Π° дирСктория Π² ext2fs Π΅ спСциалСн Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ», Ρ‚.Π΅. ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° свой собствСн Π½ΠΎΠΌΠ΅Ρ€ Π½Π° 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. Π’ нСя Ρ‰Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° възСла Π·Π° Π΄ΠΎΠΌΠ°ΡˆΠ½Π°Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ° ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ ΠΏΠΎ Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π² дирСкторията serp Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° възСла Π·Π° искания Ρ„Π°ΠΉΠ». Ако извСднъТ някой иска Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π΄Π°Π»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ΡŠΡ‚ Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ ΠΈ Π΄Π°Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° информация Π΅ Ρ‚Π°ΠΌ, Π½Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. НиС ΠΏΡ€Π°Π²ΠΈΠΌ:

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 потрСбитСля. Π½ΠΎ Π°ΠΊΠΎ трябва Π±ΡŠΡ€Π·ΠΎ Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠ°Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° всички, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΌΠ°Π»ΠΊΠΎ свободно място:

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

Π’Π΅Π·ΠΈ. ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈΠΌΠ°Ρ‚Π΅ 5% ΠΎΡ‚ дисковото пространство, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π½ΠΎ Π·Π° запис, ΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΎΠ±Π΅ΠΌΠ° Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ дисковС Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС стотици Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ΠΈ.

Какво Π΄Ρ€ΡƒΠ³ΠΎ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π΄Π° бъдС? Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° ΠΈΠΌΠ° свободни Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π½ΠΎ Π΄Π° няма ΠΏΠΎΠ²Π΅Ρ‡Π΅ възли. Π’ΠΎΠ²Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС случва, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΊΡƒΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ във Π²Π°ΡˆΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма. Имайки ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ 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, броят Π½Π° свободнитС Π±Π»ΠΎΠΊΠΎΠ²Π΅ във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ броят Π½Π° свободнитС възли Π²Π°Ρ€ΠΈΡ€Π°Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ.

Π’ случай, Ρ‡Π΅ Π²ΠΈ ΡΠ²ΡŠΡ€ΡˆΠ°Ρ‚ inodes, няма Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΌΠ°Π³ΠΈΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ... няма Ρ‚Π°ΠΊΠΈΠ²Π° (Π°ΠΊΠΎ Π³Ρ€Π΅ΡˆΠ°, ΡƒΠ²Π΅Π΄ΠΎΠΌΠ΅Ρ‚Π΅ ΠΌΠ΅). Π’Π°ΠΊΠ° Ρ‡Π΅ Π·Π° дяловС, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС Ρ€Π°Π·ΠΌΠ½ΠΎΠΆΠ°Π²Π°Ρ‚ ΠΌΠ°Π»ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, трябва Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ. НапримСр btrfs inodes Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈ нСобходимост Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π½ΠΎΠ²ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€