drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЫреЛрдЯреНрдпрд╛ рд╡реЗрдм рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ

рдЖрдореНрд╣реА рдХрд╢рд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ:
drbd+ocfs2 рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рджреЛрди рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рд╢реЗрдЕрд░реНрдб рд╕реНрдЯреЛрд░реЗрдЬ рддреНрд╡рд░реАрдд рдХрд╕реЗ рддреИрдирд╛рдд рдХрд░рд╛рд╡реЗ.

рд╣реЗ рдХреЛрдгрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓:
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкрджреНрдзрдд рдирд┐рд╡рдбрдгрд╛рд▒реНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдЙрдкрд╛рдп рд╡рд╛рдкрд░реВрди рдкрд╛рд╣реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓.

рдЖрдореНрд╣реА рдХреЛрдгрддреЗ рдирд┐рд░реНрдгрдп рдирд╛рдХрд╛рд░рд▓реЗ рдЖрдгрд┐ рдХрд╛?

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

  • Glusterfs рдиреЗ рд╡рд╛рдЪрди рдЖрдгрд┐ рд▓реЗрдЦрди рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рд╕рд╣ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдорд╛рдзрд╛рди рджрд┐рд▓реЗ рдирд╛рд╣реА; рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдлрд╛рдпрд▓реА рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╡рд╛рдЪрдгреНрдпрд╛рдд рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреНрдпрд╛ рдЖрдгрд┐ CPU рд╡рд░ рдЬрд╛рд╕реНрдд рднрд╛рд░ рд╣реЛрддрд╛. рдлрд╛рдпрд▓реА рд╡рд╛рдЪрдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рд╡рд┐рдЯрд╛рдВрдордзреВрди рдереЗрдЯ рдкреНрд░рд╡реЗрд╢ рдХрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдкрд░рдВрддреБ рд╣реЗ рдиреЗрд╣рдореАрдЪ рд▓рд╛рдЧреВ рд╣реЛрдд рдирд╛рд╣реА рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЪреБрдХреАрдЪреЗ рдЕрд╕рддреЗ.

  • Ceph рд▓рд╛ рдЬрд╛рд╕реНрдд рдХреНрд▓рд┐рд╖реНрдЯрддрд╛ рдЖрд╡рдбрд▓реА рдирд╛рд╣реА, рдЬреА 2-4 рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╡рд░ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдЕрд╕реВ рд╢рдХрддреЗ, рд╡рд┐рд╢реЗрд╖рдд: рдЬрд░ рдирдВрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рджреЗрдЦрднрд╛рд▓ рдХреЗрд▓реА рдЧреЗрд▓реА. рдкреБрдиреНрд╣рд╛, рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдЧрдВрднреАрд░ рдорд░реНрдпрд╛рджрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЧреНрд▓реБрд╕реНрдЯрд░рдлреНрд╕рдкреНрд░рдорд╛рдгреЗ рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрддрд╛рдд.

  • рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрдЪрдпрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ NFS рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рдкрд░рдгреЗ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддреЗрдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдиреЗ рдкреНрд░рд╢реНрди рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ.

  • рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реНрд░реЗрдгреАрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА s3 рд╣рд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрд╛рдп рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреА рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдирд╛рд╣реА, рдЬреА рддреНрдпрд╛рдЪреА рд╡реНрдпрд╛рдкреНрддреА рдХрдореА рдХрд░рддреЗ.

  • lsyncd. рдЬрд░ рдЖрдкрдг рдЖрдзреАрдЪ "рдиреЙрди-рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо" рдмрджреНрджрд▓ рдмреЛрд▓рдгреЗ рд╕реБрд░реВ рдХреЗрд▓реЗ рдЕрд╕реЗрд▓ рддрд░ рдпрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рдирд╛рд╡рд░ рдЬрд╛рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ. рд╣реЗ рдХреЗрд╡рд│ рджреНрд╡рд┐-рдорд╛рд░реНрдЧ рдПрдХреНрд╕рдЪреЗрдВрдЬрд╕рд╛рдареА рдпреЛрдЧреНрдп рдирд╛рд╣реА (рдкрд░рдВрддреБ рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд░реЛрдЦрд░ рдХрд░рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓ рддрд░ рддреБрдореНрд╣реА рдХрд░реВ рд╢рдХрддрд╛), рддреЗ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдлрд╛рдЗрд▓реНрд╕рд╡рд░ рд╕реНрдерд┐рд░рдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА. рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдд рдПрдХ рдЫрд╛рди рднрд░ рдореНрд╣рдгрдЬреЗ рддреА рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб рдЖрд╣реЗ. рдХрд╛рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреНрдпреЗ рдЖрд╣реЗ: рддреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЖрдгрд┐ рд░реАрд╕реНрдХреЕрдирд┐рдВрдЧ рджрд░рдореНрдпрд╛рди рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд╛рдорд╛рдЪреНрдпрд╛ рд╡рд╕реНрддреВрдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА inotify рд╡рд╛рдкрд░рддреЗ. rsync рд╣реЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдорд╛рдзреНрдпрдо рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╢реЗрдЕрд░реНрдб рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╕реЗ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рд╛рдпрдЪреЗ

рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рд╕реЛрдпреАрд╕реНрдХрд░ рдЙрдкрд╛рдпрд╛рдВрдкреИрдХреА рдПрдХ рджреБрд╡рд╛ рд╣реЛрддрд╛ ocfs2+drbd. рдЖрддрд╛ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧреВ рдХреА рддреБрдореНрд╣реА рд╕реЛрд▓реНрдпреВрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рджреЛрди рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рд╕рд╛рдорд╛рдпрд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ рддреНрд╡рд░реАрдд рдХрд╕реЗ рддреИрдирд╛рдд рдХрд░реВ рд╢рдХрддрд╛. рдкрд░рдВрддреБ рдкреНрд░рдердо, рдШрдЯрдХрд╛рдВрдмрджреНрджрд▓ рдереЛрдбреЗрд╕реЗ:

DRBD - рдорд╛рдирдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╛рддреАрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдмреНрд▓реЙрдХреНрд╕рдордзреАрд▓ рд╕рд░реНрд╡реНрд╣рд░ рджрд░рдореНрдпрд╛рди рдбреЗрдЯрд╛рдЪреА рдкреНрд░рддрд┐рдХреГрддреА рдмрдирд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рд╕реНрдЯреЛрд░реЗрдЬ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╣рд╛ рдореБрдЦреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрд╣реЗ.

OCFS2 - рдПрдХ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдЬреА рдЕрдиреЗрдХ рдкреНрд░рдгрд╛рд▓реАрдВрджреНрд╡рд╛рд░реЗ рд╕рдорд╛рди рд╕реНрдЯреЛрд░реЗрдЬрдЪрд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рд╡рд╛рдкрд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╛рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдЖрдгрд┐ FS рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд░реНрдирд▓ рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рдЯреВрд▓реНрд╕ рдЖрд╣реЗ. OCFS2 рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд╡рд│ DRBD рд╡рд░рдЪ рдирд╛рд╣реА рддрд░ iSCSI рд╡рд░ рджреЗрдЦреАрд▓ рдПрдХрд╛рдзрд┐рдХ рдХрдиреЗрдХреНрд╢рдирд╕рд╣ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд рдЖрдореНрд╣реА DRBD рд╡рд╛рдкрд░рддреЛ.

рд╕рд░реНрд╡ рдХреНрд░рд┐рдпрд╛ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡реНрд╣рд░ 18.04 рд╡рд░ рдХрд┐рдорд╛рди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдкрд╛рдпрд░реА 1. DRBD рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛:

рдлрд╛рдЗрд▓ /etc/drbd.d/drbd0.res рдордзреНрдпреЗ рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдмреНрд▓реЙрдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЛ /dev/drbd0:

resource drbd0 {
    syncer { rate 1000M; }
    net {
        allow-two-primaries;
        after-sb-0pri discard-zero-changes;
        after-sb-1pri discard-secondary;
        after-sb-2pri disconnect;
    }
    startup { become-primary-on both; }
    on drbd1 {
        meta-disk internal;
        device /dev/drbd0;
        disk /dev/vdb1;
        address 10.10.10.192:7789;
}
    on drbd2 {
        meta-disk internal;
        device /dev/drbd0;
        disk /dev/vdb1;
        address 10.10.10.193:7789;
}
}

