рдПрдХ рдЕрдкрдорд╛рдирд┐рдд 5 рд╡реАрдВ рдЫрд╛рдкреЗ рд╕реЗ рдЪрд░рдо рдбреЗрдЯрд╛ рд╡рд╕реВрд▓реА

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдШрдЯрдирд╛рдУрдВ рдкрд░ рд▓рд┐рдЦрд╛ред


рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рджрд╛рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдпреЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдкреВрд░реНрдг рдиреБрдХрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣реЙрд╡реНрдЯреЛ-рд╢рд┐рдХреЛрд╡ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдХреЗрд╡рд▓ рдбрд┐рд╕реНрдХ рдореАрдбрд┐рдпрд╛ рдкрд░ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рддрд╕реНрд╡реАрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛:

рдмрд┐рдЬрд▓реА рдореЗрдВ рдЙрдЫрд╛рд▓ рдФрд░ рд▓реЛрд╣реЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рджреЛ рдбреНрд░рд╛рдЗрд╡ рд░рд╛рддреЛрдВрд░рд╛рдд рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдбрд┐рд╕реНрдХ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЕрд╕рдлрд▓ рд░рд╣рд╛, рдЬреИрд╕реЗ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рджреЛ рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдореГрддрдХ рдЫрд╛рдкреЗ рдкрд░ рдСрдЯреЛрдкрд╛рдпрд▓рдЯ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рд╕рдм рдХреБрдЫ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрд┐рд╕реНрдХ рдпрд╛ рддреЛ рдЬреАрд╡рди рдореЗрдВ рдЖ рдЧрдИ рдпрд╛ рдлрд┐рд░ рд╕реЗ рдорд░ рдЧрдИ, рдХрд░реНрдиреЗрд▓ рдиреЗ рдЙрд╕ рд╕рдордп рдХрд┐рд╕ рдбрд┐рд╕реНрдХ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рддреНред рдЙрди рдкрд░ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рд╣реБрдЖ - рдХреЛрдИ рдХреЗрд╡рд▓ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореГрдд рдЫрд╛рдкреЗ рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ mdadm рдпрд╣рд╛рдБ рд╢рдХреНрддрд┐рд╣реАрди рд╣реИред

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдПрдВрдЧреЗ, рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдмреИрдХрдЕрдк, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдирд╣реАрдВред рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛:
  1. рдЬреАрд╡рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдирдИ рдбрд┐рд╕реНрдХ (рдиреЛрдВ) рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ;
  2. рдореВрд▓ рдбрд┐рд╕реНрдХ рдХреНрд░рдо рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
  3. рдорд╛рд░реЗ рдЧрдП рдбрд┐рд╕реНрдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдмрд┐рдВрджреБ 1 рджреЗрдЦреЗрдВ);
  4. рдЫрд╛рдкреЗ рдкреНрд░рд╛рд░реВрдк (рдореЗрдЯрд╛) рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдирд░рдо-рдЫрд╛рдкреЗ, рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдбрд┐рд╕реНрдХ рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ 1 рдХреЗрдмреА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ;
  5. рдЪрдВрдХ / рдкрдЯреНрдЯреА рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдЗрд╕реЗ 64k рд╕реЗ 512k рдореЗрдВ рднреА рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
  6. рдбрд┐рд╕реНрдХ рдХреЛ рдПрдХ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ
  7. LVM рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВ


рдЕрдиреБрдЪреНрдЫреЗрдж 1 рдХреЗ рдЕрдиреБрд╕рд╛рд░ред


рд╕рдм рдХреБрдЫ рддреБрдЪреНрдЫ рд╣реИ, рд╣рдо рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдХреЗ рдирдП рдбрд┐рд╕реНрдХ рдЦрд░реАрджрддреЗ рд╣реИрдВ, рдЙрди рдкрд░ LVM рдмрдирд╛рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ LV рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ dd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 2 рд╡рд┐рднрд╛рдЬрди рдХреЛ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦреЗрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рдЕрдм рдмрд╛рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдПред


рд╕рд┐рджреНрдзрд╛рдВрдд рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ: рдбрд┐рд╕реНрдХ рдХреЗ рдХреНрд░рдо рдФрд░ рд╡рд┐рдЦрдВрдбреВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдШрдЯрдирд╛ рдХреА рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдиреАрдЪреЗ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрд▓реНрджреА рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЗрдВ рдПрдХ рдЕрд▓рдЧ lv рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдереАрдВред рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЖрдХрд╛рд░ рдХреА рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП 200 рдЬреАрдмреА рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рд╣реИ)ред рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рд╣реЛ рд░рд╣реА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рдкрд╣рд▓реЗ 64k рд▓реЗрдВ:
for i in abcdefg; do dd if=/dev/jbod/sd${i} bs=64 count=1024 of=/mnt/recover/${i}; done

рд╣рдореЗрдВ 64 рдХреЗрдмреА рдХреА 7 рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓рддреА рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдо рддреБрд░рдВрдд рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдореЗрдЯрд╛-рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдЯрд╛рдбреЗрдЯрд╛ 1, 1.0, 1.1, 1.2 рдХреЗ рд▓рд┐рдП - рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
mega@megabook ~ $ dd if=/dev/gentoo/a bs=1024 count=64 | hexdump -C
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001000 fc 4e 2b a9 01 00 00 00 00 00 00 00 00 00 00 00 |.N+.............|
00001010 ee 6f de dc c3 94 9c 58 47 d0 cc 91 9c f7 c5 35 |.o.....XG......5|
00001020 6d 65 67 61 62 6f 6f 6b 3a 30 00 00 00 00 00 00 |megabook:0......|
00001030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00001040 96 e2 6c 4e 00 00 00 00 05 00 00 00 02 00 00 00 |..lN............|
00001050 00 5c 00 00 00 00 00 00 00 04 00 00 07 00 00 00 |.\..............|
00001060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001080 00 04 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 |.........\......|
00001090 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000010a0 00 00 00 00 00 00 00 00 64 23 f5 c9 5f 2a 64 68 |........d#.._*dh|
000010b0 e8 92 f2 1a 8c ca ad 98 00 00 00 00 00 00 00 00 |................|
000010c0 9a e2 6c 4e 00 00 00 00 12 00 00 00 00 00 00 00 |..lN............|
000010d0 ff ff ff ff ff ff ff ff f6 51 38 f5 80 01 00 00 |.........Q8.....|
000010e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001100 00 00 01 00 02 00 03 00 04 00 05 00 fe ff 06 00 |................|
00001110 fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff |................|
*
00001400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
64+0
64+0
65536 (66 kB)00010000
, 0,000822058 c, 79,7 MB/c

mega@megabook ~ $ mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Sep 11 20:32:22 2011
Raid Level : raid5
Array Size : 70656 (69.01 MiB 72.35 MB)
Used Dev Size : 11776 (11.50 MiB 12.06 MB)
Raid Devices : 7
Total Devices : 7
Persistence : Superblock is persistent

Update Time : Sun Sep 11 20:32:26 2011
State : clean
Active Devices : 7
Working Devices : 7
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : megabook:0 (local to host megabook)
UUID : ee6fdedc:c3949c58:47d0cc91:9cf7c535
Events : 18

Number Major Minor RaidDevice State
0 253 21 0 active sync /dev/dm-21
1 253 22 1 active sync /dev/dm-22
2 253 23 2 active sync /dev/dm-23
3 253 24 3 active sync /dev/dm-24
4 253 25 4 active sync /dev/dm-25
5 253 26 5 active sync /dev/dm-26
7 253 27 6 active sync /dev/dm-27

