LVM рдкрд╛рд░реНрдЯреАрд╢рди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд KVM рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ lvmsync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛

рдирдорд╕реНрддреЗ!

рдЗрд╕ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдореЗрдВ рдореИрдВ lvmsync рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

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

рдпрд╣рд╛рдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  1. LVM рдЕрдиреБрднрд╛рдЧ рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рд▓реЗрдВред
  2. рд╣рдо рдЕрдкрдиреЗ рд╡реАрдПрдо рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдореБрдЦреНрдп рдПрд▓рд╡реАрдПрдо рд╡рд┐рднрд╛рдЬрди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
  3. рдЬрдм рдореБрдЦреНрдп рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ VM рдХреЛ рд░реЛрдХ рджреЗрдВред
  4. рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lvmsync рдЪрд▓рд╛рдПрдБред рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдмреНрд▓реЙрдХ рд╣реИрдВред
  5. рд╣рдо рдирдП рд╕рд░реНрд╡рд░ рдкрд░ VM рдХреЛ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, lvmsync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕рдордп рдореБрдЦреНрдп рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╕рдордп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ред

рдЖрдк lvmsync рдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрд╣рд╛рд░ рднреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВред



рдпрд╣ рдЖрдЧреЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ sudo рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВ, ssh рдПрдХреНрд╕реЗрд╕ рдХреЛ рдХреБрдВрдЬрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд░реВрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

VM рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╢реБрд░реВ рдХрд░реЗрдВ:

рд╕реНрдерд╛рдкрдирд╛:

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lvmsync рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ Ruby 1.8 (рдпрд╛ рдмрд╛рдж рдореЗрдВ), ssh рдФрд░ dmsetup рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ lvmsync рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

wget https://github.com/mpalmer/lvmsync.git 

PATH рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lvmsync рдХреЙрдкреА рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП / usr / bin /

рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ (рд╕рд░реНрд╡рд░ 2) рддреИрдпрд╛рд░ рдХрд░рдирд╛:

1) lvmsync рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
2) рдкреНрд░рддрд┐рдХреГрддрд┐ VM рдХреЗ рд▓рд┐рдП LVM рд╡рд┐рднрд╛рдЬрди рдмрдирд╛рдПрдБред

 server2# lvcreate vg -n new-virtual -L 16G 

рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЖрдХрд╛рд░ рдореВрд▓ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдореВрд▓ рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред

рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдФрд░ VM рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рдХрдорд╛рдВрдб рдХреЛ рдЙрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рд╕реЗ рд╣рдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (рд╕рд░реНрд╡рд░ 1) рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

1) рдПрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдмрдирд╛рдПрдБ xml:

 server1# virsh dumpxml virtual > virtual.xml 

2) рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдПрдХ рдЪрд┐рддреНрд░ рд▓реЗрдВ:

 server1# lvcreate --snapshot -L10G -n virtual-snap /dev/vg/virtual 

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

3) рд╡реАрдПрдо рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд┐рдирд╛, рд╣рдо dd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЦреНрдп рд╡рд┐рднрд╛рдЬрди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 server1# dd if=/dev/vg/virtual bs=1M | gzip -c | pv -ptrb | ssh me@server2 "gunzip -c | sudo dd of=/dev/vg/new-virtual" 

рдпрд╣рд╛рдВ рдПрдХ gzip рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░рд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рд╕рдВрдкреАрдбрд╝рди рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ pv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░рдЧрддрд┐ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрддрд╛ рд╣реИред

4) рдЬрдм рд╣рд╕реНрддрд╛рдВрддрд░рдг рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдП, рддреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдВрдж рдХрд░реЗрдВ:

 server1# virsh shutdown virtual 

5) рдФрд░ рдорд╢реАрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рддрд╕реНрд╡реАрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lvmsync рд╢реБрд░реВ рдХрд░реЗрдВ:

 server1# lvmsync --stdout /dev/vg/virtual-snap | ssh me@server2 sudo lvmsync --apply - /dev/vg/new-virtual 

рдпрд╣ рдСрдкрд░реЗрд╢рди рди рдХреЗрд╡рд▓ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рдирдП рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рдореБрдЦреНрдп рдПрд▓рд╡реАрдПрдо рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде рддреБрд░рдВрдд рдкрдХрдбрд╝ рд▓реЗрдЧрд╛ред

6) рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдкреА рдкрд░рд┐рднрд╛рд╖рд╛ xml:

 server1# scp virtual.xml me@server2:/home/me/new-virtual.xml 


рдирдП рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдФрд░ рд╢реБрд░реВ рдХрд░рдирд╛:



1) рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдкрд░рд┐рднрд╛рд╖рд╛ xml рдмрджрд▓реЗрдВред

2) xml рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдПрдБ:

 server2# virsh define new-virtual.xml 

3) рд╣рдо рдЕрдкрдиреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдСрдЯреЛ рд╕реНрдЯрд╛рд░реНрдЯ рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ:

 server2# virsh start new-virtual server2# virsh autostart new-virtual 


рдпрд╣реА рд╣реИ, рдЖрднрд╛рд╕реА рдорд╢реАрди рдкреНрд░рд╡рд╛рд╕ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ!

рдиреЛрдЯ

рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдВрдЯреЛрд╕ 6.4 рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдм рдЙрд╕рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рджреМрд░рд╛рди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреАрд╡реНрд░рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░, рддрджрдиреБрд╕рд╛рд░, рд╕реНрдиреИрдкрд╢реЙрдЯ рдХрд╛ рдЖрдХрд╛рд░ред

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


All Articles