» 2009 » 10月のブログ記事

タイトルの件を試してみた。
インストールまでは出来たが、仮想PC起動したらゲストの再起動が掛かりました。
 

試した環境。
ホスト:WindowsServer2008R2 Ent.
ゲスト:WindowsServer2003R2 Ent. x64 + VirtualServer2008R2SP1
 
 

うーん意外といけそうな感じがしたんだけど残念。

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

前回の理論編で展開したVirtualServer2005でのゲストNAT(NAPT)接続について、どうせ全く同じことなのでWindowsServer2008R2+Hyper-Vの環境でやってみた。
まあ、WindowsServer2003+VirtualServer2005での環境がちょっとすぐに用意できなかったからともいう。
 
ちなみに用語がめんどくさいので、以降親パーティション=ホスト、仮想はゲストで。
 
 

要点をさっとおさらい

実践編はほぼ作業手順になっちゃうので要点だけおさらい。

  1. ホストにLoopBackAdapterを追加、ゲストとはそれで接続しローカルネットワークを形成
  2.  

  3. ホストにRRASをインストール、ルータとしてセットアップ
  4.  

  5. 物理NICを外部用、LoopBackを内部用にルーティング+NAPTで完成
  6.  

 

ではやってしまおう。
 
 

ホストの準備

RRASをインストールする、役割追加の「ネットワークポリシーとアクセスサービス」から。
 

画像:RRASの役割追加

画像:RRASの役割追加


 
 

LoopBackAdapterをインストールする、2003ならハードウェア追加と削除、2008はデバイスマネージャの「操作」からレガシハードウェアの追加(※PCを選んでないと出てこない)をする。
 

画像:LoopBackAdapter追加

画像:LoopBackAdapter追加


 

追加できたらIPアドレスを振っておく、あくまでプライベートネットワーク用なので、外用とサブネットが被らないように。
 

画像:内部ネットワークのゲートウェイ

画像:内部ネットワークのゲートウェイ


 
 

ゲストが使うネットワークの設定

Hyper-V管理から、LoopBackAdapterを外部ネットワークとして構成する。
※これはVirtualServer2005でも出来るように合わせているだけで、Hyper-Vなら多分LoopBackの代わりは最初からついておりそちらを使ってもOK。
 

画像:仮想ネットワーク追加

画像:仮想ネットワーク追加


 

じゃあゲストにさっきのLoopBackをあてがおう。
 

画像:ゲストが使うNIC選択

画像:ゲストが使うNIC選択


 

ゲストの準備はこれでいいので、起動しておこう。
 
 

ゲスト⇔ホスト間の疎通を確認する

ゲストを起動し、ホストでLoopBackに当てたサブネットで適当なIPアドレスを振り、通信できるか試してみる。
 

PINGを打ったらFireWall切リ忘れで応答無かったので、telnet80 で疎通確認、OK。
 

画像:内部疎通確認

画像:内部疎通確認


 

では外部にPingが飛ばないことを確認しておく、現段階ではwww.google.comにpingを送ることが出来ない。
 

画像:届かないPING

画像:届かないPING


 

あとはマスカレードするだけだ。
 
 

RRASにNAPT付きルータのセットアップ

ホストに戻ってルーティング。
ウィザードで超簡単、2003だとどうだったかな?ウィザード無くても簡単には違いないが。
 

まずNATをえらんで、
 

画像:RRASその1

画像:RRASその1


 

最初にインターネットにつながっている側のインターフェイスを選択する。
LoopBackじゃないほうね。
 

画像:RRASその2

画像:RRASその2


 

次に内部のネットワークに接続されたインターフェイス、ここではもちろんLoopbackを選択と。
 

画像:RRASその3

画像:RRASその3


 

そのあと内部的にDHCPを有効にするか聞かれる。正直どっちでもいいがDHCPのほうがちょっと楽かな。。
 

画像:RRASその4

画像:RRASその4


 

以上でRRASがルータになった、ちょっと見てみよう。
 

画像:RRASセットアップ完了

画像:RRASセットアップ完了


 
まあ状況が判るくらいだけど。
 
 

ゲストよNATで出て行こう

さあ、仮設DHCPを有効にしたので、早速ゲストからrenew、DHCP discover だ。
 

写真:ゲストにIPアドレス自動付与

写真:ゲストにIPアドレス自動付与


 
IPもらえたー、これはまさにVirtulaPCでやるときのNATモード
 
 

ではGoogleにPING、
 

画像:届くPING

画像:届くPING


 
OK.
 

ちなみにデフォだと名前解決できなかったな、FireWallかなあ。
面倒なのでDNSだけ手動で入力。
 

で、WEBへ。
 

画像:幾重ものWindowに囲まれ、WEB表示

画像:幾重ものWindowに囲まれ、WEB表示


 
 