рдпрд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ 1.2 рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╕рд╛рдордЧреНрд░реА (рдбрд┐рд╕реНрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рд╣реЛрдВрдЧреЗ, рдЬрдмрдХрд┐ рд╢реЗрд╖ рд╕реНрдерд╛рди NULLs рд╕реЗ рднрд░рд╛ рд╣реЛрдЧрд╛ред рдЫрд╛рдкреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрддреЗ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ: 0x00001000-0x00001ffffред
рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдЫрд╛рдкреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдбрд┐рд╕реНрдХ рд▓реЗрдЖрдЙрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджрд░реНрдЬ рдХреА рдЧрдИ рдереА, рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рддреБрд░рдВрдд рдбреЗрдЯрд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ 0.9 рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
~ # dd if=/dev/jbod/sdb bs=1024 count=1 | hexdump -C
1+0
1+0
1024 (1,0 kB), 0,0200084 c, 51,2 kB/c
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200 4c 41 42 45 4c 4f 4e 45 01 00 00 00 00 00 00 00 |LABELONE........|
00000210 1b 72 36 1f 20 00 00 00 4c 56 4d 32 20 30 30 31 |.r6. ...LVM2 001|
00000220 66 6d 59 33 4a 35 6b 72 46 73 6d 52 51 41 47 66 |fmY3J5krFsmRQAGf|
00000230 4c 30 72 53 6b 69 59 6e 31 43 6c 72 66 61 66 70 |L0rSkiYn1Clrfafp|
00000240 00 00 fa ff ed 02 00 00 00 00 06 00 00 00 00 00 |................|
00000250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000260 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 |................|
00000270 00 f0 05 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000400


рдбрд┐рд╕реНрдХ рд╕реЗ рдкрд╣рд▓реЗ 64kb рдХреЗ рдЖрдЧреЗ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рдж рдПрдХ рдЙрддреНрд╕реБрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рд╛рдордиреЗ рдЖрдИред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, LVM рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ LV рдорд╛рд░реНрдХрдЕрдк рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
vg0 {
id = "xxxx"
seqno = 64
status = ["RESIZEABLE", "READ", "WRITE"]
extent_size = 8192 # 4 Megabytes
max_lv = 0
max_pv = 0

physical_volumes {

pv0 {
id = "xxxxx"
device = "/dev/md2" # Hint only

status = ["ALLOCATABLE"]
dev_size = 5848847616 # 2,72358 Terabytes
pe_start = 384
pe_count = 713970 # 2,72358 Terabytes
}
}

logical_volumes {
--//--
log {
id = "l8OVMc-BUAj-YrIT-w8mh-YkvH-riS3-p1h6OY"
status = ["READ", "WRITE", "VISIBLE"]
segment_count = 2

segment1 {
start_extent = 0
extent_count = 12800 # 50 Gigabytes

type = "striped"
stripe_count = 1 # linear

stripes = [
"pv0", 410817
]
}
segment2 {
start_extent = 12800
extent_count = 5120 # 20 Gigabytes

type = "striped"
stripe_count = 1 # linear

stripes = [
"pv0", 205456
]
}
}
--//--
}

рд╕реБрдкрд░! рд╣рдореЗрдВ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЦреНрдп рдЖрдВрдХрдбрд╝реЗ рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рд╡реЗ рд╣реИрдВ:

рдпреЗ рдирдВрдмрд░ рдХреНрдпрд╛ рд╣реИрдВ ...

рдордд рднреВрд▓реЛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 7 рдбреНрд░рд╛рдЗрд╡ рдкрд░ 5 рд╡реАрдВ рдЫрд╛рдкреЗ рд╣реИрдВ, рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ 6 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ (рдХреНрдпреЛрдВрдХрд┐ 7 рд╡реАрдВ рд╕рдорддрд╛ рд╣реИ)
рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рд▓реЙрдЧ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рде / рдЖрдВрдЦреЗрдВ - рдпреВрдЯреЛрдкрд┐рдпрд╛, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВ:
dd if=/dev/recover/sda bs=512 skip=$[(8192*410817+384)/6] | hexdump -C | grep 'Aug 28' | head

рдЬрд╣рд╛рдВ:
skip=(extent_size*stripes+pe_start)/6
bs=512 --

рдбрд┐рд╕реНрдХ рдХреА рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд░рд╕рд░рд╛рд╣рдЯ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓рддрд╛ рд╣реИ:
02d08100 41 75 67 20 32 38 20 30 30 3a 30 36 3a 30 36 20 |Aug 28 00:06:06 |
02d081c0 3d 0a 41 75 67 20 32 38 20 30 30 3a 30 36 3a 30 |=.Aug 28 00:06:0|
02d08410 41 75 67 20 32 38 20 30 30 3a 30 36 3a 30 37 20 |Aug 28 00:06:07 |
02d08570 70 0a 41 75 67 20 32 38 20 30 30 3a 30 36 3a 30 |p.Aug 28 00:06:0|
02d085d0 65 78 74 3d 0a 41 75 67 20 32 38 20 30 30 3a 30 |ext=.Aug 28 00:0|
02d086b0 64 3d 2a 29 29 22 0a 41 75 67 20 32 38 20 30 30 |d=*))".Aug 28 00|
02d08710 65 73 74 61 6d 70 0a 41 75 67 20 32 38 20 30 30 |estamp.Aug 28 00|
02d08770 73 3d 30 20 74 65 78 74 3d 0a 41 75 67 20 32 38 |s=0 text=.Aug 28|
02d089c0 6f 72 64 3d 2a 29 29 22 0a 41 75 67 20 32 38 20 |ord=*))".Aug 28 |
02d08a20 6d 65 73 74 61 6d 70 0a 41 75 67 20 32 38 20 30 |mestamp.Aug 28 0|

