「ほっ」と。キャンペーン
<   2008年 05月 ( 9 )   > この月の画像一覧
MS Hyper-V RC1にLinux(CentOS)とLinux統合コンポーネントRC0を入れてみた
Windows Server 2008の目玉機能の一つされているHyper-Vを試して見ました。

まずサーバーマネージャの役割よりHyper-Vをインストールします。
まだ正式版は出てないらしくRC0版でした。
(実は2008/5/21にRC1がでたらしいのですが、うちのはまだRC0です。5/27のWindowsUpdateでRC1が入手できるっぽいのでそのときに更新予定です。)
http://www.computerworld.jp/topics/mws/108669.html

仮想マシンの制御はサーバーマネージャより役割ツリーをたどってHyper-Vマネージャよりより行えます。
(前のVirtual Server 2005は基本Webベース管理コンソールだったのでそれに比べるとレスポンスの観点では使いやすくなっていると思います。)

そこで新規仮想マシンとハードディスクイメージを作成。
仮想光学ドライブにCentOS 5.1のISOイメージをマウントしていざ起動です。

インストールはanacondaよりGUIで特に苦労することなく出来ました。
しかし、はやり統合コンポーネントが入ってないせいか、マウスを動かし時のレスポンスが遅いです。

統合コンポーネントを入れてないのでネットワークはレガシーネットワークを使います。
これでLANの別のクライアントPCからFTPで転送速度を測ってみました。
おおよそ4MB/Sくらしか出ませんでした。しかも転送中ホストOSのタスクマネージャ見るとCPU使用率が100%近くになっています。

こりゃサーバとしての実用には耐えんということで、Linux統合コンポーネントのインストールを試してみました。

MSのWindows Server Hyper-V: よくある質問と回答によるとhttp://www.connect.microsoft.com
からLinux 統合コンポーネントがダウンロードできるようです。
今のところ SUSE Linux Enterprise Server 10 SP1 用ですが。。

で、http://www.connect.microsoft.comですが、なにやら会員の登録が必要みたいなので自分のLiveIDで登録後、サインイン。
「Linux Integration Components for Microsoft Hyper-V 」の項目に「新しいダウンロード: Linux Integration Components for Hyper-V RC1 Installer」というのがあるので、こいつをダウンロードします。
ついでにインストールマニュアル(英語)のあるのでこいつもダウンロード。docxの拡張子なんでWord2007が見れる環境が必要です。

まずXenのカーネルをインストールしないといけないようなので、CentOS5.1のインストールメディアから下記のコマンドでインストール。
#rpm -ihv /media/cdrom/CentOS/kernel-xen-2.6.18-53.el5.i686.rpm


ダウンロードしたファイルを解凍すると 「LinuxIC.iso」とかいうファイルができるのでこれをゲストOSの仮想光学ドライブにマウント。
中身を/home/username/とかの適当な場所にコピーします。
(マニュアルでは下記のようになってます。)
# mkdir /opt/linux_ic
# cp /mnt/cdrom/* /opt/linux_ic -R

マニュアルによると32bitOSだけは下記コマンドがいるようです。
# /opt/linux_ic/setup.pl x2v /boot/grub/menu.lst

この後リブートします。
そして
# /opt/linux_ic/setup.pl drivers

・Network VSC
これでレガシーネットワークを削除して通常のネットワークを追加。
ifconfig すると seth0 というデバイスとして認識するみたいです。

・Input VSC
#lsmod | grep inputvsc
でInput VSCが正しくロードされていれば出てくるらしいのですが、出てきませんでした。
手順が悪かったのどうかはなぞです。
いずれにせよ画面表示は遅いままですし、Ctrl+Alt+←での切り替えは必要でした。
ちゃんとインストール、設定できていればシームレスに行くんでしょうが。。

#lsmod | grep vmbus
とたたくと
vmbus 53576 2 netvsc,storvsc
と出てきたのでネットワークとストレージの仮想レイヤは入ってるみたいです。

・Storage VSC
これはSCSIコントローラを追加することで有効になるっぽいです。
でもゲストOSの設定でハードウェアの追加、SCSIコントローラを選択するとシステムディスク(OSが入ってるディスク)はSCSIコントローラにアタッチできない。IDEコントローラにアタッチする必要があると書いてます。
じゃあIDEコントローラでは本来のパフォーマンスが出ないということでしょうか?
よくわかりません。