はいお粗末さまでしたー
 
 

おわりに

RRASはServer向けのWindowsにしかついてないかと思いきや、ちゃんとクライアントのXPやらにも付いている。
ただGUIがなくて、netshで頑張って設定しなきゃならないみたいだが。。
 
 

さてこれでIPが一個ありゃゲストの面倒はなんとかなるというのが確認できた。
ポートフォワードも出来るのでサーバとしての役割もバッチリ。
 

で、それだけでなく、グローバルIPの付与はホストに全部やって必要ポートだけゲストに渡す、という考え方もあるんだよね。
IPフィルタの一元管理、トラフィックのモニタリングと結構使いでがあったり。
 
 

この記事ではHyper-Vでやっちゃったけど、構成を理解すればVirtualServer2005でも同じことが出来るはずなので是非やってみよう。
 

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

VirtualServer2005の仮想NIC接続にはNATモードがない。
ここでいうNATモードは、とりあえずホストのIPでNAPT(Overload)し、外部接続を果たすという仕組みだ。
 

これが使えないということは、ゲストにIPアドレスを自由に振れない環境ではちと困る、そんな所でVS2005入れていいのかというのは置いといて。
で、そのNATモードをWindowsServerのRRASとLoopbackAdapterで疑似的にやってみようという試み。
構成を思いついて、ちょっと情報探してみて特に無かったので記事に。実は常識なのかもだが。。。
(追記:後で考えたら Hyper-Vでも同じ事ができそうだ)
 
 

VirtuaPC 2004/2007 でのNATモード

VirtualBoxとか、他の仮想化ソフトにもあるねNATモード。
外部との接続は下図のような感じになっている、大分はしょってはいるが概ねこんな感じだ。

画像:VirtualPC 2004/2007でのNAT接続のイメージ

画像:VirtualPC 2004/2007でのNAT接続のイメージ


 
この場合仮想に割り当てるIPはとりあえず気にしなくていい、内部の(これまた仮想)DHCPから適当に振られるから。
※ホストがゲストにIP経由でアクセスしたければ、LoopbackAdapterを追加するのがいい
 
 

VirtualServer2005でのよくある仮想NIC接続

VirtualServer2005になるとNATモードが無く、VirtualPCでも出来る下図のような接続形態になる。

画像:VirtualServer2005通常NIC接続のイメージ

画像:VirtualServer2005通常NIC接続のイメージ


 

これだと外部環境に接続するにはそのLANで有効なIPアドレスが必要だ。
DHCPサーバもない、IP勝手に振れない、またはグローバル環境だったりすると困るかな?困る。
 
「内部ネットワーク」っていう接続モードもあるが、外に出れない仮想スイッチにつながり、仮想PC同士が通信出来るだけで外部とつながるという目的は果たせない。
 
 

VirtualServer2005のための疑似NATモード

さて、本題の構成。
『疑似』としてるけど、至極真っ当にNAPTをやるので多分上手くいくと思うんだがなー
 

まずWindowsにもあるLoopBackAdapterをインストールする、やり方はMSサイトで。

 

そして標準で使えるルータ・ファイアウォール他のサービスRRAS(ルーティングとリモート アクセス サービス)をセットアップ。
 
 
したら下記のような環境が作れるはずなんだよね。
仮想PCが使うNICはホストでいうLoopBackAdapterになる、物理NICのほうは仮想にバインドしないので注意。
 

画像:RRASとLoopBackAdapterを使用した自前NAT

画像:RRASとLoopBackAdapterを使用した自前NAT


 

さて、これでIPやゲートウェイの設定を手動で入れてやれば、IPを複数貰うことなく仮想PCから外部に出ていけると思うんだが。。。
試せる環境が手持ちの資源で作れるようなら実践編へ続く
 
 

add to hatena hatena.comment (1) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 1

SunのVirtualBoxを使うと、HDDのイメージにiSCSIブロックデバイスを指定できる。
 

…と何処かで見たのでメニューを見るもそれらしき設定がない。。
ヘルプによるとコマンドラインでのみ対応のようだ、そのコマンドがこれ。
"VBoxManage" の "addiscsidisk" オプション
 

VBoxManage addiscsidisk --server <name>|<ip>
--target <target>
[--port <port>]
[--lun <lun>]
[--encodedlun </lun><lun>]
[--username <username>]
[--password <password>]
[--type normal|writethrough|immutable]
[--comment <comment>]
[--intnet]</comment></password></username></lun></port></target></ip></name>

 
使ったのはWindows版のVirtualBox3.x
 
 

さっそく叩いてみた、192.168.0.1上のiSCSIターゲットを指定する。
 

C:\Program Files\Sun\VirtualBox>VBoxManage addiscsidisk --server 192.168.0.1 --target iqn.1986-03.com.sun:02:**********************************
VirtualBox Command Line Management Interface Version 3.0.8
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
 