рд╣рдо рдкрддреЗ рд▓реЗрддреЗ рд╣реИрдВ: 02d08770, рд╢реЗрд╖ рдХреЗ рд╕рд╛рде 512 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ, рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
mega@megabook ~ $ echo $[0x02d08770/512]
92227
mega@megabook ~ $ echo $[0x02d08770/512/2048]
45

рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд░рдЦреЛ рдФрд░ рджреЗрдЦреЛ рдХрд┐ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:
for i in abcdefg; do dd if=/dev/recover/sd${i} of=/mnt/recover/${i} bs=512 count=1024 skip=$[(8192*410817+384)/6+(48*2048)] ; done

рд╣рдореЗрдВ 512kb рдХреА 7 рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓рддреА рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рддрд┐рдерд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рдЪреЗрдХрд╕рдо (рд╕рдорддрд╛) рд╕реЗ рдкрдврд╝реА рдЬрд╛рддреА рд╣реИрдВред рд╣рдо рдбрд┐рд╕реНрдХ рдХреЗ рдХреНрд░рдо рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдЖрдХрд╛рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдпрджрд┐ 64kb рдХреЗ рдмрд╛рдж рдЪреЗрдХрд╕рдо рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ 64kb, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ 512 рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред 1 рдмреНрд▓реЙрдХ рдХреА рднрд░рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрд░рд╡рд╛рдИ рджреЛрд╣рд░рд╛рдПрдВ:
for i in abcdefg; do dd if=/dev/recover/sd${i} of=/mnt/recover/${i}.1 bs=512 count=1024 skip=$[(8192*410817+384)/6+(48*2048)+1] ; done

рдХрд╛рдЧрдЬ рдкрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдБред рдХреМрди рд╕рд╛ рдбреНрд░рд╛рдЗрд╡ рдкрд╣рд▓рд╛ рд╣реИ, рд╕рдорддрд╛ рдмреНрд▓реЙрдХ рдХрд╣рд╛рдВ рд╣реИред рдпрд╣ рдХрд╣рдирд╛ рдЧрд▓рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ 5 RAID рдХреЗ 4 рдСрд░реНрдбрд░ рд╣реИрдВ: рд▓реЗрдлреНрдЯ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕, рд▓реЗрдлреНрдЯ рд╕рд┐рдВрдХреНрд░реЛрдирд╕, рд░рд╛рдЗрдЯ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдФрд░ рд░рд╛рдЗрдЯ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ред рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ: www.accs.com/p_and_p/RAID/LinuxRAID.html ред