という感じで英語のマニュアル読めないのでさっぱし不明ですが、なんとか設定はできました。
まあ、早く製品版のHyper-V本体、統合コンポーネント、マニュアルの日本語化、RedHatへの正式対応を願うことですな。
実際にサーバ運用するのは製品版リリースまで待とうと思います。

RedHatも5.2が出たみたいなんで、CentOSの5.2も待つ必要がありますしね。
[PR]
by jehoshaphat | 2008-05-24 14:00 | サーバがらみ | Trackback(1) | Comments(0)
(.net)紛らわしいTypeofとかいう単語
VB.NetにもC#にもtypeofという予約されてる語がありますが、挙動はまったく異なります。
C#,VB.Net両方やってるとたまに迷うので一応メモ。

VB.Netのtypeof
構文: TypeOf <名前> Is <型>
   <名前>のランタイム型に<型>との互換性があるかどうかを判断します。
互換性があれば(キャスト可能)True、そうでなければFalseを返します。
   あるオブジェクトがある型にキャストできるかどうかとかを調べるときに使うことが多いと思います。
(ちなみにVB.NetのTypeOf .. Is ..と同じことをC#でさせたい時は is キーワードを用いるようです。要はTypeOfがいらないだけ)


C#のtypeof
構文: typeof(<型>)
指定された<型>のSystem.Typeオブジェクトを返します。
実行時のオブジェクトからのSystem.Type取得はGetTypeメソッドを使用します。例:obj.GetType()
ある型の詳しい情報(型名とか)とか取りたい時に使うことが多いと思います。
(ちなみにVB.Netで同じことをさせたい時はGetType()を使うようです。)

ということでVBとC#の変換表っぽいものないかなーと探してたらありました。
作ってくれた方に感謝です。
VB.NET、C#変換表http://dobon.net/vb/dotnet/vb2cs/vb2cstable.html
C# から VB.NET への変換http://www.oyamafamily.com/public/prg/lang/vb_lang01.html
[PR]
by jehoshaphat | 2008-05-20 13:08 | .Net開発 | Trackback | Comments(0)
(vb.net)DateTime構造体の特定の部分だけ値を変えたい時
たとえば現在日時を取得し、時間だけ変えたいという時はこんな書き方ができます。

Dim dt As DateTime = DateTime.Now()
Console.WriteLine(dt.ToString())
dt = DateTime.Parse(dt.ToString("yyyy/MM/dd 12:01:00"))

Console.WriteLine(dt.ToString())

結果:
2008/05/20 10:26:00
2008/05/20 12:01:00

で、上の例ではDateTime.Parse()を使ってますが、ここ見たところDateTime.ParseExact()を使ったほうがよさげなので、こうしました。


Dim dt As DateTime = DateTime.Today()
Console.WriteLine(dt.ToString())
dt = DateTime.ParseExact(dt.ToString("yyyy/MM/dd 12:01:00"), "yyyy/MM/dd HH:mm:ss", Nothing)

Console.WriteLine(dt.ToString())

結果:
2008/05/20 10:26:00
2008/05/20 12:01:00


ちなみに.NetではDateとDateTimeは同じものみたいです。
DateはVB6との互換性だけに残しているようなものみたいすね。
[PR]
by jehoshaphat | 2008-05-20 10:40 | .Net開発 | Trackback | Comments(0)
エンタープライズ系弱いなぁ。
今日ちょっと納品先のドメイン環境が勤め先のサーバ環境と統合できるかどうかでSEから事情聴取じゃなくて情報提供を求められました。
まあ、共有フォルダからみだから納品してるサーバをドメインに参加させて、クライアントがそいつのローカルアカウントを使えば問題ないと思うんですが。。

ただ納品先はバックアップをARCServeというバックアップソフトを使ってるらしいです。
SEは私が知ってること前提で話してたみたいだけど、こっちは初耳です。
うーむ、やはりエンタープライズの経験ないとつらいなー。
調べてみるとネットワーク経由のバックアップでは結構定番らしいです。

そいや某大手メーカに派遣に行ってた頃は事業部全体がエンタープライズ系のミドルウェアやってました。
自分はTomcat改+の評価専門でしたが。。(たまにコーディングもしてたけど、Tomcat中身さっぱし。。)

最近得意のネットワークの知識も、以前に比べると腐り気味です。
(もともと実務でネットワークはやったこと無いんですが、学生時代のテクニカルエンジニアのネットワーク受かってしまったもんで、大した実力ないのに自信だけがついてました。それでもまあ、一般の開発職のメンツからすると結構知識あるように見えるんですかね?)

最近所属部署にドメイン提案し導入してサーバがらみで部署内からはちやほやされましたが、つくづくこの業界ではまだまだ無知だなーと思うちょっとナイーブになった今日この頃です。
[PR]
by jehoshaphat | 2008-05-16 10:50 | 思ったこととかニュースとか。。 | Trackback | Comments(0)
(ドメイン)"このシステムのセキュリティ ログはいっぱいになりました" と怒られた
ドメイン利用者からドメインユーザでログインしようとすると"このシステムのセキュリティ ログはいっぱいになりました" と怒られてログインできないというクレームがありました。

最初はドメインコントローラのログがいっぱいになったのかと思って調べてみたらそうではないようです。
さてはクライアントか、と思い、クライアント(XP)のイベントビューアからセキュリティログのプロパティを見ると確かに512KB使い切ってます。(512KBって小さすぎじゃないのか。。)
しかも"イベントを上書きする 7日経過後"にはなっていたのですが、一番古いログちょうど6日前。

そういえばドメインセットアップ後に監査のところでいろいろチェックしたなーと思いうつ、ドメコン(ドメインコントローラ)のグループポリシー見てみると確かにすべてを監査するようなってました。
(実はドメイン導入前に事故があったのでそのために監査に過敏になってたこともあります)

こりゃ監査ポリシーの見直しが必要だということで、とりあえずデフォルトに復元。

後、各クライアントPCのセキュリティログの設定も下記のグループポリシーからできるようなので最大ログサイズを16MBに、イベントの上書きを1日後に設定しておきました。なんか互換性の問題があるようですが、とりあえず様子見です。
その設定は
グループポリシー→ポリシー→Windowsの設定→セキュリティの設定→イベントログ→から
 セキュリティログの最大サイズ
 セキュリティログの保存日数
 セキュリティログの保存方法
のという項目で設定できます。


ちなみに下記のマイクロソフトのページにも解決法書いてありました。
http://support.microsoft.com/kb/867860/ja
ここにも書いてます。

サーバ管理慣れてないといろいろ大変です。
[PR]
by jehoshaphat | 2008-05-13 11:02 | サーバがらみ | Trackback | Comments(0)
Windows Server 2008をリモートから管理するツール(RSAT)
2008インストールしてから今までリモートデスクトップ(ターミナルサービス?)をつかって管理してきたのですが、今後ActiveDirectoryのOUを部署別に管理してもらうようになるためにはAdminpackを入れてもらってMMCから管理してもらうようにしようかなと思い、それの評価をやってみました。

で、2008のDVD-ROMからAdminpackを探すと、、ありません。。
ネットで探したところ、どうやら2008からはAdminpackで管理ツールを入れるという方法ではなくなったようです。
こちらに詳しい情報が載せられていますが、どうやら管理ツールがRSAT (Remote Server Administration Tools)というものに変わったみたいです。

しかもこれが動くのはVista SP1以上だそうで。。

じゃあXP使ってる人は管理できないのか。。
仕方ないのでXPの人はWindows Server2003でも入れてAdminpackで管理してもらおうかと思ってます。

ちなみにRSATは下記からダウンロードできようです。
VistaSP1以降(x86)http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9ff6e897-23ce-4a36-b7fc-d52065de9960
VistaSP1移行(x64)http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=d647a60b-63fd-4ac5-9243-bd3c497d2bc5

以下、RSATを使ってみた感想です。
まず、コンパネのプログラムと追加から、Windows の機能の有効化または無効化でリモートサーバー管理ツールのツリーから管理したい機能にチェックを入れます。
これでスタートメニューの管理ツールに項目が増えます。
これでリモートデスクトップしなくても簡単に管理ができるようになりました。
[PR]
by jehoshaphat | 2008-05-08 11:35 | サーバがらみ | Trackback | Comments(0)
WindowsServer2008の目玉 Hyper-VはWindowsSV2008 x86版では動かない!?
WindowsServer2008をインストールして、最近噂のHyper-V RC版を試そうかとおもっってサーバーマネージャの役割の追加でウィザード起動。
さて、Hyper-Vはどこだ?と思ったら一覧にありません。
あれ?とおもってMSのRC版ダウンロードページに行くとx64の文字が。。

もしかして、、、と思い調べるとHyper-VはWindowsServer2008 x64版でしか提供されないみたいです。(でもゲストOSは32bitで可能)

にもx64でしか提供されない旨が書かれています。
(そういえばWindowsServer系では2008が最後の32bit提供OSになるんでしたっけ)
ここにもHyper-Vがx64版のWindowsServer2008でしか提供されないからx64OSが普及するだろうという意見を書いています。
(ドライバのインストールが厳しく制限される限りクライアント側のx64化は遠いと思うけどなあ)

でも不思議なのがMicrosoftのHyper-Vキャンペーン(キャンペーン終わったらリンク切れるかも)。ここでは「Hyper-V RC (WindowsServer2008 x86)版ダウンロード」とあります。こりゃどういうことなんでしょうか?
いちおうダウンロードしてインストールを試みましたが、「この更新プログラムはお使いのシステムには適用されません」と怒られ無理でした。じゃあ、一体これは何? MSにももっとユーザが理解しやすい情報提供を求めます。。。

結局仕方ないのでVitual Server 2005 R2 で対応しました。
これもWindows Server2008で動かすには一苦労あったわけで。。これはまた次回。
[PR]
by jehoshaphat | 2008-05-08 10:42 | サーバがらみ | Trackback | Comments(0)
Windows Server 2008でVitual Server2005 R2を動かす。
インストールはそのままでOKです。
IIS7のインストールが必要です。
ということで動かしてブラウザから管理ページ見るとエラーが。。
ということでネットで探してみた結果、こんなブログ見つけました。

なるほど、CGIのインストールも必要なのか。
ということでサーバの役割->IISからCGIやら認証周りやら必要そうなものにチェック入れまくり。
これで無事に動かすことができました。
が、スペックがCPU:Opteron 1216(2.4GHz/L2 1MB×2/103W)(もう2年弱前のもの。)、メモリ:1GBなのでこれでVirtual Serverはつらいです。。

ということで、2008のIISはデフォルトでいれると必要なものが入らなかったりするので注意です。
[PR]
by jehoshaphat | 2008-05-08 10:34 | サーバがらみ | Trackback | Comments(0)
ドメインコントローラを外部のNTPサーバと時刻同期
ドメイン導入すると、クライアントPCの時刻は自動的にドメインコントローラに同期します。
(これはActive Directoryで使ってるケルベロス認証に必要なようで。。)

ということはドメインコントローラの時刻が正確じゃないと多大なる被害を及ぼすということ、、、

ということでドメインコントローラのクロックを外部のNTPサーバと同期さす方法です。


参考元はhttp://www.windows-world.jp/faq/-/69369.htmlです。
どうやら外部のNTPサーバはWindowsServerが要求する「Symmetric Active Mode」とかいうコマンドを受け付けないようなので、それを回避するため下記コマンドでNTP設定します。

>
w32tm /config /manualpeerlist:タイムサーバのIPアドレスorホスト名,0x8 /syncfromflags:MANUAL
net stop w32time
net start w32time
w32tm /resync


あんまりw32tmコマンドは詳しくないですが、コマンドの解説によると
/config : Windows Timeサービスを設定
/manualpeerlist:タイムサーバのIPアドレスorホスト名 : ワークグループ環境でNTP同期を実行する際の,相手先コンピュータを指定する。
/syncfromflags:MANUAL : ワークグループ環境で外部NTPサーバから同期するモード。
だそうです。

それで、2,3行目で時刻管理がらみのサービスを再起動。
4行目で手動で再同期といったところでしょうか?

これで問題なく運用できるのかな?


追記(2010/06/08)
ドメインコントローラでのNTPサーバとの同期方法はTechNet:Windows タイム サービスを構成するにも載ってました。

そこのコマンドでは上記のコマンド引数に加え、 /reliable:yes /update が追加されてました。
/reliable:yes コンピュータが信頼できるタイム サービスであることを指定。
/update  設定した項目をすぐに反映。(WindowsTimeサービスの再起動の必要は無し)

ということで、WindowsTimeサービスを再起動させることなく設定を反映し今すぐ適用するということで、下記のコマンドに落ち着きました。

w32tm /config /manualpeerlist:(NTPサーバ),0x8 /syncfromflags:MANUAL /reliable:yes /update


参考:
ITpro:w32tmコマンド
@IT:Windows OSにおける時刻同期サービスとNTP
[PR]
by jehoshaphat | 2008-05-07 11:02 | サーバがらみ | Trackback | Comments(0)