iSCSI disk created. UUID: *******************************

出来た。
 
 

さて、ターゲット側で情報をみるとこんな感じ。
 

Target: zfs1/iscsidev/vboxtest
iSCSI Name: iqn.1986-03.com.sun:02:**********************************
Alias: iscsidev/vboxtest
Connections: 1
Initiator:
iSCSI Name: iqn.2008-04.com.sun.virtualbox.initiator
Alias: unknown

 

……イニシエータの名前変更できるようにしてくれないか?SUNよ。
簡易フィルタかけたいんだが。
 
 

それはさておき、これでVirtualBoxのメディアマネージャをみるとiSCSIのディスクがリストされているので、晴れてIDEなりSATAなりで接続する設定すればそれで完了だ。ゲストOSからは完全にローカルディスクとなる。
 

add to hatena hatena.comment (1) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 1

IIS7はKeepAliveがデフォルト有効、タイムアウト120秒だ。
 

120は長いだろう。。と思いつつもWindows認証を使う場合KeepAliveが必須なのでどうしてもデフォルトが長いんだろうな。
Apacheなんかは最近5秒くらいじゃなかったか?俺もよく1秒とか3秒にしちゃう。
 
 

では使わない場合、短くしたい場合にどこをいじればいいのか見ておこう。
 

画像:KeepAliveのON/OFF1

画像:KeepAliveのON/OFF1


 
サイトの所を叩くと出てくるHTTP応答ヘッダーのメニューに入ろう。
右のほうに共通ヘッダーの設定というのがある、KeepAliveのON/OFFはそこで切り替える。
 

画像:KeepAliveのON/OFF2

画像:KeepAliveのON/OFF2


 
 

では次に長さ。
 

画像:KeepAliveの長さ設定1

画像:KeepAliveの長さ設定1


 
今度はさっきより一個上の階層。
また右のほう、WEBサイトの規定値の設定を開こう。
 

画像:Keepaliveの長さ設定2

画像:Keepaliveの長さ設定2


 

どうもまとめ方がイマイチしっくりこないが、ここに違いない。
KeepAliveとしっかり書いてあるわけじゃないが、元々コネクションレスのHTTPでコネクションについて書いてあるからきっとそうだ。
 

微妙に自信がなさげなのは、ココをかえても「Keep-Alive: timeout **」のレスポンスヘッダを返してくれるようになるわけじゃないからなんだよなあ。
 
一応指定した時間でコネクションは切っちゃう。けどサーバからの切断なのでエラーログにtimeoutがずらずら記述されていくというIISの仕様、IIS6からそうだよね。
ヘッダ返せばブラウザが切ってくれるのに・・・カスタムで突っ込むしかないのか。
 
 

まあ以上でIIS7のKeepAlive関連の設定はおしまい。
Windows認証を使わないんだったら、切るか1-5秒くらいにしゃちゃいなさいね。
 
 

ついでだがコマンドラインでのやり方はこっちを参照。

 

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

前編からの続き
"/boot"だけバックアップした場合の戻し方。
 
 

"boot"だけ残せばよい理由と残す理由

前回記事の起動シーケンスから分かる通り、grubはstage2まで起動してしまえばファイルシステムをバッチリ理解できる。
逆に言うと、stage1.5まではHDDのセクタがそろってない環境にはそのまま戻せない、ということにもなる。
 

grubのstage2は"/boot"にあるので、そこになんとか繋ぐように配置すれば起動までこぎ着けそうな気もするが、そんな心配もいらないので諦めよう。
 

そう、MBRからstage2まで辿るのが難しくなった場合、素直にCDブートのgrubを使えばいい、
>> grub公式のgrub bootableCD作成方法
これはファイルシステムを大概理解できるナイスツール、必携だ。
 

grubさえ立ち上げれば、ext3の領域を読んでくれる = initrdやカーネルを指定してOSを起動することができ、ゆっくりgrub-install実施で元通りとできる。
 
 

ローカルをまっさらなHDDと交換してみる

前回作成したiSCSIを"/"領域にした環境で、ローカルディスクが爆破されたと仮定して"/boot"だけある環境から復旧してみよう。
 

まず適当なLiveCDを用意する。
CentOS5の奴なんかいいんじゃないだろうか、nfsマウント出来るしyumで少々のツールなら追加できる。
実は初期状態では重要なdump&restoreがないが、『yum install dump』で追加OKだ。
 

