万人のためのハイパフォーマンスコンピューティング

HPC Do It Yourself Club

      HOMEE5-2600v3製品情報お役立ち情報購入案内お問い合わせ会社案内
      ムービーダウンロードドキュメント最新トピックスおもしろLinkHPCノウハウ

2015年の年末特価セールはこちら

ノマド+コピペでできる、バーチャルHPC Linuxクラスター構築

(4)hpc01をコピーしてhpc02を作る

 Fusionで作るバーチャルマシンには、Macに実際に付いているハードウェアに限定されること無く、自由にハードディスクやネットワークインターフェースなどを取り付けることができる。これらを仮想デバイスと呼ぶことにしよう。仮想ハードディスクのトータル容量に関しては、Macの空きディスク容量で制限されるが、その他はかなり自由だ。この記事を書くために使っているMacにはEthernetアダプターは付いておらず、無線LANを使ってインターネットに接続している。しかし、Fusion上のバーチャルマシンには、仮想Ethernetアダプターを何個でも付けることができる。接続先をMacを経由して外部インターネットにしたり、Fusion上にある他の仮想マシンにしたりできる。リアルクラスターのマシンでは、Ethernetアダプターを2つ用意し、一つをクラスター内部間の通信用、もう一つを外部からのloginやインターネットからのダウンロード用等に使う構成をとる。Fusion上の仮想クラスターでも、全く同様の構成を、ハードウェアの追加などは無しで、いとも簡単に作ることができる。ハードディスクに関しても同様だ。このMacにはSSDのディスクが1台付いているだけだが、Fusion上のバーチャルマシンには、何台でも仮想ハードディスクを付けることができる。1台めは/dev/sda、2台目は/dev/sdb...となり、これもリアルマシンと全く同様だ。リアルマシンにネットワークアダプターやハードディスクを取り付けたり外したりするには、ネジを閉めたりケーブルを接続したりするなどの、多少の肉体労働とノウハウが必要だが、それも必要ない。代わりにFusion上での簡単な操作を行うだけでできる。
 筆者はクラスター機能の検証に、最初はリアルマシンを使っていた。しかしリアルクラスターは持ち運びできない。検証を行うためには、リアルクラスターの側に自分を運ばないといけない。コンピューターの台数や構成を変更するのは、簡単にはできない。などの理由から、モチベーションも下がりがちだった。そんな時、あまり期待もせずにFusionでバーチャルクラスターができないか試し始めた。その結果、リアルクラスターの機能は、ほとんどバーチャルクラスターで試せる。バーチャルクラスターをプロトタイプにすると、ノマドで作業ができ、時間と手間が大幅に短縮される。完成したバーチャルクラスターから、クラスターインストール用USB(CIUSB)を作り、CIUSBでリアルクラスターを構築すると、極めて短時間でクラスターが使えるようになる。などを実感した。
 前回の記事で、hpc01にノード間で共通の設定を行った。今回はhpc01をコピーしてhpc02を作成する。そのためにhpc02で使う仮想ディスクをhpc01に追加し、ディスクのコピーを行う。その他にも必要な仮想デバイスを追加する。hpc01にはイーサーネットの仮想インターフェースはデフォールトで1つ付いているが、これは内部通信用にして、外部通信用にもう1つ追加する。仮想デバイスの追加や削除は、Fusionのメニューから仮想マシンを選択し、プルダウンメニューから設定をクリックして行う。
fusion_config.png

するとこの画面が表示される。右上のデバイスを追加をクリックする。
config_hpc01.png

この画面が表示される。新規ハードディスクをクリックし、追加をクリックする。
hpc01_add_device.png

この画面が表示されるので、右下の適用をクリックした後、左上のすべてを表示をクリックする。
hpc01_new_hdd.png

すると再び設定画面が現れるが、ハードディスクが2つになっている。ここでまたデバイスを追加をクリックする。
config_hpc01_2.png

