4.3. キックスタートファイルの作成

Acronis Cyber Infrastructureの無人インストールを実行する場合は、キックスタートファイルを使用できます。このファイルを使用すると、通常は手動で選択するオプションがAcronis Cyber Infrastructureのインストーラに自動的に渡されます。Acronis Cyber Infrastructureでは、Red Hat Enterprise Linuxと同じキックスタートファイルの構文を使用します。

以降のセクションでは、キックスタートファイルに追加する必要があるオプションとスクリプトについて説明し、キックスタートファイルの作成に利用できる例を記載し、作成したキックスタートファイルを使用する方法について説明します。

4.3.1. キックスタートのオプション

キックスタートファイルには任意の標準オプションを追加できますが、このセクション内に記載されているオプションのみを使用することをお勧めします。これは必須のオプションであるため、キックスタートファイルに必ず追加してください。

auth --enableshadow --passalgo=sha512

Acronis Cyber Infrastructureの物理サーバーの認証オプションを指定します。

autopart --type=lvm

システムディスク、つまり、sdaを自動的にパーティション分割します。このオプションはclearpart --allの後に指定する必要があります。

他のディスクは、クラスターの作成時に自動的にパーティション分割されます。

bootloader

ブートローダーのインストール方法を指定します。

clearpart --all

認識されたすべてのディスクからすべてのパーティションを削除します。

警告

このオプションでは、インストーラからアクセスできるすべてのディスクに格納されているデータを破棄します。

keyboard <レイアウト>

システムのキーボードタイプを設定します。

lang <言語>

インストール中に使用する言語とインストール後のシステムで使用するデフォルトの言語を設定します。

logvol

論理ボリューム管理(LVM)グループの論理ボリュームを作成します。

network <オプション>

ネットワークデバイスを設定し、ボンドとVLANを作成します。

raid

ソフトウェアRAIDボリュームを作成します。

part

サーバー上にパーティションを作成します。

注釈

/bootパーティションのサイズは1GB以上にする必要があります。

rootpw --iscrypted <パスワード>

サーバーのルートパスワードを設定します。値は、--passalgoパラメータで指定したアルゴリズムによって取得されたパスワードのハッシュです。たとえば、パスワードのSHA-512ハッシュを作成するには、python -c 'import crypt; print(crypt.crypt("パスワード"))'を実行します。

selinux --disabled

SElinuxが有効になっている場合仮想環境が正しく動作しないため、無効にします。

services --enabled="chronyd"

NTPによる時刻の同期を有効にします。

timezone <タイムゾーン>

システムのタイムゾーンを設定します。タイムゾーンのリストを表示するには、timedatectl list-timezonesを実行します。

volgroup

論理ボリューム管理(LVM)グループを作成します。

zerombr

無効なパーティションテーブルのあるディスクを初期化します。

警告

このオプションでは、インストーラからアクセスできるすべてのディスクに格納されているデータを破棄します。

4.3.2. キックスタートのスクリプト

オプションを設定したら、必須のパッケージグループとストレージコンポーネントをインストールするためのスクリプトをキックスタートファイルに追加します。

4.3.2.1. パッケージのインストール

%packagesスクリプトの本文で、サーバーにインストールするパッケージグループhciを指定します。

%packages
@^hci
%end

4.3.2.2. 管理者パネルとストレージのインストール

管理者パネルは1つのみ必要です。最初のノードにのみインストールします。他のすべてのノードを配置するには、機能している管理者パネルからトークンを取得する必要があります。詳細については、セカンダリノードのデプロイを参照してください。

キックスタートファイルで特権管理者のパスワードとストレージのトークンを指定せずに管理者パネルとストレージコンポーネントをノードにインストールするには、次の手順を実行します。

  1. %addon com_vstorageスクリプトをキックスタートファイルに追加します。

    %addon com_vstorage --management --bare
    %end
    
  2. インストールが完了したら、管理者パネルコンポーネントを設定するノードで次のコマンドを実行します。

    echo <superadmin_password> | /usr/libexec/vstorage-ui-backend/bin/configure-backend.sh \
    -i <private_iface> -x <public_iface>
    

    ここで、

    • <superadmin_password>は、管理者パネルの特権管理者アカウントのパスワードです。

    • <private_iface>は、プライベートネットワークインターフェースの名前(有人モードでインストール中に管理ネットワークに選択する名前)です。

    • <private_iface>は、パブリックネットワークインターフェースの名前(有人モードでインストール中に管理者パネルに選択する名前)です。

  3. 管理者パネルサービスを開始します。

    # systemctl start vstorage-ui-backend
    
  4. ノードにストレージコンポーネントをインストールした場合は、次のコマンドを実行します。

    # /usr/libexec/vstorage-ui-agent/bin/register-storage-node.sh -m <management_IP_address>
    

スクリプトを実行せず、後でパスワードとトークンを使用してコンポーネントをインストールするには、パブリック(外部)ネットワークとプライベート(内部)ネットワークのインターフェース、管理者パネルの特権管理者アカウントのパスワードをキックスタートファイルで指定します。たとえば、次のようになります。

%addon com_vstorage --management --internal-iface=<private_iface> \
--external-iface=<public_iface> --password=<password>
%end

4.3.2.3. ストレージコンポーネントのみのインストール

デフォルトでは、ストレージコンポーネントのみがインストールされ、管理者パネルはインストールされません。このため、トークンを指定する場合を除き、キックスタートファイルにスクリプトを追加する必要はありません。

