Translated message

A translation of this page exists in English.

Red Hat Enterprise Linux (RHEL) システムロール

更新 -

RHEL システムロールは、Red Hat Enterprise Linux の複数のリリースを自動化および管理するための、安定した一貫性のある設定インターフェイスを提供する Ansible ロールおよびモジュールのコレクションです。この取り組みは、Linux System Roles のアップストリームプロジェクトの開発に基づいています。SAP 関連ロールの場合は、SAP LinuxLab のアップストリームプロジェクトの開発に基づいています。

以下のロールが次のように提供およびサポートされています。

ロール名 説明 リモートホスト管理 コントロールノード ロールの初期リリース
セキュリティー関連のロール
selinux SELinux RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.6/8.0
nbde_client ネットワークバウンドディスク暗号化クライアント RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.3
nbde_server ネットワークバウンドディスク暗号化サーバー RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.3
certificate 証明書の発行と更新 RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.3
tlog ターミナルセッションの記録 RHEL 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.3
ssh Secure Shell (SSH) クライアント RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.4
sshd Secure Shell (SSH) サーバー RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.4
crypto_policies システム全体の暗号化ポリシー RHEL 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.4
vpn 仮想プライベートネットワーク RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.5
firewall ファイアウォール RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.6/9.0
keylime_server Keylime サーバー RHEL 9.1 以降 RHEL 8, 9, 10 RHEL 8.9/9.3
fapolicyd Fapolicyd RHEL 8, 9, 10 RHEL 8, 9, 10 RHEL 8.9/9.3
aide Advanced Intrusion Detection Environment (AIDE) RHEL 8, 9, 10 RHEL 8, 9, 10 RHEL 9.6, 10.0
設定関連のロール
timesync 時刻同期 RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.6/8.0
network ネットワーク RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.6/8.0
kdump カーネルダンプ RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.6/8.0
ストレージ ストレージ RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.6/8.1
postfix Postfix (メール転送エージェント) RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.6/8.0
kernel_settings カーネル設定 RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.3
logging ロギング (rsyslog) RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.3
metrics メトリクス (Performance Co-Pilot) RHEL 6, 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.3
ha_cluster 高可用性クラスタリング RHEL 8, 9, 10 RHEL 8, 9, 10 RHEL 7.9/8.4
cockpit Web コンソール RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.6/9.0
podman Podman RHEL 8.6+, 9, 10 RHEL 8, 9, 10 RHEL 8.8/9.2
rhc リモートホスト設定 RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.8/9.2
journald Systemd-journald RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.8/9.2
ad_integration Microsoft Active Directory との統合 RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.8/9.2
systemd systemd RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.9/9.3
snapshot スナップショット RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.10/9.4
bootloader ブートローダー RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 8.10/9.4
sudo Sudo RHEL 7, 8, 9, 10 RHEL 8, 9, 10 RHEL 9.5, 10.beta
gfs2 GFS2 RHEL 7, 8, 9 RHEL 8, 9, 10 RHEL 9.5, 10.beta
ワークロード関連のロール
microsoft.sql.server1 Microsoft SQL Server RHEL 7, 8 RHEL 8, 9 RHEL 8.5
sap_general_preconfigure2 SAP の一般的な事前設定 RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 7.7/8.2
sap_netweaver_preconfigure2 SAP NetWeaver の事前設定 RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 7.7/8.2
sap_hana_preconfigure2 SAP HANA の事前設定 RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 7.7/8.2
sap_hana_install2 SAP HANA のインストール RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 8.6/9.0
sap_ha_install_hana_hsr2 (テクノロジープレビュー*) HANA システムレプリケーションのセットアップ RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 8.6.z/9.0.z
sap_ha_install_pacemaker2 (テクノロジープレビュー*) RHEL HA Pacemaker クラスターのセットアップ RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 8.6.z/9.0.z
sap_ha_prepare_pacemaker2 (テクノロジープレビュー*) RHEL HA クラスターの事前設定 RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 8.6.z/9.0.z
sap_ha_set_hana2 (テクノロジープレビュー*) RHEL HA solutions for SAP HANA のセットアップ RHEL 7.6+, 8, 9 RHEL 8, 9 RHEL 8.6.z/9.0.z
postgresql PostgreSQL データベース RHEL 8, 9, 10 RHEL 8, 9, 10 RHEL 8.9/9.3

