рдпрд╣ рд╕рдорд╕реНрдпрд╛ OpenZFS рдбреЗрд╡рд▓рдкрд░ рд╕рдорд┐рдЯ 2018 рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдХрд┐ рдбрд┐рдбрдЕрдк рд╕реЗрдВрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдкреВрд░реНрдг рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╕реНрддреБрддрд┐рдХрд░рдг рдХреЛ https://youtu.be/WvBURTKUy1o?t=5177 рдкрд░
рдЬрдм рдПрдХ рд╕рдореВрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлреАрдЪрд░ рдХреЗ рд╕рд╛рде рдпреЗ рдореБрджреНрджреЗ рдЗрд╕реЗ ZFS рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдареЛрд╕ рдЙрдореНрдореАрджрд╡рд╛рд░ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реВрддреНрд░ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдЪрд░реНрдЪрд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЗрд╕рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЗрдВрджреНрд░ рдмрдирдирд╛ рд╣реИред
рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рд╣реИ рди рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдо рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ ZFS рд╕реЗ рд╣рдЯрд╛ рд░рд╣реЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдо рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╣рдЯрд╛ рд░рд╣реЗ рд╣реИрдВред ZFS рд╕реЗ рдкрд╣рд▓реЗ рдХрднреА рднреА рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВред рдФрд░ рдХреЛрдб рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд┐рд╕реА рднреА рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЕрдЧрд▓рд╛ рдХрджрдо рдпрд╣ рд╣реИ рдХрд┐ ZFS рдХреЗ рдореИрди рдкреЗрдЬ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝реА рдЬрд╛рдПрдЧреА рдФрд░ рдЬрдм рднреА рдбрд┐рдбрдЕрдк рд╕реЗрдВрдб рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рддреЛ рдЙрд╕рдХрд╛ рдкреНрд░рд┐рдВрдЯ рдЖрдЙрдЯ рд▓реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдордп рдХреЗ рд▓рд┐рдП рд╡рд┐рд▓рдВрдмрд┐рдд рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рдордпрд░реЗрдЦрд╛ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рд╣рдо рд╕рднреА рдЗрдЪреНрдЫреБрдХ рдкрд╛рд░реНрдЯрд┐рдпреЛрдВ рд╕реЗ рдЗрд╕ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЗрдирдкреБрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рд╕реЗ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИред
рдореИрдВрдиреЗ рдХрднреА рднреА рдбрд┐рдбрдЕрдк рд╕реЗрдВрдб / рдЖрд░рдИрд╡реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрд░реЗрд╕реНрдб рдбреЗрдЯрд╛ рдХрд╛ рд░реЙ рд╕реЗрдВрдб рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред
рдЕрдЧрд░ рдпрд╣ рдЪрд▓рд╛ рдЧрдпрд╛ рддреЛ рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА - рдФрд░ рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЕрдХреЗрд▓рд╛ рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд┐рддрдиреЗ рдмрдбрд╝реЗ рд╣реИрдВ рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХрд┐рддрдирд╛ рд╕рдордп/рдмреИрдВрдбрд╡рд┐рдбреНрде рдмрдЪрд╛рддрд╛ рд╣реИред
рдореБрдЭреЗ рдЗрд╕реЗ рджреВрд░ рдЬрд╛рддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рд▓реИрдВрдб рдореЗрдВ рдЙрдиреНрд╣реЗрдВ "рд░реА-рдбреБрдкрд┐рдВрдЧ" рдХрд░рдХреЗ рдбрд┐рдбрдЕрдк рд╕реНрдЯреНрд░реАрдо рдХреА рдкреНрд░рд╛рдкреНрдпрддрд╛ рдмрдирд╛рдП рд░рдЦрдирд╛ 99% рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрдВрдб рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЗрд╕ рдкрд╣рд▓реВ рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ 2016 рдореЗрдВ zfs рд░реЛрд▓рдмреИрдХ рдкрд░ -r рдФрд░ -R рдХреЗ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рджрд┐рдпрд╛ рд╣реИ (рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред
рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдореБрдЦреНрдп рддрд░реНрдХ рдерд╛:
рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рдЪрд░рдг 2 рдпрд╛ 3 рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ "рдЙрдЪрд┐рдд рд╕рдордп" рдирд╣реАрдВ рд╣реИред "zfs" рдФрд░ "zpool" рдХрдорд╛рдВрдб рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз, рдкреНрд░рд▓реЗрдЦрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ (рдФрд░ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд!)
рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ рдЬрдм рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдкрд┐рдЫрд▓реА рджреГрд╖реНрдЯрд┐ рдореЗрдВ рдЙрдк-рдЗрд╖реНрдЯрддрдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рдмрдЬрд╛рдп рднрд╡рд┐рд╖реНрдп рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рджреМрд░рд╛рди рдпреЗ рд╕рдмрдХ рджреЗрдЦреЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред
рдЙрд╕ рддрд░реНрдХ рдХреЗ рд╕рд╛рде: рдХреНрдпрд╛ рдбрд┐рдбрдЕрдк рд╕реЗрдВрдб рдХреЛ рдПрдХ рдлреАрдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП -рдбреА рд╕реНрд╡рд┐рдЪ рдХреЛ рдПрдирдУрдкреА рдореЗрдВ рдмрджрд▓рдиреЗ рдкрд░ рднреА рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдлрд┐рд░ рднреА:
рдореИрдВ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ (рдЕрдирдВрдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╣рд░ рдорд╕реНрд╕рд╛ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рдмрдЬрд╛рдп) ZFS рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдмрд╣рд┐рд╖реНрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ _any_ рдЦрд░рд╛рдм (рд╣рд┐рдВрдбрд╕рд╛рдЗрдЯ рдореЗрдВ) рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдп рдХреЛ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИ - рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЙрдЪрд┐рдд рд╕рдордп рдкрд░ (рдФрд░ рдкреНрд░рд╢реНрди рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде) ) рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
ZFS рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЧреВрдЧрд▓ рд╕рд░реНрдЪ) рд╣реИ - рдпрд╛ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдореЗрдВ - рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдирд┐рджрд╛рди рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ (рдЬреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ zfs send -D
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдбрд┐рдбрдЕрдк рдЕрдиреБрдкрд╛рдд рдХреЛ "рдмрд╕" рдХрдо рдХрд░ рджреЗрдЧрд╛), рдФрд░ рдкрд┐рдЫрд▓рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЬреЛ рдЕрдВрддрддрдГ zfs rollback -r/-R
рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдХрд░рддрд╛ рдерд╛ред рдореИрдВ zfs rollback
рдХреА рдЪрд░реНрдЪрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЪреИрдирд▓ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рдбрд┐рдбрдЕрдк рд╕реЗрдВрдб/рдЖрд░рдИрд╡реА рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВред рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рд░реЛрд▓рдмреИрдХ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдереНрд░реЗрдб рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рд╣реИред
рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ zfs send -D
рдХреЛ рдПрдХ рд╡реИрдз рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдЯреМрддреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред