2010年5月19日水曜日

2010年5月6日木曜日

【サーバ再構築】iSCSI環境構築 その2

サーバ側でマシン起動時に自動でtargetをマウントできるよう、fstabの設定等を諸サイトを参考にいくつか行ってみたが、総じてマウントに失敗した。
単純に、target側から見られないようにすれば(ファイル共有は仮想サーバのみで行えば)いい話なのだが、ちょっとムキになって、無理やり起動時にマウントするようにしてみた。
  1. マウントする際に、デバイスファイル名(/dev/hoge)を明示できない
  2. iscsitargetが起動する度、デバイスファイル名をつけ直しているため、デバイスファイル名が不確定。
    →iscsitargetが起動した後に、デバイスファイル名を変数にぶち込めばOK
  3. iscsitargetが起動した後の、デバイスファイル名の調べ方は?
  4. /dev/disk/by-pathに情報がある
  5. iscsitargetとopen-iscsiの起動順序を変更
  6. iscsitargetはstartをrcS.dに27で、open-iscsiはdefaultsでstartを17、stopを81に設定
以下、open-iscsiの変更箇所のソース
startファンクションのudevsettleコール後の適当な場所に挿入
stoptargetsファンクションのtargetログアウト前に挿入
stoptargetsファンクション
「iSCSIのデーモンがhangしてたらログアウトする」条件文をコメントアウトして、強制的にtargetからログアウトするようにする
なぜかopen-iscsiを再起動する度に「既にログインしてるぜ」というエラーが出るため

2010年5月4日火曜日

【サーバ再構築】iSCSI環境構築

作業を行うに当たって、いくつかクライアントとサーバでファイルのやりとりを行う必要が出て来たため、折角なので予定されていたiSCSI環境の構築を実施した。

    以下、実施した作業のまとめ
  1. 必要パッケージのインストール
  2. サーバには、target用のパッケージのみをインストール。
    • iscsitarget
    • iscsitarget-modules-2.6-amd64
    • ※モジュールは、使用しているOSのアーキテクチャに合わせて、適宜変更すること
    クライアントには、イニシエータをインストールする。
    • open-iscsi
  3. target側の設定
    • LVMでボリュームを作成
    • ディレクトリ単位で接続しようとしたら、なぜかディスク全部を参照してしまったので、LVMでボリュームを区切って使用することにした。
    • /etc/ietd.confの編集
    • 編集するべき箇所は、以下の部分 IQNの命名規則については、こちらが参考になるかもしれない
  4. イニシエータ側の設定
    • iscsiadmコマンドで、targetのボリューム一覧を取得
    • 接続するtargetにログイン

2010年5月2日日曜日

【サーバ再構築】仮想環境構築

ホストOSにDebian 5.0.4 Lennyを選択。
最小構成でセットアップを行い、仮想環境でのテストインストールどおり、以下のパッケージをインストールした。

  • ssh
  • ntp
  • vim

これらに加えて、KVM環境構築の為、さらに次のパッケージを追加でインストールした。

  • kvm
  • bridge-utils
  • uml-utilities
  • libvirt0
  • libvirt-bin
"libvirt0"及び"libvirt-bin"は、virsh(KVMのマネジメント用シェル)を利用するために必要なパッケージ

パッケージインストール後は、kvmのブリッジ設定を参考に、ブリッジ設定を追加した。

なお、別マシンで作成したゲストを他のマシンへ移動する場合、NICが認識しなくなるので、NICを認識しないときの対処を実施すること

2010年4月30日金曜日

【サーバ再構築】仮想環境選択

サーバの用途がファイルサーバ(SAMBA+NFS)、DLNAサーバ、SQLサーバと関連してながらも少しだけ横に広がってきたので、ここらで用途別のサーバを用意し、サービスの切り替えを容易に行えるように考えたため、サーバの基本構成を以下のとおりとした。

  • 予算の都合上、物理サーバを複数台立ち上げることは非現実的なので、仮想サーバとする
  • 仮想化について、linux環境をホストとしながらも、ハイパーバイザ型として動作するKVMを選択
  • ストレージについては、ホスト側でiSCSIを構築して、ゲスト側で共有する(要排他制御)

構築そのものの手順としては

  1. 仮想サーバの雛形作成
  2. ホストサーバの再構築
  3. iSCSI環境のセットアップ
  4. 仮想サーバで従来の設定を展開
  5. 各サービス毎の仮想サーバを構築
  6. 各サービス毎に構築した仮想サーバを展開
  7. 従来の設定のサーバをクローズ
ぐらいになるかな?

以下、KVMでの仮想サーバ構築において、俺的に鬼門だった、ネットワークブリッジの作成に非常に参考になったサイト。

仮想化された日々:Ubuntu - livedoor Blog(ブログ)

2010年4月25日日曜日

【サーバ再構築】仮想環境下でのテストセットアップ(1)

  1. VirtualBoxの設定
    • 拡張機能:IO APICを有効化にチェック
    • その他の設定については、ミニマル構成とした
  2. インストール作業
    • インストールは英語環境にて実施
    • タイムゾーンやキーマップについては、Japanを選択
    • IPアドレスは手動でスタティックに設定
    • ブートパーティション及びシステムパーティションについては、ReiserFSを選択
    • パーティションは/boot、/(root)、/homeで構成
    • インストールパッケージは最小構成からの構築を行うため、すべてのチェックをオフにした
  3. 初期設定
    • 実コンソールから、rootで以下の作業を実施
      1. apt-get update
      2. apt-get upgrade
      3. apt-get -y install ssh ntp sudo vim
      4. visudoを実行して、管理者アカウント(≠root)にsudo権限を追加
    • 別マシン(今回は仮想マシンのhost機)の/etc/hostsファイルに、サーバの情報を追記
    • terminalから、sshで接続