Sshアクセスも提供するGRMLイメージをPXEブートできるリモートマシンを想定しています。
ここで問題となるのは、そのような環境にCentOSをインストールする方法です。
KVMアクセスは利用できません。
数年前、私はdebootstrapを使用して、同様の環境にDebianをインストールすることに成功しました。 CentOS/RHELに似たものはありますか?
そのような環境にCentOS/RHELをインストールするための最先端の方法は何ですか?
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が含まれます。
/etc/sysconfig/network-scripts
)の下のネットワーク構成スクリプトそしてもちろん、これらのUUIDを使用するすべての構成ファイルを変更する必要があります。
grub2->mkconfig
を呼び出してから...)クライアント/ターゲットシステムが異なる物理セクターサイズを使用する場合、プロセスは少し複雑になります。たとえば、ターゲットシステムが(512バイトではなく)4kセクターを使用する場合。次に、4kの物理セクターも使用/エミュレートするようにqemuを構成する必要があります(qemuはこれを実行できます)。
注意すべきもう1つの点は、ターゲットシステムがUEFIブートのみをサポートするかどうかです。その場合、qemuがUEFIもエミュレートすることも確認する必要があります。
Qemu kvmインスタンスを使用し、結果のインストールをリモートマシンに移植することは、比較的簡単なプロセスです。
RHELまたはこれに基づくディストリビューションの自動インストールには、 Kickstart を使用します。
RHELサーバーを構築する場合、/root/anaconda-ks.cfg
ファイルが作成され、複製ホストの構築に使用できます。
さまざまなオプションがあり、2つが最も適しています。
1。 kiskstart image からのカスタムLive CD /リムーバブルメディアビルド。
2。フルPXE boot
ネットワークインストール。
ネットワークインストールには、ks
ファイルとインストールソースを含むネットワーク共有が必要です。
PXE
環境はboot
/boot
サーバーからkickstart
だけで、ホストのMACアドレスから使用するキックスタート構成を特定できます。
参照