рдПрдХ рдкреАрдЯрд╛ рдбрд┐рд╕реНрдХ рдХреА рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХреЗ рд▓рд┐рдП, рд░рдЪрдирд╛рддреНрдордХ рдХрд╛рд░реНрдп рдФрд░ рдЙрдкрд░реЛрдХреНрдд рд╕рд╛рдордЧреНрд░реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдЕрдм, рд╡рд┐рдЦрдВрдбреВ рдХреЗ рдЖрдХрд╛рд░, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдЬрд╛рдирдХрд░, рдЖрдк рдЫрд╛рдкреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП mdadm рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░рдгрдиреАрддрд┐рдХ рдЪрд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╕реНрдХ рдХреЗ рдмрдЬрд╛рдп рдЧрд╛рдпрдм рд╢рдмреНрдж рд▓рд┐рдЦрддреЗ рд╣реИрдВ рддреЛ mdadm рдЕрдкрдорд╛рдирд┐рдд рдЫрд╛рдкреЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рдЫрд╛рдкреЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ! рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЧрд╣рди рдЕрдзреНрдпрдпрди рдХреЗ рдмрд┐рдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВ рдирд╣реАрдВ! ред рд╕рд░рдгреА рдХреА рд╕рд╣реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ 2 рдЬреАрдмреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
lvcreate -L2G -nnagios recover
mdadm -C /dev/md0 -l 5 -n 7 --metadata 0.9 -c 64 /dev/recover/[af] missing
dd if=/dev/md0 bs=512 skip=$[8192*XXXX+384] count=$[8192*512] | dd of=/dev/recover/nagios
cfdisk /dev/recover/nagios

рдпрджрд┐ cfdisk рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╕реНрдХ рд▓реЗрдЖрдЙрдЯ рддрд╛рд▓рд┐рдХрд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рд╕рд░рдгреА рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рд╕реНрдХ рдХреЗ рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ ... рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рдЕрдВрдд рдореЗрдВ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА
mdadm -S /dev/md0
mdadm -C /dev/md0 -l 5 -n 7 --metadata 0.9 -c 64 /dev/recover/[bf] missing /dev/recover/a

рдЕрдиреБрднрд╛рдЧ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ, рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦреЗрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рд╣рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрдХреНрд░рдо рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдмреИрда рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛ рд╣рдордиреЗ рд▓реЙрдЧ рдЕрдиреБрднрд╛рдЧ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкрддреЗ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реБрдП рд╕рдЯреАрдХ рдХреНрд░рдо рдХреА рдЧрдгрдирд╛ рдХреА рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рд╛рддрд╡реЗрдВ рдПрд╕рдбреАрдЬреА рдбрд┐рд╕реНрдХ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рд▓рд╛рдкрддрд╛ рд▓рд┐рдЦрд╛ рд╣реИ, рдФрд░ рдбрд┐рд╕реНрдХ рдХрд╛ рдХреНрд░рдо рдПрдЬреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд▓рд╛рдкрддрд╛ рдЫрд╛рдкреЗ рдХреЛ рд╕рдорддрд╛ рдмреНрд▓реЙрдХ рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЦреБрдж рдХреЛ рдЕрдкрдорд╛рдирд┐рдд рдорд╛рдиреЗрдВрдЧреЗ рдФрд░ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреМрди рд╕рд╛ рдЕрдиреБрднрд╛рдЧ рд╣реИ, рдЫреЛрдЯреЗ LV рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЫрд╡рд┐ рдФрд░ рд╕рдорд╛рдирддрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдирд╛рдЧреЛрдВ рдХреА рдирдХрд▓ рдХреА рд╣реИред рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЛред рдпрджрд┐ рдЖрдкрдиреЗ рдЧрд▓рдд рдбреНрд░рд╛рдЗрд╡ (рд▓рд╛рдкрддрд╛) рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ dmesg рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧреА рдХрд┐ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рд╕реЗ рдПрдХ рдбреЗрдЯрд╛ рдХрд░реНрд╡реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИ)ред рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВ, рд▓рд╛рдкрддрд╛ рд╕реНрдерд┐рддрд┐ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХ рдмрдирд╛рдПрдВ рдФрд░ рдХреЙрдкреА рдХрд░реЗрдВред рдпрд╛рдиреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, sdg рдбреНрд░рд╛рдЗрд╡ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдЬреЛрдбрд╝рд╛ рдерд╛, рдФрд░ sdf рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдмрдЬрд╛рдп, рд▓рд╛рдкрддрд╛ рд▓рд┐рдЦреЗрдВ:
mdadm -C /dev/md0 -l 5 -n 7 --metadata 0.9 -c 64 /dev/recover/[be] missing /dev/recover/sdg /dev/recover/a

рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред
рд╕рд┐рдо рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╣рд╛рдиреА рдЦрддреНрдо рд╣реЛ рдЧрдИ рд╣реИред
рдореИрдВ LVM рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкрд░ рдХреБрдЫ рд╢рдмреНрдж рдЬреЛрдбрд╝реВрдВрдЧрд╛ (рддрд╛рдХрд┐ рдЗрди рдкрддреЛрдВ рд╕реЗ рдкреАрдбрд╝рд┐рдд рди рд╣реЛ)ред
рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рд╕реНрд╡рдпрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдмреИрдХрдЕрдк рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЖрдорддреМрд░ рдкрд░ / etc / lvm / backup / VG-NAME рдореЗрдВред рдореИрдВрдиреЗ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореЗрд░рд╛ рд░реВрдЯ рд╡рд┐рднрд╛рдЬрди рдЙрд╕реА LVM рдкрд░ рдерд╛, рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ / boot / lvm рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдкрд░ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдмрдирд╛ рджреАред рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ:
vgcfgrestore -f /path/to/backup-file vg-name

рдпрджрд┐ рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХрд╣рдирд╛ рд╣реИ, рдЪреЗрдХрд╕рдо рдореЗрдВ рд╢рдкрде рд▓реЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕ рдЪреАрдЬрд╝ рдХреЛ рдереЛрдбрд╝рд╛ рд╣реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
dd if=/dev/zero of=/dev/md0 bs=512 count=10
pvcreate /dev/md0
pvdisplay /dev/md0 | grep 'PV UUID'

рдЕрдЧрд▓рд╛, рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рд╡рд╣рд╛рдВ UUID рдмрджрд▓реЗрдВ, рдЙрд╕реА рдирд╛рдо рд╕реЗ рдПрдХ рд╡реАрдЬреА рдмрдирд╛рдПрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдЦрдВрдб рдореЗрдВ рдкрд╣рд▓реЗ рдерд╛
vgcreate vg0 /dev/md0
vgcfgrestore -f /path/to/backup-file vg0

рдЗрди рдзреЛрдЦрд╛рдзрдбрд╝реА рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡реАрдЬреА рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд╕рдордп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛ред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рд┐рдо рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдмрддрд╛рдИ рдЧрдИ рд╣реИ, рдореИрдВ рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпреЗ рд╕рднреА рдЪрд░рдо рдЙрдкрд╛рдп рд╣реИрдВ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХреЗ рдкрд╛рд╕ рдбрд┐рд╕реНрдХ рдХреА рдкреВрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рддред рд╕реНрд░реЛрдд рдбрд┐рд╕реНрдХ рдкрд░ рдирд╣реАрдВ , рдмрд▓реНрдХрд┐ рдЙрдирдХреЗ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рднреА рджреЗрдЦреЗрдВ:


Source: https://habr.com/ru/post/In128429/


All Articles