SSHアクセスも提供するリモートシステムでGRMLイメージでPXEブートができるとしましょう。
今問題は、これらの環境にCentOSをインストールする方法です。
KVMアクセスなどの機能は使用できません。
数年前、同様の環境でdebootstrapを使用してDebianを正常にインストールしました。 CentOS/RHELに似たものはありますか?
これらの環境にCentOS / RHELをインストールする最も先進的な方法は何ですか?
答え1
RHEL またはそれに基づくディストリビューションを自動的にインストールするには、次を使用します。始める。
RHELサーバーを構築すると、/root/anaconda-ks.cfg
冗長ホストを構築するために使用できるファイルが生成されます。
いくつかのオプションがあり、そのうちの2つが最も適しています。
1. カスタム Live CD/リムーバブルメディアkskstart イメージ。
2.フルPXE boot
ネットワークインストール。
ks
ネットワークインストールには、ファイルとインストールソースを含むネットワーク共有が必要です。
これにより、あなたの環境は、PXE
/サーバーとホストのMACアドレスでのみboot
使用するキックスタート設定を識別できます。boot
kickstart
引用する
答え2
qemu KVMインスタンスで最小インストールを準備し、イメージをリモートシステムに転送できます。
RAID-1 Centos 7システムのインストールを例にしてみましょう。
ローカルワークステーションで:
$ 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つのディスク選択、手動パーティション化、自動パーティション作成、/volumeグループのraid1選択、/bootデバイスタイプ設定からraid1選択などが可能です。インストールが完了したら、システムアップデート、yum update
システムGPGキーの承認、ネットワーク設定(ターゲットシステムのMACアドレスを使用)、SSHキーなど、いくつかの基本事項を簡単に設定できます。
将来のサイズを変更するには、RAID 1書き込み意図ビットマップ(仮想マシンの内部)を無効にすることが重要です。
# 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
高度なもの
この方法を使用して基本イメージから複数のベアメタルマシンをインストールするには、基本イメージを調整するいくつかの初期化スクリプトを使用する必要があります。明らかなもの(ホスト名、ネットワーク構成など)に加えて、システムのすべてのUUIDを変更する必要があります。これには次のUUIDが含まれます。
- RAIDデバイス
- LVMPVとVG
- ファイルシステム
- 交換
/etc/sysconfig/network-scripts
( ) 以下のネットワーク構成スクリプト
その後、もちろん、これらのUUIDSを使用するすべての構成ファイルを変更する必要があります。
- /etc/default/grub (
grub2->mkconfig
次の呼び出し...) - /etc/mdadm.conf
- /etc/fstab
ガイドライン
クライアント/ターゲットシステムが異なる物理セクタサイズを使用すると、プロセスはより複雑になります。たとえば、ターゲットシステムが512バイトの代わりに4kセクタを使用している場合です。その後、qemuは4k物理セクタも使用/エミュレートするように設定する必要があります(qemuはこれを実行できます)。
注目すべきもう1つのことは、ターゲットシステムがUEFIブートのみをサポートしているかどうかです。この場合、qemuがUEFIもエミュレートしていることを確認する必要があります。
結論として
qemu kvmインスタンスを使用してから、結果のインストールをリモートシステムに移植するプロセスは比較的簡単です。