ネットワークアダプタを選択し、右下の追加をクリックする。
hpc01_new_eth.png

ネットワークアダプタの設定画面が表示される。こちらはこのままで外部通信用になっているので、何も変更せず、左上の、すべてを表示をクリックする。
config_eth.png

これでハードディスクとネットワークアダプタがどちらも2個になった。このままでは、左側のネットワークアダプタもが外部通信用に設定されているので、変更するためこれをクリックする。
config_hpc01_4.png

このように、Macを共有に設定されている。これは外部からMacに接続されているネットワークを、Mac内部のFusionのルーターを介して、DHCPで使うモードである。つまり、外部のインターネットに接続する目的用だ。
eth0_default.png

クラスター内部の通信に使うためには、Macをプライベートにチェックを入れる。これで設定は終了したので、左上隅の赤ボタンをクリックして、設定画面を消す。
eth0_internal.png

シャットダウンされているhpc01を起動する。左上または真ん中のプレイボタンをクリックする。
shutdowned_hpc01.png

少し待つとCentOS6.3が立ち上がり、login待ちの画面が表示される。Other...をクリックする。
login.png

Username:にrootを入力し、Log Inをクリックする。
login_root.png

Password:に、インストール時に設定したパスワードを入力し、Log Inをクリックする。
password.png

Log Inしたら前回と同様のやり方でTerminalを開く。インターネットへの接続は、CentOSが立ち上がった時に自動的に行われているので、コマンドを入力する必要はない。Firefoxも立ち上げ、この記事を表示する。画面では、前回の記事が表示されている。
terminal_and_firefox.png

Firefoxでこの記事の最後の方にある、青い行を全部選択し、コントロールキー+cキーでコピーする。ターミナル画面に行き、コントロールキー+シフトキー+vキーでペーストする。青い行に書いてあるコマンドが実行され、仮想ハードディスクのコピーが始まる。終わるまで少し時間がかかる。コピーが終わった後、コピーされたディスク上の、hpc01がhpc02に変更され、IPアドレスも変更される。
copy_hpc01_to_hpc02.png

コピーが終わると自動的にシャットダウンされる。これからやることは、hpc01から2台目の仮想ハードディスクを取り外し、それをシステムディスクにしてhpc02を作ることだ。その手順をこれから説明する。この画面、上部左から3つ目のスパナのアイコンをクリックする。
shutdowned_hpc01.png

設定画面が表示される。ハードディスク2をクリックする。
config_hpc01_4.png

この画面が表示されるので、左下の詳細オプションの左にある三角形をクリックする。
virtual_disk_2.png

この画面に変化するので、一番下のハードディスクを削除をクリックする。
hdd_option.png

削除の仕方を聞かれるので、中央のファイルの保持をクリックする。
hdd_delete.png

するとこの画面が表示されるが、ハードディスクが1個に減ったのがわかる。これで設定作業は終了したので、画面左上の赤ボタンをクリックして、この画面を消す。
after_del_hdd2.png

続いてhpc01から取り外した仮想ハードディスクを使い、hpc02を作る。Fusionのメニューからファイルをクリックしプルダウンメニューから新規をクリックする。
fusion_file_new.png

この画面が表示されるので、ディスクを使用せずに続行をクリックする。
create_new_vm.png

インストールメディアの選択画面になる。既存の仮想ディスクを使用:をクリックする。
install_media_for_vm.png

すると既存の仮想マシンを構成するファイルが表示される。書類フォルダー中の仮想マシンフォルダー中の、hpc01.vmwarevmがそれだ。Finderで見ると1つのファイルなのだが、この画面ではファイルの中身を見ることができる。ファイル名の左の三角形をクリックする。
select_virtual_disk.png

仮想マシンに付いている仮想ディスクが表示される。後から付けた仮想ディスク2をクリックして選択する。下の部分
で、選択した仮想ディスクの取り扱いを決める。コピーと共有と切り離しが選択できるが、hpc01ではもうこの仮想ディスクは使わないので、3番目の切り離しをクリックする。その後、右下の選択をクリックする。
contents_of_hpc01_vm_b.png