рдореЗрдЯрд╛-рдбрд┐рд╕реНрдХ рдЕрдВрддрд░реНрдЧрдд тАФ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд╛рди рдмреНрд▓реЙрдХ рд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░рд╛
рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ /dev/drbd0 тАФ drbd рд╡реНрд╣реЙрд▓реНрдпреВрдордЪрд╛ рдорд╛рд░реНрдЧ рдореНрд╣рдгреВрди /dev/drbd0 рд╡рд╛рдкрд░рд╛.
рдбрд┐рд╕реНрдХ /dev/vdb1 - /dev/vdb1 рд╡рд╛рдкрд░рд╛
рд╕рдордХреНрд░рдордг { рджрд░ 1000M; } - рдЧрд┐рдЧрд╛рдмрд┐рдЯ рдЪреЕрдиреЗрд▓ рдмрдБрдбрд╡рд┐рдбреНрде рд╡рд╛рдкрд░рд╛
рдкрд░рд╡рд╛рдирдЧреА-рджреЛрди-рдкреНрд░рд╛рдердорд┐рдХ - рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдкрд░реНрдпрд╛рдп рдЬреЛ рджреЛрди рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдмрджрд▓ рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ
after-sb-0pri, after-sb-1pri, after-sb-2pri - рд╕реНрдкреНрд▓рд┐рдЯрдмреНрд░реЗрди рдЖрдврд│рд▓реНрдпрд╛рд╡рд░ рдиреЛрдбрдЪреНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдкрд░реНрдпрд╛рдп. рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓ рджрд╕реНрддрдРрд╡рдЬрд╛рдд рдЖрдврд│реВ рд╢рдХрддрд╛рдд.
рджреЛрдиреНрд╣реАрд╡рд░-рдкреНрд░рд╛рдердорд┐рдХ-рдмрдирдгреЗ тАФ рджреЛрдиреНрд╣реА рдиреЛрдбреНрд╕ рдкреНрд░рд╛рдердорд┐рдХ рд╡рд░ рд╕реЗрдЯ рдХрд░рддреЗ.

рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЖрдордЪреНрдпрд╛рдХрдбреЗ 10 рдЧреАрдЧрд╛рдмрд┐рдЯреНрд╕рдЪреНрдпрд╛ рдереНрд░реВрдкреБрдЯрд╕рд╣ рд╕рдорд░реНрдкрд┐рдд рдЖрднрд╛рд╕реА рдиреЗрдЯрд╡рд░реНрдХрд╕рд╣ рджреЛрди рдкреВрд░реНрдгрдкрдгреЗ рдПрдХрд╕рд╛рд░рдЦреЗ VM рдЖрд╣реЗрдд.

рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рджреЛрди рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕рдЪреА рдиреЗрдЯрд╡рд░реНрдХ рдирд╛рд╡реЗ drbd1 рдЖрдгрд┐ drbd2 рдЖрд╣реЗрдд. рдпреЛрдЧреНрдп рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ /etc/hosts рдордзреАрд▓ рд╣реЛрд╕реНрдЯрдЪреА рдирд╛рд╡реЗ рдЖрдгрд┐ IP рдкрддреНрддреЗ рдЬреБрд│рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

10.10.10.192 drbd1
10.10.10.193 drbd2

рдкрд╛рдпрд░реА 2. рдиреЛрдбреНрд╕ рд╕реЗрдЯ рдХрд░рд╛:

рджреЛрдиреНрд╣реА рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрдореНрд╣реА рдЪрд╛рд▓рд╡рддреЛ:

drbdadm create-md drbd0

drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЫреЛрдЯреНрдпрд╛ рд╡реЗрдм рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ

modprobe drbd
drbdadm up drbd0
cat /proc/drbd

рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рдорд┐рд│рддрд╛рдд:

drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЫреЛрдЯреНрдпрд╛ рд╡реЗрдм рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ

рддреБрдореНрд╣реА рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддрд╛. рдкрд╣рд┐рд▓реНрдпрд╛ рдиреЛрдбрд╡рд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

drbdadm primary --force drbd0

рдЪрд▓рд╛ рд╕реНрдерд┐рддреА рдкрд╛рд╣реВ:

cat /proc/drbd

drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЫреЛрдЯреНрдпрд╛ рд╡реЗрдм рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ

рдЫрд╛рди, рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рд╕реБрд░реВ рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рдЖрдореНрд╣реА рд╢реЗрд╡рдЯрдкрд░реНрдпрдВрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЛ рдЖрдгрд┐ рдЪрд┐рддреНрд░ рдкрд╣рд╛:

drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЫреЛрдЯреНрдпрд╛ рд╡реЗрдм рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ

рдкрд╛рдпрд░реА 3. рджреБрд╕рд▒реНрдпрд╛ рдиреЛрдбрд╡рд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рд╕реБрд░реВ рдХрд░рд╛:

drbdadm primary --force drbd0

рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рдорд┐рд│рддрд╛рдд:

drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЫреЛрдЯреНрдпрд╛ рд╡реЗрдм рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ

