ΠΠ΅ΡˆΡ‚ΠΎ Π·Π° inode

ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ, Π·Π° Π΄Π° сС ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΠΌ Π²ΠΎ Π¦Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΈΠΎΡ‚ Ρ†Π΅Π½Ρ‚Π°Ρ€ Π·Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°, ΠΈΠ½Ρ‚Π΅Ρ€Π²Ρ˜ΡƒΠΈΡ€Π°ΠΌ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π³Π»Π°Π²Π½ΠΎ Π²ΠΎ Π‘Π°Π½ΠΊΡ‚ ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ ΠΈ Москва, Π·Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡ˜Π° Π½Π° DevOps. Π—Π°Π±Π΅Π»Π΅ΠΆΠ°Π² Π΄Π΅ΠΊΠ° ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Yandex) поставуваат Π΄Π²Π΅ слични ΠΏΡ€Π°ΡˆΠ°ΡšΠ°:

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

Како ΡˆΡ‚ΠΎ чСсто сС случува, Π±Π΅Π² сигурСн Π΄Π΅ΠΊΠ° Π΄ΠΎΠ±Ρ€ΠΎ ја ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌ ΠΎΠ²Π°Π° Ρ‚Π΅ΠΌΠ°, Π½ΠΎ ΡˆΡ‚ΠΎΠΌ ΠΏΠΎΡ‡Π½Π°Π² Π΄Π° ΠΎΠ±Ρ˜Π°ΡΠ½ΡƒΠ²Π°ΠΌ, ΠΏΡ€Π°Π·Π½ΠΈΠ½ΠΈΡ‚Π΅ Π²ΠΎ Π·Π½Π°Π΅ΡšΠ΅Ρ‚ΠΎ станаа ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΈ. Π—Π° Π΄Π° Π³ΠΎ систСматизирам ΠΌΠΎΠ΅Ρ‚ΠΎ знаСњС, Π΄Π° Π³ΠΈ ΠΏΠΎΠΏΠΎΠ»Π½Π°ΠΌ ΠΏΡ€Π°Π·Π½ΠΈΠ½ΠΈΡ‚Π΅ ΠΈ повСќС Π΄Π° Π½Π΅ сС срамам, ја ΠΏΠΈΡˆΡƒΠ²Π°ΠΌ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°, ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π° нСкој Π΄Ρ€ΡƒΠ³ ќС ΠΌΡƒ Π±ΠΈΠ΄Π΅ ΠΎΠ΄ корист.

ЌС ΠΏΠΎΡ‡Π½Π°ΠΌ ΠΎΠ΄ Π΄Π½ΠΎΡ‚ΠΎ, Ρ‚.Π΅. ΠΎΠ΄ Ρ…Π°Ρ€Π΄ диск (ќС Π³ΠΈ ΠΎΡ‚Ρ„Ρ€Π»ΠΈΠΌΠ΅ Ρ„Π»Π΅Ρˆ-дисковитС, 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? Π”Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° сС состои ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΈΠ»ΠΈ повСќС Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм Π²ΠΎ ΠΊΠΎΠΈ сС складирани Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π—Π½Π°Π΅Ρ˜ΡœΠΈ Π³ΠΎ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅? Кои Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΌ?

Ова Π΅ мСстото ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΈΠ½ΠΎΠ΄ΠΈΡ‚Π΅ Π½ΠΈ сС користат. Π”Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм ext2fs ΠΈΠΌΠ° β€žΡ‚Π°Π±Π΅Π»Π°β€œ која содрТи ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ситС ΠΈΠ½ΠΎΠ΄ΠΈ. Π‘Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΈΠ½ΠΎΠ΄ΠΈ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ext2fs Π΅ поставСн ΠΏΡ€ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм. Π“ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ Π±Ρ€ΠΎΠ΅Π²ΠΈ Π²ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ β€žInode countβ€œ Π½Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ tune2fs, Ρ‚.Π΅. ΠΈΠΌΠ°ΠΌΠ΅ 65536 ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ°. Π˜Π½ΠΎΠ΄ΠΎΡ‚ Π³ΠΈ содрТи ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: листа Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΡˆΡ‚ΠΎ ја Π±Π°Ρ€Π°ΠΌΠ΅. Како Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Ρ‚Π΅ ΠΈΠ½ΠΎΠ΄Π½ΠΈΠΎΡ‚ Π±Ρ€ΠΎΡ˜ Π·Π° Π΄Π°Π΄Π΅Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°?

Π‘ΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ ΠΈ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΈΠ½ΠΎΠ΄Π°Ρ‚Π° сС содрТани Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚, Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Π²ΠΎ ext2fs Π΅ посСбСн Ρ‚ΠΈΠΏ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, Ρ‚.Π΅. исто Ρ‚Π°ΠΊΠ° ΠΈΠΌΠ° ΠΈ свој Π½Π΅ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ Π±Ρ€ΠΎΡ˜. Π—Π° Π΄Π° сС ΠΏΡ€Π΅ΠΊΠΈΠ½Π΅ овој маѓСпсан ΠΊΡ€ΡƒΠ³, Π½Π° root Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ ΠΌΡƒ бСшС Π΄ΠΎΠ΄Π΅Π»Π΅Π½ β€žΡ„ΠΈΠΊΡΠ΅Π½β€œ ΠΈΠ½ΠΎΠ΄Π΅Π½ Π±Ρ€ΠΎΡ˜ β€ž2β€œ. АјдС Π΄Π° ја ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ содрТината Π½Π° ΠΈΠ½ΠΎΠ΄Π°Ρ‚Π° Π±Ρ€ΠΎΡ˜ 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, Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° слободни Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм ΠΈ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° слободни јазли ΠΌΠ½ΠΎΠ³Ρƒ сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°Π°Ρ‚.

Π’ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π΄Π° останСтС Π±Π΅Π· ΠΈΠ½ΠΎΠ΄ΠΈ, Π½Π΅ΠΌΠ° Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΌΠ°Π³ΠΈΠΈ, бидСјќи ... Π½Π΅ΠΌΠ° (Π°ΠΊΠΎ Π³Ρ€Π΅ΡˆΠ°ΠΌ, Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Ρ‚Π΅ ΠΌΠΈ Π΄Π° Π·Π½Π°ΠΌ). Π—Π½Π°Ρ‡ΠΈ, Π·Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ Π²ΠΎ ΠΊΠΎΠΈ сС ΠΌΠ½ΠΎΠΆΠ°Ρ‚ ΠΌΠ°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Ρ€Π΅Π±Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΎ Π΄Π° Π³ΠΎ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, btrfs inodes Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π²Ρ€ΡˆΠΈ, бидСјќи Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ сС создаваат Π½ΠΎΠ²ΠΈ.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€