web-dev-qa-db-ja.com

GRMLのようなレスキューイメージを使用してCentOS / RHEL 7をリモートインストールする方法は?

Sshアクセスも提供するGRMLイメージをPXEブートできるリモートマシンを想定しています。

ここで問題となるのは、そのような環境にCentOSをインストールする方法です。

KVMアクセスは利用できません。

数年前、私はdebootstrapを使用して、同様の環境にDebianをインストールすることに成功しました。 CentOS/RHELに似たものはありますか?

そのような環境にCentOS/RHELをインストールするための最先端の方法は何ですか?

2
maxschlepzig

Qemu KVMインスタンス内に最小限のインストールを準備してから、イメージをリモートシステムに転送できます。

たとえば、RAID-1 Centos7システムをインストールするには:

ローカルワークステーションの場合:

$ truncate --size 5G disk1.img
$ truncate --size 5G disk2.img
$ qemu-system-x86_64 \
    -cdrom CentOS-7.0-1406-x86_64-DVD/CentOS-7.0-1406-x86_64-DVD.iso \
    -hda disk1.img -hdb disk2.img -m 2G -boot d -enable-kvm \
    -Net User,hostfwd=tcp::10022-:22 -net nic # enable net, ssh portforwarding

Qemuインスタンス内では、公式の推奨インストーラーを使用してCentOS 7をインストールできます。つまり、2つのディスクの選択、手動パーティション分割、パーティションの自動作成、/ボリュームグループのraid1の選択、/ bootデバイスタイプ設定でのraid1の選択などです。インストールが完了した後、いくつかの基本的なものを快適に構成することもできます。 yum updateを介してシステムを更新し、システムのGPGキーを受け入れ、ネットワークを構成し(ターゲットシステムのMACアドレスを使用)、sshキーなどを実行します。

後でサイズを変更する場合は、RAID 1書き込みインテントビットマップ(VM内)を無効にすることが重要です。

# mdadm --grow /dev/md/*pv00 --bitmap none

画像を転送するには、つまりミラーの左脚(ワークステーションからサーバーに):

$ gzip -c disk1.img | ssh example.org "gzip -d | dd of=/dev/sda bs=128K"

最小の画像は非常に良い比率で圧縮されるはずです-私の実験では、圧縮されたサイズは約230MiBでした。

右脚の場合、grub2部分のみが必要です。

$ dd if=disk2.img bs=512 count=2048 | gzip -c \
    | ssh example.org "Zip -d | dd of=/dev/sdb bs=128K"

サーバー(起動されたレスキューシステム内)で、ルートボリュームグループを拡大します。

# partx -v --add /dev/sda
# mdadm --stop /dev/md/*boot --stop /dev/md/*pv00
# echo -e 'd\n2\nn\np\n2\n\n\nt\nfd\nw\n' | fdisk /dev/sda
# mdadm --run /dev/md/*boot --run /dev/*pv00
# mdadm --grow /dev/md/*pv00 --size max
# pvresize /dev/md/*pv00
# lvchange --activate y centos/root
# lvresize --resizefs --extents +100%FREE centos/root
# echo -e 'd\n2\nn\np\n2\n\n\nt\nfd\nw\n' | fdisk /dev/sdb
# mdadm --add /dev/md/*boot /dev/sdb1
# mdadm --add /dev/md/*pv00 /dev/sdb2
# mdadm --wait /dev/md/*pv00
# mdadm --grow /dev/md/*pv00 --bitmap internal
# mdadm --wait /dev/md/*pv00
# shutdown -r now

高度なもの

この方法を使用してベースイメージから複数のベアメタルマシンをインストールする場合は、ベースイメージを調整するいくつかのinitスクリプトを使用する必要があります。明らかなもの(ホスト名、ネットワーク構成など)に加えて、システム内のすべてのUUIDを変更する必要があります。これには、次のUUIDが含まれます。

  • RAIDデバイス
  • LVMPVおよびVG
  • ファイルシステム
  • スワップ
  • /etc/sysconfig/network-scripts)の下のネットワーク構成スクリプト

そしてもちろん、これらのUUIDを使用するすべての構成ファイルを変更する必要があります。

  • / etc/default/grub(grub2->mkconfigを呼び出してから...)
  • /etc/mdadm.conf
  • / etc/fstab

警告

クライアント/ターゲットシステムが異なる物理セクターサイズを使用する場合、プロセスは少し複雑になります。たとえば、ターゲットシステムが(512バイトではなく)4kセクターを使用する場合。次に、4kの物理セクターも使用/エミュレートするようにqemuを構成する必要があります(qemuはこれを実行できます)。

注意すべきもう1つの点は、ターゲットシステムがUEFIブートのみをサポートするかどうかです。その場合、qemuがUEFIもエミュレートすることも確認する必要があります。

結論

Qemu kvmインスタンスを使用し、結果のインストールをリモートマシンに移植することは、比較的簡単なプロセスです。

0
maxschlepzig

RHELまたはこれに基づくディストリビューションの自動インストールには、 Kickstart を使用します。

RHELサーバーを構築する場合、/root/anaconda-ks.cfgファイルが作成され、複製ホストの構築に使用できます。

さまざまなオプションがあり、2つが最も適しています。
1。 kiskstart image からのカスタムLive CD /リムーバブルメディアビルド。
2。フルPXE bootネットワークインストール。

ネットワークインストールには、ksファイルとインストールソースを含むネットワーク共有が必要です。

PXE環境はboot/bootサーバーからkickstartだけで、ホストのMACアドレスから使用するキックスタート構成を特定できます。

参照

キックスタートインストール
ライブCDを作成する方法

1
geedoubleya