áĄááááĄááťááşáĄáá˝ááş Linux á áá áşáĄááťááŻá¸ááťááŻá¸áážááˇáş ááťáááşáááşááŹá¸ááąáŹ network-mirrored drives ááťáŹá¸ááž áá˝á˛áˇá ááşá¸ááŹá¸ááąáŹ RAID-1 array áá áşáᯠáááşááŽá¸áááŻááşá áąáááˇáş DRBD 9 distributed replicated block device ááᯠáĄááąáŹááşáĄáááşááąáŹáşáááş patch áĄá áŻáśáá áşááŻááᯠáĄáááŻááźáŻááŹá¸ááŤáááşá driver ááᯠlinux-next branch áá˝ááş áŚá¸á á˝áŹá ááşá¸áááşááźáŽá¸ kernel integration áĄáá˝ááş áĄááźáŽá¸áááşáááşááźá áşáááşá Linux 7.2 á
DRBD áĄááąáŹááşáĄáááşááąáŹáşáážáŻááąáŹááşá¸ááᯠáá˝ááşáá˛áˇááąáŹ áá áážá áşá áá˝ááşáážááá˛áˇááąáŹ ááŹá¸áážááşá¸ 2.6.33 áážá á kernel áá˝ááş áááˇáşáá˝ááşá¸ááŹá¸áááşá kernel ááŻááşáááş DRBD 8 branch ááᯠáĄááźáąááśááŹá¸ááźáŽá¸ áááá ááŻáážá áşáá˝ááş áá˝ááşáážááá˛áˇááąáŹ DRBD 9 branch áážááˇáş ááááááŹááŹáá˝áŹááźáŹá¸ááźáŽá¸ protocol level áá˝ááş ááááŹááááźá áşááŤá ááááşáĄááąááźááˇáş DRBD 9 áááş core kernel module áážááˇáş áááŻááşááŽáážáŻááážáááąáŹ ááŽá¸ááźáŹá¸ external module áĄááźá áş ááŽáá˝ááşáá˛áˇáááşá kernel á DRBD áĄááąáŹááşáĄáááşááąáŹáşáážáŻááᯠááŽá¸ááźáŹá¸á Ꭰááááşá¸ááááşá¸ááŹá¸ááźáŽá¸ áááşáážá DRBD codebase áááş áá áážá áşááž áá áážá áşáĄáá ááąáŹááşááťááťááşáá˛áˇáááşá áĄáááŻááźáŻááŹá¸ááąáŹ patch ááťáŹá¸ááᯠá¤áá˝áŹáááťááşááᯠááźááˇáşáááşá¸áááş ááŽáááŻááşá¸ááŻááşááŹá¸áááşá
DRBD áááş áá áşááŻáááşá¸ááąáŹ áĄáážáŹá¸-ááśáááŻááşáááşáážáááąáŹ áááŻáážáąáŹááşáážáŻáĄááźá áş áĄá áŻáĄá ááşá¸áááááŻááşááşááťáŹá¸ááᯠááąáŤááşá¸á ááşáááŻááşá áąááŤáááşá áĄáááŽááąá¸áážááşá¸ááťáŹá¸áážááˇáş á áá áşáĄáá˝ááşá áááŻáááŻáˇááąáŹ áááŻáážáąáŹááşáážáŻáááş á áá áşáĄáŹá¸ááŻáśá¸áĄáá˝ááş áá°ááŽááąáŹ ááááşáááŻáˇááááááŹáá áşááŻáážááˇáş áá°áááşá DRBD áááŻáĄááŻáśá¸ááźáŻááąáŹáĄááŤá á ááşáá˝ááşá¸áá áşááşááŻááşááąáŹááşáážáŻááťáŹá¸áĄáŹá¸ááŻáśá¸ááᯠáĄááźáŹá¸ node ááťáŹá¸áááŻáˇ ááąá¸áááŻáˇááźáŽá¸ áĄááźáŹá¸á ááşááťáŹá¸ááá áşááťáŹá¸áážááˇáş áááşáá°ááźáŻááŤáááşá node áá áşááŻááž áĄáááşáááźáąááŤáá áááŻáážáąáŹááşáážáŻáááş ááťááşáážáááąáŹ node ááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻá áĄáááŻáĄááťáąáŹááş áááşáááşáááşáááşááąáááşááźá áşááŤáááşá ááĄáąáŹááşááźááşááąáŹ node áááážááááŻááşáážáŻááᯠááźááşáááşááá°ááąáŹáĄááŤá áááşá¸ááĄááźáąáĄááąáááş áĄáááŻáĄááťáąáŹááş ááąáŹááşááŻáśá¸ááąáŤáşááąáŹááşáážááá˝áŹá¸áááşááźá áşáááşá
áááŻáážáąáŹááşáážáŻááᯠáá˝á˛áˇá ááşá¸áááˇáş cluster áá˝ááş ááąááá˝ááşá¸áá˝ááşáááşáážááˇáş ááááŽáááşáĄááąáĄááŹá¸áĄá ááťáśáˇáážáśáˇááąááąáŹ ááąááŹáážá áşááŻááŻáśá¸áá˝ááş áááşáážáááąáŹ node áá ááŻáĄáá ááŤáááşáááŻááşáááşá ááąááŹá ááşááŹááťáŹá¸áááŻáá˛áˇáááŻáˇááąáŹ ááźááˇáşááąááŹá¸ááąáŹ áááŻáážáąáŹááşáážáŻá áá áşááťáŹá¸áá˝ááş áááşáá°ááźáŻááźááşá¸ááᯠmesh network áá˝ááş ááŻááşááąáŹááşáááşânode ááž node áááŻáˇ data á áŽá¸áááşá¸áážáŻá Node replication ááᯠsynchronously áááŻáˇáááŻááş asynchronously ááŻááşááąáŹááşáááŻááşáááşá áĽáááŹáĄáŹá¸ááźááˇáşá ááąááá˝ááşá¸áá˝ááş host ááŻááşááŹá¸ááąáŹ node ááťáŹá¸áááş synchronous replication ááᯠáĄááŻáśá¸ááźáŻáááŻááşááźáŽá¸ remote site ááťáŹá¸áážá node ááťáŹá¸áááş ááąáŹááşáááş traffic compression áážááˇáş encryption ááźááˇáş asynchronous replication ááᯠáĄááŻáśá¸ááźáŻáááŻááşáááşá
DRBD 9 branch ááᯠtransport layer áá˛áˇ abstraction áá˛áˇ áá˝á˛ááźáŹá¸ááŹá¸ááźáŽá¸á áĄááąáŤáşáááą communication channel áá˝áąááᯠimplement ááŻááşááŻáśááŹáááᲠáĄááŻáśá¸ááťáááŻááşáĄáąáŹááş ááŻááşááŹá¸ááŤáááşá TCP/IP, ááŤááąáááˇáş RDMA/Infiniband áááŻáááşá¸ áĄááŻáśá¸ááźáŻááŤáááşá áááŻá¸áᏠIP áá˝ááşáááşááąáŤáşáážáŹ ááŻááşááąáŹááşááŹáá˛áˇ áážááŻááşá¸áážááşáááş RDMA (Remote Direct Memory Access) ááᯠáĄááŻáśá¸ááźáŻááźáŽá¸ áááźáŹá¸áá˝ááşááťá°ááŹáá˛áˇ RAM ááᯠáááŻááşáááŻááşáááşááąáŹááşáá˝ááˇáşááąá¸ááźááşá¸á CPU load ááᯠ50% ááťážáąáŹáˇááťááąá¸ááąááťáááşáážáŹ áááášáá°áá°á¸ááźááşá¸á
á˝ááşá¸ááąáŹááşáááşááᯠáážá
áşááááŻá¸á
áąááŤáááşá áááşáá°ááźáŻááŹá¸áá˛áˇ áááŻáážáąáŹááşáážáŻáá˛áˇ áĄááťáŹá¸ááŻáśá¸áĄáá˝ááşáĄá
áŹá¸ááᯠnode áá ááŻáĄáá áááŻá¸ááźážááˇáşááŹá¸ááŤáááşá DRBD 9 áážáŹ ááźáŻááźááşááŹá¸áá˛áˇ node resynchronization logicá ááźááşáááşááŽáááŻááşá¸ááŻááşááŹá¸áá˛áˇ locking mechanismá network namespace áá˝áąáĄáá˝ááş ááśáˇáááŻá¸áážáŻáááşáááˇáşááźááşá¸á activity áĄááąáŤáşáĄááźáąááśááźáŽá¸ automatic node status adjustment áá˛áˇ two-phase commits áá˛áˇ non-blocking update propagation áĄáá˝ááş ááśáˇáááŻá¸áážáŻáááŻáˇáááşá¸ ááŤáááşááŤáááşá 
source: opennet.ru