この画面が表示される。続けるをクリックする。
install_media_for_vm_done.png

オペレーティングシステムの選択の画面になる。このまま右下の続けるをクリックする。
hpc02_os_select.png

終了の画面が表示されるので、設定のカスタマイズをクリックする。
end_of_hpc02_config.png

仮想マシンの名前を変更する画面になるので、名前:のCentOS(64ビット)をhpc02に変更し、保存をクリックする。
change_name_of_vm.png

hpc02:設定の画面が表示される。デフォールトでは、ネットワークアダプターがMacとの通信に設定されている。hpc01との通信に使いたいため、これを変更する。ネットワークアダプタをクリックする。
hpc02_config.png

Macを共有が選択されているが、Macをプライベートを選択し直し、左上の赤ボタンをクリックしてこの画面を閉じる。これでhpc02が完成した。
hpc02_network_adapter.png

hpc01とhpc02の2台の仮想マシンを起動してみよう。今ある仮想マシンの一覧は、Fusionのメニューからウインドウをクリックし、仮想マシンのライブラリをクリックすると表示される。
vm_library.png

仮想マシンを立ち上げるには、仮想マシンを選択し、スタートアップをクリックすればいい。hpc01を選択しスタートさせ、次にhpc02を選択しスタートさせる。こうすれば2台の仮想マシンが立ち上がる。
vm_list.png

立ち上がった2台の仮想マシン。hpc01にrootでLog Inする。
hpc01_and_hpc02.png

ターミナルを開く。キーボードから、ssh hpc02 hostnameを入力しエンターキーを押す。hpc02と表示され、hpc01からネットワークを経由してhpc02を操作し、その結果がhpc01に表示された。hpc01とhpc02はハードウェアとして接続された。あとは、各種の設定を行えば、完全なクラスターになる。
ssh_hpc02_hostname.png

(次に続く


#################################################################
# 追加したハードディスクのパーティションテーブルをクリアする
#
dd if=/dev/zero of=/dev/sdb count=10
#################################################################
# 追加したハードディスクにパーティションを作る
#
fdisk /dev/sdb <<.
n
p
2

+500M
n
p
1


t
2
82
a
1
w
.
#################################################################
# 追加ハードディスクのパーティション1をフォーマットし、ROOTというLABELを付加
#
mkfs.ext4 -L ROOT /dev/sdb1
#################################################################
# 追加ハードディスクのパーティション2をスワップ用にして、SWAPというLABELを付加
#
mkswap -L SWAP /dev/sdb2
#################################################################
# 追加ハードディスクのルートパーティションを/mntにマウント
#
mount /dev/sdb1 /mnt
#################################################################
# hpc01のシステムディスクを追加ハードディスクにコピー
#
rsync -a --exclude='/proc/*' --exclude='/sys/*' --exclude='/mnt/*' / /mnt
sync;sync
#################################################################
# ブートローダーを書き込む
#
grub --batch --no-floppy <<.
device (hd1) /dev/sdb
root (hd1,0)
setup (hd1)
.
#################################################################
# hpc01専用のファイルを消去
#
rm -f /mnt/etc/udev/rules.d/70-persistent-net.rules
rm -f /mnt/etc/sysconfig/network-scripts/ifcfg-eth1
#################################################################
# 追加ディスクの、hpc01をhpc02に変更
#
ed /mnt/etc/sysconfig/network <<%
/hpc01/s/1/2/
w
q
%
#################################################################
# 追加ディスクのIPアドレス設定を変更
#
ed /mnt/etc/sysconfig/network-scripts/ifcfg-eth0 <<%
/IPADDR/s/1$/2/
w
q
%
#################################################################
# シャットダウンする
#
shutdown -h now
#################################################################
#
#


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Copyright (C) HPCシステムズ株式会社. All Rights Reserved.