ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ, Ρ ΡΠ΅Π»ΡΡ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π° Π² Π¦Π Π‘ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ , Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΠΈΡΠ΅ΡΠ° ΠΈ ΠΠΎΡΠΊΠ²Ρ Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ DevOps. ΠΠ±ΡΠ°ΡΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ (Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Ρ ΠΎΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ½Π΄Π΅ΠΊΡΠ΅) Π·Π°Π΄Π°ΡΡ Π΄Π²Π° ΡΡ ΠΎΠ΄Π½ΡΡ Π²ΠΎΠΏΡΠΎΡΠ°:
- ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ 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
ΠΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β Β«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