SUSE Manager VMイメージを使用して仮想マシン環境でSUSE Managerをインストールする

1. 仮想マシンマネージャの設定

この章では、SUSE Managerに必要なカーネル仮想マシン(KVM)設定について説明します。 仮想マシンマネージャ(virt-manager)と組み合わせたKVMはこのインストールのサンドボックスとして使用されます。

SUSE Manager 4.3のVMイメージはさまざまな形式で提供されています。 これらには、基礎となるオペレーティングシステムとしてSUSE Linux Enterprise Server 15 SP4と、ビルド時の最新のSUSE Managerソフトウェアが含まれます。 https://download.suse.com/から、環境に適したSUSE Managerイメージをダウンロードしてください。

次の表は、最低要件を指定しています。これらは、クライアントが1つある1つのサーバなど、テスト用の簡易的なインストールに適しています。運用環境を使用する場合は、ハードウェア要件にリストされている要件を確認してください。

仮想マシン設定の概要

インストール方法

既存のディスクイメージのインポート

OS:

SUSE Linux Enterprise 15 SP4

メモリ:

16GB

CPU数:

4

仮想ディスク:

VirtIOディスク1

SUSE-Manager-Server.x86_64-4.3.10-KVM.qcow2

VirtIOディスク2

101GB(/var/spacewalk用)

VirtIOディスク3

50GB(/var/lib/pgsql用)

VirtIOディスク4

4GB(スワップ用)

CDROM

IgnitionまたはCloud Init設定ディスク

名前:

suse-manager-test-setup

ネットワーク

Bridge br0

SUSE Linux Enterprise仮想化の詳細については、https://documentation.suse.com/sles/15-SP4/html/SLES-all/book-virtualization.htmlを参照してください。

SUSE Manager VMイメージは、rootまたはその他のユーザアカウントをセットアップしません。 ユーザ認証またはroot認証は、最初のブート時にセットアップする必要があります。 これは、IgnitionまたはCloud-Initメソッドを使用して実行できます。

2. Ignitionを使用したSUSE Managerの基本設定

Ignitionは、最初のブート時に仕様に従ってシステムを設定できるようにするプロビジョニングツールです。 システムが初めてブートされると、Ignitionがinitramfsの一部としてロードされ、特定のディレクトリ(USBフラッシュディスク上、またはURLを指定することもできます)内で設定ファイルを検索します。

IgnitionはJSON形式の設定ファイルを使用します。 このファイルの名前は config.ignです。

config.ignは、Ignitionの規定を提供するJSON設定ファイルです。 このファイルをJSONで手動で作成することも、Fuel Ignitionツールを使用して基本的な規定セットを生成することもできます。 Fuel Ignitionツールにはすべてのオプションが用意されているわけではないので、ファイルを手動で変更する必要がある場合があります。 詳細については、https://ignite.opensuse.org/を参照してください。

インストールする際、設定ファイルconfig.ignは、ignitionというラベルのついた設定メディア上のignitionサブディレクトリに存在する必要があります。 ディレクトリ構造は次のようになっている必要があります。

<root directory>
└── ignition
    └── config.ign

QEMU/KVM仮想マシンを設定する場合は、qemuコマンドの属性としてconfig.ignファイルへのパスを指定します。 例を以下に示します。

-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign

config.ignファイルには、オブジェクト、文字列、整数、ブール値、オブジェクトのリストなど、さまざまなデータ型が含まれています。 完全な仕様については、https://coreos.github.io/ignition/configuration-v3_3/を参照してください。

2.1. Ignitionを使用してrootパスワードを設定する

SUSE Manager VMイメージは、rootまたはその他のユーザアカウントをセットアップしません。 ユーザ認証またはroot認証は、最初のブート時にセットアップする必要があります。 passwd属性はユーザを追加するために使用されます。 システムにログインする場合は、rootを作成してrootのパスワードを設定するか、Ignition設定にSSHキーを追加します。 たとえば、opensslコマンドを使用してrootパスワードをハッシュする必要があります。

openssl passwd -6

このコマンドは、選択したパスワードのハッシュを作成します。 このハッシュを、 passwordHash属性の値として使用します。

