{"id":253125,"date":"2015-03-16T11:36:09","date_gmt":"2015-03-16T07:36:09","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=253125"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=253125","title":{"rendered":"\u0411\u044e\u0434\u0436\u0435\u0442\u043d\u043e\u0435 SAN-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043d\u0430 LSI Syncro, \u0447\u0430\u0441\u0442\u044c 1"},"content":{"rendered":"<p>     \t<img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/fb4\/986\/ac7\/fb4986ac7f1d4dfe98c76576c3f28264.jpg\"\/><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0441\u0432\u043e\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/209460\/\">\u0440\u0435\u0434\u043a\u0438\u0435<\/a> <a href=\"http:\/\/habrahabr.ru\/post\/209666\/\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a> \u043d\u0430 \u0442\u0435\u043c\u0443 \u00ab\u043a\u0430\u043a \u043d\u0435 \u043f\u043b\u0430\u0442\u0438\u0442\u044c HP\/EMC\/IBM \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u0438\u043b\u043e-(\u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043c\u0435\u0433\u0430-) \u0434\u043e\u043b\u043b\u0430\u0440\u044b \u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0432\u043e\u0451 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043d\u0435 \u0445\u0443\u0436\u0435\u00bb. \u041f\u0440\u043e\u0448\u043b\u044b\u0439 \u0446\u0438\u043a\u043b \u044f \u0434\u043e \u043f\u043e\u0431\u0435\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0446\u0430 \u043d\u0435 \u0434\u043e\u0432\u0451\u043b, \u043d\u043e 90% \u043c\u044b\u0441\u043b\u0435\u0439 \u0432\u0441\u0451 \u0436\u0435 \u043e\u0444\u043e\u0440\u043c\u0438\u043b \u0432 \u0442\u0435\u043a\u0441\u0442.<\/p>\n<p>  \u041d\u0430\u0448\u0435\u0439 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0446\u0435\u043b\u044c\u044e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0435 \u00abAll-Flash\u00bb (\u0442\u043e \u0435\u0441\u0442\u044c \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 SSD, \u0431\u0435\u0437 \u0436\u0435\u0441\u0442\u043a\u0438\u0445 \u0434\u0438\u0441\u043a\u043e\u0432, \u0445\u043e\u0442\u044f \u044d\u0442\u043e \u0438 \u043d\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e) \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u043d\u0443\u0436\u0434 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 vSphere, \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0434\u0435\u0448\u0435\u0432\u043b\u0435 \u0431\u0440\u0435\u043d\u0434\u043e\u0432\u044b\u0445 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432 \u0438 \u0441 \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e Fibre Channel, \u043d\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c iSCSI, FCoE \u0438\u043b\u0438 \u0434\u0430\u0436\u0435, \u043e \u0443\u0436\u0430\u0441, Infiniband.<\/p>\n<h2>Syncro<\/h2>\n<p>  \u041a\u0430\u043a \u044f\u0441\u043d\u043e \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0431\u043e\u0433\u043e\u0434\u0435\u043b\u044c\u043d\u0438 \u0441\u0442\u0430\u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <b>Syncro CS<\/b> \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <b>LSI<\/b> (\u043d\u044b\u043d\u0435 Avago).<\/p>\n<p>  \u0427\u0442\u043e \u0436\u0435 \u043e\u043d\u043e \u0442\u0430\u043a\u043e\u0435 \u0435\u0441\u0442\u044c \u0438 \u0447\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e?<\/p>\n<p>  \u041f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 LSI 9286-8e (\u043b\u0438\u0431\u043e 9271-8i, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u044b \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u044b) \u0438 \u0434\u0432\u0443\u0445 \u0441\u0443\u043f\u0435\u0440\u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f. \u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u044b\u0448\u0435 \u0446\u0435\u043d\u044b \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 \u0431\u0435\u0437 HA-\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u041d\u043e, \u0435\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 DRBD, \u0442\u043e \u044d\u0442\u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0441 \u043b\u0438\u0445\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u043c\u0435\u0442\u044c \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u0439.<\/p>\n<p>  \u041d\u043e \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0435\u0439, \u044d\u0442\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u0431\u0443\u0434\u0443\u0447\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043a \u043e\u0434\u043d\u043e\u0439 SAS-\u0441\u0435\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u043a\u043e\u0440\u0437\u0438\u043d\u0435 \u0441 \u044d\u043a\u0441\u043f\u0430\u043d\u0434\u0435\u0440\u0430\u043c\u0438) \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0451 \u0441\u0432\u044f\u0437\u044c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0441 \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0432\u043e\u0442 \u0447\u0435\u043c:  <\/p>\n<ul>\n<li>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c RAID-\u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445  <\/li>\n<li>\u041e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432: \u043f\u0440\u0438 \u0441\u043c\u0435\u0440\u0442\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 (\u0438\u043b\u0438 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430) \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c I\/O<\/li>\n<\/ul>\n<p>  <a name=\"habracut\"><\/a>\u0427\u0435\u0440\u0435\u0437 SAS-\u0441\u0435\u0442\u044c \u044d\u0442\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u044e\u0442 \u0441\u0432\u043e\u0438 \u043a\u0435\u0448\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 (\u0442.\u043d. cache coherency), \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f Heartbeat-\u0430\u043c\u0438, \u0441\u043e\u043e\u0431\u0449\u0430\u044f \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 \u0447\u0442\u043e \u0436\u0438\u0432\u044b-\u0437\u0434\u043e\u0440\u043e\u0432\u044b, \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>  \u0423 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0432\u044b\u044f\u0441\u043d\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u043a <s>\u043f\u043e\u0442\u043e\u043c \u0438 \u043a\u0440\u043e\u0432\u044c\u044e<\/s> \u043e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u0443\u0442\u0451\u043c, \u0442\u0430\u043a \u0438 \u0432\u0434\u0443\u043c\u0447\u0438\u0432\u044b\u043c \u0447\u0442\u0435\u043d\u0438\u0435\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438:  <\/p>\n<ul>\n<li>\u041f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u043d\u0430\u0442\u0443\u0440\u044b \u0440\u0435\u0448\u0435\u043d\u0438\u044f, LSI Syncro \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 <b>\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0443\u0445\u043f\u043e\u0440\u0442\u043e\u0432\u044b\u0435 SAS \u0434\u0438\u0441\u043a\u0438<\/b>. \u0422\u0430\u043a \u0447\u0442\u043e \u043d\u0438\u043a\u0430\u043a\u0438\u0445 SATA SSD, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0447\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430.\n<\/li>\n<li>\u041a\u0430\u043a \u044f \u043f\u043e\u043d\u044f\u043b, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 96 SAS-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u0439. \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0449\u0451 \u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442 \u0444\u0440\u0430\u0437\u0430 <i>Maximum of 120 dual-ported SAS devices in the HA storage domain<\/i>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0442 <i>Up to 96 ea 6G SAS and\/or NearLine-SAS dual-ported HDDs and SSDs<\/i> \u0434\u0432\u0443\u043c\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u043c\u0438 \u0432\u044b\u0448\u0435 \u0442\u0430\u043c \u0436\u0435. \u0422\u0430\u043a \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e-\u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0443.\n<\/li>\n<li>\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0435\u0433\u043e \u0445\u043e\u0437\u044f\u0438\u043d\u043e\u043c \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0441\u0435\u0440\u0432\u0435\u0440 \u0433\u0434\u0435 \u043e\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0440\u043e\u043b\u044c \u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043a\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443.\n<\/li>\n<li>\u041f\u043e\u0441\u043b\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0440\u043e\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0440\u043e\u043b\u044c \u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0435\u043c\u0443 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f, \u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0443 \u0432\u0442\u043e\u0440\u043e\u0433\u043e.\n<\/li>\n<li>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c <b>I\/O Shipping<\/b>: \u043f\u0440\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0435 I\/O-\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u043e\u0437\u044f\u0438\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u043e\u043d \u043f\u0435\u0440\u0435\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443-\u0445\u043e\u0437\u044f\u0438\u043d\u0443 \u043f\u043e SAS-\u0448\u0438\u043d\u0435, \u0442\u043e\u0442 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e.\n<\/li>\n<li>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u0448\u0435\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043d\u0438\u0436\u0435 (\u043f\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u2014 \u0432 2 \u0440\u0430\u0437\u0430, \u043f\u043e IOPS\u0430\u043c \u2014 \u0432 7(!) \u0440\u0430\u0437) \u0447\u0435\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430-\u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430.\n<\/li>\n<li>\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440-\u0445\u043e\u0437\u044f\u0438\u043d \u0434\u043e\u0431\u0440\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c \u0432\u0442\u043e\u0440\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443, \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u043e. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0442\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u043c\u044f\u0433\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 (Controlled failover) \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0432 \u043b\u043e\u0433\u0430\u0445 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432\u0438\u0434\u043d\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u0435\u0442 \u043e \u0441\u0432\u043e\u0451\u043c \u0440\u0435\u0431\u0443\u0442\u0435 \u0438 \u043f\u0440\u043e\u0441\u0438\u0442 \u0437\u0430\u0431\u0440\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432\u044b. LSI \u0447\u0442\u043e-\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u0435\u0449\u0430\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0432\u043e\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u0430 \u043f\u043e\u043a\u0430\u2026 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0445\u0430\u0440\u0434\u043a\u043e\u0440.\n<\/li>\n<li>\u041e\u0421 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u0443\u0434\u0430 \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u043e\u0434\u0447\u0438\u043d\u0451\u043d\u043d\u044b\u0439 (\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438) \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0432\u0438\u0434\u0438\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430-\u0445\u043e\u0437\u044f\u0438\u043d\u0430, \u043d\u043e \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c (StorCLI, MegaCLI, &#8230;) \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 (\u0438 \u0434\u0438\u0441\u043a\u043e\u0432, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0432 \u044d\u0442\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u0445) \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443\u0442. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u0442 \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443, \u0442\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0438 \u0434\u0438\u0441\u043a\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0432 \u0432\u044b\u0432\u043e\u0434\u0435 \u0443\u0442\u0438\u043b\u0438\u0442 \u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c<\/li>\n<\/ul>\n<p>  <\/p>\n<h4>ALUA<\/h4>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c \u0443 \u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u0438 \u043f\u043e\u0434\u0447\u0438\u043d\u0451\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0440\u0430\u0437\u043d\u0430\u044f, \u0442\u043e \u043d\u0430\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0441 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u043e\u0439 ALUA, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0438 \u0431\u044b\u043b\u0430 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d\u0430. \u0422\u0430\u043c \u043c\u043d\u043e\u0433\u043e \u0432\u0441\u044f\u043a\u0438\u0445 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439, \u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0441 \u0441\u043c\u044b\u0441\u043b \u0435\u0451 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0447\u0430\u0441\u0442\u044c \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0430 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u0445 \u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u0430\u043a <b>Optimized<\/b> (\u0442.\u0435. \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e), \u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u0430\u043a <b>Unoptimized<\/b> (\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0435). \u0412\u0441\u0435 \u044d\u0442\u0438 \u043f\u043e\u0440\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0436\u0438\u0432\u044b\u0445 \u043f\u0443\u0442\u0435\u0439 \u0434\u043e Optimized \u043f\u043e\u0440\u0442\u043e\u0432 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0437\u0430\u043f\u0430\u0441\u0435. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0432\u0441\u0435 Optimized \u043f\u043e\u0440\u0442\u044b \u043e\u0442\u043a\u0430\u0436\u0443\u0442, \u0442\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440 (ESXi \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435), \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u0432, \u043f\u0443\u0441\u0442\u0438\u0442 I\/O \u043f\u043e Unoptimized \u043f\u043e\u0440\u0442\u0430\u043c.<\/p>\n<p>  \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f VMWare ESXi \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/caa\/b0e\/4a8\/caab0e4a80c84d1bb5287a6d4aaf11d6.png\"\/><\/p>\n<p>  \u041f\u0435\u0440\u0432\u0430\u044f \u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0443\u0442\u0435\u0439 \u0432\u0435\u0434\u0451\u0442 \u043d\u0430\u0441 \u043a \u043f\u043e\u0434\u0447\u0438\u043d\u0451\u043d\u043d\u043e\u043c\u0443 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0443, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u0442\u0440\u043e\u0439\u043a\u0430 \u2014 \u043a \u0433\u043b\u0430\u0432\u043d\u043e\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c I\/O \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 ALUA, \u0442\u043e I\/O \u0437\u0430\u043f\u0440\u043e\u0441\u044b (\u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Round-Robin) \u0448\u043b\u0438 \u0431\u044b \u043d\u0430 \u043e\u0431\u0430 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u0431\u044b \u043a \u043d\u0435\u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u043f\u043e \u0441\u0443\u0442\u0438 \u0443\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0447\u0438\u043d\u0451\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430.<\/p>\n<p>  <b>Achtung!<\/b><br \/>  \u041c\u043d\u043e\u0433\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u0441 SAN (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u2014 Microsoft Cluster Services), \u043e\u043f\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043d\u0430 SCSI Persistent Reservations, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c LUN \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0441 \u043d\u0438\u043c \u044d\u043a\u0441\u043a\u043b\u044e\u0437\u0438\u0432\u043d\u043e \u0432\u0441\u044f\u043a\u0438\u0435 \u043d\u0435\u043f\u043e\u0442\u0440\u0435\u0431\u0441\u0442\u0432\u0430. \u0422\u0430\u043a \u0432\u043e\u0442, \u044d\u0442\u0438 \u0441\u0430\u043c\u044b\u0435 SCSI PR <b>\u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0435\u043f\u043b\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440<\/b>.<\/p>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430 LUN \u0447\u0435\u0440\u0435\u0437 \u043f\u0443\u0442\u044c, \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u0443\u0442\u044c, \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u044d\u0442\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0432\u0438\u0434\u043d\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Round Robin \u044d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0443\u0442\u0438 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0438 \u0447\u0435\u0440\u0435\u0437 \u043a\u0430\u043a\u043e\u0439 \u043f\u0443\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 VMWare ESXi \u044d\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043d\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0442\u0430\u043a \u043a\u0430\u043a \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 VMFS5 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f SCSI PR, \u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0438\u0445 \u0438\u0434\u0451\u0442 \u0432 \u0445\u043e\u0434 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f Atomic-Test-and-Set (\u043a\u043e\u0442\u043e\u0440\u0430\u044f, \u0432\u043f\u0440\u043e\u0447\u0435\u043c, \u0442\u043e\u0436\u0435 \u043d\u0435 \u0440\u0435\u043f\u043b\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u043d\u043e \u0437\u0430\u0442\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043d\u0430 LUN\u0435 \u0438 \u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0430 \u043d\u0435 \u0432\u0435\u0441\u044c LUN \u0446\u0435\u043b\u0438\u043a\u043e\u043c), \u0434\u0430 \u0438 ALUA \u0434\u043e\u043b\u0436\u0435\u043d \u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0442\u044c ESXi \u0447\u0442\u043e\u0431\u044b \u0442\u043e\u0442 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u0443\u0442\u0438 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u043e\u043a\u0430 \u0436\u0438\u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439.<\/p>\n<p>  \u0415\u0441\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 SCST, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044e SCSI PR, \u043d\u043e \u044f \u0438\u0445 \u043d\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b. \u0418, \u043f\u043e \u0441\u043b\u0443\u0445\u0430\u043c, \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043a\u043e\u0440\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u043e \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0438.<\/p>\n<p>  \u041b\u0430\u0434\u043d\u043e, \u0441 \u0442\u0435\u043e\u0440\u0438\u0435\u0439 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.<\/p>\n<h2>Hard &#038; Soft<\/h2>\n<p>  <\/p>\n<h3>\u0416\u0435\u043b\u0435\u0437\u043e<\/h3>\n<p>  \u0421\u0435\u0440\u0432\u0435\u0440\u044b-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b:  <\/p>\n<ul>\n<li>\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 <a href=\"http:\/\/www.lsi.com\/products\/shared-das\/pages\/syncro-cs-9286-8e.aspx\">LSI Syncro CS 9286-8e<\/a> <b>x 1<\/b><br \/>  \u041d\u044b\u043d\u0447\u0435 \u0443\u0436\u0435 <a href=\"http:\/\/www.lsi.com\/products\/shared-das\/pages\/syncro-cs-9380-8e.aspx\">\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b<\/a> Syncro \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 12Gb\/s, \u043d\u043e \u044f \u0438\u0445 \u043d\u0435 \u0449\u0443\u043f\u0430\u043b. \u041f\u043b\u044e\u0441, \u0442\u0430\u043c \u0435\u0449\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0440\u0435\u0437\u0430\u043d\u044b \u0444\u0438\u0447\u0438 MegaRAID (\u0443\u0431\u0440\u0430\u043d Cachecade \u0441\u043e\u0432\u0441\u0435\u043c, \u0430 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u044b\u043b, \u0445\u043e\u0442\u044c \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0442\u0435\u043d\u0438\u044f).\n<\/li>\n<li>\u041a\u043e\u0440\u043f\u0443\u0441\u0430 <a href=\"http:\/\/www.supermicro.nl\/products\/chassis\/2U\/216\/SC216BE26-R1K28LP.cfm\">Supermicro SC216 2U<\/a> <b>x 2<\/b><br \/>  \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 1U, \u043d\u043e \u0443 \u043d\u0438\u0445 \u043e\u0447\u0435\u043d\u044c \u0442\u0443\u0433\u043e \u0441\u043e \u0441\u043b\u043e\u0442\u0430\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0434\u0430 \u0438 \u043c\u0435\u0441\u0442\u043e \u0432 \u0441\u0442\u043e\u0439\u043a\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043e\u0441\u043e\u0431\u043e \u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e.\n<\/li>\n<li>\u041c\u041f <a href=\"http:\/\/www.supermicro.com\/products\/motherboard\/xeon\/c600\/x10srl-f.cfm\">Supermicro X10SRL-F<\/a> <b>x 2<\/b><br \/>  \u0412\u044b\u0431\u0440\u0430\u043d\u0430 \u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u043e\u0442\u043e\u0432 PCI-E.\n<\/li>\n<li>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 <a href=\"http:\/\/ark.intel.com\/products\/82765\/Intel-Xeon-Processor-E5-1650-v3-15M-Cache-3_50-GHz\">Intel Xeon E5-1650 v3<\/a> <b>x 2<\/b><br \/>  \u0412\u044b\u0431\u0440\u0430\u043d \u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443.\n<\/li>\n<li>\u041f\u0430\u043c\u044f\u0442\u044c DDR4-2133 16GB ECC Registered <b>x 8<\/b><br \/>  \u041f\u0430\u043c\u044f\u0442\u044c \u043d\u0430\u0448\u0438\u043c \u0436\u0435\u043b\u0435\u0437\u043a\u0430\u043c \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f (\u0445\u043e\u0442\u044f, \u0435\u0441\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0440\u0437\u0438\u043d\u0443 \u0441 \u0436\u0435\u0441\u0442\u043a\u0438\u043c\u0438 \u0434\u0438\u0441\u043a\u0430\u043c\u0438, \u0442\u043e \u043a\u0430\u043a \u043a\u0435\u0448 \u0447\u0442\u0435\u043d\u0438\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0431\u0440\u0430\u0442\u044c \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435, \u043d\u043e \u0441 \u0443\u0447\u0435\u0442\u043e\u043c 4-\u0445 \u043a\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0435\u0440\u043a\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438.\n<\/li>\n<li>\u0414\u0432\u0443\u0445\u043f\u043e\u0440\u0442\u043e\u0432\u044b\u0435 Fibre Channel \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b <a href=\"http:\/\/www.qlogic.com\/Resources\/Documents\/DataSheets\/Adapters\/datasheet_2500_Series_Adapter.pdf\">QLogic 2562<\/a> <b>x 4<\/b><br \/>  \u041d\u0430 \u044d\u0442\u0443 \u043d\u043e\u043c\u0438\u043d\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u043a\u0430\u0441\u0442\u0438\u043d\u0433 \u0438 16\u0413\u0431\u0438\u0442\u043d\u044b\u0435 QLogic 2672, \u043d\u043e \u0442\u0430\u043c \u0432\u044b\u043b\u0435\u0437\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c, \u0434\u0430 \u0438 16\u0413\u0431\u0438\u0442 \u0441\u0432\u0438\u0447\u0435\u0439 \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0430 \u0432\u043e\u043b\u0448\u0435\u0431\u043d\u0430\u044f \u043f\u0430\u043b\u043e\u0447\u043a\u0430 \u0438 \u043e\u043d\u0438, \u0434\u043e \u043f\u043e\u0440\u044b \u0434\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0438\u0441\u044c \u0432 \u0434\u0432\u0443\u0445\u043f\u043e\u0440\u0442\u043e\u0432\u044b\u0435 10\u0413\u0431\u0438\u0442 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u0430\u0440\u0442\u044b \u0441 \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c\u044e\u2026 \ud83d\ude42\n<\/li>\n<li><a href=\"http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/product-briefs\/ssd-dc-s3500-brief.pdf\">Intel DC S3500 80Gb<\/a> <b>x 4<\/b><br \/>  \u041f\u043e \u043f\u0430\u0440\u0435 \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 (RAID1) \u043f\u043e\u0434 \u041e\u0421 (\u0434\u0430, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430 USB \u0444\u043b\u0435\u0448\u043a\u0438 \u0438\u043b\u0438 SATA DOM, \u043d\u043e \u0443 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043b\u043e\u0445\u0430\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u044c (\u0438\u043d\u043e\u0433\u0434\u0430 \u043e\u0442\u0432\u0430\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f), \u0430 \u0443 \u0432\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Hot Swap).<\/li>\n<\/ul>\n<p>  \u0414\u0438\u0441\u043a\u043e\u0432\u0430\u044f \u043f\u043e\u043b\u043a\u0430:  <\/p>\n<ul>\n<li>\u041a\u043e\u0440\u043f\u0443\u0441 \u043d\u0430 72 2.5&quot; \u0434\u0438\u0441\u043a\u0430 <a href=\"http:\/\/www.supermicro.com\/products\/chassis\/4U\/417\/SC417E26-R1400LP.cfm\">Supermicro SC417E26<\/a> <b>x 1<\/b><br \/>  \u0412\u043d\u0443\u0442\u0440\u0438 \u0438\u043c\u0435\u0435\u0442 \u0442\u0440\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0445 \u0431\u044d\u043a\u043f\u043b\u0435\u0439\u043d\u0430 \u043d\u0430 24 \u0434\u0438\u0441\u043a\u0430 \u0441\u043e \u0434\u0432\u043e\u0439\u043d\u044b\u043c\u0438 \u044d\u043a\u0441\u043f\u0430\u043d\u0434\u0435\u0440\u0430\u043c\u0438 \u0434\u043b\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438. \u0423 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u043d\u0441\u0442\u0440\u0443\u043e\u0437\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u2014 <a href=\"http:\/\/www.supermicro.com\/products\/chassis\/4U\/417\/SC417E16-RJBOD1.cfm\">SC417E16-RJBOD1<\/a> \u2014 \u043d\u0430 88 \u0434\u0438\u0441\u043a\u043e\u0432, \u043d\u043e \u0442\u0430\u043c \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u044d\u043a\u0441\u043f\u0430\u043d\u0434\u0435\u0440\u044b, \u0447\u0442\u043e \u043f\u043b\u043e\u0445\u043e \u0441\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u0438, \u0434\u0430 \u0438 \u0441\u043b\u043e\u0442\u043e\u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043c\u0430\u043b\u043e. \u0410 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e, \u043f\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u043c\u0443, \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0442\u0440\u0438 (\u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043b\u0430\u043d\u043e\u043a \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 SAS \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u2014 \u0434\u0432\u0435 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c \u0438 \u043e\u0434\u043d\u0430 \u0434\u043b\u044f \u043a\u0430\u0441\u043a\u0430\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0440\u0437\u0438\u043d).\n<\/li>\n<li>\u0422\u0432\u0435\u0440\u0434\u043e\u0442\u0435\u043b\u044c\u043d\u044b\u0435 SAS \u0434\u0438\u0441\u043a\u0438 \u043d\u0430 400\u0413\u0431\u0430\u0439\u0442 <a href=\"http:\/\/www.hgst.com\/tech\/techlib.nsf\/techdocs\/7575BD5A8DCD2D0488257C41000587A0\/$file\/s842-SAS-SSD-DS.pdf\">Hitachi S842E400M2<\/a> <b>x 48<\/b><br \/>  \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0437\u0430\u043a\u0443\u043f\u043a\u0438 \u044d\u0442\u043e \u0431\u044b\u043b\u0438 \u043e\u0434\u043d\u0438 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0445 \u0438 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u0438\u0445 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 (\u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 Syncro). \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043e\u0431\u0435\u0449\u0430\u0435\u0442 \u0438\u0437\u043d\u043e\u0441\u043e\u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u044c 30 \u041f\u0435\u0442\u0430\u0431\u0430\u0439\u0442 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u043b\u0438 40 \u043f\u043e\u043b\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0434\u0435\u043d\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 5 \u043b\u0435\u0442. \u0427\u0442\u043e \u0436, \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u2026\n<\/li>\n<li>\u0412\u0441\u044f\u043a\u0430\u044f \u043f\u0440\u043e\u0447\u0430\u044f \u043c\u0435\u043b\u043e\u0447\u044c \u0432\u0440\u043e\u0434\u0435 \u043f\u043b\u0430\u0442\u044b \u043f\u0438\u0442\u0430\u043d\u0438\u044f Supermicro CSE-PTJBOD-CB2 (\u0447\u0442\u043e\u0431\u044b \u043a\u043e\u0440\u043f\u0443\u0441 \u0432\u043a\u043b\u044e\u0447\u0430\u043b\u0441\u044f \u0431\u0435\u0437 \u041c\/\u041f + \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0411\u041f \u043a\u043e\u0440\u043f\u0443\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 I2C\/SAS), \u043f\u0440\u043e\u0432\u043e\u0434\u0430 SAS \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 (\u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438 \u0431\u044d\u043a\u043f\u043b\u0435\u0439\u043d\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043a \u043f\u043e\u043b\u043a\u0435) \u0438 \u0442.\u043f.<\/li>\n<\/ul>\n<p>  FC-\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b:  <\/p>\n<ul>\n<li><a href=\"http:\/\/www.cisco.com\/c\/en\/us\/products\/collateral\/storage-networking\/mds-9148-multilayer-fabric-switch\/data_sheet_c78-571411.html\">Cisco MDS9148<\/a> <b>x 2<\/b><br \/>  \u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0434\u0435\u0432\u0430\u0439\u0441\u044b (\u044f \u0431\u0440\u0430\u043b \u0441 16 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u0440\u0442\u0430\u043c\u0438).<br \/>  \u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u0440\u043e\u0434\u0435 \u0443\u0436\u0435 end-of-sale, \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0438\u0445 9148S \u043d\u0430 16\u0413\u0431\u0438\u0442.  <\/li>\n<\/ul>\n<p>  <\/p>\n<h4>Cost &#038; Performance<\/h4>\n<p>  \u0412\u0441\u0451 \u044d\u0442\u043e \u0441\u0447\u0430\u0441\u0442\u044c\u0435 (\u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0441\u0432\u0438\u0447\u0430\u043c\u0438) \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0437\u0430\u043a\u0443\u043f\u043a\u0438 (\u043d\u043e\u044f\u0431\u0440\u044c 2014) \u0441\u0442\u043e\u0438\u043b\u043e \u043e\u043a\u043e\u043b\u043e 4 \u043c\u043b\u043d. \u0440\u0443\u0431\u043b\u0435\u0439, \u0447\u0442\u043e \u043f\u0440\u0438 \u00ab\u0441\u044b\u0440\u043e\u0439 \u0435\u043c\u043a\u043e\u0441\u0442\u0438\u00bb \u0432 19.2\u0422\u0431 \u0444\u043b\u0435\u0448\u0430 \u043e\u0447\u0435\u043d\u044c \u0438 \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u043e. \u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f: \u0437\u0430 low-end \u0434\u0432\u0443\u0445\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043d\u0443\u044e \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u0443 MSA 2040 \u0441 24 \u0445 800GB SSD \u043d\u0430 \u0431\u043e\u0440\u0442\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f HP \u0441\u0435\u0439\u0447\u0430\u0441 \u0445\u043e\u0447\u0435\u0442 \u0447\u0442\u043e-\u0442\u043e \u043e\u043a\u043e\u043b\u043e 18 \u043c\u043b\u043d (\u0434\u0430, \u044f \u0437\u043d\u0430\u044e \u043f\u0440\u043e \u0432\u0441\u044f\u043a\u0438\u0435 \u0441\u043a\u0438\u0434\u043a\u0438, \u0434\u0430 \u0438 \u0434\u043e\u043b\u043b\u0430\u0440 \u043f\u043e\u0434\u0440\u043e\u0441, \u043d\u043e \u0432\u0441\u0451 \u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0446\u0435\u043d, \u0434\u0443\u043c\u0430\u044e, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439).<\/p>\n<p>  \u041f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u043d\u0438 \u043e\u0431\u0435\u0449\u0430\u044e\u0442 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 85k IOPS, \u0443 \u043d\u0430\u0441 \u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0447\u0443\u0442\u044c \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435: \u0441 \u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0434\u044b \u044f \u0441\u043d\u0438\u043c\u0430\u043b <b>720k IOPS<\/b> \u0441 75% \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 CPU \u0441 \u0431\u044d\u043a\u0435\u043d\u0434\u043e\u043c vdisk_nullio (\u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u043d\u0443\u043b\u0438, \u0437\u0430\u043f\u0438\u0441\u0438 \u0436\u0435 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442, \u044d\u0434\u0430\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 \/dev\/null).<\/p>\n<p>  \u041f\u0440\u0438\u0447\u0451\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 CPU, \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e, \u0441\u043a\u0430\u0447\u043a\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e \u043d\u0430\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u043f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 IOPS \u0441 600k \u0434\u043e 720k \u2014 \u0441 40% \u0434\u043e 75%, \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u0440\u0430\u0441\u0442\u0451\u0442 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e. \u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u0443\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432 FC \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u2014 \u043e\u043a\u043e\u043b\u043e <b>3\u0413\u0431\u0430\u0439\u0442\/c<\/b> (4 \u043f\u043e\u0440\u0442\u0430 \u043f\u043e 800\u041c\u0431\/c \u0432 \u0442\u0435\u043e\u0440\u0438\u0438, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f 8b\/10b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0443 8Gbit FC).<\/p>\n<p>  \u0418\u0437 Syncro \u044f \u0441\u043c\u043e\u0433 \u0432\u044b\u0436\u0430\u0442\u044c <b>420k IOPS<\/b>, \u0447\u0442\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043a \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0435\u043b\u0443 \u0432 450k IOPS, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0435\u0449\u0430\u0435\u0442 LSI. \u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 SSD \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a\u0435\u0448 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 (\u0440\u0435\u0436\u0438\u043c write-through) \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c Direct I\/O, \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432 150k IOPS <b>\u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438<\/b>. \u042d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 FastPath \u0443 LSI, \u043e\u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0438 \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439.<br \/>  \u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u044f \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 3.8\u0413\u0431\u0430\u0439\u0442\/c. \u0422\u0443\u0442, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0443\u043f\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0430\u043c\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 (\u0448\u0438\u043d\u0430 PCI-E 3.0 x8 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u043a\u0430\u0447\u0430\u0442\u044c 8\u0413\u0431\u0430\u0439\u0442\/c).<\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438, \u0434\u0443\u043c\u0430\u044e, \u0431\u0443\u0434\u0443\u0442 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<\/p>\n<h4>\u0421\u0431\u043e\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432<\/h4>\n<p>  \u0422\u0443\u0442 \u043e\u0441\u043e\u0431\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u0447\u0435\u0433\u043e.<br \/>  \u0412 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0443\u044e \u043f\u043b\u0430\u0442\u0443, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043f\u0430\u043c\u044f\u0442\u044c, \u0434\u0432\u0430 FC \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 \u043e\u0434\u0438\u043d Syncro.<br \/>  \u042f \u0435\u0449\u0451 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0432 \u0437\u0430\u0434\u043d\u044e\u044e \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0440\u043f\u0443\u0441\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043a\u043e\u0440\u0437\u0438\u043d\u0443 (Supermicro MCP-220-82609-0N) \u043d\u0430 \u0434\u0432\u0430 \u0434\u0438\u0441\u043a\u0430 \u0438 \u0442\u0443\u0434\u0430 \u0432\u0441\u0442\u0430\u0432\u0438\u043b SSD \u043f\u043e\u0434 \u041e\u0421\u044c. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u043e\u0440\u0437\u0438\u043d\u0430 \u043a\u043e\u0440\u043f\u0443\u0441\u0430 \u043f\u043e\u043a\u0430 \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u043e\u0439, \u043d\u043e \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a Syncro, \u0445\u043e\u0442\u044f \u044d\u0442\u043e \u0438 \u0440\u0430\u0437\u0440\u0443\u0448\u0438\u0442 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0443\u044e \u043d\u0430\u0442\u0443\u0440\u0443 \u0440\u0435\u0448\u0435\u043d\u0438\u044f (\u0432\u044b\u043a\u043b\u044e\u0447\u0438\u043b \u043e\u0434\u043d\u0443 \u043d\u043e\u0434\u0443 \u2014 \u0437\u0430\u043e\u0434\u043d\u043e \u0432\u044b\u0440\u0443\u0431\u0438\u043b \u0438 \u0431\u044d\u043a\u043f\u043b\u0435\u0439\u043d).<\/p>\n<p>  \u0412\u0430\u0436\u043d\u044b\u0439 \u0441\u043e\u0432\u0435\u0442 \u043f\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u2014 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0431\u0438\u043e\u0441\u0435 \u0437\u0435\u0440\u043a\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u044d\u0442\u043e \u044d\u0434\u0430\u043a\u0438\u0439 RAID1 \u0434\u043b\u044f DDR.<br \/>  \u041c\u043e\u0437\u0433\u043e\u0432 \u0441\u0442\u0430\u043d\u0435\u0442 \u0432\u0434\u0432\u043e\u0435 \u043c\u0435\u043d\u044c\u0448\u0435, \u0437\u0430\u0442\u043e \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0437\u043a\u043e \u043f\u043e\u0432\u044b\u0441\u0438\u0442\u0441\u044f. \u041d\u0443 \u0438 \u043f\u043e\u0433\u043e\u043d\u044f\u0442\u044c memtest-\u043e\u043c \u043d\u0435\u0434\u0435\u043b\u044c\u043a\u0443, \u0434\u043b\u044f \u0432\u0435\u0440\u043d\u043e\u0441\u0442\u0438. \u0412 \u043b\u043e\u0433\u0430\u0445 \u0431\u0438\u043e\u0441\u0430 \u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e \u043e\u0448\u0438\u0431\u043a\u0438 ECC, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0435\u0441\u0442\u044c \u2014 \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0431\u043e\u0439\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u0433\u043e\u043d\u044f\u0442\u044c \u0437\u0430\u043d\u043e\u0432\u043e. \u0418\u0431\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u043a\u0430 \u044d\u0442\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u0442\u043e \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0433\u0443\u0442 \u0441\u0442\u0430\u0442\u044c \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438, \u0442\u0430\u043a\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 \u0431\u044b\u043b\u0438.<\/p>\n<h4>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/h4>\n<p>  <\/p>\n<h4>SAS<\/h4>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043d\u0430\u0433\u043b\u043e \u0441\u0442\u044b\u0440\u0435\u043d\u0430 \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a Syncro:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/263\/db7\/4d0\/263db74d04394ba8b6ba9825ce38cdcd.png\"\/><\/p>\n<p>  \u0413\u043b\u0443\u0431\u0438\u043d\u043d\u044b\u0439 \u0441\u043c\u044b\u0441\u043b \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437\u0435 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u043e\u043a<br \/>  \u0432\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u043e\u043b\u043a\u0438 \u043e\u0434\u043d\u0443 \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 (daisy chain),<br \/>  \u0442\u043e \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u043b\u043a\u0438 \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u0441\u0432\u044f\u0437\u044c \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u0430.<br \/>  \u0410 \u0442\u0443\u0442 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438 \u00ab\u043a\u043e\u043b\u044c\u0446\u043e\u00bb, \u043a\u043e\u0433\u0434\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f<br \/>  \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u0434\u0432\u0443\u043c\u044f.<\/p>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0436\u0435 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u043b\u043a\u0430 \u043e\u0434\u043d\u0430 (\u0445\u043e\u0442\u044c \u0432 \u043d\u0435\u0439 \u0438 \u0442\u0440\u0438 \u0431\u044d\u043a\u043f\u043b\u0435\u0439\u043d\u0430), \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043c\u044b \u0435\u0451 \u0431\u0443\u0434\u0435\u043c<br \/>  \u043f\u043e-\u043e\u0431\u044b\u0447\u043d\u043e\u043c\u0443, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/5f6\/bd0\/4fe\/5f6bd04fe9d34a1eafaaba683e4dea8a.png\"\/><br \/>  \u0412\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u043b\u043a\u0438 \u0431\u044d\u043a\u043f\u043b\u0435\u0439\u043d\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<h4>FC<\/h4>\n<p>  \u0421\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a FC-\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430\u043c \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/22a\/a68\/373\/22aa6837313c46ec92a496a52fd327bc.png\"\/><br \/>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u0440\u0438 \u043e\u0442\u043a\u0430\u0437\u0435 \u043b\u044e\u0431\u043e\u0439 \u0438\u0437 HBA-\u043a\u0430\u0440\u0442 \u0438\/\u0438\u043b\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>  \u0412\u043c\u0438\u043d\u0430\u043d\u0438\u0435! <b>\u041a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0442\u0440\u0430\u043d\u043a\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u043c\u0438 ISL!<\/b><br \/>  \u042d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0434\u0432\u0435 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u0444\u0430\u0431\u0440\u0438\u043a\u0438.<br \/>  \u0418\u0431\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 (\u0438\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u0431\u043e\u0438\u0442\u044c \u0441\u043e\u0444\u0442) \u2014 \u044d\u0442\u043e \u043d\u0435 \u0441\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c (\u0432 FC \u0437\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e \u0432\u0441\u0435\u043c \u0441\u0432\u0438\u0447\u0430\u043c \u0444\u0430\u0431\u0440\u0438\u043a\u0438).<\/p>\n<p>  \u0417\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u044f \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u00ab\u043e\u0434\u0438\u043d \u043f\u043e\u0440\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u0430 \u0438 \u043e\u0434\u0438\u043d \u043f\u043e\u0440\u0442 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u00bb.<br \/>  \u041f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u043e\u0432 \u044d\u0442\u043e \u0442\u0440\u0443\u0434\u043e\u0451\u043c\u043a\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u043d\u043e <b>[\u043a\u043e\u043b-\u0432\u043e \u043f\u043e\u0440\u0442\u043e\u0432 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u043e\u0432] X [\u043a\u043e\u043b-\u0432\u043e \u043f\u043e\u0440\u0442\u043e\u0432 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449]<\/b>. \u041d\u043e, \u0438\u043c\u0435\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0440\u0442\u043e\u0432 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u043e\u0432 \u0437\u043e\u043d\u044b \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \ud83d\ude42 \u041b\u0435\u043d\u044c \u2014 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0430.<\/p>\n<h3>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"http:\/\/www.debian.org\/\">Debian Linux 7 x86-64<\/a><\/li>\n<li><a href=\"https:\/\/www.kernel.org\/\">Kernel 3.14.xx LTS<\/a><br \/>  \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043a\u0440\u0430\u0439\u043d\u0435 \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u0432\u0435\u0442\u043b\u044b\u0439 \u0432\u0437\u043e\u0440 \u043d\u0430 \u044f\u0434\u0440\u0430 3.18+ \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043d\u0438\u0445 \u0431\u044b\u043b\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <a href=\"http:\/\/events.linuxfoundation.org\/sites\/events\/files\/slides\/scsi.pdf\">SCSI-MQ<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f 1\u043c\u043b\u043d+ IOPS \u043d\u0430 \u043e\u0434\u043d\u043e\u043c LUN.\n<p>  \u041d\u043e, \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c LUN-\u0430\u043c, \u044d\u0442\u043e \u0434\u0430\u0436\u0435 \u0432\u0440\u0435\u0434\u043d\u043e, \u0438\u0431\u043e \u043f\u043e \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430\u043c\u0438 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 SCSI-MQ \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430. \u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u043c\u0438\u043d\u0443\u0441 \u2014 SCSI-MQ \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 I\/O (deadline, cfq), \u0447\u0442\u043e, \u0432 \u043e\u0431\u0449\u0435\u043c-\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u2014 SSD \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0435 \u043d\u0443\u0436\u0435\u043d, \u0430 \u0434\u043b\u044f \u0436\u0451\u0441\u0442\u043a\u0438\u0445 \u0434\u0438\u0441\u043a\u043e\u0432 \u0442\u043e\u043b\u043a\u0443 \u043e\u0442 SCSI-MQ \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e, \u0442\u0430\u043c IOPS\u0430\u043c \u0434\u0430\u043b\u0435\u043a\u043e \u0434\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0435\u043b\u043e\u0432. \u0410 \u0432\u043e\u0442 \u0432 \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445 (SSD+HDD) \u044d\u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u043e \u0441\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0441 HDD.<\/li>\n<li><a href=\"http:\/\/sourceforge.net\/p\/scst\/svn\/HEAD\/tree\/\">SCST Target Framework 3.0.1<\/a><\/li>\n<\/ul>\n<p>  \u0422\u0443\u0442 \u0432\u0441\u0451 \u0431\u043e\u043b\u0435\u0435 \u0438\u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e, \u0441\u0442\u0430\u0432\u0438\u043c \u041e\u0421 \u043d\u0430 \u0441\u043e\u0444\u0442\u043e\u0432\u044b\u0439 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432\u044b\u0439 \u0440\u0435\u0439\u0434 (mdraid) \u0442\u0430\u043a \u043a\u0430\u043a \u0436\u0435\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u0440\u0435\u0439\u0434\u0430 \u0432 \u044d\u0442\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0430\u0445 \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u044f\u0434\u0440\u043e.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041c\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433, \u043c\u043e\u0436\u0435\u0442 \u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT=&quot;elf64-x86-64&quot; CONFIG_ARCH_DEFCONFIG=&quot;arch\/x86\/configs\/x86_64_defconfig&quot; CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_CPU_AUTOPROBE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_X86_64_SMP=y CONFIG_X86_HT=y CONFIG_ARCH_HWEIGHT_CFLAGS=&quot;-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11&quot; CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_DEFCONFIG_LIST=&quot;\/lib\/modules\/$UNAME_RELEASE\/.config&quot; CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE=&quot;&quot; CONFIG_LOCALVERSION=&quot;&quot; CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y CONFIG_KERNEL_XZ=y CONFIG_DEFAULT_HOSTNAME=&quot;(none)&quot; CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_FHANDLE=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_TREE_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_FANOUT=64 CONFIG_RCU_FANOUT_LEAF=16 CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y CONFIG_ARCH_USES_NUMA_PROT_NONE=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_NUMA_BALANCING=y CONFIG_CGROUPS=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y CONFIG_NAMESPACES=y CONFIG_SCHED_AUTOGROUP=y CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_UID16=y CONFIG_KALLSYMS=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_PCI_QUIRKS=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_EVENTS=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y CONFIG_SLUB=y CONFIG_SLUB_CPU_PARTIAL=y CONFIG_HAVE_OPROFILE=y CONFIG_OPROFILE_NMI_TIMER=y CONFIG_JUMP_LABEL=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_KPROBES_ON_FTRACE=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y CONFIG_HAVE_CMPXCHG_DOUBLE=y CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLK_DEV_BSG=y CONFIG_PARTITION_ADVANCED=y CONFIG_MSDOS_PARTITION=y CONFIG_EFI_PARTITION=y CONFIG_BLOCK_COMPAT=y CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y CONFIG_CFQ_GROUP_IOSCHED=y CONFIG_DEFAULT_DEADLINE=y CONFIG_DEFAULT_IOSCHED=&quot;deadline&quot; CONFIG_PADATA=y CONFIG_INLINE_SPIN_UNLOCK_IRQ=y CONFIG_INLINE_READ_UNLOCK=y CONFIG_INLINE_READ_UNLOCK_IRQ=y CONFIG_INLINE_WRITE_UNLOCK=y CONFIG_INLINE_WRITE_UNLOCK_IRQ=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_ZONE_DMA=y CONFIG_SMP=y CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_NO_BOOTMEM=y CONFIG_MCORE2=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_P6_NOP=y CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y CONFIG_SWIOTLB=y CONFIG_IOMMU_HELPER=y CONFIG_NR_CPUS=32 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y CONFIG_PREEMPT_NONE=y CONFIG_X86_UP_APIC_MSI=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_MCE=y CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_THRESHOLD=y CONFIG_X86_THERMAL_VECTOR=y CONFIG_X86_16BIT=y CONFIG_X86_ESPFIX64=y CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=y CONFIG_X86_CPUID=y CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_DIRECT_GBPAGES=y CONFIG_NUMA=y CONFIG_X86_64_ACPI_NUMA=y CONFIG_NODES_SPAN_OTHER_NODES=y CONFIG_NODES_SHIFT=2 CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_NEED_MULTIPLE_NODES=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MEMBLOCK_NODE_MAP=y CONFIG_ARCH_DISCARD_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_DEFAULT_MMAP_MIN_ADDR=0 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_X86_RESERVE_LOW=64 CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y CONFIG_SECCOMP=y CONFIG_HZ_100=y CONFIG_HZ=100 CONFIG_SCHED_HRTICK=y CONFIG_PHYSICAL_START=0x1000000 CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y CONFIG_ACPI=y CONFIG_ACPI_FAN=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_NUMA=y CONFIG_X86_PM_TIMER=y CONFIG_ACPI_HED=y CONFIG_ACPI_APEI=y CONFIG_ACPI_APEI_GHES=y CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI_MEMORY_FAILURE=y CONFIG_ACPI_EXTLOG=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_X86_ACPI_CPUFREQ=y CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_INTEL_IDLE=y CONFIG_PCI=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y CONFIG_PCIEAER=y CONFIG_PCIEASPM=y CONFIG_PCIEASPM_PERFORMANCE=y CONFIG_PCI_MSI=y CONFIG_PCI_LABEL=y CONFIG_ISA_DMA_API=y CONFIG_AMD_NB=y CONFIG_BINFMT_ELF=y CONFIG_COMPAT_BINFMT_ELF=y CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y CONFIG_BINFMT_SCRIPT=y CONFIG_COREDUMP=y CONFIG_IA32_EMULATION=y CONFIG_X86_X32=y CONFIG_COMPAT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y CONFIG_X86_DEV_DMA_OPS=y CONFIG_IOSF_MBI=m CONFIG_NET=y CONFIG_PACKET=y CONFIG_PACKET_DIAG=y CONFIG_UNIX=y CONFIG_UNIX_DIAG=y CONFIG_INET=y CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION=y CONFIG_IP_MULTICAST=y CONFIG_NET_IPIP=y CONFIG_NET_IPGRE_DEMUX=y CONFIG_NET_IP_TUNNEL=y CONFIG_NET_IPGRE=y CONFIG_NET_IPGRE_BROADCAST=y CONFIG_INET_TUNNEL=y CONFIG_INET_LRO=y CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y CONFIG_INET_UDP_DIAG=y CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_HTCP=y CONFIG_DEFAULT_HTCP=y CONFIG_DEFAULT_TCP_CONG=&quot;htcp&quot; CONFIG_STP=y CONFIG_BRIDGE=y CONFIG_HAVE_NET_DSA=y CONFIG_VLAN_8021Q=y CONFIG_LLC=y CONFIG_NETLINK_MMAP=y CONFIG_NETLINK_DIAG=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y CONFIG_NET_FLOW_LIMIT=y CONFIG_HAVE_BPF_JIT=y CONFIG_UEVENT_HELPER_PATH=&quot;\/sbin\/hotplug&quot; CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE=&quot;&quot; CONFIG_FW_LOADER_USER_HELPER=y CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_PNP=y CONFIG_PNPACPI=y CONFIG_BLK_DEV=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_HAVE_IDE=y CONFIG_SCSI_MOD=y CONFIG_RAID_ATTRS=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_NETLINK=y CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_SG=y CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_FC_ATTRS=y CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_LOWLEVEL=y CONFIG_MEGARAID_SAS=y CONFIG_ATA=y CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_ACPI=y CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI_PLATFORM=y CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_AUTODETECT=y CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y CONFIG_MD_RAID10=y CONFIG_MD_RAID456=y CONFIG_BLK_DEV_DM_BUILTIN=y CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=y CONFIG_DM_ZERO=y CONFIG_DM_UEVENT=y CONFIG_NETDEVICES=y CONFIG_NET_CORE=y CONFIG_BONDING=y CONFIG_NET_FC=y CONFIG_NETCONSOLE=y CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_TUN=y CONFIG_ETHERNET=y CONFIG_MDIO=y CONFIG_NET_VENDOR_INTEL=y CONFIG_E1000E=y CONFIG_IGB=y CONFIG_IGB_HWMON=y CONFIG_IGB_DCA=y CONFIG_IXGBE=y CONFIG_IXGBE_HWMON=y CONFIG_IXGBE_DCA=y CONFIG_PPP=y CONFIG_PPP_DEFLATE=y CONFIG_PPP_FILTER=y CONFIG_PPP_MULTILINK=y CONFIG_PPPOE=y CONFIG_PPP_ASYNC=y CONFIG_PPP_SYNC_TTY=y CONFIG_SLHC=y CONFIG_INPUT=y CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y CONFIG_SERIO=y CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y CONFIG_SERIO_LIBPS2=y CONFIG_TTY=y CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_NR_UARTS=2 CONFIG_SERIAL_8250_RUNTIME_UARTS=2 CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_HPET=y CONFIG_HPET_MMAP=y CONFIG_HPET_MMAP_DEFAULT=y CONFIG_DEVPORT=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_ALGOBIT=y CONFIG_I2C_I801=y CONFIG_I2C_SCMI=y CONFIG_PPS=y CONFIG_PTP_1588_CLOCK=y CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_HWMON=y CONFIG_HWMON_VID=y CONFIG_SENSORS_CORETEMP=y CONFIG_SENSORS_JC42=y CONFIG_SENSORS_W83627EHF=y CONFIG_SENSORS_ACPI_POWER=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_SSB_POSSIBLE=y CONFIG_BCMA_POSSIBLE=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_CONSOLE=y CONFIG_DUMMY_CONSOLE=y CONFIG_HID=y CONFIG_HIDRAW=y CONFIG_HID_GENERIC=y CONFIG_HID_A4TECH=y CONFIG_HID_APPLE=y CONFIG_HID_BELKIN=y CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y CONFIG_HID_CYPRESS=y CONFIG_HID_EZKEY=y CONFIG_HID_KENSINGTON=y CONFIG_HID_LOGITECH=y CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=y CONFIG_USB_HID=y CONFIG_USB_HIDDEV=y CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=y CONFIG_USB_DEFAULT_PERSIST=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_EHCI_PCI=y CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_UHCI_HCD=y CONFIG_USB_ACM=y CONFIG_USB_WDM=y CONFIG_USB_STORAGE=y CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_CONSOLE=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_FTDI_SIO=y CONFIG_USB_SERIAL_PL2303=y CONFIG_USB_SERIAL_WWAN=y CONFIG_USB_SERIAL_OPTION=y CONFIG_EDAC=y CONFIG_EDAC_MM_EDAC=y CONFIG_EDAC_GHES=y CONFIG_EDAC_I7CORE=y CONFIG_EDAC_SBRIDGE=y CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_SYSTOHC=y CONFIG_RTC_HCTOSYS_DEVICE=&quot;rtc0&quot; CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y CONFIG_RTC_DRV_CMOS=y CONFIG_DMADEVICES=y CONFIG_INTEL_IOATDMA=y CONFIG_DMA_ENGINE=y CONFIG_DMA_ACPI=y CONFIG_ASYNC_TX_DMA=y CONFIG_DMA_ENGINE_RAID=y CONFIG_DCA=y CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y CONFIG_FIRMWARE_MEMMAP=y CONFIG_DMIID=y CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y CONFIG_UEFI_CPER=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT23=y CONFIG_JBD2=y CONFIG_FS_MBCACHE=y CONFIG_EXPORTFS=y CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_FANOTIFY=y CONFIG_FUSE_FS=y CONFIG_CUSE=y CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=y CONFIG_UDF_NLS=y CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET=&quot;iso8859-1&quot; CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_CONFIGFS_FS=y CONFIG_MISC_FILESYSTEMS=y CONFIG_PSTORE=y CONFIG_NLS=y CONFIG_NLS_DEFAULT=&quot;utf8&quot; CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_855=y CONFIG_NLS_CODEPAGE_866=y CONFIG_NLS_CODEPAGE_1251=y CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_5=y CONFIG_NLS_ISO8859_15=y CONFIG_NLS_KOI8_R=y CONFIG_NLS_UTF8=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_PRINTK_TIME=y CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 CONFIG_FRAME_WARN=1024 CONFIG_STRIP_ASM_SYMS=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_ARCH_KMEMCHECK=y CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_DEBUG_BUGVERBOSE=y CONFIG_RCU_CPU_STALL_TIMEOUT=60 CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACING_SUPPORT=y CONFIG_HAVE_ARCH_KGDB=y CONFIG_STRICT_DEVMEM=y CONFIG_X86_VERBOSE_BOOTUP=y CONFIG_EARLY_PRINTK=y CONFIG_DOUBLEFAULT=y CONFIG_HAVE_MMIOTRACE_SUPPORT=y CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_NONE=3 CONFIG_IO_DELAY_0X80=y CONFIG_DEFAULT_IO_DELAY_TYPE=0 CONFIG_OPTIMIZE_INLINING=y CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_DEFAULT_SECURITY=&quot;&quot; CONFIG_XOR_BLOCKS=y CONFIG_ASYNC_CORE=y CONFIG_ASYNC_MEMCPY=y CONFIG_ASYNC_XOR=y CONFIG_ASYNC_PQ=y CONFIG_ASYNC_RAID6_RECOV=y CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_PCOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_USER=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_PCRYPT=y CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_ABLK_HELPER=y CONFIG_CRYPTO_GLUE_HELPER_X86=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_LRW=y CONFIG_CRYPTO_XTS=y CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_VMAC=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C_INTEL=y CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRC32_PCLMUL=y CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=y CONFIG_CRYPTO_SHA256_SSSE3=y CONFIG_CRYPTO_SHA512_SSSE3=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_AES_X86_64=y CONFIG_CRYPTO_AES_NI_INTEL=y CONFIG_HAVE_KVM=y CONFIG_RAID6_PQ=y CONFIG_BITREVERSE=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_IO=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=y CONFIG_CRC32=y CONFIG_CRC32_SLICEBY8=y CONFIG_LIBCRC32C=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_NLATTR=y CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y CONFIG_DDR=y <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e \u0438 \u0441\u0431\u043e\u0440\u043a\u0443 \u0432 deb-\u043f\u0430\u043a\u0435\u0442:  <\/p>\n<pre><code class=\"bash\"># cd \/usr\/src\/linux-3.14.xx # fakeroot make-kpkg clean # CONCURRENCY_LEVEL=12 fakeroot make-kpkg --us --uc --jobs 12 --stem=kernel-scst --revision=1 kernel_image <\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c SCST, \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c (\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c \u044f\u0434\u0440\u0430):  <\/p>\n<pre><code class=\"bash\"># svn checkout svn:\/\/svn.code.sf.net\/p\/scst\/svn\/branches\/3.0.x scst-svn # cd scst-svn # BUILD_2X_MODULE=y CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y KDIR=&quot;\/usr\/src\/linux-3.14.xx&quot; make all install <\/code><\/pre>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 SCST \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u043f\u043e\u0434 QLogic \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 <a href=\"http:\/\/scst.sourceforge.net\/qla2x00t-howto.html\">\u0441\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a> (\u043d\u043e \u0442\u0430\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440 QLogic \u0438\u0437 \u0438\u0445 GIT \u0434\u0435\u0440\u0435\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043d\u0435 \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043e\u0441\u043e\u0431\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c. \u041c\u044b \u0436\u0435 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 SCST).<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0430\u043a\u0435\u0442 \u0441 \u044f\u0434\u0440\u043e\u043c + \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e <b>\/lib\/modules\/3.14.xx\/extra<\/b> \u0441 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 SCST, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0438\u0445 \u043f\u0440\u044f\u043c\u043e \u0432 .deb \u043f\u0430\u043a\u0435\u0442, \u043d\u043e \u043c\u043d\u0435 \u0431\u044b\u043b\u043e \u043b\u0435\u043d\u044c.<\/p>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b FC \u043a\u0430\u0440\u0442 \u0442\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u043a \u0437\u0430\u043b\u0438\u0442\u044c \u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 (\u0442\u043e\u0447\u043d\u0435\u0435 \u2014 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c, \u0438\u0431\u043e \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0442\u0430\u043c \u0443\u0436\u0435 \u0435\u0441\u0442\u044c), \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 <b>\/lib\/firmware<\/b> \u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0435\u0451 \u043e\u0442\u0442\u0443\u0434\u0430 \u043f\u043e\u0434\u0442\u044f\u043d\u0435\u0442. \u042f, \u0434\u043b\u044f \u0432\u0435\u0440\u043d\u043e\u0441\u0442\u0438, \u0434\u0430 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442, \u0441\u0434\u0435\u043b\u0430\u043b \u0438 \u0442\u043e \u0438 \u0442\u043e. \u041f\u0440\u043e\u0448\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u0447\u0435\u0440\u0435\u0437 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 \u043e\u0442 QLogic \u2014 qaucli, \u043b\u0438\u0431\u043e \u0438\u0437 \u043f\u043e\u0434 FreeDOS (\u0438\u043b\u0438 EFI) \u0438\u0445 \u0436\u0435 \u0441\u043e\u0444\u0442\u043e\u043c \u0441 \u0441\u0430\u0439\u0442\u0430.<\/p>\n<p>  \u041a\u0430\u0447\u0430\u0435\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e ql2500_fw.bin) \u0438 \u043a\u043b\u0430\u0434\u0451\u043c \u043d\u0430 \u043c\u0435\u0441\u0442\u043e:  <\/p>\n<pre><code class=\"bash\"># mkdir -p \/lib\/firmware # cd \/lib\/firmware # wget http:\/\/ldriver.qlogic.com\/firmware\/ql2500_fw.bin <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f SCST \u043f\u043e\u0434 \u0451\u043c\u043a\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <b>scstadmin<\/b> \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435. \u0421\u0430\u043c\u0443 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 \u0431\u0435\u0440\u0451\u043c \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 SCST: <b>scstadmin\/scstadmin.sysfs\/scstadmin<\/b> \u0438 \u043a\u043b\u0430\u0434\u0451\u043c \u0435\u0451 \u043d\u0430 \u043d\u0430\u0448\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0432 \/usr\/bin, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435\u043c \u0432\u0438\u0434\u043d\u043e \u0431\u044b\u043b\u043e. \u0417\u0430\u0442\u0435\u043c \u0431\u0435\u0440\u0451\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e <b>scstadmin\/scstadmin.sysfs\/scst-0.9.10\/lib\/SCST<\/b> \u0438 \u043a\u043b\u0430\u0434\u0451\u043c \u0435\u0451 \u0432 <b>\/usr\/lib\/perl\/&lt;\u0432\u0435\u0440\u0441\u0438\u044f Perl&gt;<\/b>.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Pacemaker \u0447\u0442\u043e\u0431\u044b \u0440\u0443\u043b\u0438\u0442\u044c \u043d\u0430\u0448\u0438\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u043c \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043a\u043b\u044e\u0447 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438.<br \/>  Pacemaker \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0440\u0435\u0436\u0438\u043c\u044b ALUA \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043d\u043e\u0434.<\/p>\n<pre><code class=\"bash\"># apt-get -t wheezy-backports install pacemaker # corosync-keygen <\/code><\/pre>\n<p>  \u0424\u0430\u0439\u043b-\u043a\u043b\u044e\u0447 <b>\/etc\/corosync\/authkey<\/b> \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u0442\u043e \u0436\u0435 \u043c\u0435\u0441\u0442\u043e.<\/p>\n<p>  \u0414\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f SCST \u0447\u0435\u0440\u0435\u0437 Pacemaker \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u00ab\u0440\u0435\u0441\u0443\u0440\u0441\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0443\u0442\u0430\u0449\u0438\u043b \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 ESOS \u0438 \u043f\u043e\u0434\u043a\u0440\u0443\u0442\u0438\u043b \u043f\u043e\u0434 \u0441\u0435\u0431\u044f.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0420\u0435\u0441\u0443\u0440\u0441<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">#! \/bin\/sh # # $Id$  # #   Resource Agent for managing the Generic SCSI Target Subsystem #   for Linux (SCST) and related daemons. # #   License: GNU General Public License (GPL) #   (c) 2012-2014 Marc A. Smith #  # Initialization : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}\/lib\/heartbeat} . ${OCF_FUNCTIONS_DIR}\/ocf-shellfuncs MODULES=&quot;scst scst_vdisk qla2x00tgt&quot; SCST_CFG=&quot;\/etc\/scst.conf&quot; PRE_SCST_CONF=&quot;\/etc\/pre-scst_xtra_conf&quot; POST_SCST_CONF=&quot;\/etc\/post-scst_xtra_conf&quot; SCST_SYSFS=&quot;\/sys\/kernel\/scst_tgt&quot; ALUA_STATES=&quot;active nonoptimized standby unavailable offline transitioning&quot; NO_CLOBBER=&quot;\/tmp\/scst_ra-no_clobber&quot;  # For optional SCST modules if [ -f &quot;\/lib\/modules\/$(uname -r)\/extra\/ocs_fc_scst.ko&quot; ]; then     MODULES=&quot;${MODULES} ocs_fc_scst&quot; fi if [ -f &quot;\/lib\/modules\/$(uname -r)\/extra\/chfcoe.ko&quot; ]; then     MODULES=&quot;${MODULES} chfcoe&quot; fi   scst_start() {     # Exit immediately if configuration is not valid     scst_validate_all || exit ${?}      # If resource is already running, bail out early     if scst_monitor; then         ocf_log info &quot;Resource is already running.&quot;         return ${OCF_SUCCESS}     fi      # If our pre-SCST file exists, run it     if [ -f &quot;${PRE_SCST_CONF}&quot; ]; then         ocf_log info &quot;Pre-SCST user config. file found; running...&quot;         ocf_run -warn sh &quot;${PRE_SCST_CONF}&quot;     fi      # Load all modules     ocf_log info &quot;Loading kernel modules...&quot;     for i in ${MODULES}; do         ocf_log debug &quot;scst_start() -&gt; Module: ${i}&quot;         if [ -d \/sys\/module\/${i} ]; then             ocf_log warn &quot;The ${i} module is already loaded!&quot;         else             ocf_run modprobe ${i} || exit ${OCF_ERR_GENERIC}         fi     done      # Configure SCST     if [ -f &quot;${SCST_CFG}&quot; ]; then         ocf_log info &quot;Applying SCST configuration...&quot;         ocf_run scstadmin -config &quot;${SCST_CFG}&quot;         # Prevent scst_stop() from clobbering the configuration file         if [ ${?} -ne 0 ]; then             ocf_log err &quot;Something is wrong with the SCST configuration!&quot;             ocf_run touch &quot;${NO_CLOBBER}&quot;             exit ${OCF_ERR_GENERIC}         else             if [ -f &quot;${NO_CLOBBER}&quot; ]; then                 ocf_run rm -f &quot;${NO_CLOBBER}&quot;             fi         fi     fi      # If our post-SCST file exists, run it     if [ -f &quot;${POST_SCST_CONF}&quot; ]; then         ocf_log info &quot;Post-SCST user config. file found; running...&quot;         ocf_run -warn sh &quot;${POST_SCST_CONF}&quot;     fi      # If we are using ALUA, be sure we are using the &quot;Slave&quot; state initially     if ocf_is_true ${OCF_RESKEY_alua}; then         check_alua         # Set the local target group ALUA state         ocf_log debug &quot;scst_start() -&gt; Setting target group&quot; \\             &quot;'${OCF_RESKEY_local_tgt_grp}' ALUA state to&quot; \\             &quot;'${OCF_RESKEY_s_alua_state}'...&quot;         ocf_run scstadmin -noprompt -set_tgrp_attr \\             ${OCF_RESKEY_local_tgt_grp} -dev_group \\             ${OCF_RESKEY_device_group} -attributes \\             state\\=${OCF_RESKEY_s_alua_state} || exit ${OCF_ERR_GENERIC}         # For now, we simply assume the other node is the Master         ocf_log debug &quot;scst_start() -&gt; Setting target group&quot; \\             &quot;'${OCF_RESKEY_remote_tgt_grp}' ALUA state to&quot; \\             &quot;'${OCF_RESKEY_m_alua_state}'...&quot;         ocf_run scstadmin -noprompt -set_tgrp_attr \\             ${OCF_RESKEY_remote_tgt_grp} -dev_group \\             ${OCF_RESKEY_device_group} -attributes \\             state\\=${OCF_RESKEY_m_alua_state} || exit ${OCF_ERR_GENERIC}     fi      # Make sure the resource started correctly     while ! scst_monitor; do         ocf_log debug &quot;scst_start() -&gt; Resource has not started yet, waiting...&quot;         sleep 1     done      # Only return $OCF_SUCCESS if _everything_ succeeded as expected     return ${OCF_SUCCESS} }   scst_stop() {     # Exit immediately if configuration is not valid     scst_validate_all || exit ${?}      # Check the current resource state     scst_monitor     local rc=${?}     case &quot;${rc}&quot; in     &quot;${OCF_SUCCESS}&quot;)         # Currently running; normal, expected behavior         ocf_log info &quot;Resource is currently running.&quot;         ;;     &quot;${OCF_RUNNING_MASTER}&quot;)         # Running as a Master; need to demote before stopping         ocf_log info &quot;Resource is currently running as Master.&quot;         scst_demote || ocf_log warn &quot;Demote failed, trying to stop anyway...&quot;         ;;     &quot;${OCF_NOT_RUNNING}&quot;)         # Currently not running; nothing to do         ocf_log info &quot;Resource is already stopped.&quot;         return ${OCF_SUCCESS}         ;;     esac      # Unload the modules (in reverse)     ocf_log info &quot;Unloading kernel modules...&quot;     for i in $(echo ${MODULES} | tr ' ' '\\n' | tac | tr '\\n' ' '); do         ocf_log debug &quot;scst_stop() -&gt; Module: ${i}&quot;         if [ -d \/sys\/module\/${i} ]; then             ocf_run rmmod -w ${i} || exit ${OCF_ERR_GENERIC}         else             ocf_log warn &quot;The ${i} module is not loaded!&quot;         fi     done      # Make sure the resource stopped correctly     while scst_monitor; do         ocf_log info &quot;scst_stop() -&gt; Resource has not stopped yet, waiting...&quot;         sleep 1     done      # Only return $OCF_SUCCESS if _everything_ succeeded as expected     return ${OCF_SUCCESS} }   scst_monitor() {     # Exit immediately if configuration is not valid     scst_validate_all || exit ${?}      # Check if SCST is loaded     local rc     if [ -e &quot;${SCST_SYSFS}\/version&quot; ]; then         ocf_log debug &quot;scst_monitor() -&gt; SCST version:&quot; \\             &quot;$(cat ${SCST_SYSFS}\/version)&quot;         ocf_log debug &quot;scst_monitor() -&gt; Resource is running.&quot;         crm_master -l reboot -v 100         rc=${OCF_SUCCESS}     else         ocf_log debug &quot;scst_monitor() -&gt; Resource is not running.&quot;         crm_master -l reboot -D         rc=${OCF_NOT_RUNNING}         return ${rc}     fi      # If we are using ALUA, then we can test if we are Master or not     if ocf_is_true ${OCF_RESKEY_alua}; then         dev_grp_path=&quot;${SCST_SYSFS}\/device_groups\/${OCF_RESKEY_device_group}&quot;         tgt_grp_path=&quot;${dev_grp_path}\/target_groups\/${OCF_RESKEY_local_tgt_grp}&quot;         tgt_grp_state=&quot;$(head -1 ${tgt_grp_path}\/state)&quot;         ocf_log debug &quot;scst_monitor() -&gt; SCST local target&quot; \\             &quot;group state: ${tgt_grp_state}&quot;         if [ &quot;x${tgt_grp_state}&quot; = &quot;x${OCF_RESKEY_m_alua_state}&quot; ]; then             rc=${OCF_RUNNING_MASTER}         fi     fi      return ${rc} }   scst_validate_all() {     # Test for required binaries     check_binary scstadmin      # There can only be one instance of SCST running per node     if [ ! -z &quot;${OCF_RESKEY_CRM_meta_clone_node_max}&quot; ] &&         [ &quot;${OCF_RESKEY_CRM_meta_clone_node_max}&quot; -ne 1 ]; then         ocf_log err &quot;The 'clone-node-max' parameter must equal '1'.&quot;         exit ${OCF_ERR_CONFIGURED}     fi      # If ALUA support is enabled, we need to check the parameters     if ocf_is_true ${OCF_RESKEY_alua}; then         # Make sure they are set to something         if [ -z &quot;${OCF_RESKEY_device_group}&quot; ]; then             ocf_log err &quot;The 'device_group' parameter is not set!&quot;             exit ${OCF_ERR_CONFIGURED}         fi         if [ -z &quot;${OCF_RESKEY_local_tgt_grp}&quot; ]; then             ocf_log err &quot;The 'local_tgt_grp' parameter is not set!&quot;             exit ${OCF_ERR_CONFIGURED}         fi         if [ -z &quot;${OCF_RESKEY_remote_tgt_grp}&quot; ]; then             ocf_log err &quot;The 'remote_tgt_grp' parameter is not set!&quot;             exit ${OCF_ERR_CONFIGURED}         fi         if [ -z &quot;${OCF_RESKEY_m_alua_state}&quot; ]; then             ocf_log err &quot;The 'm_alua_state' parameter is not set!&quot;             exit ${OCF_ERR_CONFIGURED}         fi         if [ -z &quot;${OCF_RESKEY_s_alua_state}&quot; ]; then             ocf_log err &quot;The 's_alua_state' parameter is not set!&quot;             exit ${OCF_ERR_CONFIGURED}         fi         #  Currently, we only support using one Master with this RA         if [ ! -z &quot;${OCF_RESKEY_CRM_meta_master_max}&quot; ] &&             [ &quot;${OCF_RESKEY_CRM_meta_master_max}&quot; -ne 1 ]; then             ocf_log err &quot;The 'master-max' parameter must equal '1'.&quot;             exit ${OCF_ERR_CONFIGURED}         fi         if [ ! -z &quot;${OCF_RESKEY_CRM_meta_master_node_max}&quot; ] &&             [ &quot;${OCF_RESKEY_CRM_meta_master_node_max}&quot; -ne 1 ]; then             ocf_log err &quot;The 'master-node-max' parameter must equal '1'.&quot;             exit ${OCF_ERR_CONFIGURED}         fi     fi      return ${OCF_SUCCESS} }   scst_meta_data() { \tcat &lt;&lt;-EOF \t&lt;?xml version=&quot;1.0&quot;?&gt; \t&lt;!DOCTYPE resource-agent SYSTEM &quot;ra-api-1.dtd&quot;&gt; \t&lt;resource-agent name=&quot;scst&quot; version=&quot;0.1&quot;&gt; \t  &lt;version&gt;0.1&lt;\/version&gt; \t  &lt;longdesc lang=&quot;en&quot;&gt;The SCST OCF resource agent for ESOS; includes SCST ALUA support.&lt;\/longdesc&gt; \t  &lt;shortdesc lang=&quot;en&quot;&gt;SCST OCF RA script for ESOS.&lt;\/shortdesc&gt; \t  &lt;parameters&gt; \t    &lt;parameter name=&quot;alua&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;Use to enable\/disable updating ALUA status in SCST.&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'alua' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;boolean&quot; default=&quot;false&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;device_group&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The name of the SCST device group (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'device_group' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;local_tgt_grp&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The name of the SCST local target group (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'local_tgt_grp' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;remote_tgt_grp&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The name of the SCST remote target group (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'remote_tgt_grp' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;m_alua_state&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The ALUA state (eg, active) for a Master node (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'm_alua_state' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;active&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;s_alua_state&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The ALUA state (eg, nonoptimized) for a Slave node (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 's_alua_state' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;nonoptimized&quot; \/&gt; \t    &lt;\/parameter&gt; \t  &lt;\/parameters&gt; \t  &lt;actions&gt; \t    &lt;action name=&quot;meta-data&quot; timeout=&quot;5&quot; \/&gt; \t    &lt;action name=&quot;start&quot; timeout=&quot;120&quot; \/&gt; \t    &lt;action name=&quot;stop&quot; timeout=&quot;60&quot; \/&gt; \t    &lt;action name=&quot;monitor&quot; timeout=&quot;20&quot; depth=&quot;0&quot; interval=&quot;10&quot; role=&quot;Master&quot; \/&gt; \t    &lt;action name=&quot;monitor&quot; timeout=&quot;20&quot; depth=&quot;0&quot; interval=&quot;20&quot; role=&quot;Slave&quot; \/&gt; \t    &lt;action name=&quot;notify&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;promote&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;demote&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;reload&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;validate-all&quot; timeout=&quot;20&quot; \/&gt; \t  &lt;\/actions&gt; \t&lt;\/resource-agent&gt; \tEOF }   scst_usage() {     echo &quot;usage: ${0} {start|stop|monitor|validate-all|promote|demote|reload|notify|meta-data}&quot;     echo &quot;&quot;     echo &quot;Expects to have a fully populated OCF RA-compliant environment set.&quot; }   scst_promote() {     # Exit immediately if configuration is not valid     scst_validate_all || exit ${?}      # Test the resource's current state     scst_monitor     local rc=${?}     case &quot;${rc}&quot; in     &quot;${OCF_SUCCESS}&quot;)         # Running as Slave; normal, expected behavior         ocf_log debug &quot;scst_promote() -&gt; Resource is&quot; \\             &quot;currently running as Slave.&quot;         ;;     &quot;${OCF_RUNNING_MASTER}&quot;)         # Already a Master; unexpected, but not a problem         ocf_log info &quot;Resource is already running as Master.&quot;         return ${OCF_SUCCESS}         ;;     &quot;${OCF_NOT_RUNNING}&quot;)         # Currently not running; need to start before promoting         ocf_log info &quot;Resource is currently not running.&quot;         scst_start         ;;     *)         # Failed resource; let the cluster manager recover         ocf_log err &quot;Unexpected error, cannot promote.&quot;         exit ${rc}         ;;     esac      # Promote only makes sense if we are using ALUA     if ocf_is_true ${OCF_RESKEY_alua}; then         check_alua         # Set the local target group to the &quot;Master&quot; ALUA state         ocf_log debug &quot;scst_promote() -&gt; Setting target group&quot; \\             &quot;'${OCF_RESKEY_local_tgt_grp}' ALUA state to&quot; \\             &quot;'${OCF_RESKEY_m_alua_state}'...&quot;         ocf_run scstadmin -noprompt -set_tgrp_attr \\             ${OCF_RESKEY_local_tgt_grp} -dev_group \\             ${OCF_RESKEY_device_group} -attributes \\             state\\=${OCF_RESKEY_m_alua_state} || exit ${OCF_ERR_GENERIC}         # Since there can only be one Master, set the remote target group         ocf_log debug &quot;scst_promote() -&gt; Setting target group&quot; \\             &quot;'${OCF_RESKEY_remote_tgt_grp}' ALUA state to&quot; \\             &quot;'${OCF_RESKEY_s_alua_state}'...&quot;         ocf_run scstadmin -noprompt -set_tgrp_attr \\             ${OCF_RESKEY_remote_tgt_grp} -dev_group \\             ${OCF_RESKEY_device_group} -attributes \\             state\\=${OCF_RESKEY_s_alua_state} || exit ${OCF_ERR_GENERIC}     else         ocf_log err &quot;The ALUA parameters need to be configured before using MS.&quot;         exit ${OCF_ERR_CONFIGURED}     fi      # After the resource has been promoted, check whether the promotion worked     while true; do         scst_monitor         if [ ${?} -eq ${OCF_RUNNING_MASTER} ]; then             ocf_log info &quot;Resource was promoted successfully.&quot;             break         else             ocf_log debug &quot;scst_promote() -&gt; Resource still&quot; \\                 &quot;awaiting promotion.&quot;             sleep 1         fi     done      # Only return $OCF_SUCCESS if _everything_ succeeded as expected     return ${OCF_SUCCESS} }   scst_demote() {     # Exit immediately if configuration is not valid     scst_validate_all || exit ${?}      # Test the resource's current state     scst_monitor     local rc=${?}     case &quot;${rc}&quot; in     &quot;${OCF_RUNNING_MASTER}&quot;)         # Running as Master; normal, expected behavior         ocf_log debug &quot;scst_demote() -&gt; Resource is&quot; \\             &quot;currently running as Master.&quot;         ;;     &quot;${OCF_SUCCESS}&quot;)         # Already running as Slave; nothing to do         ocf_log debug &quot;scst_demote() -&gt; Resource is&quot; \\             &quot;currently running as Slave.&quot;         return ${OCF_SUCCESS}         ;;     &quot;${OCF_NOT_RUNNING}&quot;)         # Not running; getting a demote action in this state is unexpected         ocf_log err &quot;Resource is currently not running.&quot;         exit ${OCF_ERR_GENERIC}         ;;     *)         # Failed resource; let the cluster manager recover         ocf_log err &quot;Unexpected error, cannot demote.&quot;         exit ${rc}         ;;     esac      # Demote only makes sense if we are using ALUA     if ocf_is_true ${OCF_RESKEY_alua}; then         check_alua         # Set the local target group to the &quot;Slave&quot; ALUA state         ocf_log debug &quot;scst_demote() -&gt; Setting target group&quot; \\             &quot;'${OCF_RESKEY_local_tgt_grp}' ALUA state to&quot; \\             &quot;'${OCF_RESKEY_s_alua_state}'...&quot;         ocf_run scstadmin -noprompt -set_tgrp_attr \\             ${OCF_RESKEY_local_tgt_grp} -dev_group \\             ${OCF_RESKEY_device_group} -attributes \\             state\\=${OCF_RESKEY_s_alua_state} || exit ${OCF_ERR_GENERIC}         # If we're a Slave, we assume the remote side is the Master         ocf_log debug &quot;scst_demote() -&gt; Setting target group&quot; \\             &quot;'${OCF_RESKEY_remote_tgt_grp}' ALUA state to&quot; \\             &quot;'${OCF_RESKEY_m_alua_state}'...&quot;         ocf_run scstadmin -noprompt -set_tgrp_attr \\             ${OCF_RESKEY_remote_tgt_grp} -dev_group \\             ${OCF_RESKEY_device_group} -attributes \\             state\\=${OCF_RESKEY_m_alua_state} || exit ${OCF_ERR_GENERIC}     else         ocf_log err &quot;The ALUA parameters need to be configured before using MS.&quot;         exit ${OCF_ERR_CONFIGURED}     fi      # After the resource has been demoted, check whether the demotion worked     while true; do         scst_monitor         if [ ${?} -eq ${OCF_RUNNING_MASTER} ]; then             ocf_log debug &quot;scst_demote() -&gt; Resource still&quot; \\                 &quot;awaiting demotion.&quot;             sleep 1         else             ocf_log info &quot;Resource was demoted successfully.&quot;             break         fi     done      # Only return $OCF_SUCCESS if _everything_ succeeded as expected     return ${OCF_SUCCESS} }   scst_notify() {     # We're currently not using this     ocf_log debug &quot;scst_notify() -&gt; Received a&quot; \\         &quot;'${OCF_RESKEY_CRM_meta_notify_type}' \/&quot; \\         &quot;'${OCF_RESKEY_CRM_meta_notify_operation}' notification.&quot;      return ${OCF_SUCCESS} }   check_alua() {     # Make sure the directories exist in the SCST sysfs structure     if [ ! -d &quot;${SCST_SYSFS}\/device_groups\/${OCF_RESKEY_device_group}&quot; ]; then         ocf_log err &quot;The '${OCF_RESKEY_device_group}' device group does not exist!&quot;         exit ${OCF_ERR_INSTALLED}     fi     target_groups=&quot;${SCST_SYSFS}\/device_groups\/${OCF_RESKEY_device_group}\/target_groups&quot;     if [ ! -d &quot;${target_groups}\/${OCF_RESKEY_local_tgt_grp}&quot; ]; then         ocf_log err &quot;The '${OCF_RESKEY_local_tgt_grp}' target group does not exist!&quot;         exit ${OCF_ERR_INSTALLED}     fi     if [ ! -d &quot;${target_groups}\/${OCF_RESKEY_remote_tgt_grp}&quot; ]; then         ocf_log err &quot;The '${OCF_RESKEY_remote_tgt_grp}' target group does not exist!&quot;         exit ${OCF_ERR_INSTALLED}     fi      # Check that the given ALUA states are valid     local valid_m_alua_state=0     local valid_s_alua_state=0     for i in ${ALUA_STATES}; do         if [ &quot;x${OCF_RESKEY_m_alua_state}&quot; = &quot;x${i}&quot; ]; then             valid_m_alua_state=1         fi         if [ &quot;x${OCF_RESKEY_s_alua_state}&quot; = &quot;x${i}&quot; ]; then             valid_s_alua_state=1         fi     done     if [ ${valid_m_alua_state} -eq 0 ]; then         ocf_log err &quot;The 'm_alua_state' value is not valid: ${OCF_RESKEY_m_alua_state}&quot;         exit ${OCF_ERR_INSTALLED}     fi     if [ ${valid_s_alua_state} -eq 0 ]; then         ocf_log err &quot;The 's_alua_state' value is not valid: ${OCF_RESKEY_s_alua_state}&quot;         exit ${OCF_ERR_INSTALLED}     fi }   # Make sure meta-data and usage always succeed case ${__OCF_ACTION} in meta-data)     scst_meta_data     exit ${OCF_SUCCESS}     ;; usage|help)     scst_usage     exit ${OCF_SUCCESS}     ;; esac  # Anything other than meta-data and usage must pass validation scst_validate_all || exit ${?}  # Translate each action into the appropriate function call case ${__OCF_ACTION} in start)     scst_start     ;; stop)     scst_stop     ;; status|monitor)     scst_monitor     ;; notify)     scst_notify     ;; promote)     scst_promote     ;; demote)     scst_demote     ;; reload)     ocf_log info &quot;Reloading...&quot;     scst_start     ;; validate-all)     ;; migrate_to|migrate_from)     scst_usage     exit ${OCF_ERR_UNIMPLEMENTED}     ;; *)     scst_usage     exit ${OCF_ERR_UNIMPLEMENTED}     ;; esac  # Log a debug message and exit rc=${?} ocf_log debug &quot;${OCF_RESOURCE_INSTANCE} ${__OCF_ACTION} returned: ${rc}&quot; exit ${rc} <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0421\u0435\u0439 \u0444\u0430\u0439\u043b \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043f\u043e\u0434 \u0438\u043c\u0435\u043d\u0435\u043c <b>\/usr\/lib\/ocf\/resource.d\/esos\/scst<\/b> \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c.<\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0434\u043b\u044f \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u0432\u0443\u0445 \u043d\u043e\u0434 \u043c\u0430\u043b\u043e (\u0431\u0443\u0434\u0435\u0442 Split-Brain \u0435\u0441\u043b\u0438 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u0441\u044f), \u0442\u043e \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0435\u0449\u0451 \u0442\u0440\u0435\u0442\u044c\u044f \u043d\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0432\u043e\u0440\u0443\u043c, \u043d\u043e \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0422\u0443\u0442 \u0432\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0432 \u0438\u0433\u0440\u0443 \u0442\u0430\u043a\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c Pacemaker, \u0447\u0442\u043e \u00ab\u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435\u00bb \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0441\u0435\u0445 \u043d\u043e\u0434\u0430\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 \u0442\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u044d\u0442\u043e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 \u0432\u043e\u043e\u0431\u0449\u0435 \u0438\u043b\u0438 \u043d\u0435\u0442 (\u0432 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u0432\u0440\u043e\u0434\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a, \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u044d\u0442\u0443 \u0444\u0438\u0447\u0443, \u043d\u043e \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Debian \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u0447\u0430\u0441\u0442\u044c\u044f \u0435\u0449\u0435 \u0432\u0440\u043e\u0434\u0435 \u043d\u0435\u0442). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043a\u0432\u043e\u0440\u0443\u043c-\u043d\u043e\u0434\u044b \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u00ab\u0432 \u0411\u0430\u0433\u0434\u0430\u0434\u0435 \u0432\u0441\u0451 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e\u00bb.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0424\u0435\u0439\u043a\u043e\u0432\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">#! \/bin\/sh # # $Id$  # #   Resource Agent for managing the Generic SCSI Target Subsystem #   for Linux (SCST) and related daemons. # #   License: GNU General Public License (GPL) #   (c) 2012-2014 Marc A. Smith #  # Initialization : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}\/lib\/heartbeat} . ${OCF_FUNCTIONS_DIR}\/ocf-shellfuncs MODULES=&quot;scst scst_vdisk qla2x00tgt&quot; SCST_CFG=&quot;\/etc\/scst.conf&quot; PRE_SCST_CONF=&quot;\/etc\/pre-scst_xtra_conf&quot; POST_SCST_CONF=&quot;\/etc\/post-scst_xtra_conf&quot; SCST_SYSFS=&quot;\/sys\/kernel\/scst_tgt&quot; ALUA_STATES=&quot;active nonoptimized standby unavailable offline transitioning&quot; NO_CLOBBER=&quot;\/tmp\/scst_ra-no_clobber&quot;  scst_monitor() {     return ${OCF_NOT_RUNNING} }  scst_meta_data() { \tcat &lt;&lt;-EOF \t&lt;?xml version=&quot;1.0&quot;?&gt; \t&lt;!DOCTYPE resource-agent SYSTEM &quot;ra-api-1.dtd&quot;&gt; \t&lt;resource-agent name=&quot;scst&quot; version=&quot;0.1&quot;&gt; \t  &lt;version&gt;0.1&lt;\/version&gt; \t  &lt;longdesc lang=&quot;en&quot;&gt;The SCST OCF resource agent for ESOS; includes SCST ALUA support.&lt;\/longdesc&gt; \t  &lt;shortdesc lang=&quot;en&quot;&gt;SCST OCF RA script for ESOS.&lt;\/shortdesc&gt; \t  &lt;parameters&gt; \t    &lt;parameter name=&quot;alua&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;Use to enable\/disable updating ALUA status in SCST.&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'alua' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;boolean&quot; default=&quot;false&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;device_group&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The name of the SCST device group (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'device_group' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;local_tgt_grp&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The name of the SCST local target group (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'local_tgt_grp' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;remote_tgt_grp&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The name of the SCST remote target group (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'remote_tgt_grp' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;m_alua_state&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The ALUA state (eg, active) for a Master node (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 'm_alua_state' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;active&quot; \/&gt; \t    &lt;\/parameter&gt; \t    &lt;parameter name=&quot;s_alua_state&quot; unique=&quot;0&quot; required=&quot;0&quot;&gt; \t      &lt;longdesc lang=&quot;en&quot;&gt;The ALUA state (eg, nonoptimized) for a Slave node (used with ALUA support).&lt;\/longdesc&gt; \t      &lt;shortdesc lang=&quot;en&quot;&gt;The 's_alua_state' parameter.&lt;\/shortdesc&gt; \t      &lt;content type=&quot;string&quot; default=&quot;nonoptimized&quot; \/&gt; \t    &lt;\/parameter&gt; \t  &lt;\/parameters&gt; \t  &lt;actions&gt; \t    &lt;action name=&quot;meta-data&quot; timeout=&quot;5&quot; \/&gt; \t    &lt;action name=&quot;start&quot; timeout=&quot;120&quot; \/&gt; \t    &lt;action name=&quot;stop&quot; timeout=&quot;60&quot; \/&gt; \t    &lt;action name=&quot;monitor&quot; timeout=&quot;20&quot; depth=&quot;0&quot; interval=&quot;10&quot; role=&quot;Master&quot; \/&gt; \t    &lt;action name=&quot;monitor&quot; timeout=&quot;20&quot; depth=&quot;0&quot; interval=&quot;20&quot; role=&quot;Slave&quot; \/&gt; \t    &lt;action name=&quot;notify&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;promote&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;demote&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;reload&quot; timeout=&quot;20&quot; \/&gt; \t    &lt;action name=&quot;validate-all&quot; timeout=&quot;20&quot; \/&gt; \t  &lt;\/actions&gt; \t&lt;\/resource-agent&gt; \tEOF }  scst_usage() {     echo &quot;usage: ${0} {start|stop|monitor|validate-all|promote|demote|reload|notify|meta-data}&quot;     echo &quot;&quot;     echo &quot;Expects to have a fully populated OCF RA-compliant environment set.&quot; }  # Make sure meta-data and usage always succeed case ${__OCF_ACTION} in meta-data)     scst_meta_data     exit ${OCF_SUCCESS}     ;; usage|help)     scst_usage     exit ${OCF_SUCCESS}     ;; esac  # Translate each action into the appropriate function call case ${__OCF_ACTION} in start)     ;; stop)     ;; status|monitor)     scst_monitor     ;; notify)     ;; promote)     ;; demote)     ;; reload)     ocf_log info &quot;Reloading...&quot;     ;; validate-all)     ;; migrate_to|migrate_from)     scst_usage     exit ${OCF_ERR_UNIMPLEMENTED}     ;; *)     scst_usage     exit ${OCF_ERR_UNIMPLEMENTED}     ;; esac  # Log a debug message and exit rc=${?} ocf_log debug &quot;${OCF_RESOURCE_INSTANCE} ${__OCF_ACTION} returned: ${rc}&quot; exit ${rc}  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0415\u0433\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u043a\u0432\u043e\u0440\u0443\u043c-\u043d\u043e\u0434\u0443 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043d\u043e\u0434\u0430\u043c.<\/p>\n<p>  \u0422\u0430\u043a, \u043d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e SCST.<br \/>  \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0445\u0432\u0430\u0442\u0438\u0442.<\/p>\n<p>  \u041f\u043e\u0433\u043b\u044f\u0434\u0438\u043c \u043a\u0430\u043a\u0438\u0435 \u0434\u0435\u0432\u0430\u0439\u0441\u044b \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">storcli64 \/c0\/eall\/sall show<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">Controller = 0 Status = Success Description = Show Drive Information Succeeded.   Drive Information : =================  ------------------------------------------------------------------------- EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp  ------------------------------------------------------------------------- 37:0     61 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:1     62 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:2     63 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:3     64 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:4     65 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:5     66 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:6     67 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:7     68 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:8     69 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:9     70 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:10    71 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:11    72 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:12    73 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:13    74 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:14    75 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:15    76 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:16    77 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:17    78 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:18    15 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:19    19 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:20    79 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:21    80 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:22    81 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   37:23    82 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:0      8 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:1      9 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:2     10 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:3     11 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:4     12 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:5     14 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:6     21 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:7     22 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:8     23 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:9     24 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:10    18 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:11    17 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:12    25 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:13    26 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:14    16 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:15    27 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:16    28 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:17    29 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:18    30 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:19    31 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:20    32 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:21    33 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:22    34 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   59:23    35 UGood   - 372.093 GB SAS  SSD N   N  512B S842E400M2       U   ------------------------------------------------------------------------- <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0437\u043d\u0430\u0447\u0438\u0442 \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0437\u0430\u0432\u0430\u0442\u044c \u0434\u0432\u0430 RAID6 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (23 + 1 Hot Spare), \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0431\u044d\u043a\u043f\u043b\u0435\u0439\u043d\u0435:  <\/p>\n<pre><code class=\"bash\"># storcli \/c0 add vd r6 name=SSD-RAID6-1 drives=37:0-22 WT nora direct Strip=64 # storcli \/c0 add vd r6 name=SSD-RAID6-2 drives=59:0-22 WT nora direct Strip=64 <\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b LSI \u0434\u043b\u044f SSD. \u0421\u0443\u0434\u044f \u043f\u043e \u043c\u043e\u0438\u043c \u0442\u0435\u0441\u0442\u0430\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0440\u0430\u0439\u043f\u0430 \u043e\u0442 8\u041a\u0431 \u0434\u043e 128\u041a\u0431 \u043f\u043e\u0447\u0442\u0438 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n<p>  \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f SCST: \/etc\/scst.conf  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u0435\u0440\u0432\u0435\u0440-1 (\u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438)<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 ## \u0420\u0435\u0436\u0438\u043c blockio \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u043c\u0438\u043d\u0443\u044f \u044f\u0434\u0435\u0440\u043d\u044b\u0439 Page Cache, \u0434\u043b\u044f SSD \u0441\u0430\u043c\u043e\u0435 \u0442\u043e HANDLER vdisk_blockio {         ## \u041d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0438\u043c\u0435\u043d\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 SCST \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u044f t10_dev_id \u0438 usn         ## \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c ESXi \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 LUN.         DEVICE SSD-RAID6-1 {                 ## \u0423\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 (\u043e\u0442\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c\u0441\u044f \u043e\u0442 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \/dev\/sdX)                 filename \/dev\/disk\/by-id\/scsi-3600605b008b4be401c91ac4abce21c9b                 ## \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a\u0435\u0448 \u0437\u0430\u043f\u0438\u0441\u0438                 write_through 1                 ## \u0413\u043e\u0432\u043e\u0440\u0438\u043c \u0447\u0442\u043e \u044d\u0442\u043e SSD                 rotational 0         }          DEVICE SSD-RAID6-2 {                 filename \/dev\/disk\/by-id\/scsi-3600605b008b4be401c91ac53bd668eda                 write_through 1                 rotational 0         } }  # \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0440\u0433\u0435\u0442\u043e\u0432 TARGET_DRIVER qla2x00t {         ## WWN \u043f\u043e\u0440\u0442\u0430, \u0441\u0432\u043e\u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \/sys\/kernel\/scst_tgt\/targets\/qla2x00t         TARGET 21:00:00:24:ff:54:09:32 {                 HW_TARGET                  enabled 1                 # \u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0432 ALUA \u0433\u0440\u0443\u043f\u043f\u0435 (1-4 \u0443 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 5-8 \u0443 \u0432\u0442\u043e\u0440\u043e\u0433\u043e)                 rel_tgt_id 1                                  ## \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043d\u0435\u0433\u043e \u043d\u0430\u0448\u0438 \u0434\u0435\u0432\u0430\u0439\u0441\u044b                 LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         }          TARGET 21:00:00:24:ff:54:09:33 {                 HW_TARGET                  enabled 1                 rel_tgt_id 2                  LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         }          TARGET 21:00:00:24:ff:54:09:80 {                 HW_TARGET                  enabled 1                 rel_tgt_id 3                  LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         }          TARGET 21:00:00:24:ff:54:09:81 {                 HW_TARGET                  enabled 1                 rel_tgt_id 4                  LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         } }   # \u0413\u0440\u0443\u043f\u043f\u0430 ALUA, \u0438\u043c\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 DEVICE_GROUP default {         ## \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0433\u0440\u0443\u043f\u043f\u0443         DEVICE SSD-RAID6-1         DEVICE SSD-RAID6-2                  ## \u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u043e\u0440\u0442\u043e\u0432 \u0432 \u0421\u0435\u0440\u0432\u0435\u0440\u0435-1, \u0438\u043c\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435         TARGET_GROUP local {                 ## ID \u0433\u0440\u0443\u043f\u043f\u044b, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435                 group_id 256                  ## ALUA \u0441\u0442\u0430\u0442\u0443\u0441                 state active                  ## \u041f\u043e\u0440\u0442\u044b \u0421\u0435\u0440\u0432\u0435\u0440\u0430-1                 TARGET 21:00:00:24:ff:54:09:32                 TARGET 21:00:00:24:ff:54:09:33                 TARGET 21:00:00:24:ff:54:09:80                 TARGET 21:00:00:24:ff:54:09:81         }          ## \u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u043e\u0440\u0442\u043e\u0432 \u0421\u0435\u0440\u0432\u0435\u0440\u0430-2         TARGET_GROUP remote {                 group_id 257                  ## ALUA \u0441\u0442\u0430\u0442\u0443\u0441                 state nonoptimized                                  ## \u041f\u043e\u0440\u0442\u044b \u0421\u0435\u0440\u0432\u0435\u0440\u0430-2 \u0438 \u0438\u0445 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0435 \u043d\u043e\u043c\u0435\u0440\u0430                 TARGET 21:00:00:24:ff:4a:af:b2 {                         rel_tgt_id 5                 }                 TARGET 21:00:00:24:ff:4a:af:b3 {                         rel_tgt_id 6                 }                 TARGET 21:00:00:24:ff:54:09:06 {                         rel_tgt_id 7                 }                 TARGET 21:00:00:24:ff:54:09:07 {                         rel_tgt_id 8                 }         } } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u0435\u0440\u0432\u0435\u0440-2 (\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u043e)<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">HANDLER vdisk_blockio {         DEVICE SSD-RAID6-1 {                 filename \/dev\/disk\/by-id\/scsi-3600605b008b4be401c91ac4abce21c9b                 write_through 1                 rotational 0         }          DEVICE SSD-RAID6-2 {                 filename \/dev\/disk\/by-id\/scsi-3600605b008b4be401c91ac53bd668eda                 write_through 1                 rotational 0         } }  TARGET_DRIVER qla2x00t {         TARGET 21:00:00:24:ff:4a:af:b2 {                 HW_TARGET                  enabled 1                 rel_tgt_id 5                  LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         }          TARGET 21:00:00:24:ff:4a:af:b3 {                 HW_TARGET                  enabled 1                 rel_tgt_id 6                  LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         }          TARGET 21:00:00:24:ff:54:09:06 {                 HW_TARGET                  enabled 1                 rel_tgt_id 7                  LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         }          TARGET 21:00:00:24:ff:54:09:07 {                 HW_TARGET                  enabled 1                 rel_tgt_id 8                  LUN 0 SSD-RAID6-1                 LUN 1 SSD-RAID6-2         } }  DEVICE_GROUP default {         DEVICE SSD-RAID6-1         DEVICE SSD-RAID6-2          TARGET_GROUP local {                 group_id 257                 state nonoptimized                  TARGET 21:00:00:24:ff:4a:af:b2                 TARGET 21:00:00:24:ff:4a:af:b3                 TARGET 21:00:00:24:ff:54:09:06                 TARGET 21:00:00:24:ff:54:09:07         }          TARGET_GROUP remote {                 group_id 256                 state active                  TARGET 21:00:00:24:ff:54:09:32 {                         rel_tgt_id 1                 }                 TARGET 21:00:00:24:ff:54:09:33 {                         rel_tgt_id 2                 }                 TARGET 21:00:00:24:ff:54:09:80 {                         rel_tgt_id 3                 }                 TARGET 21:00:00:24:ff:54:09:81 {                         rel_tgt_id 4                 }         } } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0412\u0441\u0451, \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438, \u0434\u0443\u043c\u0430\u044e, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u0441\u043a\u043e\u0440\u043e \u043e\u0441\u0438\u043b\u044e \u0432\u0442\u043e\u0440\u0443\u044e \ud83d\ude42      \t<\/p>\n<div class=\"clear\"><\/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\/252403\/\"> http:\/\/habrahabr.ru\/post\/252403\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t<img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/fb4\/986\/ac7\/fb4986ac7f1d4dfe98c76576c3f28264.jpg\"\/><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0441\u0432\u043e\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/209460\/\">\u0440\u0435\u0434\u043a\u0438\u0435<\/a> <a href=\"http:\/\/habrahabr.ru\/post\/209666\/\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a> \u043d\u0430 \u0442\u0435\u043c\u0443 \u00ab\u043a\u0430\u043a \u043d\u0435 \u043f\u043b\u0430\u0442\u0438\u0442\u044c HP\/EMC\/IBM \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u0438\u043b\u043e-(\u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043c\u0435\u0433\u0430-) \u0434\u043e\u043b\u043b\u0430\u0440\u044b \u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0432\u043e\u0451 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043d\u0435 \u0445\u0443\u0436\u0435\u00bb. \u041f\u0440\u043e\u0448\u043b\u044b\u0439 \u0446\u0438\u043a\u043b \u044f \u0434\u043e \u043f\u043e\u0431\u0435\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0446\u0430 \u043d\u0435 \u0434\u043e\u0432\u0451\u043b, \u043d\u043e 90% \u043c\u044b\u0441\u043b\u0435\u0439 \u0432\u0441\u0451 \u0436\u0435 \u043e\u0444\u043e\u0440\u043c\u0438\u043b \u0432 \u0442\u0435\u043a\u0441\u0442.<\/p>\n<p>  \u041d\u0430\u0448\u0435\u0439 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0446\u0435\u043b\u044c\u044e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0435 \u00abAll-Flash\u00bb (\u0442\u043e \u0435\u0441\u0442\u044c \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 SSD, \u0431\u0435\u0437 \u0436\u0435\u0441\u0442\u043a\u0438\u0445 \u0434\u0438\u0441\u043a\u043e\u0432, \u0445\u043e\u0442\u044f \u044d\u0442\u043e \u0438 \u043d\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e) \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u043d\u0443\u0436\u0434 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 vSphere, \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0434\u0435\u0448\u0435\u0432\u043b\u0435 \u0431\u0440\u0435\u043d\u0434\u043e\u0432\u044b\u0445 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432 \u0438 \u0441 \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e Fibre Channel, \u043d\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c iSCSI, FCoE \u0438\u043b\u0438 \u0434\u0430\u0436\u0435, \u043e \u0443\u0436\u0430\u0441, Infiniband.<\/p>\n<h2>Syncro<\/h2>\n<p>  \u041a\u0430\u043a \u044f\u0441\u043d\u043e \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0431\u043e\u0433\u043e\u0434\u0435\u043b\u044c\u043d\u0438 \u0441\u0442\u0430\u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <b>Syncro CS<\/b> \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <b>LSI<\/b> (\u043d\u044b\u043d\u0435 Avago).<\/p>\n<p>  \u0427\u0442\u043e \u0436\u0435 \u043e\u043d\u043e \u0442\u0430\u043a\u043e\u0435 \u0435\u0441\u0442\u044c \u0438 \u0447\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e?<\/p>\n<p>  \u041f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 LSI 9286-8e (\u043b\u0438\u0431\u043e 9271-8i, \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u044b \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u044b) \u0438 \u0434\u0432\u0443\u0445 \u0441\u0443\u043f\u0435\u0440\u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f. \u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u044b\u0448\u0435 \u0446\u0435\u043d\u044b \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 \u0431\u0435\u0437 HA-\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u041d\u043e, \u0435\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 DRBD, \u0442\u043e \u044d\u0442\u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0441 \u043b\u0438\u0445\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u043c\u0435\u0442\u044c \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u0439.<\/p>\n<p>  \u041d\u043e \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0435\u0439, \u044d\u0442\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u0431\u0443\u0434\u0443\u0447\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043a \u043e\u0434\u043d\u043e\u0439 SAS-\u0441\u0435\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u043a\u043e\u0440\u0437\u0438\u043d\u0435 \u0441 \u044d\u043a\u0441\u043f\u0430\u043d\u0434\u0435\u0440\u0430\u043c\u0438) \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0451 \u0441\u0432\u044f\u0437\u044c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0441 \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0432\u043e\u0442 \u0447\u0435\u043c:  <\/p>\n<ul>\n<li>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c RAID-\u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445  <\/li>\n<li>\u041e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432: \u043f\u0440\u0438 \u0441\u043c\u0435\u0440\u0442\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 (\u0438\u043b\u0438 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430) \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c I\/O<\/li>\n<\/ul>\n<p>  <\/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-253125","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253125","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=253125"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253125\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=253125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=253125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=253125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}