キックスタートファイルにトークンを指定したくない場合は、インストール後にノードで次のコマンドを実行し、管理者パネルでノードを登録します。

# /usr/libexec/vstorage-ui-agent/bin/register-storage-node.sh -m <MN_IP_address> -t <token>

ここで、

  • <token>は、管理者パネルで取得できるトークンです。

  • <MN_IP_address>は、管理者パネルのあるノード上のプライベートネットワークインターフェースのIPアドレスです。

スクリプトを実行せず、後でトークンを使用してストレージコンポーネントをインストールするには、トークンと管理者パネルのあるノードのIPアドレスをキックスタートファイルに指定します。たとえば、次のようになります。

%addon com_vstorage --storage --token=<token> --mgmt-node-addr=<MN_IP_address>
%end

4.3.3. キックスタートファイルの例

以下に、Acronis Cyber Infrastructureを無人モードでインストールおよび設定するときに使用できるキックスタートファイルの例を示します。このファイルを基にして自分のキックスタートファイルを作成することができます。

重要

このキックスタートファイルでは、インストーラによって認識されたすべてのディスクを消去し、自動的にパーティション分割するように指定しています。インストールする前に必要なデータが格納されているディスクを必ず切断してください。

# Use the SHA-512 encryption for user passwords and enable shadow passwords.
auth --enableshadow --passalgo=sha512
# Use the US English keyboard.
keyboard --vckeymap=us --xlayouts='us'
# Use English as the installer language and the default system language.
lang en_US.UTF-8
# Specify the encrypted root password for the node.
rootpw --iscrypted xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Disable SELinux.
selinux --disabled
# Enable time synchronization via NTP.
services --enabled="chronyd"
# Set the system time zone.
timezone America/New_York

# Specify a hostname for the node.
# NOTE: The only way to change the host name later is via the technical support.
network --hostname=<hostname>

# Configure network interfaces via DHCP.
network --device=<iface1> --activate
network --device=<iface2> --activate
# Alternatively, assign static addresses to network interfaces.
#network --device=<iface1> --activate --bootproto=static --ip=<IP_addr> \
#--netmask=<mask> --gateway=<gw> --nameserver=<ns1>[,<ns2>,...]
#network --device=<iface2> --activate --bootproto=static --ip=<IP_addr> \
#--netmask=<mask> --gateway=<gw> --nameserver=<ns1>[,<ns2>,...]

# If needed, uncomment and specify network interfaces to create a bond.
#network --device=bond0 --bondslaves=<iface1>,<iface2> \
#--bondopts=mode=balance-xor,miimon=100,xmit_hash_policy=layer3+4

# Erase all partitions from all recognized disks.
# WARNING: Destroys data on all disks that the installer can reach!
clearpart --all --initlabel
zerombr
# Automatically partition the system disk, which is 'sda'.
autopart --type=lvm

# Install the required packages on the node.
%packages
@^hci
%end

# Uncomment to install the admin panel and storage components.
# Specify an internal interface for the management network and
# an external interface for the admin panel network.
#%addon com_vstorage --management --internal-iface=eth0 \
#--external-iface=eth1 --password=xxxxxxxxx
#%end

# Uncomment to install the storage component. To register the node,
# specify the token as well as the IP address of the admin panel.
#%addon com_vstorage --storage --token=xxxxxxxxx --mgmt-node-addr=10.37.130.1
#%end

4.3.3.1. ソフトウェアRAID1でのシステムパーティションの作成

ソフトウェアRAID1ボリュームでシステムパーティションを作成するには、autopartを使用するのではなく、次の手順を実行する必要があります。

  1. ディスクをパーティション分割します。

  2. RAID1ボリュームを作成します。

  3. スワップとルートLVMボリュームを作成します。

ボリュームは最も小さいディスクのサイズと等しくなるため、同じサイズのディスクからRAID1を作成することをお勧めします。

BIOSベースのサーバー用の次の例では、ディスクsdasdbをパーティション分割し、ソフトウェアRAID1アレイを構築し、拡張可能なスワップとルートLVMボリュームを作成します。

# Create partitions on sda.
part biosboot   --size=1      --ondisk=sda --fstype=biosboot
part raid.sda1  --size=1024   --ondisk=sda --fstype=ext4
part raid.sda2  --size=101376 --ondisk=sda --grow
# Create partitions on sdb.
part biosboot   --size=1      --ondisk=sdb --fstype=biosboot
part raid.sdb1  --size=1024   --ondisk=sdb --fstype=ext4
part raid.sdb2  --size=101376 --ondisk=sdb --grow
# Create software RAID1 from sda and sdb.
raid /boot --level=RAID1 --device=md0 --fstype=ext4 raid.sda1 raid.sdb1
raid pv.01 --level=RAID1 --device=md1 --fstype=ext4 raid.sda2 raid.sdb2
# Make LVM volumes for swap and root partitions.
volgroup vgsys pv.01
logvol swap --fstype=swap --name=swap --vgname=vgsys --recommended
logvol /    --fstype=ext4 --name=root --vgname=vgsys --size=10240 --grow
# Set the RAID device md0 as the first drive in the BIOS boot order.
bootloader --location=mbr --boot-drive=sda --driveorder=md0
bootloader --location=mbr --boot-drive=sdb --driveorder=md0

EFIベースのサーバーでのインストールの場合、biosbootではなく/boot/efiパーティションを指定します。

part /boot/efi --size=200 --ondisk={sda|sdb} --fstype=efi