users属性には、少なくとも1つのname属性が含まれている必要があります。 ssh_authorized_keysは、ユーザのsshキーのリストです。

root/ignition/config.ignファイルを次の内容で作成します。

{
  "ignition": {
    "version": "3.2.0"
  },
  "passwd": {
    "users": [
      {
        "name": "root",
        "passwordHash": "$2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K"
      }
    ]
  }
}

次のコマンドを使用して、Ignition ISOファイルを準備します。

mkisofs -full-iso9660-filenames -o suma_ignition.iso -V ignition root

作成したsuma_ignition.isoファイルを初回ブート時に仮想マシンにボリュームとしてアタッチします。 この特定の例では、rootパスワードをlinuxに設定しています。 この例のパスワードハッシュを自分のパスワードハッシュに置き換えてください。

Ignitionの詳細については、https://documentation.suse.com/sle-micro/5.4/single-html/SLE-Micro-deployment/#cha-images-ignitionを参照してください。

3. Cloud Initディスクを使用したSUSE Managerの基本設定

Cloud Initは、最初のブート時に仕様に従ってシステムを設定できるようにするプロビジョニングツールです。 システムが初めてブートされると、Cloud Init serviceがロードされ、特定のディレクトリ(USBフラッシュ ディスク上、またはURLを指定できます)内で設定ファイルを検索します。

Cloud InitはYAML形式の設定ファイルをいくつか使用します。 使用されるファイルの名前は、meta-datanetwork-configuser-dataです。

Cloud Initでは、設定データを保存する多数のソースを使用できます。 このガイドでは、ボリュームIDがcidataのローカルisoイメージをソースとして使用します。 ディレクトリ構造は次のようになっている必要があります。

<root directory>
└── meta-data
└── network-config
└── user-data

QEMU/KVM仮想マシンを設定する場合は、qemuコマンドの属性としてconfig.ignへのパスを指定します。 例を以下に示します。

-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign

Cloud Initでは多くの管理オプションを使用できます。完全な仕様については、Cloud Init仕様(https://cloudinit.readthedocs.io/en/latest/index.html)を参照してください。

3.1. Cloud Initを使用してrootパスワードを設定する

たとえば、opensslコマンドを使用してrootパスワードをハッシュする必要があります。

openssl passwd -6

このコマンドは、選択したパスワードのハッシュを作成します。 このハッシュを、password属性の値として使用します。

次のコマンドを使用して、必要な設定ファイルを準備します。

touch network-config
touch meta-data

user-dataという名前のファイルを次の内容で作成します。

#cloud-config
chpasswd:
  expire: false
  users:
    - name: root
      password: $2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K

次のコマンドを使用して、Cloud Init ISOファイルを準備します。

mkisofs -rational-rock -joliet -o suma_cloudinit.iso -V cidata network-config meta-data user-data

作成したsuma_cloudinit.isoファイルをボリュームとして作成中の仮想マシンにアタッチします。 この特定の例では、rootパスワードをlinuxに設定しています。 この例のパスワードハッシュを自分のパスワードハッシュに置き換えてください。

4. SUSE Manager仮想マシンの設定

SUSE Managerのストレージパーティションに必要な3つの追加の仮想ディスクを備えた仮想マシンを作成します。

プロシージャ: virt-managerを使用してVMと追加のパーティションを作成する
  1. virt-managerファイル  New Virtual Machine(新しい仮想マシン)を開きます。

  2. Create a new virtual machine](新しい仮想マシンの作成)ダイアログで、[Import existing disk image](既存のディスクイメージをインポート)を選択し、Forward(進む)で確定します。

  3. ダウンロードしたSUSE Manager KVMイメージのファイル名を入力し、SUSE Linux Enterprise 15 SP4をオペレーティングシステムとして設定します。

  4. RAMおよびCPU数を設定します(少なくとも16GBのRAMおよび4つのCPU)。 Forward (進む)で確定します。

  5. VMの名前を設定し、[Customize configuration before install](インストール前に設定をカスタマイズ)チェックボックスを選択します。

  6. Network selection](ネットワークの選択)ドロップダウンメニューで、設定済みのブリッジデバイスを選択します。

  7. 終了で確定します。

  8. 概要ダッシュボードの左側のナビゲーションバーの下部にあるハードウェアの追加をクリックし、以下を指定して追加の仮想ディスクを作成します。 これらのディスクは[proc.sumavm.susemgr.pre]でパーティション化され、マウントされます。

    ストレージサイズの値は、絶対最小値です。これは小規模なテストまたはデモインストールにのみ適しています。 特に、/var/spacewalk/ではさらに大容量がすぐに必要になる場合があります。 Kiwiイメージが保存される/srv用に別のパーティションを作成することも検討してください。

    VirtIOストレージディスク 名前 サイズ

    VirtIOディスク2

    spacewalk

    500 GB

    VirtIOディスク3

    pgsql

    100 GB

    VirtIOディスク4

    swap

    4 GB

  9. ハードウェアの追加 をクリックして、仮想CDROMデバイスを準備したIgnitionまたはCloud Initディスクにアタッチします。

  10. インストールの開始 をクリックして、SUSE Managerイメージから新しいVMをブートします。 ログインプロンプトが表示されるまで待ちます。 設定ディスクによって設定された認証情報を使用してログインします。

