查找

文章
· 七月 10, 2024 阅读大约需 5 分钟

IRISでシャドウイングの代わりにミラーリングを構成する方法-プログラム編

これは InterSystems FAQ サイトの記事です。
 

こちらの記事では、「IRISでシャドウイングの代わりにミラーリングを構成する方法」を紹介しました。

今回は、「プログラムでシャドウイングの代わりにミラーリングを構成する方法(Windows版)」を紹介します。


【今回のサンプル・ミラー構成について】

  正サーバ(ミラー・プライマリ) 副サーバ(ミラー・非同期)
ミラー名 MIRRORSET MIRRORSET
ミラーメンバ名 MACHINEA MACHINEC
IPアドレス 35.77.84.159 54.248.39.237


では、ミラーの構成手順をご紹介します。手順は以下になります。
 

<ミラーリングのプライマリ設定>     // MACHINEA(正サーバ)

1. ISCAgentの自動起動設定および起動         ※Windowsコマンドプロンプトで実行

C:\Users\Administrator>sc config ISCAgent start=auto
C:\Users\Administrator>sc start ISCAgent

 

2. [システム管理] > [構成] > [ミラーサービスの有効化]     ※IRISターミナルで実行

zn "%SYS"
set status=##class(Security.Services).Get("%Service_Mirror", .svcProps)
set svcProps("Enabled") = 1
set status=##class(Security.Services).Modify("%Service_Mirror", .svcProps)

 

3. [システム管理] > [構成] > [ミラーの作成]     ※IRISターミナルで実行

zn "%SYS"
set MirrorSetName="MIRRORSET"
set SystemName = "MIRRORA"     // 任意で設定。設定しない場合、既定で$sysytem 変数の内容を利用(例:<デバイス名>/IRIS)
set MirrorInfo("UseSSL") = 0
set MirrorInfo("ECPAddress") = "xxx.xxx.xxx.xxx"      // this is the SuperServer Address, default value is result of $System.INetInfo.LocalHostName().
set sc = ##class(SYS.Mirror).CreateNewMirrorSet(MirrorSetName, SystemName, .MirrorInfo)
write $system.Mirror.GetMemberType()
// (出力) Failover
write $system.Mirror.GetStatus()
// (出力) PRIMARY、TRANSITIONの場合は少し待って再度実行

 

4. ローカルデータベースの作成(ミラー属性の追加)     ※IRISターミナルで実行

zn "%SYS"
/// ローカルデータベースの作成
Set Directory="c:\intersystems\iris\mgr\mirrordb\"
Set x=$ZF(-100, "/shell", "mkdir", Directory)
Set db=##Class(SYS.Database).%New()
Set db.Directory=Directory
Set status=db.%Save()
Set DBName="MIRRORDB"
Set status=##class(Config.Configuration).AddDatabase(DBName,Directory)
Set NSName=DBName
Set status=##class(Config.Configuration).AddNamespace(NSName,DBName)

/// ミラー属性の追加(プライマリフェイルオーバーメンバのみ)
set status=##class(SYS.Mirror).AddDatabase(Directory)
set db=##Class(SYS.Database).%OpenId(Directory)
write db.Mirrored
// (出力) 1           ; Mirror DB の場合1
kill

 

<ミラーリングのDR非同期設定>     // MACHINEC(副サーバ)

1. ISCAgentの自動起動設定および起動         ※Windowsコマンドプロンプトで実行

C:\Users\Administrator>sc config ISCAgent start=auto
C:\Users\Administrator>sc start ISCAgent


2. ミラーサービスの有効化
 *[システム管理] > [構成] > [ミラーサービスの有効化]     ※IRISターミナルで実行

zn "%SYS"
set status=##class(Security.Services).Get("%Service_Mirror", .svcProps)
set svcProps("Enabled") = 1
set status=##class(Security.Services).Modify("%Service_Mirror", .svcProps)


3. 非同期としてミラーに参加
 *[システム管理] > [構成] > [非同期として参加]     ※IRISターミナルで実行

zn "%SYS"
set MirrorSetName="MIRRORSET"
set InstanceName="IRIS"            // primary instanace name
set AgentAddress="xxx.xxx.xxx.xxx" // primary member DNS name or IPaddress
set AsyncMemberType=0              // DR:0, Reporting R only:1, Reporting R/W:2
set SystemName = "MIRRORC"         // 任意で設定。設定しない場合、既定で$sysytem 変数の内容を利用
set LocalInfo("ECPAddress") = "yyy.yyy.yyy.yyy" // this is the SuperServer Address, default value is result of $System.INetInfo.LocalHostName().
set status=##class(SYS.Mirror).JoinMirrorAsAsyncMember(MirrorSetName,SystemName  ,InstanceName,AgentAddress,,AsyncMemberType,.LocalInfo)
write $system.Mirror.GetMemberType()
// (出力) Disaster Recovery
write $system.Mirror.GetStatus()
// (出力) CONNECTED、TRANSITIONの場合は少し待って再度実行


4. ミラーデータベースの準備

