25.3. ÐÑÑабоÑка оÑказа #
ÐÑли ведÑÑий ÑеÑÐ²ÐµÑ Ð¾ÑказÑваеÑ, ÑезеÑвнÑй должен наÑаÑÑ Ð¿ÑоÑедÑÑÑ Ð¾ÑÑабоÑки оÑказа.
ÐÑли оÑказÑÐ²Ð°ÐµÑ ÑезеÑвнÑй ÑеÑвеÑ, никакие дейÑÑÐ²Ð¸Ñ Ð¿Ð¾ оÑÑабоÑке оÑказа не ÑÑебÑÑÑÑÑ. ÐÑли ÑезеÑвнÑй ÑеÑÐ²ÐµÑ Ð±ÑÐ´ÐµÑ Ð¿ÐµÑезапÑÑен, даже ÑеÑез некоÑоÑое вÑемÑ, немедленно наÑнÑÑÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð²Ð¾ÑÑÑановлениÑ, благодаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи возобновлÑемого воÑÑÑановлениÑ. ÐÑли веÑнÑÑÑ ÑезеÑвнÑй ÑеÑÐ²ÐµÑ Ð² ÑÑÑой невозможно, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑоздаÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð½Ð¾Ð²Ñй ÑкземплÑÑ ÑезеÑвного ÑеÑвеÑа.
Ðогда ведÑÑий ÑеÑÐ²ÐµÑ Ð¾ÑказÑÐ²Ð°ÐµÑ Ð¸ ÑезеÑвнÑй ÑеÑÐ²ÐµÑ ÑÑановиÑÑÑ Ð½Ð¾Ð²Ñм ведÑÑим, а заÑем ÑÑаÑÑй ведÑÑий вклÑÑаеÑÑÑ Ñнова, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð²ÑаÑа ÑÑаÑого к Ñоли ведÑÑего. Ðногда его назÑваÑÑ STONITH (Shoot The Other Node In The Head, «ÐÑÑÑÑелиÑе в Ð³Ð¾Ð»Ð¾Ð²Ñ Ð´ÑÑÐ³Ð¾Ð¼Ñ ÑзлÑ»), ÑÑо позволÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑиÑÑаÑии, когда обе ÑиÑÑÐµÐ¼Ñ ÑÑиÑаÑÑ ÑÐµÐ±Ñ Ð²ÐµÐ´ÑÑими, и в ÑезÑлÑÑаÑе возникаÑÑ ÐºÐ¾Ð½ÑликÑÑ Ð¸ поÑеÑÑ Ð´Ð°Ð½Ð½ÑÑ .
Ðо Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð¾ÑказоÑÑÑойÑивÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑиÑÑ Ð¸ÑполÑзÑÑÑÑÑ Ð²Ñего две ÑиÑÑемÑ: ведÑÑÐ°Ñ Ð¸ ÑезеÑвнаÑ, Ñ Ð½ÐµÐºÐ¾ÑоÑÑм конÑÑолÑнÑм Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð¾Ð¼, коÑоÑÑй поÑÑоÑнно пÑовеÑÑÐµÑ Ñоединение Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸ и ÑабоÑоÑпоÑобноÑÑÑ Ð²ÐµÐ´ÑÑей. Также возможно пÑименение ÑÑеÑÑей ÑиÑÑÐµÐ¼Ñ (назÑваемой ÑледÑÑим ÑеÑвеÑом) Ð´Ð»Ñ Ð¸ÑклÑÑÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð²Ð°ÑианÑов нежелаÑелÑной оÑÑабоÑки оÑказа, но ÑÑа дополниÑелÑÐ½Ð°Ñ ÑложноÑÑÑ Ð¾Ð¿Ñавдана, ÑолÑко еÑли вÑÑ ÑÑ ÐµÐ¼Ð° доÑÑаÑоÑно Ñ Ð¾ÑоÑо пÑодÑмана и ÑÑаÑелÑно пÑоÑеÑÑиÑована.
Postgres Pro не пÑедоÑÑавлÑÐµÑ ÑиÑÑемного пÑогÑаммного обеÑпеÑениÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÐ±Ð¾Ñ Ð½Ð° ведÑÑем и ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ ÑезеÑвного ÑеÑвеÑа баз даннÑÑ . ÐмееÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво подобнÑÑ Ð¸Ð½ÑÑÑÑменÑов, коÑоÑÑе Ñ Ð¾ÑоÑо инÑегÑиÑÑÑÑÑÑ Ñо ÑÑедÑÑвами опеÑаÑионной ÑиÑÑемÑ, ÑÑебÑемÑми Ð´Ð»Ñ ÑÑпеÑной оÑÑабоÑки оÑказа, напÑимеÑ, Ð´Ð»Ñ Ð¼Ð¸Ð³ÑаÑии IP-адÑеÑа.
Ðогда пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¿ÐµÑеклÑÑение на ÑезеÑвнÑй ÑеÑвеÑ, ÑолÑко один ÑеÑÐ²ÐµÑ Ð¿ÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑабоÑÑ. ÐÑо ÑоÑÑоÑние назÑваеÑÑÑ ÑÑеÑбнÑм. ÐÑвÑий ÑезеÑвнÑй ÑеÑÐ²ÐµÑ ÑепеÑÑ ÑвлÑеÑÑÑ Ð²ÐµÐ´ÑÑим, а бÑвÑий ведÑÑий оÑклÑÑÑн и Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑаваÑÑÑÑ Ð¾ÑклÑÑÑннÑм. ÐÐ»Ñ Ð²Ð¾Ð·Ð²ÑаÑÐµÐ½Ð¸Ñ Ðº ноÑмалÑÐ½Ð¾Ð¼Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ запÑÑÑиÑÑ Ð½Ð¾Ð²Ñй ÑезеÑвнÑй ÑеÑвеÑ, либо на бÑвÑем ведÑÑем, либо в ÑÑеÑÑей, возможно, новой ÑиÑÑеме. УÑкоÑиÑÑ ÑÑÐ¾Ñ Ð¿ÑоÑеÑÑ Ð² болÑÑÐ¸Ñ ÐºÐ»Ð°ÑÑеÑÐ°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑÑилиÑа pg_rewind. Ðо завеÑÑении ÑÑого пÑоÑеÑÑа можно ÑÑиÑаÑÑ, ÑÑо ведÑÑий и ÑезеÑвнÑй ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð¼ÐµÐ½ÑлиÑÑ ÑолÑми. ÐекоÑоÑÑе иÑполÑзÑÑÑ ÑÑеÑий ÑеÑÐ²ÐµÑ Ð² каÑеÑÑве запаÑного Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ведÑÑего, пока не бÑÐ´ÐµÑ Ð²Ð¾ÑÑоздан новÑй ÑезеÑвнÑй ÑеÑвеÑ, Ñ Ð¾ÑÑ ÑÑо, оÑевидно, ÑÑложнÑÐµÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑиÑÑÐµÐ¼Ñ Ð¸ ÑабоÑие пÑоÑедÑÑÑ.
Таким обÑазом, пеÑеклÑÑение Ñ Ð²ÐµÐ´ÑÑего ÑеÑвеÑа на ÑезеÑвнÑй Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±ÑÑÑÑÑм, но ÑÑебÑÐµÑ Ð½ÐµÐºÐ¾ÑоÑого вÑемени Ð´Ð»Ñ Ð¿Ð¾Ð²ÑоÑной подгоÑовки оÑказоÑÑÑойÑивого клаÑÑеÑа. РегÑлÑÑнÑе пеÑеклÑÑÐµÐ½Ð¸Ñ Ñ Ð²ÐµÐ´ÑÑего ÑеÑвеÑа на ÑезеÑвнÑй полезнÑ, Ñак как пÑи ÑÑом поÑвлÑеÑÑÑ Ð¿Ð»Ð°Ð½Ð¾Ð²Ð¾Ðµ вÑÐµÐ¼Ñ Ð´Ð»Ñ Ð¾ÑклÑÑÐµÐ½Ð¸Ñ Ð¸ пÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð±ÑлÑживаниÑ. ÐÑо Ñакже позволÑÐµÑ ÑбедиÑÑÑÑ Ð² ÑабоÑоÑпоÑобноÑÑи Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° оÑÑабоÑки оÑказа и гаÑанÑиÑоваÑÑ, ÑÑо он дейÑÑвиÑелÑно бÑÐ´ÐµÑ ÑабоÑаÑÑ, когда поÑÑебÑеÑÑÑ. ÐÑи админиÑÑÑаÑивнÑе пÑоÑедÑÑÑ ÑекомендÑеÑÑÑ Ð´Ð¾ÐºÑменÑиÑоваÑÑ Ð¿Ð¸ÑÑменно.
ÐÑли вÑбÑана ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ ÑлоÑов логиÑеÑкой ÑепликаÑии (Ñм. ÐодÑаздел 47.2.3), Ñо пеÑед пеÑеклÑÑением на ÑезеÑвнÑй ÑеÑÐ²ÐµÑ ÑекомендÑеÑÑÑ Ð¿ÑовеÑиÑÑ, гоÑÐ¾Ð²Ñ Ð»Ð¸ к оÑÑабоÑке оÑказа логиÑеÑкие ÑлоÑÑ, ÑÐ¸Ð½Ñ ÑонизиÑованнÑе на ÑезеÑвном ÑеÑвеÑе. ЧÑÐ¾Ð±Ñ ÑÑо ÑделаÑÑ, вÑполниÑе Ñаги, опиÑаннÑе в Раздел 28.3.
ЧÑÐ¾Ð±Ñ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð¾ÑÑабоÑÐºÑ Ð¾Ñказа ÑезеÑвного ÑеÑвеÑа ÑÑанÑлÑÑии жÑÑналов, запÑÑÑиÑе pg_ctl promote или вÑзовиÑе pg_promote(). ÐÑли ÑезеÑвнÑй ÑеÑÐ²ÐµÑ Ð¿ÑименÑеÑÑÑ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° даннÑÑ
, ÑÑÐ¾Ð±Ñ ÑолÑко ÑазгÑÑзиÑÑ Ð²ÐµÐ´ÑÑий, вÑполнÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð½Ð° ÑÑение, а не обеÑпеÑиваÑÑ Ð¾ÑказоÑÑÑойÑивоÑÑÑ, повÑÑаÑÑ ÐµÐ³Ð¾ до ведÑÑего не понадобиÑÑÑ.