5. SUSE Manager 仮想マシン設定 - VMware

このセクションでは、VMware環境内のSUSE Managerストレージパーティションに不可欠な追加の仮想ディスクの作成に重点を置いて、VMware設定について説明します。

プロシージャ: VMware仮想マシンを作成する
  1. SUSE Manager Server .vmdkファイルをダウンロードし、コピーをVMwareストレージに移動します。

  2. 上記の手順を使用して作成した、準備済みのIgnitionまたはCloud Initディスクファイルをアップロードします。

  3. ゲストOSファミリLinuxおよびゲストOSバージョンSUSE Linux Enterprise 15 (64ビット)に基づいて、新しい仮想マシンを作成し、名前を付けます。

  4. 設定のカスタマイズ]で、Controller LocationIDE controller 0ストレージデバイスを使用して、アップロードされた.vmdkをブラウズします。

  5. 500GB以上のHard Disk 2を追加します。

  6. RAMおよびCPU数を設定します(少なくとも16GBのRAMおよび4つのCPU)。

  7. 必要に応じてネットワークアダプタを設定します。

  8. アップロードされた設定をDatastore ISOとして使用するように、CD/DVD Drive 1を設定します。 接続の横のボックスにチェックを入れます。 最初にマシンの電源を入れるときに、このドライブが存在している必要があります。

  9. VMの電源を入れ、設定ディスクによって設定された認証情報を使用してログインします。

6. SUSE Manager用の仮想マシンの準備

開始する前に、SUSEカスタマーセンター(https://scc.suse.com)からSUSE Manager登録コードを入手してください。

プロシージャ: SUSE Managerの実行の準備
  1. rootとしてログインします。

  2. SCCでSUSE Managerを登録します(<productnumber>4.3に置き換えたり、 <architecture>x86_64に置き換えるなど)。

    SUSEConnect -e<EMAIL_ADDRESS> -r<SUSE_MANAGER_CODE> \
      -p SUSE-Manager-Server/<productnumber>/<architecture>
  3. list extensionsコマンドを実行して、承認された拡張機能を検証します。

    SUSEConnect --list-extensions
  4. SUSE Managerリポジトリを追加します。

    SUSEConnect -p sle-module-basesystem/15.4/x86_64
    SUSEConnect -p sle-module-server-applications/15.4/x86_64
    SUSEConnect -p sle-module-web-scripting/15.4/x86_64
    SUSEConnect -p sle-module-suse-manager-server/<productnumber>/x86_64
  5. SUSE Managerストレージを準備します: suma-storageコマンドは、SUSE Managerで使用するために以前に作成された外部ストレージを自動的に準備および設定します。 次のコマンドでは、最初のパラメータはSUSE Managerデータ用のデバイス、2番目のパラメータはデータベース用のデバイスです。

    suma-storage /dev/vdb /dev/vdc
  6. これで、仮想マシンでSUSE Managerをセットアップする準備が整いました。

SUSE Managerの設定に進むには、SUSE Managerの設定を参照してください。