centos 6-5 cobbler-2-6自動化無人値守ネットワーク一括インストールを実現
9722 ワード
Cobblerはシステム起動サービス(boot server)であり、ネットワーク起動(PXE)によって物理サーバと仮想マシンを迅速にインストール、再インストールし、異なるLinuxリリース版とWindowsのインストールをサポートすることができる.このツールはpythonを使用して開発され、小型で軽量(15 k行コードのみ)で、簡単なコマンドでPXEネットワークインストール環境の構成を完了し、DHCP、DNS、yumパッケージミラーを管理することができます.
一、テスト環境及び基本ツール
1. centOS6.iso86_64;2.仮想マシン12 64ビット;3.Windows 10 64ビット;4.ネットワーク5.Sshクライアント(必須ではない)
二、テスト環境の配置
1. Windowsの下に仮想マシンをインストールします.2. 仮想マシンにcentOS 6_をインストールする86_64.iso;3. sshクライアントを使用して仮想マシンに接続されたlinuxシステム(linuxで直接操作可能)
三、yumソースの定義
centos自体のソースについては、mirrors.163.comやmirrors.sohu.comやdocs.linuxtone.orgなど、自分の場所に応じて自分に近いミラーソースを選択できます.この例ではdocs.linuxtone.orgソースを使用します.
1.次のコマンドで該当フォルダに移動
2.yum.repos.dの下にシステムの既存ファイルを保存する一時フォルダを作成する
3.yum.repos.dのシステムの元のrhel-debuginfo.repoソースファイルをbackupバックアップに移行する(バックアップしないことはない)
4.yum.repos.dで以下のコマンドを実行し、対応するシステムに対応するyumソースをダウンロードする.本システムはcentOS 6 64ビットのシステムを使用しているので、ここでは以下のリンクを参照する.
5.ダウンロードに成功したかどうかを確認する
なお、自分の実際のシステムと本例のテストシステムのバージョンが一致しない場合、第4ステップの操作では、自分の実際のバージョンに基づいてyumソースを選択する必要があります.例えば、自分の実際のシステムがcentOS 5である場合、wget-c–O rhel-debuginfo.repoは次のリンクを使用します.http://mirrors.163.com/.help/CentOS5-Base-163.repo
四、epelサードパーティyumソースのインストール
1.サードパーティyumソースのインストール
サードパーティyumソースの主な役割は、システムのインストール時に対応するサードパーティソフトウェアを自動的にインストールすることです.以下にcentOSのさまざまなバージョンのサードパーティyumソースへのリンクを提供します. Centos 5 32ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/5/i386/epel-release-5-4.noarch.rpm Centos 5 64ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm Centos 6 32ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm Centos 6 64ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmこの例では、64が仮想マシンの下にインストールされたcentos 6 64ビットシステムを使用するため、次のリンクを使用してサードパーティyumソースをダウンロードします.
実際の操作では,自分のシステムのニーズに応じてサードパーティyumソースのリンクを決定する必要がある.
2.インストールに成功したかどうかを確認する
以下の内容が表示されると、インストールに成功したことを示します.そうでない場合は、上記の手順でエラーが発生していないかどうかを確認する必要があります.
または、次のコマンドを使用してインストールに成功したかどうかを確認します.
同様の出力が表示されると、インストールに成功しました.
五、python 2.7+(centOSはこのステップをスキップ)のインストール
1.pythonのダウンロード
linuxで次のコマンドを使用してpythonをダウンロードします.
必要に応じてpythonのバージョンを自主的に選択できます
2.pythonのコンパイルとインストール
まず解凍してpythonに入ります
次にpythonをコンパイルしてインストールします
システムにpythonが既に存在する場合は、コンパイルインストール後に元のpythonを置き換え、古いpythonが存在するかどうかを判断し、/usr/binディレクトリの下にpythonファイルがあるかどうかを確認し、存在する場合は、次のコマンドを実行して古いpythonをバックアップします.いいえ、バックアップは必要ありません.このステップをスキップします.
インストールしたpythonへのリンクを作成します.
上記の2行のコマンドの実行後、「python-V」と「/usr/bin/python-2.4.3-V」をそれぞれ使用して配置が成功したかどうかを検証することができ、正しい結果は2.7.9と2.4.3であるべきである.
注意:ユーザーが古いpythonバージョンを引き続き使用する場合は、次の操作を行います.
最初の行の「#!/usr/bin/python」を「#!/usr/bin/python-2.4.3」に変更して保存するか、新しいバージョンを直接削除してバックアップした古いバージョンをpythonファイル名に復元すればいいです.
六、ファイアウォールとselinuxを閉じる
1.SELINUXをオフにし、すぐに有効にする
システムの再起動
クローズステータスの確認
disabledの場合、正常に閉じられたことを証明します.
2.ファイアウォールを閉じる
Cobblerはいくつかのポートを使用しますが、簡略化のためにiptablesを直接閉じます.
システムの再起動
七、インストール構成Cobbler
1.インストールCobblerおよび実行依存パッケージのダウンロード
yumコマンドを使用してCobblerパッケージをインストールする
インストールに成功したかどうかを確認
インストールに成功したことを示すメッセージが表示されます.
Cobbler実行に関連するパッケージをインストールするには、まずhttpd rsync tftp-server xinetdサービスをインストールする必要があります.このサービスがない場合は、次のコマンドを使用してインストールする必要があります.
Cobblerを実行するために必要な依存パッケージをインストールします.
他のサービスが必要な場合は、必要に応じて電源管理機能やubuntuなどの他のシステムをインストールする場合は、対応するパッケージをダウンロードする必要があります.
2.Cobblerの構成
2.1 httpサービスの設定
httpプロファイルの変更
serverNameの値をネイティブipに変更
wsgiモジュールを起動する必要があるため、mod_wsgiがインストールされているかどうかを確認する必要があります.ない場合は、次のコマンドを使用してインストールする必要があります.
インストールが完了したら、wsgiモジュールを有効にします.有効にする方法は、/etc/http/conf.d/wsgi.confファイルのLoadModule wsgi_module modules/modules_wsgi.so行のコメントをキャンセルすることです.
2.2 tftpとrsyncの構成
rsyncとtftpの2つのサービスのxinetd構成を変更するには、rsyncとtftpの構成ファイルを変更し、disable=yesをdisable=noに変更してtftpとrsyncサービスの起動を開始するだけです.
2.3 Cobblerマスタープロファイルの変更
Cobblerサービスを開始する前に、いくつかのプロファイルを変更する必要があります.各ファイルを変更する前に、現在のファイルをバックアップしたほうがいいです.Cobbledのプロファイルは、YAML情報のフォーマットファイルである/etc/cobbler/settingsです.必要に応じてcobblerマスタープロファイルを変更します:/etc/cobbler/settings
1>serverオプション設定IPはcobblerサーバにアドレスを指定するために使用されます.0.0.0.0を使用しないで、cobblerサーバとhttpやtftpなどのプロトコルでリンクしたいIPを設定してください.
2>next_serverオプションは、DHCP/PXEネットワークブートファイルがダウンロードされたTFT PサーバのIPであり、serverと同じIPに設定される
3>pxeのインストールは一度だけ許可されており、誤操作を防止します(正式な環境で役に立ちます.実際のテストでは、この機能は遮断できます)
4>rsyncのデフォルトは0で、rsyncは管理されず、1に変更して管理できます.
5>一括マウント時の初期パスワードの設定
マウント初期パスワードの生成
生成したパスワードの暗号文をsettingに挿入
default_password_cryptedの値を、上で生成した暗号文に変更します.
6>Cobbler関連のすべてのサービスの再起動
7>pxeの起動のために、DHCPサーバーのアドレスが必要で、直接システムを起動して、それはネットワークの中でブートファイルをTFT Pのサーバーにダウンロードすることができて、cobblerはmanage_dhcpの設定を通じて管理することができます まずcobbler構成を変更し、cobblerにdhcpサービスを管理させる.カスタム構成をする場合、PXE起動用にdhcp関連構成を変更する必要がある.manage_dhcp:1を設定する(注:デフォルトは0であり、dhcpサービスを管理しないことを示し、1に変更して管理することができる.これはcobbler管理dhcp、すなわち、後で構成情報の更新を同期させるためである[cobbler sync])
次に/etc/cobbler/dhcp.templateを変更します.このファイルはcobblerがdhcpを管理するテンプレートで、DHCPが割り当てたアドレスとCobblerが同じネットワークセグメントにあることを確認します.
上記dhcp.templateファイルを下のフォーマットで変更し、どのような内容を記入すべきかを具体的に知るには、自分のlinuxシステムでifconfigとcat/etc/resolv.confコマンドを叩いて下の内容を記入したIPなどの情報を取得してください.
linuxシステムに複数のNICがある場合は、DHCPサービスのネットワークインタフェースを指定する必要があります.
次の値を変更します.
debmirrorの設定(ない場合は設定しません)
一、テスト環境及び基本ツール
1. centOS6.iso86_64;2.仮想マシン12 64ビット;3.Windows 10 64ビット;4.ネットワーク5.Sshクライアント(必須ではない)
二、テスト環境の配置
1. Windowsの下に仮想マシンをインストールします.2. 仮想マシンにcentOS 6_をインストールする86_64.iso;3. sshクライアントを使用して仮想マシンに接続されたlinuxシステム(linuxで直接操作可能)
三、yumソースの定義
centos自体のソースについては、mirrors.163.comやmirrors.sohu.comやdocs.linuxtone.orgなど、自分の場所に応じて自分に近いミラーソースを選択できます.この例ではdocs.linuxtone.orgソースを使用します.
1.次のコマンドで該当フォルダに移動
cd /etc/yum.repos.d/
2.yum.repos.dの下にシステムの既存ファイルを保存する一時フォルダを作成する
mkdir backup
3.yum.repos.dのシステムの元のrhel-debuginfo.repoソースファイルをbackupバックアップに移行する(バックアップしないことはない)
mv rhel-debuginfo.repo ./backup
4.yum.repos.dで以下のコマンドを実行し、対応するシステムに対応するyumソースをダウンロードする.本システムはcentOS 6 64ビットのシステムを使用しているので、ここでは以下のリンクを参照する.
wget -c –O rhel-debuginfo.repo http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
5.ダウンロードに成功したかどうかを確認する
yum list
なお、自分の実際のシステムと本例のテストシステムのバージョンが一致しない場合、第4ステップの操作では、自分の実際のバージョンに基づいてyumソースを選択する必要があります.例えば、自分の実際のシステムがcentOS 5である場合、wget-c–O rhel-debuginfo.repoは次のリンクを使用します.http://mirrors.163.com/.help/CentOS5-Base-163.repo
四、epelサードパーティyumソースのインストール
1.サードパーティyumソースのインストール
サードパーティyumソースの主な役割は、システムのインストール時に対応するサードパーティソフトウェアを自動的にインストールすることです.以下にcentOSのさまざまなバージョンのサードパーティyumソースへのリンクを提供します. Centos 5 32ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/5/i386/epel-release-5-4.noarch.rpm Centos 5 64ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm Centos 6 32ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm Centos 6 64ビット:rpm-Uvhhttp://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmこの例では、64が仮想マシンの下にインストールされたcentos 6 64ビットシステムを使用するため、次のリンクを使用してサードパーティyumソースをダウンロードします.
rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
実際の操作では,自分のシステムのニーズに応じてサードパーティyumソースのリンクを決定する必要がある.
2.インストールに成功したかどうかを確認する
yum list|grep -E "^epel"
以下の内容が表示されると、インストールに成功したことを示します.そうでない場合は、上記の手順でエラーが発生していないかどうかを確認する必要があります.
epel-release.noarch 6-8 installed
epel-rpm-macros.noarch 6-2 epel
または、次のコマンドを使用してインストールに成功したかどうかを確認します.
rpm -qa |grep -i epel
同様の出力が表示されると、インストールに成功しました.
rpm -qa |grep -i epel
五、python 2.7+(centOSはこのステップをスキップ)のインストール
1.pythonのダウンロード
linuxで次のコマンドを使用してpythonをダウンロードします.
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
必要に応じてpythonのバージョンを自主的に選択できます
2.pythonのコンパイルとインストール
まず解凍してpythonに入ります
tar xzf Python-2.7.9.tgz
cd Python-2.7.9
次にpythonをコンパイルしてインストールします
./configure --prefix=/usr/local/python
make
make install
システムにpythonが既に存在する場合は、コンパイルインストール後に元のpythonを置き換え、古いpythonが存在するかどうかを判断し、/usr/binディレクトリの下にpythonファイルがあるかどうかを確認し、存在する場合は、次のコマンドを実行して古いpythonをバックアップします.いいえ、バックアップは必要ありません.このステップをスキップします.
mv /usr/bin/python /usr/bin/python-2.4.3
インストールしたpythonへのリンクを作成します.
ln -s /usr/local/python/bin/python /usr/bin/python
上記の2行のコマンドの実行後、「python-V」と「/usr/bin/python-2.4.3-V」をそれぞれ使用して配置が成功したかどうかを検証することができ、正しい結果は2.7.9と2.4.3であるべきである.
注意:ユーザーが古いpythonバージョンを引き続き使用する場合は、次の操作を行います.
vi /usr/bin/yum
最初の行の「#!/usr/bin/python」を「#!/usr/bin/python-2.4.3」に変更して保存するか、新しいバージョンを直接削除してバックアップした古いバージョンをpythonファイル名に復元すればいいです.
六、ファイアウォールとselinuxを閉じる
1.SELINUXをオフにし、すぐに有効にする
sed -i '/^SELINUX=/ s/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
システムの再起動
reboot
クローズステータスの確認
sestatus
SELinux status: disabled
disabledの場合、正常に閉じられたことを証明します.
2.ファイアウォールを閉じる
Cobblerはいくつかのポートを使用しますが、簡略化のためにiptablesを直接閉じます.
chkconfig ip6tables off
chkconfig iptables off
/etc/init.d/ip6tables stop
/etc/init.d/iptables stop
システムの再起動
reboot
七、インストール構成Cobbler
1.インストールCobblerおよび実行依存パッケージのダウンロード
yumコマンドを使用してCobblerパッケージをインストールする
yum -y install cobbler
インストールに成功したかどうかを確認
rpm -qa |grep -i cobbler
インストールに成功したことを示すメッセージが表示されます.
cobbler-2.6.11-1.el6.x86_64
Cobbler実行に関連するパッケージをインストールするには、まずhttpd rsync tftp-server xinetdサービスをインストールする必要があります.このサービスがない場合は、次のコマンドを使用してインストールする必要があります.
yum install tftp-server xinetd dhcp httpd rsync
Cobblerを実行するために必要な依存パッケージをインストールします.
yum install pykickstart debmirror python-ctypes cman ru
他のサービスが必要な場合は、必要に応じて電源管理機能やubuntuなどの他のシステムをインストールする場合は、対応するパッケージをダウンロードする必要があります.
2.Cobblerの構成
2.1 httpサービスの設定
httpプロファイルの変更
vi /etc/httpd/conf/httpd.conf
serverNameの値をネイティブipに変更
ServerName 192.168.40.128:80
wsgiモジュールを起動する必要があるため、mod_wsgiがインストールされているかどうかを確認する必要があります.ない場合は、次のコマンドを使用してインストールする必要があります.
yum -y install mod_wsgi
インストールが完了したら、wsgiモジュールを有効にします.有効にする方法は、/etc/http/conf.d/wsgi.confファイルのLoadModule wsgi_module modules/modules_wsgi.so行のコメントをキャンセルすることです.
sed -i 's*#LoadModule*LoadModule*g' /etc/httpd/conf.d/wsgi.conf
2.2 tftpとrsyncの構成
rsyncとtftpの2つのサービスのxinetd構成を変更するには、rsyncとtftpの構成ファイルを変更し、disable=yesをdisable=noに変更してtftpとrsyncサービスの起動を開始するだけです.
sed -i '/disable/c disable = no' /etc/xinetd.d/tftp
sed -i -e 's/= yes/= no/g' /etc/xinetd.d/rsync
service xinetd restart
2.3 Cobblerマスタープロファイルの変更
Cobblerサービスを開始する前に、いくつかのプロファイルを変更する必要があります.各ファイルを変更する前に、現在のファイルをバックアップしたほうがいいです.Cobbledのプロファイルは、YAML情報のフォーマットファイルである/etc/cobbler/settingsです.必要に応じてcobblerマスタープロファイルを変更します:/etc/cobbler/settings
1>serverオプション設定IPはcobblerサーバにアドレスを指定するために使用されます.0.0.0.0を使用しないで、cobblerサーバとhttpやtftpなどのプロトコルでリンクしたいIPを設定してください.
sed -i 's/server: 127.0.0.1/server: 192.168.63.133/g' /etc/cobbler/settings
2>next_serverオプションは、DHCP/PXEネットワークブートファイルがダウンロードされたTFT PサーバのIPであり、serverと同じIPに設定される
sed -i 's/next_server: 127.0.0.1/next_server: 192.168.63.133 /g' /etc/cobbler/settings
3>pxeのインストールは一度だけ許可されており、誤操作を防止します(正式な環境で役に立ちます.実際のテストでは、この機能は遮断できます)
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings
4>rsyncのデフォルトは0で、rsyncは管理されず、1に変更して管理できます.
sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings
5>一括マウント時の初期パスワードの設定
マウント初期パスワードの生成
openssl passwd -1 -salt 'random-phrase-here' '111111'
$1$random-p$WbZ3JxhRzCS/1Ne4S9g4Z. # ,
生成したパスワードの暗号文をsettingに挿入
vi /etc/cobbler/settings
default_password_cryptedの値を、上で生成した暗号文に変更します.
default_password_crypted: " , "
6>Cobbler関連のすべてのサービスの再起動
chkconfig httpd on
chkconfig xinetd on
chkconfig cobblerd on
chkconfig dhcpd on
/etc/init.d/httpd restart
/etc/init.d/xinetd restart
/etc/init.d/cobblerd restart
cobbler sync
cobbler get-loaders
cobbler check
/etc/init.d/dhcpd restart
7>pxeの起動のために、DHCPサーバーのアドレスが必要で、直接システムを起動して、それはネットワークの中でブートファイルをTFT Pのサーバーにダウンロードすることができて、cobblerはmanage_dhcpの設定を通じて管理することができます まずcobbler構成を変更し、cobblerにdhcpサービスを管理させる.カスタム構成をする場合、PXE起動用にdhcp関連構成を変更する必要がある.manage_dhcp:1を設定する(注:デフォルトは0であり、dhcpサービスを管理しないことを示し、1に変更して管理することができる.これはcobbler管理dhcp、すなわち、後で構成情報の更新を同期させるためである[cobbler sync])
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
次に/etc/cobbler/dhcp.templateを変更します.このファイルはcobblerがdhcpを管理するテンプレートで、DHCPが割り当てたアドレスとCobblerが同じネットワークセグメントにあることを確認します.
cp /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.bakk #
vi /etc/cobbler/dhcp.template
上記dhcp.templateファイルを下のフォーマットで変更し、どのような内容を記入すべきかを具体的に知るには、自分のlinuxシステムでifconfigとcat/etc/resolv.confコマンドを叩いて下の内容を記入したIPなどの情報を取得してください.
# 192.168.0.0 , , ip 192.168.40.128,
subnet 192.168.40.0 netmask 255.255.255.0 {
# , subnet ip
option routers 192.168.40.1;
# , ,
option domain-name-servers 8.8.8.8;
#
option subnet-mask 255.255.255.0;
# dhcp IP ,
range dynamic-bootp 192.168.40.160 192.168.40.200;
filename "/pxelinux.0";
default-lease-time 21600; #
max-lease-time 43200; #
next-server $next_server; #
}
linuxシステムに複数のNICがある場合は、DHCPサービスのネットワークインタフェースを指定する必要があります.
#vi /etc/sysconfig/dhcpd
次の値を変更します.
#Command line options here DHCPDARGS=eth0
DHCPDARGS=eth0
debmirrorの設定(ない場合は設定しません)
sed -i -e 's|@dists=.*|#@dists=|' /etc/debmirror.conf
sed -i -e 's|@arches=.*|#@arches=|' /etc/debmirror.conf