{"id":209666,"date":"2014-01-21T12:40:03","date_gmt":"2014-01-21T08:40:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=209666"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=209666","title":{"rendered":"<span class=\"post_title\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0433\u043e iSCSI-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043d\u0430 Linux, \u0447\u0430\u0441\u0442\u044c 2<\/span>"},"content":{"rendered":"<div class=\"content html_format\">\n<h4>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c<\/h4>\n<p>  \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u043d\u0430\u0447\u0430\u0442\u043e\u0435 <a href=\"http:\/\/habrahabr.ru\/post\/209460\/\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a>.<br \/>  \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 \u043d\u0430 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f DRBD.<br \/>  \u0415\u0441\u043b\u0438 \u043c\u044b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 Primary \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0435\u0440\u0432\u0435\u0440, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0432 <b>\/proc\/drbd<\/b> \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443:  <\/p>\n<pre><code class=\"bash\"># cat \/proc\/drbd version: 8.4.3 (api:1\/proto:86-101) GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@debian-service, 2013-04-30 07:43:49  0: cs:Connected ro:Secondary\/Primary ds:UpToDate\/UpToDate B r-----     ns:0 nr:190397036 dw:190397036 dr:1400144904 al:0 bm:4942 lo:0 pe:0 ua:0 ap:0 ep:1 wo:d oos:0  1: cs:Connected ro:Secondary\/Primary ds:UpToDate\/UpToDate B r-----     ns:0 nr:720487828 dw:720485956 dr:34275816 al:0 bm:3749 lo:468 pe:0 ua:0 ap:0 ep:1 wo:d oos:0 <\/code><\/pre>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u043e\u043b\u0435 \u0442\u0443\u0442 <b>ds:UpToDate\/UpToDate<\/b>, \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435 \u0447\u0442\u043e \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432 secondary \u0440\u0435\u0436\u0438\u043c \u2014 \u0434\u0430\u043b\u044c\u0448\u0435 \u0438\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440:  <\/p>\n<pre><code class=\"bash\"># drbdadm secondary VM_STORAGE_1 # drbdadm secondary VM_STORAGE_2 <\/code><\/pre>\n<p>  <\/p>\n<h4>Pacemaker<\/h4>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0437\u0433 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u043c\u0438, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438.<br \/>  \u0420\u0435\u0441\u0443\u0440\u0441\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e: IP-\u0430\u0434\u0440\u0435\u0441\u0430, \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, DRBD-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b-\u0441\u043b\u0443\u0436\u0431\u044b \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441, \u0447\u0442\u043e \u043c\u043d\u0435 \u0438 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f iSCSI \u0442\u0430\u0440\u0433\u0435\u0442\u0430\u043c\u0438 \u0438 LUN-\u0430\u043c\u0438, \u043e\u0431 \u044d\u0442\u043e\u043c \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c:  <\/p>\n<pre><code class=\"bash\"># apt-get install pacemaker <\/code><\/pre>\n<p>  <\/p>\n<h5>Corosync<\/h5>\n<p>  Pacemaker \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 Corosync \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0451.<\/p>\n<p>  Corosync \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0434\u0430\u043c\u0438 (unicast, multicast, broadcast), \u0438\u043c\u0435\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 RRP (Redundant Ring Protocol), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0443\u0442\u0435\u0439 \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0434\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u043b\u044f \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0438\u0441\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c Split-brain, \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0434\u0430\u043c\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u0435\u0442, \u0438 \u043e\u043d\u0438 \u043e\u0431\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u0447\u0442\u043e \u0441\u043e\u0441\u0435\u0434 \u0443\u043c\u0435\u0440. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u0431\u0435 \u043d\u043e\u0434\u044b \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0442 \u0432 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0440\u0435\u0436\u0438\u043c \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0445\u0430\u043e\u0441 \ud83d\ude42<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439, \u0442\u0430\u043a \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<a name=\"habracut\"><\/a><\/p>\n<h6>\u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435<\/h6>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u044e\u0447 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438:  <\/p>\n<pre><code class=\"bash\"># corosync-keygen <\/code><\/pre>\n<p>  \u0415\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043f\u043e\u0434 \u0438\u043c\u0435\u043d\u0435\u043c <b>\/etc\/corosync\/authkey<\/b> \u043d\u0430 \u043e\u0431\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433, \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u0435\u043d \u043d\u0430 \u043e\u0431\u043e\u0438\u0445 \u043d\u043e\u0434\u0430\u0445:<\/p>\n<p>  <b>\/etc\/corosync\/corosync.conf<\/b>  <\/p>\n<pre><code class=\"bash\">compatibility: none  totem {     version: 2          secauth: on     threads: 3          rrp_mode: active          transport: udpu          interface {         member {             memberaddr: 10.1.0.100         }          member {             memberaddr: 10.1.0.200         }          ringnumber: 0         bindnetaddr: 10.1.0.0         mcastport: 5405         ttl: 1     }          interface {         member {             memberaddr: 192.168.123.100         }          member {             memberaddr: 192.168.123.200         }          ringnumber: 1         bindnetaddr: 192.168.123.0         mcastport: 5407         ttl: 1     } }  amf {     mode: disabled }  service {     ver:       1     name:      pacemaker }  aisexec {     user:   root     group:  root }  logging {     syslog_priority: warning          fileline: off     to_stderr: yes     to_logfile: no     to_syslog: yes     syslog_facility: daemon     debug: off     timestamp: on          logger_subsys {         subsys: AMF         debug: off         tags: enter|leave|trace1|trace2|trace3|trace4|trace6     } } <\/code><\/pre>\n<p>  \u0422\u0443\u0442 \u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0434\u0432\u0430 \u043a\u043e\u043b\u044c\u0446\u0430 \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u2014 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 (\u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0440\u0442\u044b \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438) \u0438 \u0432\u043d\u0435\u0448\u043d\u0435\u0435 (\u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b), \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b <b>udpu<\/b> (UDP Unicast) \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u043e\u0434 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043e\u043b\u044c\u0446\u0435. \u0423 \u043c\u0435\u043d\u044f \u0435\u0449\u0435 \u0431\u044b\u043b\u0430 \u0438\u0434\u0435\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u043e\u0434\u044b \u043d\u0443\u043b\u044c-\u043c\u043e\u0434\u0435\u043c\u043d\u044b\u043c \u043a\u0430\u0431\u0435\u043b\u0435\u043c, \u043f\u043e\u0434\u043d\u044f\u0442\u044c PPP-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438 \u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u0442\u0440\u0435\u0442\u044c\u0435 \u043a\u043e\u043b\u044c\u0446\u043e, \u043d\u043e \u0437\u0434\u0440\u0430\u0432\u044b\u0439 \u0441\u043c\u044b\u0441\u043b \u0432\u043e\u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u0430\u043b \u0447\u0442\u043e \u0438 \u0442\u0430\u043a \u0441\u043e\u0439\u0434\u0451\u0442.<\/p>\n<p>  \u0412\u0441\u0451, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c Pacemaker (\u043e\u043d \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 Corosync \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e).  <\/p>\n<pre><code class=\"bash\"># \/etc\/init.d\/pacemaker start <\/code><\/pre>\n<p>  \u0412\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Pacemaker \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <b>crm<\/b>, \u043f\u0440\u0438\u0447\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u2014 \u043e\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043d\u0430 \u0432\u0441\u0435\u0445 \u043d\u043e\u0434\u0430\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441:  <\/p>\n<pre><code class=\"bash\"># crm status ============ Last updated: Mon Jan 20 15:33:29 2014 Last change: Fri Jan 17 18:30:48 2014 via cibadmin on server1 Stack: openais Current DC: server1 - partition WITHOUT quorum Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff 2 Nodes configured, 2 expected votes 0 Resources configured. ============  Online: [ server1 server2 ] <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a, \u0442\u043e \u0441\u0432\u044f\u0437\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438 \u043d\u043e\u0434\u044b \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 \u0432\u0438\u0434\u044f\u0442.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f SCST.<br \/>  \u042f \u0432 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0448\u0435\u043b \u0438\u0445 \u0433\u0434\u0435-\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0440\u0430\u0445 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430, \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u043e\u0434 \u0441\u0432\u043e\u0438 \u043d\u0443\u0436\u0434\u044b \u0438 \u0432\u044b\u043b\u043e\u0436\u0438\u043b \u043d\u0430 <a href=\"https:\/\/github.com\/blind-oracle\/ocf-scst\">Github<\/a>.<\/p>\n<p>  \u041e\u0442\u0442\u0443\u0434\u0430 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430:  <\/p>\n<ul>\n<li><b>SCSTLun<\/b> \u2014 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432<\/li>\n<li><b>SCSTTarget<\/b> \u2014 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c iSCSI \u0442\u0430\u0440\u0433\u0435\u0442\u043e\u0432<\/li>\n<\/ul>\n<p>  \u042d\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u043e\u0431\u044b\u0447\u043d\u044b\u0435 bash-\u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0439 API Pacemaker.<br \/>  \u041f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432 <b>\/usr\/lib\/ocf\/resource.d\/heartbeat<\/b>, \u0447\u0442\u043e\u0431\u044b \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438\u0445 \u0443\u0432\u0438\u0434\u0435\u043b.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c <b>crm<\/b> \u0438 \u0432\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0435\u0436\u0438\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:  <\/p>\n<pre><code class=\"bash\"># crm crm(live)# configure crm(live)configure# edit <\/code><\/pre>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 (\u043e\u0431\u044b\u0447\u043d\u043e \u2014 nano) \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u0438\u0445 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:  <\/p>\n<pre><code class=\"bash\">node server1 node server2  primitive DRBD_VM_STORAGE_1 ocf:linbit:drbd \\         params drbd_resource=&quot;VM_STORAGE_1&quot; drbdconf=&quot;\/etc\/drbd.conf&quot; \\         op monitor interval=&quot;29&quot; role=&quot;Master&quot; \\         op monitor interval=&quot;31&quot; role=&quot;Slave&quot; primitive DRBD_VM_STORAGE_2 ocf:linbit:drbd \\         params drbd_resource=&quot;VM_STORAGE_2&quot; drbdconf=&quot;\/etc\/drbd.conf&quot; \\         op monitor interval=&quot;29&quot; role=&quot;Master&quot; \\         op monitor interval=&quot;31&quot; role=&quot;Slave&quot;  primitive IP_iSCSI_1_1 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.24.10&quot; cidr_netmask=&quot;24&quot; nic=&quot;int1.24&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_1_2 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.25.10&quot; cidr_netmask=&quot;24&quot; nic=&quot;int2.25&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_1_3 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.26.10&quot; cidr_netmask=&quot;24&quot; nic=&quot;int3.26&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_1_4 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.27.10&quot; cidr_netmask=&quot;24&quot; nic=&quot;int4.27&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_1_5 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.28.10&quot; cidr_netmask=&quot;24&quot; nic=&quot;int5.28&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_1_6 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.29.10&quot; cidr_netmask=&quot;24&quot; nic=&quot;int6.29&quot; \\         op monitor interval=&quot;10s&quot;  primitive IP_iSCSI_2_1 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.24.20&quot; cidr_netmask=&quot;24&quot; nic=&quot;int1.24&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_2_2 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.25.20&quot; cidr_netmask=&quot;24&quot; nic=&quot;int2.25&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_2_3 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.26.20&quot; cidr_netmask=&quot;24&quot; nic=&quot;int3.26&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_2_4 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.27.20&quot; cidr_netmask=&quot;24&quot; nic=&quot;int4.27&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_2_5 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.28.20&quot; cidr_netmask=&quot;24&quot; nic=&quot;int5.28&quot; \\         op monitor interval=&quot;10s&quot; primitive IP_iSCSI_2_6 ocf:heartbeat:IPaddr2 \\         params ip=&quot;10.1.29.20&quot; cidr_netmask=&quot;24&quot; nic=&quot;int6.29&quot; \\         op monitor interval=&quot;10s&quot;  primitive ISCSI_LUN_VM_STORAGE_1 ocf:heartbeat:SCSTLun \\         params iqn=&quot;iqn.2011-04.ru.domain:VM_STORAGE_1&quot; device_name=&quot;VM_STORAGE_1&quot; \\         lun=&quot;0&quot; path=&quot;\/dev\/drbd0&quot; handler=&quot;vdisk_fileio&quot; primitive ISCSI_LUN_VM_STORAGE_2 ocf:heartbeat:SCSTLun \\         params iqn=&quot;iqn.2011-04.ru.domain:VM_STORAGE_2&quot; device_name=&quot;VM_STORAGE_2&quot; \\         lun=&quot;0&quot; path=&quot;\/dev\/drbd1&quot; handler=&quot;vdisk_fileio&quot;  primitive ISCSI_TGT_VM_STORAGE_1 ocf:heartbeat:SCSTTarget \\         params iqn=&quot;iqn.2011-04.ru.domain:VM_STORAGE_1&quot; \\         portals=&quot;10.1.24.10 10.1.25.10 10.1.26.10 10.1.27.10 10.1.28.10 10.1.29.10&quot; \\         tgtoptions=&quot;InitialR2T=No ImmediateData=Yes MaxRecvDataSegmentLength=1048576 MaxXmitDataSegmentLength=1048576 MaxBurstLength=1048576 FirstBurstLength=524284 MaxOutstandingR2T=32 HeaderDigest=CRC32C DataDigest=CRC32C QueuedCommands=32 io_grouping_type=never&quot; \\         op monitor interval=&quot;10s&quot; timeout=&quot;60s&quot; primitive ISCSI_TGT_VM_STORAGE_2 ocf:heartbeat:SCSTTarget \\         params iqn=&quot;iqn.2011-04.ru.domain:VM_STORAGE_2&quot; \\         portals=&quot;10.1.24.20 10.1.25.20 10.1.26.20 10.1.27.20 10.1.28.20 10.1.29.20&quot; \\         tgtoptions=&quot;InitialR2T=No ImmediateData=Yes MaxRecvDataSegmentLength=1048576 MaxXmitDataSegmentLength=1048576 MaxBurstLength=1048576 FirstBurstLength=524284 MaxOutstandingR2T=32 HeaderDigest=CRC32C DataDigest=CRC32C QueuedCommands=32 io_grouping_type=never&quot; \\         op monitor interval=&quot;10s&quot; timeout=&quot;60s&quot;  group GROUP_ISCSI_1 IP_iSCSI_1_1 IP_iSCSI_1_2 IP_iSCSI_1_3 IP_iSCSI_1_4 \\             IP_iSCSI_1_5 IP_iSCSI_1_6 ISCSI_TGT_VM_STORAGE_1 ISCSI_LUN_VM_STORAGE_1 group GROUP_ISCSI_2 IP_iSCSI_2_1 IP_iSCSI_2_2 IP_iSCSI_2_3 IP_iSCSI_2_4 \\             IP_iSCSI_2_5 IP_iSCSI_2_6 ISCSI_TGT_VM_STORAGE_2 ISCSI_LUN_VM_STORAGE_2  ms MS_DRBD_VM_STORAGE_1 DRBD_VM_STORAGE_1 \\         meta master-max=&quot;1&quot; master-node-max=&quot;1&quot; clone-max=&quot;2&quot; clone-node-max=&quot;1&quot; \\         notify=&quot;true&quot; target-role=&quot;Master&quot; ms MS_DRBD_VM_STORAGE_2 DRBD_VM_STORAGE_2 \\         meta master-max=&quot;1&quot; master-node-max=&quot;1&quot; clone-max=&quot;2&quot; clone-node-max=&quot;1&quot; \\         notify=&quot;true&quot; target-role=&quot;Master&quot;  location PREFER-1 MS_DRBD_VM_STORAGE_1 50: server1 location PREFER-2 MS_DRBD_VM_STORAGE_2 50: server2  colocation COLOC_ALL_1 inf: GROUP_ISCSI_1 MS_DRBD_VM_STORAGE_1:Master colocation COLOC_ALL_2 inf: GROUP_ISCSI_2 MS_DRBD_VM_STORAGE_2:Master  order ORDER_ALL_1 inf: MS_DRBD_VM_STORAGE_1:promote GROUP_ISCSI_1:start order ORDER_ALL_2 inf: MS_DRBD_VM_STORAGE_2:promote GROUP_ISCSI_2:start  property $id=&quot;cib-bootstrap-options&quot; \\         dc-version=&quot;1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff&quot; \\         cluster-infrastructure=&quot;openais&quot; \\         expected-quorum-votes=&quot;2&quot; \\         stonith-enabled=&quot;false&quot; \\         no-quorum-policy=&quot;ignore&quot; \\         default-action-timeout=&quot;240&quot; \\         last-lrm-refresh=&quot;1367942459&quot; rsc_defaults $id=&quot;rsc-options&quot; \\         resource-stickiness=&quot;100&quot; <\/code><\/pre>\n<p>  <\/p>\n<h6>\u041e\u0431\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430<\/h6>\n<p>  \u041e\u043d\u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0438\u0437\u0443. \u0418\u0437 \u0432\u0430\u0436\u043d\u044b\u0445 \u0442\u0443\u0442 <b>no-quorum-policy=\u00abignore\u00bb<\/b> \u0438 <b>expected-quorum-votes=\u00ab2\u00bb<\/b> \u2014 \u0443 \u043d\u0430\u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438\u0437 2 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u043a\u0432\u043e\u0440\u0443\u043c\u0430 \u0442\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0443 \u043d\u0438\u043a\u0430\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e.<\/p>\n<h6>\u0420\u0435\u0441\u0443\u0440\u0441\u044b<\/h6>\n<p>  \u041e\u0431\u044b\u0447\u043d\u043e \u0440\u0435\u0441\u0443\u0440\u0441 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0434\u0432\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u2014 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0438\u043b\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d, Started\/Stopped.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <b>ocf:heartbeat:IPaddr2<\/b> \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0441\u043d\u0438\u043c\u0430\u0435\u0442 \u0438\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u0430\u0435\u0442 gratious arp \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f arp-\u0442\u0430\u0431\u043b\u0438\u0446. \u042d\u0442\u043e\u043c\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u0443 \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c IP \u0430\u0434\u0440\u0435\u0441, \u043c\u0430\u0441\u043a\u0443 \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n<p>  \u0415\u0449\u0435 \u0435\u0441\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 DRBD (<b>ocf:linbit:drbd<\/b>), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u0440\u0435\u0436\u0438\u043c\u044b <b>Master\/Slave<\/b>.<br \/>  \u041f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043d\u043e\u0434\u044b \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441 \u0432 \u0440\u0435\u0436\u0438\u043c \u043c\u0430\u0441\u0442\u0435\u0440 \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442. DRBD \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0438\u0437 Secondary \u0432 Primary. \u0414\u043b\u044f \u043d\u0435\u0433\u043e \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0438\u043c\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438 \u043f\u0443\u0442\u044c \u0434\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0430 DRBD (\u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u043f\u043e\u043c\u043d\u044e).<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0443\u0442 \u043d\u0430\u0448\u0438 \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b.<br \/>  \u0414\u043b\u044f <b>ocf:heartbeat:SCSTLun<\/b> \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c <b>IQN<\/b> \u0442\u0430\u0440\u0433\u0435\u0442\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d, <b>\u0438\u043c\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/b>, \u043d\u043e\u043c\u0435\u0440 <b>LUN<\/b>-\u0430 (\u0443 \u0442\u0430\u0440\u0433\u0435\u0442\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c LUN 0, \u0438\u043d\u0430\u0447\u0435 \u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u043d\u043e\u0441\u0438\u0442 \u043a\u0440\u044b\u0448\u0443), <b>\u043f\u0443\u0442\u044c \u0434\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/b> \u0438 <b>\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a<\/b> (handler).<\/p>\n<p>  \u041d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u2014 \u044d\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431, \u043a\u043e\u0442\u043e\u0440\u044b\u043c SCST \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0430\u0448\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c.<\/p>\n<p>  \u0418\u0437 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u044d\u0442\u043e:  <\/p>\n<ul>\n<li><b>disk<\/b> \u2014 \u043f\u043e \u0441\u0443\u0442\u0438 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u044f\u043c\u043e\u0439 \u043f\u0440\u043e\u0431\u0440\u043e\u0441 SCSI \u043a\u043e\u043c\u0430\u043d\u0434 \u043e\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u0430 \u043a SCSI \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443, \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0440\u0435\u0436\u0438\u043c, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c\u0438 SCSI \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442, \u0442.\u043a. \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c DRBD-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e<\/li>\n<li><b>vdisk_blockio<\/b> \u2014 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u0430\u043a \u0431\u043b\u043e\u0447\u043d\u043e\u0435, \u043e\u0431\u0445\u043e\u0434\u044f page-cache \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434<\/li>\n<li><b>vdisk_fileio<\/b> \u2014 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043a\u0430\u043a \u0444\u0430\u0439\u043b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c page-cache \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c, \u0435\u0433\u043e \u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u043c<\/li>\n<\/ul>\n<p>  \u0423 <b>vdisk_fileio<\/b> \u0435\u0441\u0442\u044c \u0432\u0430\u0436\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0432\u043b\u0438\u044f\u044e\u0449\u0438\u0439 \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u2014 <b>nv_cache=1<\/b>, \u043e\u043d \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d \u0436\u0435\u0441\u0442\u043a\u043e \u0432 <b>SCSTLun<\/b>.<br \/>  \u042d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 SCST \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0441\u0431\u0440\u043e\u0441\u0430 \u043a\u044d\u0448\u0430 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u041f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0442.\u043a. \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440 \u0431\u0443\u0434\u0435\u0442 \u0434\u0443\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0430 \u043e\u043d\u0438 \u0435\u0449\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0422\u0430\u043a \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u0445 \u0438 \u0440\u0438\u0441\u043a.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0451\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 <b>ocf:heartbeat:SCSTTarget<\/b>, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c <b>IQN<\/b>, <b>portals<\/b> \u2014 \u044d\u0442\u043e \u0441\u043f\u0438\u0441\u043e\u043a IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u044d\u0442\u043e\u0442 \u0442\u0430\u0440\u0433\u0435\u0442, <b>tgtoptions<\/b> \u2014 \u043e\u043f\u0446\u0438\u0438 iSCSI, \u043f\u0440\u043e \u043d\u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0433\u0434\u0435 \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c.<\/p>\n<p>  \u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b, \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0437\u0430 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432:  <\/p>\n<ul>\n<li><b>group<\/b> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438 \u043a\u0430\u043a \u0441 \u0435\u0434\u0438\u043d\u044b\u043c \u0446\u0435\u043b\u044b\u043c. \u0420\u0435\u0441\u0443\u0440\u0441\u044b \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e<\/li>\n<li><b>location<\/b> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u043d\u043e\u0434\u0435 \u043c\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0445\u043e\u0442\u0438\u043c \u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u043e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441<\/li>\n<li><b>colocation<\/b> \u0437\u0430\u0434\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0434\u0435<\/li>\n<li><b>order<\/b> \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"bash\">crm(live)configure# commit crm(live)configure# exit <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e:  <\/p>\n<pre><code class=\"bash\"># crm status ============ Last updated: Mon Jan 20 17:04:04 2014 Last change: Thu Jul 25 13:59:27 2013 via crm_resource on server1 Stack: openais Current DC: server1 - partition with quorum Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff 2 Nodes configured, 2 expected votes 20 Resources configured. ============  Online: [ server1 server2 ]   Resource Group: GROUP_ISCSI_1      IP_iSCSI_1_1       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_1_2       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_1_3       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_1_4       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_1_5       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_1_6       (ocf::heartbeat:IPaddr2):       Stopped      ISCSI_TGT_VM_STORAGE_1    (ocf::heartbeat:SCSTTarget):    Stopped      ISCSI_LUN_VM_STORAGE_1    (ocf::heartbeat:SCSTLun):       Stopped  Resource Group: GROUP_ISCSI_2      IP_iSCSI_2_1       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_2_2       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_2_3       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_2_4       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_2_5       (ocf::heartbeat:IPaddr2):       Stopped      IP_iSCSI_2_6       (ocf::heartbeat:IPaddr2):       Stopped      ISCSI_TGT_VM_STORAGE_2    (ocf::heartbeat:SCSTTarget):    Stopped      ISCSI_LUN_VM_STORAGE_2    (ocf::heartbeat:SCSTLun):       Stopped  Master\/Slave Set: MS_DRBD_VM_STORAGE_1 [DRBD_VM_STORAGE_1]      Slaves: [ server1 server2 ]  Master\/Slave Set: MS_DRBD_VM_STORAGE_2 [DRBD_VM_STORAGE_2]      Slaves: [ server1 server2 ] <\/code><\/pre>\n<p>  \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438, DRBD \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Slave (Secondary).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c:  <\/p>\n<pre><code class=\"bash\"># crm resource start MS_DRBD_VM_STORAGE_1 # crm resource start MS_DRBD_VM_STORAGE_2 <\/code><\/pre>\n<p>  \u0421\u0442\u0430\u0440\u0442\u0443\u044f \u044d\u0442\u043e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0442.\u043a. \u043e\u043d\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0443 \u043d\u0430\u0441 \u043a\u0430\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 (<b>colocation<\/b>), \u043f\u0440\u0438\u0447\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 (<b>order<\/b>): \u0441\u043d\u0430\u0447\u0430\u043b\u0430 DRBD \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0435\u0439\u0434\u0443\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c Primary, \u0437\u0430\u0442\u0435\u043c \u043f\u043e\u0434\u043d\u0438\u043c\u0443\u0442\u0441\u044f IP-\u0430\u0434\u0440\u0435\u0441\u0430, \u0441\u043e\u0437\u0434\u0430\u0434\u0443\u0442\u0441\u044f LUN-\u044b \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0443\u0442\u0441\u044f iSCSI \u0442\u0430\u0440\u0433\u0435\u0442\u044b.<\/p>\n<p>  \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:  <\/p>\n<pre><code class=\"bash\"># crm status ============ Last updated: Tue Jan 21 11:54:46 2014 Last change: Thu Jul 25 13:59:27 2013 via crm_resource on server1 Stack: openais Current DC: server1 - partition with quorum Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff 2 Nodes configured, 2 expected votes 20 Resources configured. ============  Online: [ server1 server2 ]   Resource Group: GROUP_ISCSI_1      IP_iSCSI_1_1       (ocf::heartbeat:IPaddr2):       Started server1      IP_iSCSI_1_2       (ocf::heartbeat:IPaddr2):       Started server1      IP_iSCSI_1_3       (ocf::heartbeat:IPaddr2):       Started server1      IP_iSCSI_1_4       (ocf::heartbeat:IPaddr2):       Started server1      IP_iSCSI_1_5       (ocf::heartbeat:IPaddr2):       Started server1      IP_iSCSI_1_6       (ocf::heartbeat:IPaddr2):       Started server1      ISCSI_TGT_VM_STORAGE_1    (ocf::heartbeat:SCSTTarget):    Started server1      ISCSI_LUN_VM_STORAGE_1    (ocf::heartbeat:SCSTLun):       Started server1  Resource Group: GROUP_ISCSI_2      IP_iSCSI_2_1       (ocf::heartbeat:IPaddr2):       Started server2      IP_iSCSI_2_2       (ocf::heartbeat:IPaddr2):       Started server2      IP_iSCSI_2_3       (ocf::heartbeat:IPaddr2):       Started server2      IP_iSCSI_2_4       (ocf::heartbeat:IPaddr2):       Started server2      IP_iSCSI_2_5       (ocf::heartbeat:IPaddr2):       Started server2      IP_iSCSI_2_6       (ocf::heartbeat:IPaddr2):       Started server2      ISCSI_TGT_VM_STORAGE_2    (ocf::heartbeat:SCSTTarget):    Started server2      ISCSI_LUN_VM_STORAGE_2    (ocf::heartbeat:SCSTLun):       Started server2  Master\/Slave Set: MS_DRBD_VM_STORAGE_1 [DRBD_VM_STORAGE_1]      Masters: [ server1 ]      Slaves: [ server2 ]  Master\/Slave Set: MS_DRBD_VM_STORAGE_2 [DRBD_VM_STORAGE_2]      Masters: [ server2 ]      Slaves: [ server1 ] <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0442\u0430\u043a, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0435\u0431\u044f \u043f\u043e\u0437\u0434\u0440\u0430\u0432\u0438\u0442\u044c \u2014 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0437\u0430\u043f\u0443\u0449\u0435\u043d!<br \/>  \u041a\u0430\u0436\u0434\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u043a\u0430\u043a \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u043e\u0439 <b>location<\/b>.<\/p>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043b\u043e\u0433 \u044f\u0434\u0440\u0430 \u2014 <b>dmesg<\/b> \u2014 \u0442\u0443\u0434\u0430 DRBD \u0438 SCST \u0432\u044b\u0432\u043e\u0434\u044f\u0442 \u0441\u0432\u043e\u044e \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0443.<\/p>\n<h4>\u041a\u043e\u043d\u0435\u0446 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/h4>\n<p>  \u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439, \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439, \u0447\u0430\u0441\u0442\u0438 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 ESXi \u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u0442\u0438\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u043c.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/209666\/\"> http:\/\/habrahabr.ru\/post\/209666\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">\n<h4>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c<\/h4>\n<p>  \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u043d\u0430\u0447\u0430\u0442\u043e\u0435 <a href=\"http:\/\/habrahabr.ru\/post\/209460\/\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a>.<br \/>  \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 \u043d\u0430 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f DRBD.<br \/>  \u0415\u0441\u043b\u0438 \u043c\u044b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 Primary \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0435\u0440\u0432\u0435\u0440, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0432 <b>\/proc\/drbd<\/b> \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443:  <\/p>\n<pre><code class=\"bash\"># cat \/proc\/drbd version: 8.4.3 (api:1\/proto:86-101) GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@debian-service, 2013-04-30 07:43:49  0: cs:Connected ro:Secondary\/Primary ds:UpToDate\/UpToDate B r-----     ns:0 nr:190397036 dw:190397036 dr:1400144904 al:0 bm:4942 lo:0 pe:0 ua:0 ap:0 ep:1 wo:d oos:0  1: cs:Connected ro:Secondary\/Primary ds:UpToDate\/UpToDate B r-----     ns:0 nr:720487828 dw:720485956 dr:34275816 al:0 bm:3749 lo:468 pe:0 ua:0 ap:0 ep:1 wo:d oos:0 <\/code><\/pre>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u043e\u043b\u0435 \u0442\u0443\u0442 <b>ds:UpToDate\/UpToDate<\/b>, \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435 \u0447\u0442\u043e \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432 secondary \u0440\u0435\u0436\u0438\u043c \u2014 \u0434\u0430\u043b\u044c\u0448\u0435 \u0438\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440:  <\/p>\n<pre><code class=\"bash\"># drbdadm secondary VM_STORAGE_1 # drbdadm secondary VM_STORAGE_2 <\/code><\/pre>\n<p>  <\/p>\n<h4>Pacemaker<\/h4>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0437\u0433 \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u043c\u0438, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438.<br \/>  \u0420\u0435\u0441\u0443\u0440\u0441\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e: IP-\u0430\u0434\u0440\u0435\u0441\u0430, \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, DRBD-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b-\u0441\u043b\u0443\u0436\u0431\u044b \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441, \u0447\u0442\u043e \u043c\u043d\u0435 \u0438 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f iSCSI \u0442\u0430\u0440\u0433\u0435\u0442\u0430\u043c\u0438 \u0438 LUN-\u0430\u043c\u0438, \u043e\u0431 \u044d\u0442\u043e\u043c \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c:  <\/p>\n<pre><code class=\"bash\"># apt-get install pacemaker <\/code><\/pre>\n<p>  <\/p>\n<h5>Corosync<\/h5>\n<p>  Pacemaker \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 Corosync \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0451.<\/p>\n<p>  Corosync \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0434\u0430\u043c\u0438 (unicast, multicast, broadcast), \u0438\u043c\u0435\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 RRP (Redundant Ring Protocol), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0443\u0442\u0435\u0439 \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0434\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u043b\u044f \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0438\u0441\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c Split-brain, \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0434\u0430\u043c\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u0435\u0442, \u0438 \u043e\u043d\u0438 \u043e\u0431\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u0447\u0442\u043e \u0441\u043e\u0441\u0435\u0434 \u0443\u043c\u0435\u0440. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u0431\u0435 \u043d\u043e\u0434\u044b \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0442 \u0432 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0440\u0435\u0436\u0438\u043c \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0445\u0430\u043e\u0441 \ud83d\ude42<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439, \u0442\u0430\u043a \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-209666","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/209666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=209666"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/209666\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=209666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=209666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=209666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}