Контролируемое переключение репликации предназначено для выполнения ручного действия, поэтому для его завершения нет встроенного сценария. Предполагается, что оно будет ручным, так как требуется дождаться полного опустошения очереди репликации до завершения переключения. Если виртуальные частные сети сообщений используют транзакции XA, может также потребоваться эвристический откат или фиксация любых подготовленных транзакций, которые были на формально активном сайте.
Шаги для выполнения управляемого переключения приведены ниже. В этом примере предполагается, что NY_Appliance1 в качестве изначально активного устройства и NJ_Appliance1 в качестве изначально резервного устройства. В этом примере показано только одно сообщение VPN с именем Trading_VPN, но шаги должны повторяться для каждого сообщения VPN. Если необходимо переключить несколько VPN одновременно, может быть проще использовать SolAdmin или Solace WebUI.
Убедитесь, что мост репликации связан с очередью репликации:
Запустите «show message-vpn Trading_VPN replication» на каждом сайте репликации. Состояние удаленного моста должно быть «Вверх» для сайта, активного для репликации, а состояние локального моста должно быть «Вверх» для сайта в режиме ожидания репликации
NY_Appliance1> show message-vpn Trading_VPN replication
Message VPN A C B R Q S M T
-------------------------------- - - - - - - - - -
Trading_VPN U A - U U - N A
NJ_Appliance1> show message-vpn Trading_VPN replication
Message VPN A C B R Q S M T
-------------------------------- - - - - - - - - -
Trading_VPN U S U - - - N A
Переключить активные в настоящее время репликации VPN для сообщений в режим ожидания.
NY_Appliance1(configure)# message-vpn Trading_VPN
NY_Appliance1(configure/message-vpn)# replication state standby
Повторите для каждого сообщения VPN.
Разрешить поступление любых сообщений или транзакций, которые выполняются от ранее действующей VPN-репликации Message VPN к соответствующей VPN-передаче Message на его ответной реплике. Разрешение распространения всех сообщений и транзакций в резервном Message VPN может предотвратить потерю сообщений и транзакций асинхронной репликации.
NY_Appliance1(configure)# show queue #MSGVPN_REPLICATION_DATA_QUEUE message-vpn Trading_VPN
Name : #MSGVPN_REPLICATION_DATA_QUEUE
Message VPN : Trading_VPN
...
Current Messages Spooled : 1
Current Spool Usage (MB) : 0.0006
...
Системный администратор не должен настраивать Message VPN в другом сопряжении репликации (NJ_Appliance1) как активную репликацию до тех пор, пока «Current Messages Spooled» не будет равно 0 для очереди репликации для Message VPN, которая только что переключилась в режим ожидания репликации.
Если Message VPN использует транзакции XA, могут быть некоторые подготовленные транзакции на ранее активном сайте, которые необходимо эвристически зафиксировать или откатить. Только подготовленные транзакции должны быть рассмотрены. Транзакции в других штатах можно игнорировать.
Чтобы надлежащим образом решить, должна ли транзакция XA быть зафиксирована или откатана, пользователь должен проверить журналы или состояние диспетчера транзакций со стороны приложения.
NY_Appliance1> show transaction message-vpn Trading_VPN state PREPARED replicated detail
Переключить прежнее сообщение VPN о состоянии ожидания репликации на активное-репликация
NJ_Appliance1(configure)# message-vpn Trading_VPN
NJ_Appliance1(configure/message-vpn)# replication state active
Повторите для каждого сообщения VPN.
Если вы ранее эвристически завершили транзакции, вы должны удалить их, чтобы освободить ресурсы. Вы должны всегда удалять завершенные транзакции на ранее активном сайте.
solace(admin/message-spool) delete-transaction xid <xid>