HPCクラスター構築(その2)
前回構築したhpc01にログインノードが有すべき機能を加えていきます。
最初にUbuntuを最新の状態にアップデートします。
ネットワークデバイス名をeth0, eth1に変更。
eth0をクラスター内ネットワークに、eth1はインターネット接続用に。
/etc/hostsをクラスター用に変更。
openssh-serverをインストールして、クラスター内ではパスワードなしでログイン可能にする。
ターミナルを表示します。左下のメッシュをクリックし
上のType to searchにterと入力します。
Enterキーを押すとターミナルが立ち上がります。
ターミナルはよく使いますので、左側の下から2番目のターミナルのアイコンを右クリックして、Add to fa favoritをクリックして、次回からはここをクリックするとターミナルが立ち上がるようにします。
最初にUbuntuを最新の状態にアップデートします。それには
sudo apt update
sudo apt upgrade -y
をターミナルに入力します。
rebootコマンドを入力し、リブートします。
立ち上がったらターミナルを起動し
sudo apt install net-tools
を実行します。
ifconfigを実行します。
ネットワークデバイス名はenp0s3になっていますが、分かりにくいのでeth0と表示されるように、/etc/default/grubを修正します。ブートの時にgrubメニューが表示されるようにも変更します。その前にvimもインストールしておきます。
sudo apt install vim -y
sudo vim /etc/default/grub
7行目のhiddenをmenuに変更(メニューが表示されるように)
8行目の=0を=5に変更(メニュを5秒間表示)
10行目のquiet splashをnosplashに変更(ブートプロセスを表示に)
11行目の=""を="net.ifnames=0 biosdevname=0"に変更(ネットワークデバイス名をeth0, eth1などに変更)
以上を書き換えたら、
sudo update-grub
reboot
を実行します。
起動したらターミナルでifconfigを実行します。
grubメニューが表示され、5秒後にブートプロセスが始まり、ブート時のメッセージが表示され、ifconfigでネットワークデバイス名がeth0になりました。
ログインノードにはネットワークデバイスが2つ必要なのですが、でフォールトでは1つしかついていないので、これを2つに変更します。起動したままでは変更できないので、
shutdown -h now
を実行してシャットダウンします。
Settingをクリックします。
Networkをクリックします。
Adapter1をInternal Networkに変更します。
Adapter2のEnableにチェックを入れ、一番上のNATを選択します。
右下のOKをクリックし、Startをクリックします。
起動したらターミナルでifconfigを実行します。
ネットワークデバイスがeth0とeth1の2つに増えていることがわかります。
eth1がインターネットへの接続でDHCPによりIPアドレスなどが設定されます、eth0がクラスター内部用でIPアドレス(192.168.20.1)をマニュアルで設定する必要があります。それには画面の右上をクリックー>settingをクリックして、Networkをクリックします。
eth0の右側の歯車アイコンをクリックします。
ポップアップしてきたメニュー
でIPv4をクリックし、Manualをクリックし、Addressに192.168.20.1を、Netmaskに255.255.255.0を入力しApplyを押します。
その後eth0のスイッチをオンにして設定を有効にします。すでにスイッチがオンの場合は、一旦オフにして再度オンにします。
ターミナルでifconfigを実行して、eth0とeth1を確認します。
次に/etc/hostsを編集し、クラスターのすべてのノードのhostnameとIPアドレスを入力します。
sudo vim /etc/hosts
2行目以降を次のように修正します。
ノード間でsshが可能なように、openssh-serverをインストールします。
sudo apt install openssh-server
パスワードなしでsshログインできるようにします。
ssh-keygen -t rsa
を実行し、質問にはEnterを入力します。
cd .ssh
cp id_rsa.pub authorized_keys
を実行します。
最初のsshでfingerprintに関する質問をされないよう、/etc/ssh/ssh_confを編集します。
sudo vim /etc/ssh/ssh_conf
35行目のStrictHostKeyCheckingのコメントを外しaskをnoに変更します。
rootでノード間のscpなどをする必要があるので、rootでもsshのパスワードが不要にします。ただし、公開鍵認証のみでssh可能にします。
sudo su
cd
ssh-keygen -t rsa
cd .ssh
cp id_rsa.pub authorized_keys
exit
/etc/ssh/sshd_configを編集して、rootは公開鍵認証のみ可能にします。
sudo vim /etc/ssh/sshd_config
33行目のPermitRootLoginのコメントを外しprohibit-passwordをwithout-passwordに変更して、書き換えます。
sudo systemctl restart sshd
でsshサーバーを再起動します。
動作確認は、
sudo su
ssh hpc01
で行うことができます。
ここまで来れば、 hpc01をコピーしてhpc02を作り、最小2台構成のクラスターの構築作業に取り掛かることができます。