非同期の副サーバ:MACHINEC に、正サーバ:MACHINEA のバックアップファイルをリストアします。

【補足】
データベースファイル(IRIS.DAT)のコピーによるバックアップの場合は(=正サーバで Backup.Generalクラスの ExternalFreeze()/ExternalThaw() を利用してバックアップを取っている場合)、非同期データベースをディスマンとした状態でデータベースファイル(IRIS.DAT)を置換します。

※ローカルデータベースの作成手順は、正サーバ:MACHINEAと同じです。
  (4の「ローカルデータベースの作成」、ミラー属性の追加 以外を行います)

※外部/オンラインバックアップ・リストアについては、以下の記事で詳細手順を説明していますので、参考になさってください。
外部バックアップについて
オンラインバックアップについて


5. ミラーモニターでのジャーナルの有効化、キャッチアップ     ※IRISターミナルで実行

zn "%SYS"
set Directory="c:\intersystems\iris\mgr\mirrordb\"
set status=##class(SYS.Mirror).ActivateMirroredDatabase(Directory)  // 有効化
set db=##class(SYS.Database).%OpenId(Directory)
set sfn= db.SFN  // sfn system file number データベーステーブル(内部情報)内の番号
kill db
set status=##class(SYS.Mirror).CatchupDB($lb(sfn))  // キャッチアップ
write status     // 1 でキャッチアップ成功。それ以外の場合は write $SYSTEM.Status.DisplayError(status) でエラーの内容を確認


6. 管理ポータルで、キャッチアップしたことを確認(こちらで構成は終了です)
 *[システムオペレーション] > [ミラーモニタ]

 
 

各種設定の詳細は以下のドキュメントをご覧ください。
Security.Services
SYS.Mirror
$SYSTEM.Mirror


enlightened【ご参考】
Cache Mirroring 101:簡単なガイドとよくある質問  
ミラーリングの機能について
ミラージャーナルファイルの削除のタイミングと要件
IRISでシャドウイングの代わりにミラーリングを構成する方法

讨论 (0)0
登录或注册以继续
InterSystems 官方
· 七月 9, 2024

InterSystems Reports version 24.1 Release Announcement

InterSystems Reports version 24.1 is now available from the InterSystems Software Distribution site in the Components section.  The software is labeled InterSystems Reports Designer and InterSystems Reports Server and is available for Mac OSX, Windows and Linux operating systems.  

This new release brings along some great enhancements from our partner, insightsoftware.  InterSystems Reports 24.1 is powered by Logi Report Version 24.1SP2 and includes:

  • Add external files as attachments to the labels and fields (including DBFields, formula fields, parameter fields, summary fields, and special fields) to your report.  For more information, go to this link.
  • Support for common HTML tags when rendering reports in Design mode.
  • Additional capabilities in Page Report Studio to allow for more flexibility when editing reports on the Reports Server

For more information about these features and others, see the release notes available from insightsoftware.

Note that the InterSystems Reports 24.1 installation requires JDK version 11 or 17 for the installation to execute.  Please upgrade if you are using JDK 8 prior to the InterSystems Reports installation.

For more information about InterSystems Reports, see the InterSystems documentation and learning services  content.

讨论 (0)1
登录或注册以继续
InterSystems 官方
· 七月 9, 2024

Git-source-control launches release 2.4.0 with a new basic mode

The Application Services team is pleased to announce the release of git-source-control version 2.4.0, introducing several new features to the open-source project.

For those unfamiliar, git-source-control is an embedded (or "server-side") source control tool for InterSystems products, installed through the InterSystems Package Manager.

 

 

Here are the key additions to the 2.4.0 release:

  1. Basic Mode

Basic mode presents an overall great simplification to the git workflow, suitable for users with less knowledge of git as a source control tool. The basic mode has been explicitly developed for the feature branch and trunk-based models of development.

In basic mode, the typical flow of staging, committing, pulling and then pushing has been enveloped in a 'Sync' operation. Users need only choose the 'Sync' operation from the menu, and their local changes will automatically be synchronized with the corresponding branch in the remote repository (on GitHub, GitLab, etc.).

To enable basic mode, simply navigate to the 'Settings' page of the git-source-control tool, either through the embedded menu or the web UI, and select the 'Use Basic Mode' option in the user settings at the bottom of the page.

        2. Revamped Workspace UI

The workspace section of the git-source-control Web UI provides an area for users to take actions on changes to their repository.

Previously, it was divided into four segments, a diff view, a working copy view, a commit message view and a staging area.



 

 

With the new workspace view, the working copy and staging area have been collapsed into a single list of files with checkboxes, and it's clearer that the commit message is a text field. The diff view has been enhanced, allowing uncommitted files from other IRIS users to be viewed in the diff view, which previously was not supported. We believe these changes make the user interface much more intuitive.

 

          3. Default Merge Branch

In basic mode, a new setting for the 'default merge branch' allows users to specify a branch whose remote copy will be merged into the current branch before pushing to the remote repository.

This setting was implemented to provide additional built-in support for the trunk-based source control approach. Merging with this option will also automatically resolve a common class of merge conflict that occurs when multiple developers are working on the same IRIS Interoperability production.

 

Notable Bug Fixes:

            1. Git commands changing local repository files now synchronize with IRIS

Previously, the checkout, merge, rebase, stash and discard operations did not have their changes to the local file tree reflected by IRIS. Now, upon any of these commands being run, IRIS will update to provide file versions that match the local repository, including deleting files that don't exist in the current branch, or adding files that only exist in the current branch. This also compiles the changed files, which is especially important for changes to interoperability productions to reflect in the Production Configuration page.

             2. Deleted files are now shown in the Workspace UI

Previously, files deleted in the repository would not show up as one of the changes in the workspace. This meant that deletions would go unstaged and uncommitted, leaving the deleted files lingering in the repository. In the new UI, not only do all types of file changes (including deletions) show in the workspace, but the files are also listed with the corresponding git action, such as "modified", "added", "deleted" or "renamed."

 

              3. Users with %Developer are now able to perform all actions though the package without the need for added roles

In some cases, users were unable to perform many of the package's operations with being granted additional SQL privileges. This is no longer the case, simplifying security configuration.

 

 

For a full list of features and bug fixes introduced by the 2.4.0 release, please see the changelog.md file in the git-source-control repository on GitHub.

We are always looking for feedback and improvements for the git-source-control tool! Please feel free to create a GitHub issue in the repository if you encounter a bug or think an important feature is missing.

1 Comment
讨论 (1)2
登录或注册以继续
问题
· 七月 8, 2024

Error: Invalid Community Edition license, may have exceeded core limit. - Shutting down the system : $zu(56,2)= 0 (Probléme avec : irishealth-community:2024.1 )

 Bonjour,

Depuis ce matin j'arrive pas à compiler ou lancer mes programmes qui tourne en local sur docker avec l'image : intersystemsdc/irishealth-community:2024.1-zpm

J'ai toujours cette erreur sur le terminal ou le portal de management : request to http://localhost:52773/api/atelier/ failed, reason: socket hang up

Dans mes logs docker aussi j'ai des erreurs en conitnu , voici un extrait ...

 

Dans le fichier message.log j'ai aussi des erreurs et voici un extrait 

 

L'erreur semble indiguer une licence et un nombre de core limite ....

Avec l'ajout de ceci dans mon docker-compose.yml  comme l'indique cette doc :https://docs.intersystems.com/irisforhealth20232/csp/docbook/Doc.View.cl...

    deploy:
      resources:
        limits:
          cpus: '8'
    cpuset: "0-7"

 

Le probléme persiste toujours.

Savez-vous comment faire pour résoudre ce probléme ?

Merci d'avance

5 Comments
讨论 (5)2
登录或注册以继续
公告
· 七月 8, 2024

Winners of the 3rd InterSystems Ideas Contest

Hi Community!

Our 💡 3rd InterSystems Ideas Contest has come to an end. As a result, there are 🔥 30 new ideas! They all focus on improving InterSystems IRIS and related products and services, highlighting tangible benefits for developers once the ideas are implemented.

And now we announce the winners...

  

Experts Nomination

🥇 1st place goes to the idea Add a debugger for Embedded Python in Visual Studio Code by @Pietro Di Leo
The winner will receive🎁 JBL Tour Pro wireless Noise Cancelling earbuds.

🥈 2nd place goes to the idea Distributed Work Manager by @Alexey Maslov
The winner will receive🎁 Patagonia Unisex Nano Puff® Vest.

🥉 3rd place goes to the idea IPM (ZPM) extension for VS Code by @John Murray  
The winner will receive🎁 LEGO Vespa 125 / Corvette / NASA Mars Rover Perseverance / Kawasaki Ninja H2R Motorcycle.

Community Nomination

We found that 2 ideas were very much ahead of the rest in terms of the number of votes, and the second idea was only 1 vote behind the leader. To show our appreciation to our participants, we've decided to expand our Community nomination and award 2 top-voted ideas. Therefore this time community award goes to:

🌟 The idea Add a debugger for Embedded Python in Visual Studio Code by @Pietro Di Leo
The winner will receive🎁 LEGO Vespa 125 / Corvette / NASA Mars Rover Perseverance / Kawasaki Ninja H2R Motorcycle.

AND

🌟The idea IPM (ZPM) extension for VS Code by @John Murray  
The winner will receive🎁 LEGO Vespa 125 / Corvette / NASA Mars Rover Perseverance / Kawasaki Ninja H2R Motorcycle.

🔥 Moreover, all participants of the 3rd Ideas Contest will get a special gift - a branded T-shirt with the InterSystems logo (unisex).

 
Let's have a look at the participants and their brilliant ideas

OUR CONGRATULATIONS TO ALL WINNERS AND PARTICIPANTS!

Thank you for your attention to the Ideas Contest and the effort you devote to the official InterSystems feedback portal 💥


Important note: The prizes are in production now. We will contact all the participants when they are ready to ship.

3 Comments
讨论 (3)3
登录或注册以继续