* テクノロジープレビュー ステータスのロールは、テストの結果安定していると判断されています。ただし、インターフェイス (ロール入力) が将来的に更新され、現在の状態と互換性がなくなる可能性があります。追加のテクノロジープレビューコンテンツは、アップストリームプロジェクトおよび Ansible Galaxy の各プロジェクトに存在します。
1. microsoft.sql.server ロールは、ansible-collection-microsoft-sql パッケージで利用可能です。
2. SAP 関連のシステムロールは、RHEL for SAP Solutions サブスクリプションの一部として提供される rhel-system-roles-sap パッケージで利用可能です。

RHEL システムロールは、コントロールノードと呼ばれるセントラルノード (Ansible Automation Platform、Red Hat Satellite、RHEL10、RHEL 9 または RHEL 8 ホスト) からインストールおよび実行されます。 コントロールノードは、インベントリーで定義された RHEL ホストのリストに接続し、それらの設定を実行します。 コントロールノードで RHEL の最新のメジャーリリースを使用し、rhel-system-roles RPM または Red Hat Automation Hub から最新バージョンのロールを使用することを推奨します。 RHEL システムロールおよび Ansible パッケージを管理/設定対象のシステムにインストールする必要はありません。

RHEL システムロールは、次の方法による提供がサポートされています。
- RHEL 10、RHEL 9 または RHEL 8 Application Streams リポジトリー内の RPM パッケージとして
- Red Hat Automation Hub でサポートされるコレクションとして

注記 1: RHEL サブスクリプションは、RHEL システムロールの実装および Ansible Core (RHEL 10.0/9.0/8.6 以降) との互換性をサポートします。Application Streams リポジトリー内の Ansible Core パッケージは、RHEL システムロールや Red Hat 製品ポートフォリオの他の階層分けされた製品を使用するにあたっての利便性のためにアクセス可能となっています。 ただし、RHEL サブスクリプションには、限定サポート範囲外の Ansible Core のサポートは 含まれません (限定サポート範囲の詳細は、以下の注記 2 を参照してください)。

注記 2: RHEL での Ansible Core の限定サポート範囲に関する詳細は、Scope of support for the Ansible Core package included in the RHEL 10, RHEL 9 and RHEL 8.6 and later AppStream repositories を参照してください。 追加情報は、Top Support Policies for Red Hat Ansible Automation を参照してください。

注記 3: RHEL システムロールには、システムロールが内部的に使用する Ansible モジュールが含まれます (たとえば、RHC ロールは community.general.redhat_subscription モジュールを内部的に利用します)。 RHEL システムロールに含まれるこれらのモジュールは、RHEL システムロールによる内部的な使用のみを目的としており、Red Hat はこれらのモジュールを直接使用することをサポートしていません。 ただし、システムロールでの内部的な使用はサポートしています。 RHEL システムロールの使用時に問題が発生した場合は、Red Hat サポートにお問い合わせください。問題がモジュールに関連する場合、Red Hat は Red Hat Enterprise Linux のライフサイクル の記載に沿ってモジュールをサポートします。

スタートガイド

RHEL 10.x、RHEL 9.x、および 8.6 以降: RHEL システムロールと Ansible Core のインストール

これまで Ansible Engine がインストールされていなかった RHEL 9 および 10 システムおよび RHEL 8.6 以降のシステムでは、次のコマンドを実行して、Application Streams リポジトリーに含まれる RHEL システムロールと Ansible Core をインストールします。

# dnf install rhel-system-roles ansible-core

RHEL 8.6 にアップグレードされ、Ansible Engine がインストールされているシステムの場合、システムを Ansible Engine から Ansible Core に移行する手順については Using Ansible in RHEL 8.6 and later を参照してください。

