ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΡ Π² Π¦Π΅Π½ΡΡΠ°Π»Π½ΠΈΡ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π½ΡΡΡ, ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ° Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π³Π»Π°Π²Π½ΠΎ Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ ΠΈ ΠΠΎΡΠΊΠ²Π°, Π·Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ DevOps. ΠΠ°Π±Π΅Π»ΡΠ·Π°Ρ , ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Yandex) Π·Π°Π΄Π°Π²Π°Ρ Π΄Π²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π²ΡΠΏΡΠΎΡΠ°:
- ΠΊΠ°ΠΊΠ²ΠΎ Π΅ inode;
- ΠΏΠΎ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ Π½Π° Π΄ΠΈΡΠΊ (ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Π·Π°ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΡΠ²ΡΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΡΡΡΠ½ΠΎΡΡΡΠ° Π΅ ΡΡΡΠ°ΡΠ°).
ΠΠ°ΠΊΡΠΎ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°, Π±ΡΡ ΡΠΈΠ³ΡΡΠ΅Π½, ΡΠ΅ ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌ Π΄ΠΎΠ±ΡΠ΅ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ°, Π½ΠΎ Π²Π΅Π΄Π½Π°Π³Π° ΡΠΎΠΌ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΠΎΠ±ΡΡΠ½ΡΠ²Π°ΠΌ, ΠΏΡΠ°Π·Π½ΠΈΠ½ΠΈΡΠ΅ Π² Π·Π½Π°Π½ΠΈΡΡΠ° ΡΡΠ°Π½Π°Ρ Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΈ. ΠΠ° Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΌ Π·Π½Π°Π½ΠΈΡΡΠ° ΡΠΈ, Π΄Π° ΠΏΠΎΠΏΡΠ»Π½Ρ ΠΏΡΠΎΠΏΡΡΠΊΠΈΡΠ΅ ΠΈ Π²Π΅ΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΡΠΌΡΡΠ°Π²Π°ΠΌ, ΠΏΠΈΡΠ° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π½Π° Π½ΡΠΊΠΎΠΉ Π΄ΡΡΠ³.
Π©Π΅ Π·Π°ΠΏΠΎΡΠ½Π° ΠΎΡ Π΄ΡΠ½ΠΎΡΠΎ, Ρ.Π΅. ΠΎΡ ΡΠ²ΡΡΠ΄ Π΄ΠΈΡΠΊ (ΡΠ΅ ΠΈΠ·Ρ Π²ΡΡΠ»ΠΈΠΌ ΡΠ»Π°Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, SSD ΠΈ Π΄ΡΡΠ³ΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ Π½Π΅ΡΠ°; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΡΠΊΠΎ ΡΡΠ°ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ 20 ΠΈΠ»ΠΈ 80 Π³ΠΈΠ³Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π±Π»ΠΎΠΊΠ° ΡΠ°ΠΌ Π΅ 512 Π±Π°ΠΉΡΠ°).
Π’Π²ΡΡΠ΄ΠΈΡΡ Π΄ΠΈΡΠΊ Π½Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ° ΡΠ²ΠΎΠ΅ΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π±Π°ΠΉΡ ΠΏΠΎ Π±Π°ΠΉΡ, ΡΠΎΠΉ ΡΡΠ»ΠΎΠ²Π½ΠΎ Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π°ΠΏΠΎΡΠ²Π° ΠΎΡ 0. (Π’ΠΎΠ²Π° ΡΠ΅ Π½Π°ΡΠΈΡΠ° LBA, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΡΠΊ:
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΠΎΡ ΡΠΈΠ³ΡΡΠ°ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ
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