рдЖрддрд╛ рдЖрдкрдг рджреЛрди рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реВрди drbd рд╡рд░ рд▓рд┐рд╣реВ рд╢рдХрддреЛ.

рдкрд╛рдпрд░реА 4. ocfs2 рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛.

рдЖрдореНрд╣реА рдЕрдЧрджреА рдХреНрд╖реБрд▓реНрд▓рдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд╛рдкрд░реВ:

cluster:
     node_count = 2
     name = ocfs2cluster

node:
     number = 1
     cluster = ocfs2cluster
     ip_port = 7777
     ip_address = 10.10.10.192
     name = drbd1

node:
     number = 2
     cluster = ocfs2cluster
     ip_port = 7777
     ip_address = 10.10.10.193
     name = drbd2

рддреНрдпрд╛рдд рд▓рд┐рд╣реВрди рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ /etc/ocfs2/cluster.conf рджреЛрдиреНрд╣реА рдиреЛрдбреНрд╕ рд╡рд░.

рдЖрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдиреЛрдбрд╡рд░ drbd0 рд╡рд░ FS рддрдпрд╛рд░ рдХрд░рддреЛ:

mkfs.ocfs2 -L "testVol" /dev/drbd0

рдпреЗрдереЗ рдЖрдореНрд╣реА рдбреАрдлреЙрд▓реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╡рд╛рдкрд░реВрди drbd0 рд╡рд░ testVol рд▓реЗрдмрд▓ рдЕрд╕рд▓реЗрд▓реА рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрд╣реЗ.

drbd+ocfs2 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЫреЛрдЯреНрдпрд╛ рд╡реЗрдм рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдЯреЛрд░реЗрдЬ

/etc/default/o2cb рдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЖрдордЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдкреНрд░рдорд╛рдгреЗ)

O2CB_ENABLED=true 
O2CB_BOOTCLUSTER=ocfs2cluster 

рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛:

o2cb register-cluster ocfs2cluster

рдордЧ рдЖрдореНрд╣реА рдСрдЯреЛрд░рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рд╕рд░реНрд╡ рдпреБрдирд┐рдЯреНрд╕ рдЪрд╛рд▓реВ рдХрд░рддреЛ рдЖрдгрд┐ рдЬреЛрдбрддреЛ:

systemctl enable drbd o2cb ocfs2
systemctl start drbd o2cb ocfs2

рдпрд╛рдкреИрдХреА рдХрд╛рд╣реА рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпреЗрджрд░рдореНрдпрд╛рди рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдЪрд╛рд▓реВ рдЕрд╕рддреАрд▓.

рдкрд╛рдпрд░реА 5. рджреЛрдиреНрд╣реА рдиреЛрдбреНрд╕рд╡рд░ fstab рдордзреНрдпреЗ рдорд╛рдЙрдВрдЯ рдкреЙрдЗрдВрдЯ рдЬреЛрдбрд╛:

/dev/drbd0 /media/shared ocfs2 defaults,noauto,heartbeat=local 0 0

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /media/shared рддреЗ рдЖрдЧрд╛рдК рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдпреЗрдереЗ рдЖрдкрдг noauto рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░рддреЛ, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдлрд╛рдЗрд▓ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╡рд░ рдорд╛рдЙрдВрдЯ рдХреЗрд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА (рдореА systemd рджреНрд╡рд╛рд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдлрд╛рдЗрд▓реНрд╕ рдорд╛рдЙрдВрдЯ рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджреЗрддреЛ) рдЖрдгрд┐ heartbeat=local, рдореНрд╣рдгрдЬреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ рд╣рд╛рд░реНрдЯрдмреАрдЯ рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рдгреЗ. рдЬрд╛рдЧрддрд┐рдХ рд╣реГрджрдпрд╛рдЪрд╛ рдареЛрдХрд╛ рджреЗрдЦреАрд▓ рдЖрд╣реЗ, рдЬреЛ рдореЛрдареНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдЖрд╣реЗ.

рдкреБрдвреЗ рдЖрдкрдг рдорд╛рдЙрдВрдЯ рдХрд░реВ рд╢рдХрддрд╛ /media/shared рдЖрдгрд┐ рд╕рд╛рдордЧреНрд░реА рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рддрдкрд╛рд╕рд╛.

рдЭрд╛рд▓реЗ! рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рд╕рднреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╣ рдХрдореА-рдЕрдзрд┐рдХ рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рд╕рдВрдЪрдпрди рдорд┐рд│рддреЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