ドキュメント

追加情報については、Red Hat Enterprise Linux 9 のドキュメント RHEL システムロールを使用したシステム管理の自動化 または対応する RHEL 10 のドキュメントを参照してください。

デフォルトでは、rhel-system-roles パッケージは次の場所にインストールされます。

  • ドキュメント

    /usr/share/doc/rhel-system-roles-<version>/SUBSYSTEM/
    
  • Ansible ロール

     /usr/share/ansible/roles/rhel-system-roles.SUBSYSTEM/
    

ここで、SUBSYSTEM は、個々のロールを管理するサブシステムの名前です。

例としては、network、timesync、またはサポートされるその他のサブシステムなどがあります。詳細は、RHEL システムロールの概要 を参照してください。 各サブシステムロールには、ロールの使用方法とサポートされているパラメーター値が記載された README ファイルが含まれます。また、対応する README が linux-system-roles Ansible Galaxy ランディングスペースにあります。

rhel-system-roles.network ロールの使用例

この例では、以下を前提としています。

  • 通常、Ansible はすべてのシステムにインストールされるのではなく、Ansible を介して他のシステムを管理することを目的とした、Ansible 管理ノードまたはコントロールノードとして指定された単一のシステムにインストールされます。
  • この例は、Ansible コントロールノードとして使用される RHEL 7.5 システムから実行されます。
  • rhel7.5-test というホスト名のターゲットまたはクライアントテストシステムです。
  • rhel7.5-test には、アクセスするためのプライマリーネットワークインターフェイス (eth0) と、この例のためのセカンダリーインターフェイス (eth1) があります。
  • コントロールノード上の Ansible インベントリーファイル /etc/ansible/hosts に、rhel7.5-test FQDN または IP アドレスのいずれかが追加されています。
  • テスト Playbook を実行しているコントロールノードのユーザー ID には、rhel7.5-test に対する ssh アクセスと sudo 機能があります。 あるいは、-u オプションを使用して、この機能を持つユーザーを指定することもできます。
  • Ansible の使用方法の詳細は、Ansible documentation にある Ansible の Getting Started または Quick Start ビデオを参照してください。
  1. テキストエディターを使用して、次のような内容を含むファイルを作成します。

    $ vim example-network-playbook.yml
    ---
    - hosts: rhel7.5-test
      vars:
        network_connections:
          - name: DBnic
            state: up
            type: ethernet
            interface_name: eth1
            autoconnect: yes
            ip:
              dhcp4: yes
              auto6: no
      roles:
        - role: rhel-system-roles.network
    
  2. マシンにアクセスできるかどうかをテストします。 アクセスできない場合は、Ansible がリモートシステムにアクセスできるようにする方法に関する Ansible のドキュメントを参照してください。

    $ ansible -m ping rhel7.5-test
    rhel7.5-test | SUCCESS => {
        "changed": false, 
        "ping": "pong"
    }
    
  3. Ansible ファクトをクエリーして、ゲストのネットワーク設定を確認します。

    $ ansible rhel7.5-test -m setup -a 'gather_subset=network filter=ansible_interfaces' 
    
    rhel7.5-test | SUCCESS => {
        "ansible_facts": {
            "ansible_interfaces": [
                "lo", 
                "eth1", 
                "eth0"
            ]
        }, 
        "changed": false
    }
    
  4. Ansible ファクトをクエリーして、eth1 の特性を確認します。

    $ ansible rhel7.5-test -m setup -a 'gather_subset=network filter=ansible_eth1' 
    rhel7.5-test | SUCCESS => {
        "ansible_facts": {
            "ansible_eth1": {
                "active": true, 
                "device": "eth1", 
                "features": {
                    "busy_poll": "off [fixed]", 
                    "fcoe_mtu": "off [fixed]", 
                    "generic_receive_offload": "on", 
                    "generic_segmentation_offload": "on", 
                    "highdma": "on [fixed]", 
                    "hw_tc_offload": "off [fixed]", 
                    "l2_fwd_offload": "off [fixed]", 
                    "large_receive_offload": "off [fixed]", 
                    "loopback": "off [fixed]", 
                    "netns_local": "off [fixed]", 
                    "ntuple_filters": "off [fixed]", 
                    "receive_hashing": "off [fixed]", 
                    "rx_all": "off [fixed]", 
                    "rx_checksumming": "on [fixed]", 
                    "rx_fcs": "off [fixed]", 
                    "rx_vlan_filter": "on [fixed]", 
                    "rx_vlan_offload": "off [fixed]", 
                    "rx_vlan_stag_filter": "off [fixed]", 
                    "rx_vlan_stag_hw_parse": "off [fixed]", 
                    "scatter_gather": "on", 
                    "tcp_segmentation_offload": "on", 
                    "tx_checksum_fcoe_crc": "off [fixed]", 
                    "tx_checksum_ip_generic": "on", 
                    "tx_checksum_ipv4": "off [fixed]", 
                    "tx_checksum_ipv6": "off [fixed]", 
                    "tx_checksum_sctp": "off [fixed]", 
                    "tx_checksumming": "on", 
                    "tx_fcoe_segmentation": "off [fixed]", 
                    "tx_gre_segmentation": "off [fixed]", 
                    "tx_gso_robust": "off [fixed]", 
                    "tx_ipip_segmentation": "off [fixed]", 
                    "tx_lockless": "off [fixed]", 
                    "tx_mpls_segmentation": "off [fixed]", 
                    "tx_nocache_copy": "off", 
                    "tx_scatter_gather": "on", 
                    "tx_scatter_gather_fraglist": "off [fixed]", 
                    "tx_sctp_segmentation": "off [fixed]", 
                    "tx_sit_segmentation": "off [fixed]", 
                    "tx_tcp6_segmentation": "on", 
                    "tx_tcp_ecn_segmentation": "on", 
                    "tx_tcp_segmentation": "on", 
                    "tx_udp_tnl_segmentation": "off [fixed]", 
                    "tx_vlan_offload": "off [fixed]", 
                    "tx_vlan_stag_hw_insert": "off [fixed]", 
                    "udp_fragmentation_offload": "on", 
                    "vlan_challenged": "off [fixed]"
                }, 
                "macaddress": "52:54:00:e1:c2:4c", 
                "module": "virtio_net", 
                "mtu": 1500, 
                "pciid": "virtio4", 
                "promisc": false, 
                "type": "ether"
            }
        }, 
        "changed": false
    }
    
  5. サンプル Playbook を実行します。 注記: 「アクティベーション待機」機能はまだ実装されていないため、現時点では警告メッセージを無視しても問題ありません。

    $ ansible-playbook -l rhel7.5-test example-network-playbook.yml
    PLAY [rhel7.5-test] *********************************************************************
    
    TASK [Gathering Facts] *********************************************************
    ok: [rhel7.5-test]
    
    TASK [rhel-system-roles.network : Check which services are running] ************
    ok: [rhel7.5-test]
    
    TASK [rhel-system-roles.network : Check which packages are installed] **********
    ok: [rhel7.5-test]
    
    TASK [rhel-system-roles.network : Install packages] ****************************
    skipping: [rhel7.5-test]
    
    TASK [rhel-system-roles.network : Enable network service] **********************
    ok: [rhel7.5-test]
    
    TASK [rhel-system-roles.network : Print network provider] **********************
    ok: [rhel7.5-test] => {
        "msg": "Using network provider: nm"
    }
    
    TASK [rhel-system-roles.network : Configure networking connection profiles] ****
     [WARNING]: [003] <info>  #0, state:up persistent_state:present, 'DBnic': add
    connection DBnic, b62a7ea6-f1a4-408a-843e-ea292aa58b44
    
     [WARNING]: [004] <info>  #0, state:up persistent_state:present, 'DBnic': up
    connection DBnic, b62a7ea6-f1a4-408a-843e-ea292aa58b44 (is-modified)
    
    changed: [rhel7.5-test]
    
    TASK [rhel-system-roles.network : Re-test connectivity] ************************
    ok: [rhel7.5-test]
    
    PLAY RECAP *********************************************************************
    rhel7.5-test : ok=7    changed=1    unreachable=0    failed=0   
    
  6. 再度クエリーを実行して、eth1 がオンラインになっており、IP アドレスが割り当てられていることを確認します。

    $ ansible rhel7.5-test -m setup -a 'gather_subset=network filter=ansible_eth1' 
    
    rhel7.5-test | SUCCESS => {
        "ansible_facts": {
            "ansible_eth1": {
                "active": true, 
                "device": "eth1", 
                "features": {
                    "busy_poll": "off [fixed]", 
                    "fcoe_mtu": "off [fixed]", 
                    "generic_receive_offload": "on", 
                    "generic_segmentation_offload": "on", 
                    "highdma": "on [fixed]", 
                    "hw_tc_offload": "off [fixed]", 
                    "l2_fwd_offload": "off [fixed]", 
                    "large_receive_offload": "off [fixed]", 
                    "loopback": "off [fixed]", 
                    "netns_local": "off [fixed]", 
                    "ntuple_filters": "off [fixed]", 
                    "receive_hashing": "off [fixed]", 
                    "rx_all": "off [fixed]", 
                    "rx_checksumming": "on [fixed]", 
                    "rx_fcs": "off [fixed]", 
                    "rx_vlan_filter": "on [fixed]", 
                    "rx_vlan_offload": "off [fixed]", 
                    "rx_vlan_stag_filter": "off [fixed]", 
                    "rx_vlan_stag_hw_parse": "off [fixed]", 
                    "scatter_gather": "on", 
                    "tcp_segmentation_offload": "on", 
                    "tx_checksum_fcoe_crc": "off [fixed]", 
                    "tx_checksum_ip_generic": "on", 
                    "tx_checksum_ipv4": "off [fixed]", 
                    "tx_checksum_ipv6": "off [fixed]", 
                    "tx_checksum_sctp": "off [fixed]", 
                    "tx_checksumming": "on", 
                    "tx_fcoe_segmentation": "off [fixed]", 
                    "tx_gre_segmentation": "off [fixed]", 
                    "tx_gso_robust": "off [fixed]", 
                    "tx_ipip_segmentation": "off [fixed]", 
                    "tx_lockless": "off [fixed]", 
                    "tx_mpls_segmentation": "off [fixed]", 
                    "tx_nocache_copy": "off", 
                    "tx_scatter_gather": "on", 
                    "tx_scatter_gather_fraglist": "off [fixed]", 
                    "tx_sctp_segmentation": "off [fixed]", 
                    "tx_sit_segmentation": "off [fixed]", 
                    "tx_tcp6_segmentation": "on", 
                    "tx_tcp_ecn_segmentation": "on", 
                    "tx_tcp_segmentation": "on", 
                    "tx_udp_tnl_segmentation": "off [fixed]", 
                    "tx_vlan_offload": "off [fixed]", 
                    "tx_vlan_stag_hw_insert": "off [fixed]", 
                    "udp_fragmentation_offload": "on", 
                    "vlan_challenged": "off [fixed]"
                }, 
                "ipv4": {
                    "address": "192.168.122.216", 
                    "broadcast": "192.168.122.255", 
                    "netmask": "255.255.255.0", 
                    "network": "192.168.122.0"
                }, 
                "ipv6": [
                    {
                        "address": "fe80::5054:ff:fee1:c24c", 
                        "prefix": "64", 
                        "scope": "link"
                    }
                ], 
                "macaddress": "52:54:00:e1:c2:4c", 
                "module": "virtio_net", 
                "mtu": 1500, 
                "pciid": "virtio4", 
                "promisc": false, 
                "type": "ether"
            }
        }, 
        "changed": false
    }
    

その他の例

各ロールには、それぞれのドキュメントディレクトリーの下に独自のサンプル Playbook があります (上記参照)。

Comments