研究室の計算機管理者のススメ(2)OS
土台をつくろう!
今回は計算機環境の土台作りということで、以下の三点についてお話します。
これにより、ユーザー情報およびファイルを共有することができます。
おっと、導入を読んでいないかたは、↓からどうぞ kanji.hatenablog.jp
OSの選定とインストール
CentOSとUbuntu
OSに何を用いるか選ぶのは一つの課題となります。
OSを選ぶ上での基準で大事なことは、トラブル対応しやすいOSに尽きると思います。 言い換えると、Webで情報の多いOSとなります。
様々なOSがありますが、私は以下の2つのOSをオススメします。
大きな差として、システム管理に関するコマンドやディレクトリが若干違います。 どちらのOSでも良いと思いますが、どちらかを極めることをオススメします。 また、研究室内では利便性向上のためにOSは揃えることを推奨します*1。
私の場合は、計算機にはCentOS 7を利用しています。 今後の説明はCentOSを基準に行います。
強い味方Web
さて、インストールに入る前に、私がよく利用するサイトを紹介します。 Server worldという、さまざまなOSでソフトウェアのインストール手順を書いているものがあります。
計算機管理に必要なインストール作業の半分以上は書かれています。 このページでは、実際のインストール作業は少々省略して書き、方針や概略・目的をお伝えするため、詳細の手順はServer worldなどをご覧ください。
インストールの準備
最近のLinuxのインストールは非常に簡単になりました。 基本的な流れは、ISOイメージをダウンロードした後、USBもしくはDVDに書き込みます。
CentOSはココから、ISOを選びます。 初めてのサーバー管理ではGUIが使えることが望ましいので、DVD ISOかEverything ISOをオススメします。 まずは、DVD ISOで良いです。
DVDドライブがある場合は、ISOイメージを焼きましょう。
USBメモリに書き込む場合は、DVD ISOをダウンロードし8GB以上のメモリを用意します。
Windowsの場合は、UNetBootinを用いてこのサイトを参考にISOイメージを書き込みましょう。
LinuxやMacの場合は、ddコマンドを利用して直接書き込みます。
USBメモリを指した後に、dmesgコマンドを入力すると、
[ xxxx.xxxxx] sd 8:0:0:0: [sdb] Attached SCSI removable disk
のような記述があるかと思います。
このsdb
というのが、USBメモリを指しています。
そして、ddコマンドで書き込みます。
ここでif
は書き込み対象のファイル、of
は書き込み先を示します。
dd if=/path/to/CentOSのiso of=/dev/sdb bs=512k
数分すると書き込みが完了します。
インストール
- パソコンを一度シャットダウンします。
- 電源投入後、すぐにUSBまたはDVDを挿入しつつ、BIOSに入ります。
- 起動ドライブでUSBメモリを選択します
- OSのインストーラが立ち上がります
- ガイドにしたがってインストールを進めます
CentOSでは、インストール時に設定項目がいくつかあります。
あとは、「インストールの開始」ボタンを押すと、インストールが始まります。
管理者パスワードをここで設定します。 絶対に忘れないでください(笑)*3
ディレクトリサーバー
さて、OSのインストールが無事終えたと思いますので、ディレクトリサーバーをインストールしましょう。
ディレクトリサービスとは、ネットワーク越しにコンピュータ同士でユーザカウント情報などを共有するためのシステムのことです。
今回は、NISを用います。
NISとは?
ネットワーク・インフォメーション・サービスの略称です。
アカウント情報やホスト名など複数のコンピュータで今日すべき情報を一元管理するプロトコルのことです(ディレクトリサービス)
つまり、NISを用いることで、設定したパソコンは同じユーザーアカウントの情報(ログインや権限)が利用できます。 それぞれのサーバーで独立したユーザ情報を作る必要がないということです。
LDAPが主流になってきていますが、ここではNISを利用します。
NISのインストール
サーバーにはNISサーバー、クライアントにはNISクライアントをインストールします。
サーバー
yum install ypserv rpcbind
クライアント
yum install ypbind rpcbind
となります。
設定ファイルの編集は、ViかEmacsを利用してください。 非常に強力なエディタで、基本的にこれらを利用します。
どちらかを極めましょう。
ファイルサーバー
ファイルサーバーは、ファイルを共有するためのサーバーです。 NFS(ネットワーク・ファイル・システム)を用いて実現します。
これにより、ファイルを集中管理することができます。 逆に、クライアントはストレージをOSの管理にのみ用いるようになります。
ディレクトリの例
工夫を凝らしたディレクトリ構成を考えましょう。 以下は、研究室での例になります。
- home
- homeディレクトリを共有します
- 異なるサーバーに入っても、同じ設定ファイル.bashrcなどが利用できるようになります
- lab
- 研究用のデータを保存します
- ユーザーの名前で/lab以下にディレクトリを作成するといいでしょう
- tools
- dic
- 言語処理研究に必須となる言語資源を配置します
インストール
サーバー
- NFSデーモンにホストを設定
- exports(共有を許可するホストやその権限譲渡について)を設定
yum install nfs-utils emacs /etc/exports # ドメインを追加 # マウントさせたいホストを記述 hostname(rw, sync, root_squash, no_all_squash)((root_squachを推奨)) # 設定の反映 exportfs -a # firewallの設定 firewall-cmd --add-service=nfs --permanent firewall-cmd --add-service=rpc-bind --permanent firewall-cmd --reload # サービスの立ち上げ systemctl start rpcbind nfs-server # サービスの登録 systemctl enable rpcbind nfs-server
クライアント
fstabに
yum install nfs-utils # サービスの立ち上げ systemctl start rpcbind # サービスの登録 systemctl enable rpcbind
/etc/fstabの設定
emacs /etc/fstab 設定を追加
おわりに
たんだんと説明が面倒大変になって参りました。
コマンドが増えてきて、何をやっているか分からなくなってきます。
あきらめずに、何をやるコマンドか?ということを意識して挑戦してください。
さて、次回はツールのインストールでも書こうかと思います。