КоС-Ρ‡Ρ‚ΠΎ ΠΎΠ± inode

ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈ, с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΅Π·Π΄Π° Π² Π¦Π Π‘ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΡƒΡŽΡΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… компаниях, Π² основном ΠŸΠΈΡ‚Π΅Ρ€Π° ΠΈ ΠœΠΎΡΠΊΠ²Ρ‹ Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ DevOps. ΠžΠ±Ρ€Π°Ρ‚ΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… компаниях (Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… компаниях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² яндСксС) Π·Π°Π΄Π°ΡŽΡ‚ Π΄Π²Π° сходных вопроса:

  • Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ 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

НуТный Π½Π°ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” Β«Block sizeΒ».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ самоС интСрСсноС, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» /home/serp/testfile? Π€Π°ΠΉΠ» состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранятся Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅. Зная имя Ρ„Π°ΠΉΠ»Π°, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π°ΠΉΡ‚ΠΈ? КакиС Π±Π»ΠΎΠΊΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ?

Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚ Π½Π°ΠΌ ΠΈ ΠΏΡ€ΠΈΠ³ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ inode. Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ext2fs Π΅ΡΡ‚ΡŒ Β«Ρ‚Π°Π±Π»ΠΈΡ†Π°Β», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТится информация ΠΏΠΎ всСм inode. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ inode Π² случаС с 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. Π’ Π½Π΅ΠΉ ΠΌΡ‹ Π½Π°ΠΉΠ΄Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ Π½ΠΎΠ΄Π° для ΠΏΠ°ΠΏΠΊΠΈ home, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅, ΠΏΠΎΠΊΠ° Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ 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 Π΅ΡΡ‚ΡŒ такая ΡˆΡ‚ΡƒΠΊΠ°, ΠΊΠ°ΠΊ Β«Reserved block countΒ». Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² листингС Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ Ρƒ нас Ρ‚Π°ΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² Β«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 Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ тратится 1 inode, Π° всСго ΠΈΡ… ΠΈΠΌΠ΅Π΅ΠΌ (для Π΄Π°Π½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы) 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, количСство свободных Π±Π»ΠΎΠΊΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΈ количСство свободных Π½ΠΎΠ΄ΠΎΠ² сильно различаСтся.

На случай Ссли ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ inode, Π·Π°ΠΊΠ»ΠΈΠ½Π°Π½ΠΈΠΉ Π½Π΅ подскаТу, Ρ‚.ΠΊ. ΠΈΡ… Π½Π΅Ρ‚ (Ссли Π½Π΅ ΠΏΡ€Π°Π², Π΄Π°ΠΉΡ‚Π΅ Π·Π½Π°Ρ‚ΡŒ). Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ для Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… плодятся ΠΌΠ΅Π»ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ слСдуСт Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму. Π’Π°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² btrfs inode Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΡΡ, Ρ‚.ΠΊ. динамичСски ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈ нСобходимости.

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