ではCD起動してからやること。。

  1. fdiskでhddを編集開始、まあ大体 "/dev/sda" だろう
    わからなかったら"fdisk -l"
  2.  

  3. nコマンドで"/boot"用に100Mくらい、SWAPように適当に2048MBくらい確保
  4.  

  5. tコマンドでSWAPスペースのタイプを82に変更
  6.  

  7. aコマンドで"/boot"予定スペースの起動フラグON
  8.  

  9. wコマンドでパーティションテーブル書き込み、fdiskおわり
  10.  

  11. "/boot"のところにファイルシステム作成
    # mkfs.ext3 -L /boot /dev/sda1
  12.  

  13. ついでにSWAPも
    # mkswap -L SWAP-sda2 /dev/sdb2

 

と、ここまでやったら"/mnt" あたりに "/dev/sda1"をマウントして、tarでもrestoreでも好きな方法で旧環境の"/boot"を戻そう。
もってくる方法は特に問わない、なんでもいい。
 
 

以上で ローカルディスクの"/boot"は復活した。
ちなみにfdiskはこんな感じに仕上がった。
Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 257008+ 83 Linux
/dev/sda2 33 282 2008125 82 Linux swap / Solaris

 
 

CDからgrubで起動しよう

"/boot"が使えるようになったので、CD起動にしたgrubを使ってみよう。
 

起動したらとりあえずこれだ、
grub>
 

どうしろと言うのか迷うかも知れないが、とりあえずファイルシステムのルートになるパーティションを指定しよう。
途中まで入れたらTABで補完OK。
grub> root (
Possible disks are: fd0 hd0 cd

使えそうなデバイスを見せてくれる、もちろんhd0を選びさらにTAB

grub> root (hd0,
Possible partitions are:
Partition num: 0, Filesystem type is ext2fs, partition type 0x83
Partition num: 1, Filesystem type is unknown, partition type 0x82

パーティションを教えてくれる、さっき自分で作ったのだからどちらかなんて自明。

grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83

選択した領域に"/boot"があったらマウントしてくれる。
 

さああとはinitrd とカーネルを指定するだけだ...って
これがハードル高いと思う日もあるかもしれない。
 

でもそんなことはないんだ、"/boot"はマウントされてるんだよね?
 
 

コンフィグ見りゃいいじゃん。
 

grub> cat /grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda3
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-128.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/
initrd /initrd-2.6.18-128.el5.img

 

grubはcat出来る、これは死ぬほど助かる。
 
さあさっさと下記を入力して、bootコマンドを叩くのだ。
"kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/"
"initrd /initrd-2.6.18-128.el5.img"
 
 

さすれば起動する、破壊前の環境そのままだ。
あとは起動後に"grub-install" をしてあげるだけ。
# grub-install --root-directory=/ /dev/sdb
色々理由があって上記になる。
 
 

おまけ、initrdのinit抜いてみた

と、言うことで今回環境のバックアップはおしまい。
結局、/bootのdumpとddと両方採ってるけどね。
 

今度はHDDの代わりにUSBメモリを使ってみようっと。
 
 

さて、"/"からiSCSIってinitrdは何しとるんだと思うじゃない、
なので展開してみた、なるほどねー。
 
長いのでトップでは切っちゃうが。
の続きを読む »

add to hatena hatena.comment (4) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 4

前回に続いて、電車の中で過去問やってみた。予習ナシ。
 

平成21年春期の午前2は科目ごとに分かれていたのでmデータベーススペシャリスト試験(DB)。
 

問1 問11 問21 ×
問2 × 問12 × 問22
問3 問13 問23
問4 問14 × 問24
問5 × 問15 問25 ×
問6 問16  
問7 問17 ×
問8 × 問18
問9 × 問19
問10 問20
正答数 16/25

 

64てん(w)
さすがに駄目だこりゃ。
 

春に向けて底上げしとこうかなぁ。
 

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0
Page 1 of 512345

他のサイト

■OSC関西@神戸
資料公開中

はてなの別館
・犬の話
・家の話
・政治の話

※注意

I
KOBE×
BUSINESS.

これは個人ブログです、内容についてアイクラフト(株)は責任を負いません。
にほんブログ村 IT技術ブログへSawanoblogのフィード
人気ブログランキングへ
この日記のはてなブックマーク数
はてなRSSに追加
Googleに追加
My Yahoo!に追加
livedoor Readerに追加
goo RSSリーダーに追加
フィードメーター - SawanoBlog.
MCP
MCTS
CCNA

ミニブログとか

あわせて読みたいブログパーツ
  • マネークリップの使い方「Clip this Way!」
    写真:「clip this way」(こうやって使うのよ)


    通勤中に参考書を読む、裁って3つの冴えたやり方
    写真:参考書_背表紙


    Monitでサービス・プロセス監視、止まったら勝手にリスタート(4)
    画像:プロセス詳細画面へ遷移した様子


    Windows7エンタープライズ インストール中(1)
    写真:インストール中?


    HOSTING-PRO 2009 が秋葉原で開催
    icraft.jpg


    Network Notepadを使ってネットワーク図
    画像:簡単なネットワーク図
  • Amazon用