■Exchange 2007 の ESE データベース キャッシュ サイズ
http://technet.microsoft.com/ja-jp/library/bb691304(EXCHG.80).aspx

によると、

・データベース キャッシュの最大サイズが既定で設定されていないため、DBのI/Oに負荷がかかっている場合は、ESEにより、RAMの使用量はどんどん増えていく。

 つまり、store.exeは、キャッシュのために使えるだけメモリを使用するようになっている。


・RAMの使用量の増加を必要とするほどデータベース I/O に負荷がない場合は、ESE によってキャッシュのサイズが増加されることはない。


・Windowsのシステムキャッシュ、他のアプリケーションがメモリを要求する場合には、ESEにより、必要な分までデータベース キャッシュのサイズは減少する


・Exchange 2007 の既定による最小のデータベース キャッシュ サイズは、2 GB の RAM を持つサーバー上で 512 MB


なのだそうです。
ちなみに、ESEというのは、Extensible Storage Engine:拡張ストレージ・エンジン のこと。

それで、ADSI Editによって、CacheSizeの最大値、最小値を設定することが可能です。

Configuration/Services/Microsoft Exchange/<組織>/Administrative Groups/<管理グループ>/Servers/<サーバー名>/Information Store

Exchange 2003 でも同じでしたね。今回は/3GBはないですけど。

たとえば、CentOS5のApacheなんかだと、最初からsuexecが有効になっています。

# suexec -V
 -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="apache"
 -D AP_LOG_EXEC="/var/log/httpd/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=500
 -D AP_USERDIR_SUFFIX="public_html"


まあ、コンパイル時に有効になっていますからね。仕方がないってものです。

# httpd -V
Server version: Apache/2.2.3
Server built:   Jan 15 2008 20:33:30
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


しかし、suexecは無効にしてしまいます。

# cd /usr/sbin
# mv suexec suexec.disabled
# /etc/init.d/httpd restart


多アカウント環境のApacheで、代わりになにを使うかというと、
mod_ruidがいいかもしれません。
http://websupport.sk/~stanojr/projects/mod_ruid/

インストールの仕方は超簡単 最初にlibcapと、apxsがすでに入っていることを確認してください。

# rpm -qa | grep libcap
libcap-1.10-26
libcap-devel-1.10-26

# which apxs /usr/sbin/apxs

# apxsはhttpd-devel.i386パッケージに入っています。 # libcapもhttpd-develもなかったらyumなどでインストールしてください


ダウンロードしてインストールします。

# wget http://websupport.sk/~stanojr/projects/mod_ruid/mod_ruid-0.6.tar.gz
# tar xvzf mod_ruid-0.6.tar.gz
# cd mod_ruid-0.6
# apxs -a -i -l cap -c mod_ruid.c
# /etc/init.d/httpd restart
httpd.confにはすでにモジュールをロードする設定が書き込まれています。
#
# The following modules are not loaded by default:
#
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule asis_module modules/mod_asis.so
LoadModule ruid_module        /usr/lib/httpd/modules/mod_ruid.so


Defaultの設定でstat
(ファイルの所有者のユーザーにsetuid/setgidされる)になっているので、
特に追記せず、そのままでも動きます。

とはいうものの、デフォルトの状態では最小のuidとgidは100になっているので、 uidが48になっていたりする、'apache'は使用されません。 なので、
RDefaultUidGid  apache apache
こういう設定が一行必要になってくるでしょう。


ただし、suexecと違って、public_htmlだけに効くとかいうわけではなく、
もう、全部に効いてしまうので、すでに動いているシステムに導入するには
(特にCGIの)注意が必要でしょう。

VirtualHostのディレクティブの中には 下記のように固定の設定を仕込んでもよいでしょう。
RMode          config
RUidGid        username groupname

Exchange2000や、2003では、
Exchangeシステムマネージャの「メールボックス」フォルダを
開けば
すぐにみれたんですが。。。

Exchange2007では、Exchange管理シェルからコマンドです。

> get-mailboxfolderstatistics -Identity kuwazou | 
>> Where { $_.Name -eq "Top of Information Store" }
>>

Date          : 2008/04/12 15:04:02 Name          : Top of Information Store Identity         : kuwazou\ FolderPath      : / FolderId        :LgAAAACCh5uEPzGtQKe7e1ipPvE7AQA5o FolderType      : Root ItemsInFolder     : 0 FolderSize      : 0B ItemsInFolderAndSubfolders : 165777 FolderAndSubfolderSize : 814855014B OldestItemReceivedDate : NewestItemReceivedDate : ManagedFolder :

814855014B = 814855KB = 814.9MB
っていうところでしょうか。

Exchange 2000や、2003までは、
ユーザーなどのオブジェクトに関連付けられているメールボックスを削除する操作をした場合、
すぐには削除されず、
普通、最初の1日(メールボックスストアの保守時間がくるまで)は
そのままどこかと関連付けられていたような状態になっていて何も操作できず、
Exchangeシステムマネージャから、「メールボックス」フォルダを右クリックして、
「クリーンアップエージェントの実行」をしていたものです。


しかし、2007になったら、GUI(Exchange管理コンソール)上からはクリーンアップエージェントはできなくなりました。


そこで、Exchange管理シェルから、コマンドを入力することになります。

>Clean-MailboxDatabase "Mailbox Database"

これだけですけど。


これで、Exchange管理コンソール上の「切断されたメールボックス」に関連付けがされていないメールボックスが表示されます。


再び関連付けを行ったり、完全に削除するにはGUIからの方が楽でしょう。

これはほんとにメモ書きです。

○テンプレート:メインページ、アーカイブインデックス
 body_classの初期値を削除

<MTSetVar name="body_class" value="">


○テンプレート:ヘッダー
 default=layout-wttをtwtに。

body class="
 <MTIf name="body_class">
  <$MTGetVar name="body_class"$> 
 </MTIf>
<$MTGetVar name="page_layout" default="layout-twt"$>"
 <MTIf name="body_onload">
  onload="<$MTGetVar name="body_onload"$>"
 </MTIf>
>


○テンプレート:フッター
 読み込むmoduleを「サイドバー」から「サイドバー(3カラム)」へ

<MTIf name="sidebar">
 <$MTInclude module="サイドバー (3カラム)"$>
</MTIf>


○テンプレート:サイドバー (3カラム)
 下記を削除し、右カラムの「最近のブログ記事」がすべての画面で出力されるようにした

<MTIf name="module_recent_entries">
</MTIf>

<MTIf name="main_index">
</MTIf>


○mt-static/themes-base/blog.css
 preタグの中身を目立つようにし、commentを目立たせるようにした。

pre
{
        /*font-family:  Courier, 'trebuchet ms',helvetica, arial, sans-serif;*/
        font-size: 12px;
        /* letter-spacing: 1px; */
        background-color: #E6E6E6;
        border: 1px #A80101 solid;
        border-collapse: collapse;
        padding: 3px 3px 3px 3px;
        /*overflow: auto;
        scrollbar-face-color:#ff7f00*/

/*white-space: -moz-pre-wrap;*/ /* Mozilla */ white-space: -pre-wrap;*/ /* Opera 4-6 */ white-space: -o-pre-wrap;*/ /* Opera 7 */ white-space: pre-wrap;*/ /* CSS3 */ word-wrap: break-word;*/ /* IE 5.5+ */ }

.comment { color: #330099; }


○preタグの中に改行がなるだけ追加されないようにする

こちらのブログを参考にさせていただいてます。
http://blog.nizah.net/archives/cat_movabletype.html

sub html_text_transform {
    my $str = shift;
    $str = '' unless defined $str;

# edit by kuwa $str =~ s/\x0D\x0A/\n/g; $str =~ tr/\x0D\x0A/\n\n/; my @paras = split /\n\n/, $str;

# add by kuwa # reffered by http://blog.nizah.net/archives/cat_movabletype.html my $preflag = 0;

for my $p (@paras) {

# add pre check by kuwa if($p =~ m@<pre@) { $preflag = 1; } if(($p =~ m@<pre@)&&($p =~ m@<\/pre@)){ $preflag = 2; }

# add pre check by kuwa if (($preflag == 0) and $p !~ m@^</?(?:h1|h2|h3|h4|h5|h6|table|ol|dl|ul|menu|dir|p|pre|center|form|fieldset|select|blockquote|address|div|hr)@) { $p =~ s!\r?\n!<br \/>\n!g; $p = "<p>$p</p>"; } if ($preflag == 1) { $p =~ s!\r?\n!\n!g; $p = "<p>$p<\/p>"; } if ($preflag == 2) { $p =~ s/<\/pre\>\r?\n/<\/pre\>/g; #$p =~ s!\r?\n!<br \/>\n!g; } if($p =~ m@<\/pre@) { $preflag = 0; }

} join "\n\n", @paras; }

Server CoreでFirewallを無効にするには?

|

無効にしちゃっていいのかどうかは別として、
これをやると通信ができない場合の切り分けにはなります。

> netsh advfirewall set currentprofile state off 

もうFirewallなんていらないのなら、全部きってしまいます。

> netsh advfirewall set allprofiles state off 

"profile(s)"が、単数、複数の区別があるので注意してください。


 

Exchange Server 2007のhelpで
「フォレスト間でメールボックスを移動する方法」を検索してみるのが一番よいですが、
一応書いておきます。

環境は、移行元、移行先、互いに1フォレスト1ドメイン1Exchange組織の環境です。
WIndows Server 2003 SP2 + Exchange Server 2003 SP2
  ↓
Windows Server 2008 + Exchange Server 2007 SP1


1.前段階としては、フォレスト間信頼が完全に構築されている必要があります

※「代わりのUPNサフィックス」が両方のフォレストに同じものが登録されていると、信頼関係はうまく結べても、実質、信頼関係が機能しなくなる場合があるのでご注意。
この場合は、重複するUPNサフィックスを削除して、また信頼関係を壊して、作り直してください。


2.つぎに、ADMT3.0を使用して、ユーザーオブジェクトを移行します

ちなみにWindows Server 2003と、Windows Server 2008では、
ドメインとフォレストの機能レベルに注意しながらADMT3.0を2003側にインストールします。
この実験では機能レベルは2003に統一しました。

機能レベルを2007にすると、フォレスト間の信頼関係を結んだ時点で
2003側から2007側が見えなかったりして、あまりうまくいきませんでした。

こちらも参考にしてください。
ADMT v3.0 による Windows Server 2008 への移行について

大雑把に言えば、1フォレスト1ドメインのような単純な環境同士であれば、
Administratorsグループにいるユーザー(Administratorも可)を、
相手先ドメインのAdministratorsグループに加えて、
これをお互いのドメインで実行して、
両方のドメイン(実質フォレスト)に管理権限のあるユーザーをつくり、
そのユーザーでADMTを実行すればよいでしょう。


3.$SourceCredential = Get-Credential

「Exchange管理シェル」で、下記のコマンドを使い、
シェル変数? -SourceForestCredential に
移行元のExchange組織に対して、全権のあるアカウント情報を格納しておきます。

Exchange Serverの組織の権限を色々と変更していなければ、
移行元ドメインのAdministratorで十分で大丈夫でしょう。

$SourceCredential = Get-Credential
ここで、
アカウント「IKOU-MOTO\Administrator」
「それに対するパスワード」を入力する


4.$TargetCredential = Get-Credential

-SourceForestCredential に
移行先のExchange組織に対して、全権のあるアカウント情報を格納しておきます。
移行先ドメインに管理権限のあるAdministratorで大丈夫でしょう。

$TargetCredential = Get-Credential
ここで、
アカウント「IKOU-SAKI\Administrator」
「それに対するパスワード」を入力する


■確認

 > echo $SourceCredential
IKOU-MOTO\administrator
> echo $TargetCredential = Get-Credential
IKOU-SAKI\administrator
と出力されればOK。


5.Move-Mailboxコマンド

普通はこれでメールボックスの移動ができるのですが、
コピペしながらコマンドを修正して打ち込もうとしても、
なかなかエラーが消えなくてうまくいきません。

というのは、このExchange管理シェル、
コピペをすると、改行付近の文字がなくなってしまいます。

だから、エラーが消えなかったら、そこの部分をじっくりみて、
文字列が崩れていないかをチェックするのがよいでしょう。

何回も修正して、エラーが出なくなったらやっと下記のように成功します。

[PS] C:\>Move-Mailbox
 -TargetDatabase "EX-2007\First Storage Group\Mailbox Database"
 -Identity kuwazou 
 -GlobalCatalog EX-2007.ikou-saki.kuwazou.net
 -SourceForestGlobalCatalog EX-2003.ikou-moto.kuwazou.net
 -NTAccountOU "OU=Users,DC=ikou-saki,DC=kuwazou,DC=net"
 -SourceForestCredential $SourceCredential
 -TargetForestCredential $TargetCedential

確認 この操作を実行しますか?

メールボックス くわぞう を データベース EX-2007\FirstStorage Group\Mailbox Database に移動しています。 この操作では、メールボックスの Active Directory構成のみが変更されます。 メールボックスのコンテンツは失われる可能性があります。 変更が完了するまでこのメールボックスにアクセスすることはできません。

[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ(既定値は "Y"): y

ここで、Yを押すと、メールボックスの移動(といっても、コピーである。もとはなくならない)が始まる。 画面上には、
kuwazou
    メメッッセセーージジをを移移動動ししてていいまますす。。 ふぉふぉるるだだ (35/512)
    [oooooo          ]
(原文ママ)というメッセージで移動中なのがわかる。 相変わらず、結構時間はかかる。 終了すると、このようなメッセージがでる。
StatusMessage : このメールボックスは移動先のデータベースに移動されました。
ReportFile : C:\Program Files\Microsoft\Exchange Server\Logging\MigrationLogs\move-Mailbox20080325-012026-2736001.xml

※上記のコマンドでは、ユーザーオブジェクトがすでにメールボックスを持っている場合には
エラーとなってしまうが、-AllowMerge オプションをつけることによって、内容をマージすることができる。

ServerCoreでは、notepad.exe(メモ帳)が使えるので、 これを利用して、テキストの設定ファイルを編集できますが、
>notepad.exe hoge.xml
とやってファイルを開き、編集、上書き保存をすると、 文字コードがShift-JISになってしまいます。

xmlファイルはUnicodeになっていなければならないので、
これでは正しいxmlファイルとして読み込まれません。

なので、正しくは、
>notepad.exe /W hoge.xml
とします。

Hyper-Vの設定ファイルなどを編集するときに気を付けてください。

なお、Shift-JISになってしまったxmlファイルを
ServerCore上でUnicodeに直す方法はわかりません。

ファイル共有をして、
外のマシンからTeraPad(UTF-8対応)などで開くしかないと思います。

【後日談】
notepad.exe /Wで開いても、保存のときはShift-JISになっちゃいました。
なので、無理です。

ServerCoreでもSDI(Single Document Interface)もののアプリケーションならば使用できると思う(※)ので、TeraPadなどをインストールしたほうがよいです。

TeraPadをインストールして、PATHを通します。
>setx Path "%Path%;c:\Program Files (x86)\TeraPad"
Pathは一回logoffして、次回のlogon時から有効になります。

※wgetのwindows版や、TeraTermPro(ttermpro.exe)、FFFTPなどが使用できました。

 

環境変数の設定

|
>setx Path "%Path%;c:\bin"
というようにやる。

この""(ダブルコーテーション)で必ず囲ってやる必要があるです。

path %Path%;c:\bin
だと、そのシェルだけのコマンドパスになるので注意


さらに、GUIの時の"あの画面"で設定することを、
直接コマンドラインでやりたいという人は、

# # まずは現在のPathをGETで確認します。 # # ※これらのキーワードが知りたい人は、 # C:\wmic /? # C:\wmic environment /? # C:\wmic environment list # などと、手繰っていってください。 #
C:\>wmic environment WHERE Name='Path' GET VariableValue

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;

# # 次に、設定したいPathを既存のPathにつなげて、SETします #

C:\>wmic environment Where Name='Path' SET VariableValue='C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;;C:\Program Files (x86)\NTP\bin;C:\Program Files (x86)\TeraPad;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files (x86)\ffftp;C:\Program Files\Lhaca';

'\\VM-2008\ROOT\CIMV2:Win32_Environment.Name="Path",UserName=""' のプロパティを更新しています

プロパティは正しく更新されました。

設定したPathが有効になるのは、相変わらず次回のログオン時からなのですが、
これはなんとか現在のログオン時に有効にさせる方法はないものでしょうか。

Windows Updateの自動更新の設定

|

これもSCregEdit.wsfを使用します。

c:\Windows\System32>cscript SCregEdit.wsf /AU [/v][値]
  /v  現在の自動更新の設定を表示します
  値  設定する値を指定します

  オプション:   4 - 自動更新を有効にします   1 - 自動更新を無効にします

というので、
c:\Windows\System32>cscript SCregEdit.wsf /AU 4
レジストリが更新されました。
これでOK。

ターミナルサービスの接続を許可するときにも使用しましたが、
scregedit.wsfというスクリプトはServerCoreの基本設定に役立ちます。

そして、ServerCoreの有用なコマンドヘルプもこのスクリプトで表示できます。

c:\Windows\System32>cscript SCregEdit.wsf /cli

■ライセンス認証を行うには:
  Cscript slmgr.vbs -ato

■ライセンス認証に KMS ボリューム ライセンスを使用するには:
  KMS ボリューム ライセンスを構成します:
    cscript slmgr.vbs -ipk [ボリューム ライセンス キー]
  KMS ライセンスのライセンス認証を行います
    cscript slmgr.vbs -ato
  KMS DNS SRV レコードを設定します
    cscript slmgr.vbs -skma [KMS FQDN]

■次のいずれかでコンピュータ名を決定します:
  Set c
  Ipconfig /all
  Systeminfo.exe または Hostname.exe

■Server Core コンピュータの名前を変更します:
  ドメインに参加している場合:
   Netdom renamecomputer %computername% /NewName:変更後の名前 /UserD:ドメイン ユーザー名 /PasswordD:*
  ドメインに参加していない場合:
   Netdom renamecomputer %computername% /NewName:変更後の名前

■ワークグループを変更します:
  Wmic computersystem where name="%computername%" call joindomainorworkgroup name="[変更後のワークグループ名]"

■役割またはオプション機能をインストールします:
  Start /w Ocsetup [パッケージ名]
  注意: Active Directory では、応答ファイルを指定して Dcpromo を実行します。

■役割およびオプション機能のパッケージ名と現在のインストール状態を表示します:
  oclist

■タスク マネージャのホットキーを起動します:
  ctrl-shift-esc

■ターミナル サービス セッションのログオフ:
  Logoff

■ページ ファイル サイズを設定するには:
  システム ページ ファイル管理を無効にします:
    wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False
  ページ ファイルを構成します:
    wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=500,MaximumSize=1000

■タイムゾーンまたは日時の構成:
  control timedate.cpl

■地域と言語のオプションの構成:
  control intl.cpl

■管理ツールまたはエージェントを手動でインストールします:
  Msiexec.exe /i [msi パッケージ]

■インストールされている MSI アプリケーションの一覧を表示します:
  Wmic product

■msi アプリケーションのアンインストール:
  Wmic product get name /value
  Wmic product where name="[name]" call uninstall

■インストールされているドライバを一覧表示するには:
  Sc query type= driver

■一覧にないドライバをインストールします:
  ドライバ ファイルを Server Core にコピーします
  Pnputil -i -a [パス]\[ドライバ].inf

■ネットワーク アダプタ名を変更します:
  netsh interface set interface name="ローカル エリア接続" newname="PrivateNetwork"

■ネットワーク アダプタを無効にします:
  netsh interface set interface name="ローカル エリア接続 2" admin=DISABLED

■ファイルのバージョンを判別します:
  wmic datafile where name="c:\\windows\\system32\\ntdll.dll" get version

■インストールされている修正プログラムの一覧を表示します:
  wmic qfe list

■修正プログラムをインストールします:
  Wusa.exe [修正プログラム名].msu /quiet

■プロキシを構成します:
  Netsh winhttp set proxy [プロキシ名]:[ポート]

■レジストリ値を追加、削除、または照会します:
  reg.exe add /?
  reg.exe delete /?
  reg.exe query /?


 

サーバーのライセンス認証

|

基本的に、%windir%\System32にあるslmgr.vbsというスクリプトを使用する。

まず、プロダクトキーを入力する。
c:\Windows\System32>cscript slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
プロダクト キー XXXXX-XXXXX-XXXXX-XXXXX-XXXXX を正常にインストールしました。
ただし、今回はボリュームラインセンスキーでも、これだけでは完全にライセンス認証されたことにならない。 ためしに、ライセンス情報を表示させてみる。
c:\Windows\System32>cscript slmgr.vbs -dli
名前: Windows Server(R), ServerEnterpriseCore edition
説明: Windows Operating System - Windows Server(R), VOLUME_MAK_B channel
プロダクト キーの一部: XXXXX
ライセンスの状態: 最初の猶予期間
残り時間: 83880 分 (58 日))
なので、ライセンス認証を行う。
c:\Windows\System32>cscript slmgr.vbs -ato
Windows Server(R), ServerEnterpriseCore edition (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx
xxxxx) のライセンス認証を行っています...
製品は正常にライセンス認証されました。
そして、再びライセンス認証の情報を見てみると、、、
c:\Windows\System32>cscript slmgr.vbs -dli
名前: Windows Server(R), ServerEnterpriseCore edition
説明: Windows Operating System - Windows Server(R), VOLUME_MAK_B channel
プロダクト キーの一部: 7R9Y9
ライセンスの状態: ライセンスされています

LVM領域の作成

|
○Physical Volumeの作成
# pvcreate /dev/sda3
○Volume Groupの作成
# vgcreate vg /dev/sda3
○Logical Volumeの作成
# /usr/sbin/lvcreate -L 7000M -n lv_home vg
# /usr/sbin/lvcreate -L 7000M -n lv_data vg
# /usr/sbin/lvcreate -L 7000M -n lv_var vg
○snapshotの作成 ※snapshotは、OSインストール時や、大量ファイルコピー時には作成しないこと。  つまり、元パーティションに2GB以上の差分が発生するときには  snapshotが100%を超えて、破壊される恐れがある。
# /usr/sbin/lvcreate  -s -L 2G -n snap_home /dev/vg/lv_home
# /usr/sbin/lvcreate  -s -L 2G -n snap_data /dev/vg/lv_data
# /usr/sbin/lvcreate  -s -L 2G -n snap_var /dev/vg/lv_var
○結果をみる
# pvs
  PV         VG   Fmt  Attr PSize  PFree
  /dev/sda3  vg   lvm2 a-   29.40G 2.89G
# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  vg     1   3   3 wz--n- 29.40G 2.89G
※VFreeが2.89Gあるということは、その領域をsnapshotに使えるということ。
# lvs
  LV          VG   Attr   LSize Origin    Snap%  Move Log Copy%
  lv_home   vg   owi-ao 6.84G
  lv_data    vg   owi-ao 6.84G
  lv_var    vg   owi-ao 6.84G
  snap_home vg   swi-a- 2.00G lv_home   8.02
  snap_data  vg   swi-a- 2.00G lv_data    0.46
  snap_var  vg   swi-a- 2.00G lv_var   10.67

snapshot

|
○snapshotのとり方 lvcreate --snapshot --size=1G --name snap_data.0 /dev/vg_data/lv_home
# lvcreate --snapshot --size=1G --name snap_data.0 /dev/vg_data/lv_home
  Logical volume "snap_data.0" created
○snapshotの使い方 /dev/vg_data の中にsnap_data.0があるので、 それを/mnt/snapshotにマウントする。 このmountの中はは読み取り専用なので、変更することはできない。
# mount -r /dev/vg_data/snap_data.0 /mnt/snapshot
○snapshotの消し方 snapshotを消すのはlvremove snapshot領域が埋まってしまう前に、バックアップをとり、消しておいたほうがいい。
# umount /mnt/snapshot
# lvremove /dev/vg_data/snap_data.0
Do you really want to remove active logical volume "snap_data.0"? [y/n]: y
  Logical volume "snap_data.0" successfully removed

○snapshotの確認 LV snapshot status をみる。

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg_data/lv_home
  VG Name                vg_data
  LV UUID                510zjb-xOaf-gCN8-O741-veeP-7bE1-Ts3wz5
  LV Write Access        read/write
  LV snapshot status     source of
                         /dev/vg_data/snap_home.15 [active]
  LV Status              available
  # open                 1
  LV Size                9.38 GB
  Current LE             300
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0

--- Logical volume --- LV Name /dev/vg_data/lv_var VG Name vg_data LV UUID YdatH6-8pTI-4Xhu-7eF0-lo26-QPv2-Nw1yP1 LV Write Access read/write LV snapshot status source of /dev/vg_data/snap_var.15 [active] LV Status available # open 1 LV Size 512.00 MB Current LE 16 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:1

○snapshotがとれる空き領域の確認 VFreeのサイズを見る。
# vgs
  VG      #PV #LV #SN Attr  VSize  VFree
  vg_data   1   2   2 wz--n 14.31G 3.31G

Diskquotaを設定する

|

1.まず、LVMの構成はこのようになっているとします。

# pvs
  PV         VG      Fmt  Attr PSize  PFree
  /dev/sda2  vg_data lvm2 a-   14.31G 4.44G

# vgs VG #PV #LV #SN Attr VSize VFree vg_data 1 2 0 wz--n 14.31G 4.44G

# lvs LV VG Attr LSize Origin Snap% Move Log Copy% lv_home vg_data -wi-ao 9.38G lv_var vg_data -wi-ao 512.00M

2.Quotaを適用したいパーティションを、 /etc/fstabにて下記のように設定し、Rebootをします。
/dev/vg_data/lv_home    /home   ext3    defaults,usrquota,grpquota  1 2
# reboot

3.次に、quotacheckコマンドで、データベースを作成します。

# quotacheck -fmugv /home
quotacheck: Scanning /dev/mapper/vg_data-lv_home [/home] quotacheck: Cannot stat old user quota file: そのようなファイルやディレクトリはありません
quotacheck: Cannot stat old group quota file: そのようなファイルやディレクトリはありません
quotacheck: Cannot stat old user quota file: そのようなファイルやディレクトリはありません
quotacheck: Cannot stat old group quota file: そのようなファイルやディレクトリはありません

done

quotacheck: Checked 123 directories and 3160 files quotacheck: Old file not found. quotacheck: Old file not found.

aquota.groupとaquota.userができていればよい

4.そして、quotaを有効にします。
# quotaon -guv -a
/dev/mapper/vg_data-lv_home [/home]: group quotas turned on
/dev/mapper/vg_data-lv_home [/home]: user quotas turned on

Server Core のFireWallのログ

|

■FireWallのログを出力するには

たとえば、dropされたログを出力するようにするのは、

c:\>netsh firewall set logging droppedpackets=ENABLE

これで、設定を確認すると、、、

>netsh firewall show log

ログの構成: ------------------------------------------------------------------- ファイルの場所 = C:\Windows\system32\LogFiles\Firewall\pfirewall.log 最大のファイル サイズ = 4096 KB ドロップされたパケット = Enable 接続 = Disable

設定が変更されている。

ログを見てみると、、、

c:\>type C:\Windows\system32\LogFiles\Firewall\pfirewall.log

#Version: 1.5 #Software: Microsoft Windows Firewall #Time Format: Local #Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path 2008-01-17 22:28:07 DROP UDP 192.168.0.254 192.168.0.255 138 138 229 - - - - - - - RECEIVE

このように出力されてます。


■現在のFireWallの状態を見る

c:\>netsh firewall show state

ファイアウォールの状態: ------------------------------------------------------------------- プロファイル = STANDARD 操作モード = Enable 例外モード = Enable マルチキャスト/ブロードキャスト応答モード = Enable 通知モード = Disable グループ ポリシーのバージョン = Windows ファイアウォール リモート管理モード = Disable

すべてのネットワーク インターフェイスで開いているポート: Port Protocol Version Program ------------------------------------------------------------------- すべてのネットワーク インターフェイスで開いているポートは現在ありません。


この「リモート管理モード」がDisableの状態だと、
外部のPCからMMC管理ツールで接続できません


■他のマシンから管理ツールで接続できるようにFireWallを設定する

netsh advfirewall firewall set rule group="リモート管理" new enable=yes
netsh advfirewall firewall set rule group="Windows ファイアウォール リモート管理" new enable=yes
netsh advfirewall firewall set rule group="リモート ボリューム管理" new enable=yes
(まだよく理解してません)

この設定をすると、下記のような状態になって、
他のPCのWindows Vistaなどの管理ツールから
Server Coreを設定できるようになります。

が、Vistaのふつうの管理ツールからでは完全には設定できません。 W2K8に入っている(別途Vista用が配布される予定のある)RSATというツールを使って接続する必要があります。 別のServerCoreではないW2K8のコマンドプロンプトで、
>C:\windows\system32\ServerManagerCmd.exe -install  RSAT
とすると、そのW2K8からはすべての管理ツールが使えるようになります。

ファイアウォールの状態:
-------------------------------------------------------------------
プロファイル                              = STANDARD
操作モード                                = Enable
例外モード                                = Enable
マルチキャスト/ブロードキャスト応答モード = Enable
通知モード                                = Disable
グループ ポリシーのバージョン             = Windows ファイアウォール
リモート管理モード                        = Enable

すべてのネットワーク インターフェイスで開いているポート: Port Protocol Version Program ------------------------------------------------------------------- すべてのネットワーク インターフェイスで開いているポートは現在ありません。

※参考にさせていただきました。
【Windows Server 2008】Server Core の管理をリモートのMMCから行うための準備

 

S25R方式

|

サーバーの役割をインストールするには、ocsetup.exeを使用する。
ちなみに、引数のサーバー役割名は大文字、小文字を区別する
oclist.exeを使用して正しい引数を確認すること。

使い方としては、普通に実行すると、
C:\>ocsetup.exe DHCPServerCore
C:\>
このようにすぐにバックグラウンドタスクになってしまい、 いつ終了したかがよくわからなくなってしまう。 しかも、並行して複数のインストールが進められるわけでもない。 そこで、
C:\>start /w ocsetup DHCPSeverCore
とやると、インストールが終了まで、 コマンドの制御が帰ってこないので、終了がわかりやすい。

※コマンドプロンプトのウィンドウの裏に、エラーダイアログが出現している場合もあるので注意

インストールが終了したと思われたら、確認のためにoclist.exeを実行する。
C:\>oclist.exe | findstr DHCP
  インストール済み:DHCPServerCore
と出る。 もちろん、
C:\>oclist.exe | findstr "インストール済み"
    インストール済み:DHCPServerCore
    インストール済み:DNS-Server-Core-Role
    インストール済み:FailoverCluster-Core
    インストール済み:TelnetClient
とやってもよい。


■サーバーの役割をアンインストールするには?

C:\>start /w ocsetup.exe DHCPServerCore /uninstall

再起動が必要な場合には、その旨のダイアログが出てくる。

再起動は自動的に行わせたいのなら、
C:\>start /w ocsetup.exe DHCPServerCore /uninstall /queit
再起動をさせたくないのなら、
C:\>start /w ocsetup.exe DHCPServerCore /uninstall /norestart

 

サーバーの役割を表示する(oclist.exe)

|

サーバーの役割を表示させるには、oclist.exeを使用する。

ただし、 表示量が多く、コマンドプロンプト上では表示がスクロールして流れてしまうので、
テキストファイルにリダイレクトさせるとか、
| more を使ったほうが良い。

例:moreを使う
>oclist.exe | more 
例:テキストファイルにリダイレクトする。   (メモ帳でテキストファイルを開ける)
>oclist.exe > hoge.txt
>notepad.exe hoge.txt

すると下記のような表示が現れる。
「未インストール」と表示されているものは、ocsetup.exe
インストールすることができる。

といっても、Server Coreで利用できるものは限定されていて、
IISの役割などはインストールできないのだが。

サーバーの役割またはオプションの機能をインストールまたはアンインストールするには、
一覧に表示された更新名を指定して ocsetup.exe を実行してください。

ocsetup.exe を使用した Active Directory の役割の追加または削除はサポートされていません。 この操作を実行した場合、サーバーが不安定な状態になる可能性があります。 Active Directory をインストールまたはアンインストールするには、 必ず Dcpromo を使用してください。

=========================================================================== Microsoft-Windows-ServerCore-Package 未インストール:BitLocker 未インストール:BitLocker-RemoteAdminTool 未インストール:ClientForNFS-Base 未インストール:DFSN-Server 未インストール:DFSR-Infrastructure-ServerEdition 未インストール:DHCPServerCore 未インストール:DirectoryServices-ADAM-ServerCore 未インストール:DirectoryServices-DomainController-ServerFoundation 未インストール:DNS-Server-Core-Role 未インストール:FailoverCluster-Core 未インストール:FRS-Infrastructure 未インストール:IIS-WebServerRole | |- 未インストール:IIS-FTPPublishingService | | | |- 未インストール:IIS-FTPServer | |- 未インストール:IIS-WebServer | | | |- 未インストール:IIS-ApplicationDevelopment | | | | | |- 未インストール:IIS-ASP | | |- 未インストール:IIS-CGI | | |- 未インストール:IIS-ISAPIExtensions | | | | | | | |- 未インストール:IIS-ASP | | | | | |- 未インストール:IIS-ISAPIFilter | | |- 未インストール:IIS-ServerSideIncludes | | | |- 未インストール:IIS-CommonHttpFeatures | | | | | |- 未インストール:IIS-DefaultDocument | | |- 未インストール:IIS-DirectoryBrowsing | | |- 未インストール:IIS-HttpErrors | | |- 未インストール:IIS-HttpRedirect | | |- 未インストール:IIS-StaticContent | | | |- 未インストール:IIS-HealthAndDiagnostics | | | | | |- 未インストール:IIS-CustomLogging | | |- 未インストール:IIS-HttpLogging | | |- 未インストール:IIS-HttpTracing | | |- 未インストール:IIS-LoggingLibraries | | |- 未インストール:IIS-ODBCLogging | | |- 未インストール:IIS-RequestMonitor | | | |- 未インストール:IIS-Performance | | | | | |- 未インストール:IIS-HttpCompressionDynamic | | |- 未インストール:IIS-HttpCompressionStatic | | | |- 未インストール:IIS-Security | | | |- 未インストール:IIS-BasicAuthentication | |- 未インストール:IIS-ClientCertificateMappingAuthentication | |- 未インストール:IIS-DigestAuthentication | |- 未インストール:IIS-IISCertificateMappingAuthentication | |- 未インストール:IIS-IPSecurity | |- 未インストール:IIS-RequestFiltering | | | | | |- 未インストール:IIS-ASP | | | |- 未インストール:IIS-URLAuthorization | |- 未インストール:IIS-WindowsAuthentication | |- 未インストール:IIS-WebServerManagementTools | | | |- 未インストール:IIS-IIS6ManagementCompatibility | | | | | |- 未インストール:IIS-LegacyScripts | | |- 未インストール:IIS-Metabase | | | | | | | |- 未インストール:IIS-FTPServer | | | |- 未インストール:IIS-LegacyScripts | | | | | |- 未インストール:IIS-WMICompatibility | | | | | |- 未インストール:IIS-LegacyScripts | | | |- 未インストール:IIS-ManagementScriptingTools | 未インストール:Microsoft-Windows-RemovableStorageManagementCore 未インストール:MultipathIo 未インストール:NetworkLoadBalancingHeadlessServer 未インストール:Printing-ServerCore-Role | |- 未インストール:Printing-LPDPrintService | 未インストール:QWAVE 未インストール:ServerForNFS-Base 未インストール:SNMP-SC 未インストール:SUACore 未インストール:TelnetClient 未インストール:WAS-WindowsActivationService | |- 未インストール:WAS-ProcessModel | | | |- 未インストール:IIS-ASP | |- 未インストール:IIS-BasicAuthentication | |- 未インストール:IIS-CGI | |- 未インストール:IIS-ClientCertificateMappingAuthentication | |- 未インストール:IIS-CustomLogging | |- 未インストール:IIS-DefaultDocument | |- 未インストール:IIS-DigestAuthentication | |- 未インストール:IIS-DirectoryBrowsing | |- 未インストール:IIS-HttpCompressionDynamic | |- 未インストール:IIS-HttpCompressionStatic | |- 未インストール:IIS-HttpErrors | |- 未インストール:IIS-HttpLogging | |- 未インストール:IIS-HttpRedirect | |- 未インストール:IIS-HttpTracing | |- 未インストール:IIS-IISCertificateMappingAuthentication | |- 未インストール:IIS-IPSecurity | | | |- 未インストール:IIS-ISAPIExtensions | | | | | |- 未インストール:IIS-ASP | | | |- 未インストール:IIS-ISAPIFilter | |- 未インストール:IIS-LoggingLibraries | |- 未インストール:IIS-ODBCLogging | |- 未インストール:IIS-RequestFiltering | | | | | |- 未インストール:IIS-ASP | | | |- 未インストール:IIS-RequestMonitor | |- 未インストール:IIS-ServerSideIncludes | |- 未インストール:IIS-StaticContent | |- 未インストール:IIS-URLAuthorization | |- 未インストール:IIS-WindowsAuthentication | 未インストール:WindowsServerBackup 未インストール:WINS-SC

 

時刻、言語の設定をする

|
>control timedate.cpl
とすればよい。

コントロールパネルの「日付と時刻」のダイアログが出現して
時刻設定ができる。

ちなみに、
>control intl.cpl
とすると、「地域と言語のオプション」が表示され、 キーボードの設定などが可能
>net user administrator *
ユーザーのパスワードを入力してください:
確認のためにパスワードを再入力してください:
コマンドは正常に終了しました。

net user administartor だけなら、administratorの情報一覧が出力される。

コンピュータ名を変更する

|

普通にメディアからインストールとコンピュータ名がランダムで決定されている。

C:\windows\system32>hostname
WIN-40XM4STSVWK

むむむ。直したい。

C:\windows\system32>netdom renamecomputer %computername% /newname:W2K8Core
この操作では、コンピュータ WIN-40XM4STSVWK の名前が
W2K8Core に変更されます。

証明機関などの特定のサービスは、固定コンピュータ名に依存しています。 この種類のサービスが WIN-40XM4STSVWK で実行されている場合、 コンピュータ名の変更が悪影響を及ぼす可能性があります。

続行しますか (Y/N)? Y 操作を完了するには、コンピュータを再起動する必要があります。

コマンドは正しく完了しました。

C:\windows\system32>

とのことなので、コンピュータ名は早めに変更しておくべし。

■ドメインへの参加
>netdom join %computername% /domain:HOGEHOGE /userd:Administrator /passwordd:*

それで、リブートする

C:\windows\system32>shutdown /r /t 0


インターフェースの名前を変更する

|

"ローカル エリア接続"というのは
入力するのがめんどくさすぎるという時に。

C:\windows\system32>netsh
netsh>interface
netsh interface>show interface
Admin State	State	Type	Interface Name
---------------------------------------------------
有効		接続	専用	ローカル エリア接続

この、"ローカル エリア接続"というのを変えてしまいたい。
そこで

netsh interface> set interface name="ローカル エリア接続" newname="eth0"

とする。
"ローカル エリア接続"の「ローカル」と「エリア」の間に半角スペースがあるのに注意。
すると、

netsh interface>show interface
Admin State	State	Type	Interface Name
---------------------------------------------------
有効		接続	専用	eth0

となる。

まず、Administratorでログオンし、
cmd.exeの上で、IPv4アドレスとサブネットマスク、デフォルトゲートウェイを設定する。
のだが、

■間違ってコマンドプロンプトを「X」で消してしまったときには

[Ctrl] + [Shift] + [Esc] でタスクマネージャが起動できるので、
「ファイル」 -> 「新しいタスクの実行」 -> 「cmd.exe」
とする。

ところが、これがTSセッション上だったりするとなにもできなくなってしまう。
そういうときは、素直に一時的にTSセッションを切断し、
「リモートデスクトップ接続」のローカルリソースの設定で
Windowsキーの適用先を「リモートコンピュータ」に変更してから
もう一度、接続しなおして、上記の操作を実行する。


■IPv4アドレスの設定(本題)

C:\Users\Administrator>netsh.exe
netsh>interface
netsh interface>ipv4
netsh interface ipv4>
netsh interface ipv4>show config
とやると、
netsh interface ipv4>インターフェースの構成 "ローカルエリア接続"
netsh interface ipv4>・・・ 
と表示される。
netsh interface ipv4>set address name="ローカルエリア接続" static 10.0.16.1 255.255.255.0 10.0.16.254

コマンドプロンプト上に日本語入力するのは、[Alt]+[半角/全角] で、日本語入力モードになる。


■DNSサーバーの設定は、

netsh interface ipv4>set dnsserver name="ローカルエリア接続" static 10.0.16.4 primary


■netsh.exeの抜け方

netsh interface ipv4>exit
C:\Users\Administrator>


■リモートデスクトップ接続を許可する設定にする。

まず、C:\windows\system32に移動する。

C:\Users\Administrator>cd c:\windows\system32
C:\windows\system32>

ここで、scregedit.wsfというスクリプトを使用する。

C:\windows\system32>cscript scregedit.wsf /ar 0

デフォルト状態は/ar 1であり、接続できない。
現在の状態をみるには、/ar /v とする。


■Vistaよりも前のバージョンのTSクライアントからの接続も許可するには。

C:\windows\system32>cscript scregedit.wsf /cs 0

これも同様に
デフォルト状態は/cs 1であり、Vista以前のTSクライアントからは接続できない。
現在の状態をみるには、/cs /v とする。


■ログオフの仕方

一応、書いておきますが、
C:\>logoff
です。

CentOS5でのXen

|

パフォーマンスを向上させるために、
Domain-Uを、Domain-0上の仮想HDDファイルにインストールするのではなく、
Domain-0の使用していないHDD領域にDomain-U専用のLVMパーティションを作成し、
そのパーティションに直接Domain-UのCentOS5をインストールする方針である。

ただし、これをするとライブマイグレーションなどの恩恵にはあずかれない(と確か思った)

【Domain-0】
Xenの場合、語弊があるのですが、一般に「ホストOS」などと言われるやつです。

■CentOS5インストール

CentOS5のインストール時に「仮想化」のパッケージが必要なだけである。
それ以外はほとんど最小限にする。
GUIもいらない。
そうすれば、Domain-0は64MBのメモリでも運用できる。

○パーティションは特に考えず、
/dev/sda1    ext3    /
/dev/sda2    swap
としてあり、未使用領域にDomain-Uをインストールする計画である。

○起動daemon

# chkconfig --list | grep 3:on
~いろいろ~

xend 0:off 1:off 2:on 3:on 4:on 5:off 6:off xendomains 0:off 1:off 2:off 3:on 4:on 5:off 6:off

※この2つがあればよい


■LVMパーティション作成


○下記のようにLVMパーティション(8e)を/dev/sda3に作成する

# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 36.3 GB, 36398825472 bytes 255 heads, 63 sectors/track, 4425 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sda1 * 1 522 4192933+ 83 Linux /dev/sda2 523 587 522112+ 82 Linux swap / Solaris /dev/sda3 588 4425 30828735 8e Linux LVM


○Physical Volumeの作成

# pvcreate /dev/sda3


○Volume Groupの作成

# vgcreate vg /dev/sda3


○Logical Volumeの作成

# /usr/sbin/lvcreate -L 7000M -n lv_domain-u1 vg
# /usr/sbin/lvcreate -L 7000M -n lv_domain-u2 vg
# /usr/sbin/lvcreate -L 7000M -n lv_domain-u3 vg


○snapshotの作成

※snapshotは、OSインストール時や、大量ファイルコピー時には作成しないこと。
 下記の設定の場合、snapshot作成時から2GB以上の差分が発生した場合、
 snapshotが100%を超えて、破壊される恐れがある。

# /usr/sbin/lvcreate  -s -L 2G -n snap_domain-u1 /dev/vg/lv_domain-u1
# /usr/sbin/lvcreate  -s -L 2G -n snap_domain-u2 /dev/vg/lv_domain-u2
# /usr/sbin/lvcreate  -s -L 2G -n snap_domain-u3 /dev/vg/lv_domain-u3

結果

# pvs
  PV         VG   Fmt  Attr PSize  PFree
  /dev/sda3  vg   lvm2 a-   29.40G 2.89G

# vgs VG #PV #LV #SN Attr VSize VFree vg 1 3 3 wz--n- 29.40G 2.89G

# lvs LV VG Attr LSize Origin Snap% Move Log Copy% lv_domain-u1 vg owi-ao 6.84G lv_domain-u2 vg owi-ao 6.84G lv_domain-u3 vg owi-ao 6.84G snap_domain-u1 vg swi-a- 2.00G lv_domain-u1 8.02 snap_domain-u2 vg swi-a- 2.00G lv_domain-u2 0.46 snap_domain-u3 vg swi-a- 2.00G lv_domain-u3 10.67


■xenの設定

○/etc/xen/xend-config.sxp

# domain0が使用するメモリを64MBにする設定
(dom0-min-mem 64)

# (network-script network-bridge) (network-script network-xen-multi-bridge)

※これくらいしかいじっていない
network-scriptの引数を、network-bridgeから、network-xen-multi-bridgeに変更した理由は、
nicを複数使うからであり、その場合、network-xen-multi-bridgeファイルを改めて
/etc/xen/scripts内に作成する必要がある。


■xen 仮想ブリッジ 作成

# cd /etc/xen/scripts
# cp network-bridge network-bridge.xen

# vi network-xen-multi-bridge --------------------------------------------- #!/bin/sh # network-xen-multi-bridge # Exit if anything goes wrong set -e

# First arg is operation OP=$1 shift script=/etc/xen/scripts/network-bridge.xen

case ${OP} in start) $script start vifnum=1 bridge=xenbr1 netdev=eth1 $script start vifnum=0 bridge=xenbr0 netdev=eth0 ;; stop) $script stop vifnum=1 bridge=xenbr1 netdev=eth1 $script stop vifnum=0 bridge=xenbr0 netdev=eth0 ;; status) $script status vifnum=1 bridge=xenbr1 netdev=eth1 $script status vifnum=0 bridge=xenbr0 netdev=eth0 ;; *) echo 'Unknown command: ' ${OP} echo 'Valid commands are: start, stop, status' exit 1 esac ---------------------------------------------

# cd /etc/xen

※これは上記と同様の編集である。

vi xend-config.sxp

(network-script network-bridge) ↓ # (network-script network-bridge) (network-script network-xen-multi-bridge)

※OSをリブートし、その後、仮想インターフェースが増えているのがわかる
# reboot

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0B:DB:91:09:49
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1 Link encap:Ethernet HWaddr 00:0B:DB:91:09:4A inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1

peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1

peth1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1

vif0.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1

vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1

xenbr0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1

xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1


【Domain-U】
いわゆるゲストOSというやつです。
このたびは、CentOS5を使用します。

■Domain-U インストール

Domain-0のCUIのvirt-installコマンドを使って
centos5をインストールします。

インストール先のパーティションは
/dev/vg/lv_domain-u3,[lv_domain-u1],[lv_domain-u2]
(それぞれ、7GB)

インストールポイントは
http://localhost/centos5/
のように、indexesを設定してあるWebサイトに
CentOS5のDVDの中身を全部コピーして公開しておくか、
hoge-server:/nfs/centos5
のように、CentOS5のDVDの中身を全部コピーしたサーバーの
ディレクトリをnfsマウントして公開しておく。

virt-installの誘導の通りにインストールしていってください。


■Domain-Uの設定

Domain-Uをインストールすると、
/etc/xen/domain-u1 などの設定ファイルができる

メモリ:
	domain-u1	384MB
	domain-u2	256MB
	domain-u3	128MB
とした。

例:/etc/xen/domain-u1

○nic1枚で、Domain-0のeth0を使用したいとき
vif = [ 'mac=00:16:3e:1b:c8:36, bridge=xenbr0', ]
○nic2枚で、Domain-0のeth0とeth1を使用したいとき
vif = [ 'mac=00:16:3e:1b:c8:36, bridge=xenbr0', 'mac=00:16:3e:1b:c8:37, bridge=xenbr1', ]
※Domain-U上の/etc/sysconfig/network-script/ifcfg-ethxの  macアドレスとの整合性に注意すること


■xen Domain-U 自動起動設定

/etc/xen/autoの中にDomain-Uの設定ファイルのシンボリックリンクがあると
Domain-0が起動したときに、そのDomain-Uも自動起動する

# cd /etc/xen/auto
# ln -s /etc/xen/domain-u1


【Domain-Uのbackupの方法(xvdaへのアクセスの仕方)】

※参考:
http://pinet.jp/marron/som?ix=10046&ml=fedora
http://www.linux.or.jp/JF/JFdocs/Bootdisk-HOWTO-4.html
http://www.linux.or.jp/JM/html/util-linux/man8/losetup.8.html

1.まず、LVMの論理ボリューム/dev/vg/lv_domain-u3や
 /dev/vg/snap_domain-u3をデバイスとして扱わなくてはならない。
 しかし、Domain-Uが稼動中の場合、そのDomain-Uがインストール
 されている論理ボリュームにアクセスすることは厳禁である。 
 そこで、バックアップのときは、snapshotをとり、
 そのsnapshot領域をlosetupでデバイス化する。

 snapshot領域をループバックデバイス/dev/loop0に割り当てる

# losetup /dev/loop0 /dev/vg/snap_domain-u3


2.fdiskで/dev/loop0の中身を確認してみる。
  (構成がわかっている場合は必要ない)

# fdisk -l -u /dev/loop0
Disk /dev/loop0: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders, total 6291456 sectors
Units = sectors of 1 * 512 = 512 bytes
      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1   *          63     5751269     2875603+  83  Linux
/dev/loop0p2         5751270     6281414      265072+  82  Linux swap / Solaris


3.データの開始地点をシェル変数OFFSETに代入し、
  /dev/loop0の$OFFSET byteの地点から/dev/loop1に割り当てる。
  /dev/loop1は=/dev/xvda1とみなせる。

# ((OFFSET=63*512))
# losetup -o $OFFSET /dev/loop1 /dev/loop0


4./dev/loop1(=/dev/xvda1)はext3でmountできる。
 これをtar cvzfなどする。

# mount -t ext3 /dev/loop1 /mnt/snapshot
# cd /mnt/snapshot/
# ls
account  crash  empty  lib    lock  mail   nis  preserve  spool  yp
cache    db     ftp    local  log   named  opt  run       tmp
※または、ext3でmountせずにdumpする方法もある。
# dump -0uf /mnt/backup-server/domain-u3.dump /dev/loop1


5.終了処理は下記のようにする。

# cd /mnt
# umount /mnt/snapshot
# losetup -d /dev/loop1
# losetup -d /dev/loop0

バックアップスクリプトの例としては、
virsh dumpxml hoge を行い、
snapshotを/dev/loop1に割り当て、
/dev/loop1を/mnt/snapshotでmountし、
その中のroot,etc,usr/local/src,home,var,bootをtar cvzfする。
などが考えられる。

  

Courier-imapdのインストールと起動

|

// // courier-authlibのインストール //

[kuwa@localhost src]$ wget http://jaist.dl.sourceforge.net/sourceforge/courier/courier-authlib-0.58.tar.bz2
[kuwa@localhost src]$ bzip2 -d courier-authlib-0.58.tar.bz2
[kuwa@localhost src]$ tar xvf courier-authlib-0.58.tar
[kuwa@localhost src]$ cd courier-authlib-0.58

[kuwa@localhost courier-authlib-0.58]$ ./configure --with-redhat [kuwa@localhost courier-authlib-0.58]$ make [kuwa@localhost courier-authlib-0.58]$ su - [root@localhost courier-authlib-0.58]# make install [root@localhost courier-authlib-0.58]#

// // conrier_imapのインストール //

[kuwa@localhost src]$ wget http://jaist.dl.sourceforge.net/sourceforge/courier/courier-imap-4.1.0.tar.bz2
[kuwa@localhost src]$ bzip2 -d courier-imap-4.1.0.tar.bz2
[kuwa@localhost src]$ tar xf courier-imap-4.1.0.tar
[kuwa@localhost src]$ cd courier-imap-4.1.0
[kuwa@localhost courier-imap-4.1.0]$ ./configure --prefix=/usr/local/courier-imap  \
--with-redhat \
--without-authmysql \
--without-authldap \
--without-authcram \
--without-authuserdb \
--enable-unicode=iso-2022-jp \
--disable-root-check

[kuwa@localhost courier-imap-4.1.0]$ make [kuwa@localhost courier-imap-4.1.0]$ make check [kuwa@localhost courier-imap-4.1.0]$ su - Password: [root@localhost ~]# cd /usr/local/src/courier-imap-4.1.0 [root@localhost courier-imap-4.1.0]# make install [root@localhost courier-imap-4.1.0]# make install-configure [root@localhost courier-imap-4.1.0]#

// // courier-authlibの起動 //

[root@localhost courier-authlib]# cd /usr/local/etc/authlib/
[root@localhost authlib]# ls
authdaemonrc.dist  authldaprc.dist

[root@localhost authlib]# cp authdaemonrc.dist authdaemonrc [root@localhost authlib]# cp /usr/local/src/courier-authlib-0.58/courier-authlib.sysvinit /etc/init.d/courier-authlib [root@localhost authlib]# chmod 700 /etc/init.d/courier-authlib [root@localhost authlib]# chkconfig --add courier-authlib

// // courier-imapd courier-pop3dの起動 //

[root@localhost courier-authlib]# cd /usr/local/courier-imap/etc/
[root@localhost etc]# ls
imapd       imapd-ssl       pop3d.cnf   pop3d-ssl.dist        shared.tmp
imapd.cnf   imapd-ssl.dist  pop3d.dist  quotawarnmsg.example
imapd.dist  pop3d           pop3d-ssl   shared

/usr/local/courier-imap/etc/imapdを編集する 409行目 IMAPDSTART=NO -> YESにする

/usr/local/courier-imap/etc/pop3dを編集する 146行目 POP3DSTART=NO -> YESにする

# cp /usr/local/src/courier-imap-4.0.1/courier-imap.sysvinit /etc/init.d/courier-imap # chmod 700 /etc/init.d/courier-imap # chkconfig --add courier-imap

// // スクリプトからの起動 //
# /etc/init.d/courier-authlib start
# /etc/init.d/courier-imap start
// // 起動状態 //
# ps auxw | grep courier
root     29075  0.0  0.0   1588   428 ?        S    13:58   0:00 /usr/local/sbin/courierlogger -pid=/usr/local/var/spool/authdaemon/pid -start /usr/local/libexec/courier-authlib/authdaemond
root     29076  0.0  0.0   6572  1468 ?        S    13:58   0:00 /usr/local/libexec/courier-authlib/authdaemond
root     29077  0.0  0.0   6572   524 ?        S    13:58   0:00 /usr/local/libexec/courier-authlib/authdaemond
root     29078  0.0  0.0   6572   524 ?        S    13:58   0:00 /usr/local/libexec/courier-authlib/authdaemond
root     29079  0.0  0.0   6572   524 ?        S    13:58   0:00 /usr/local/libexec/courier-authlib/authdaemond
root     29080  0.0  0.0   6572   524 ?        S    13:58   0:00 /usr/local/libexec/courier-authlib/authdaemond
root     29081  0.0  0.0   6572   524 ?        S    13:58   0:00 /usr/local/libexec/courier-authlib/authdaemond
root     29415  0.0  0.0   1584   336 ?        S    14:05   0:00 /usr/local/sbin/courierlogger -pid=/var/run/imapd.pid -start -name=imapd /usr/local/courier-imap/libexec/couriertcpd -address=0 -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup 143 /usr/local/courier-imap/sbin/imaplogin /usr/local/courier-imap/bin/imapd Maildir
root     29416  0.0  0.0   1688   500 ?        S    14:05   0:00 /usr/local/courier-imap/libexec/couriertcpd -address=0 -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup 143 /usr/local/courier-imap/sbin/imaplogin /usr/local/courier-imap/bin/imapd Maildir
root     29421  0.0  0.0   1584   336 ?        S    14:05   0:00 /usr/local/sbin/courierlogger -pid=/var/run/pop3d.pid -start -name=pop3d /usr/local/courier-imap/libexec/couriertcpd -address=0 -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup 110 /usr/local/courier-imap/sbin/pop3login /usr/local/courier-imap/bin/pop3d Maildir
root     29422  0.0  0.0   1688   500 ?        S    14:05   0:00 /usr/local/courier-imap/libexec/couriertcpd -address=0 -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup 110 /usr/local/courier-imap/sbin/pop3login /usr/local/courier-imap/bin/pop3d Maildir

■ホームディレクトリをつくる
# mkdir /root
# chmod 700 /root

■bashとホームディレクトリを変更する

※なお、この編集に失敗すると二度とrootでログインできなくなるので、
 telnetやsshなどをつかって必ずシェルは閉じないものをひとつ用意しておきます。

bashはあるかな?
# which bash
# /bin/bash
このようにでればあるということ。ないばあいは、
no bash in /sbin /usr/sbin /bin /usr/bin /usr/ucb /etc /usr/local/bin /usr/local/sbin /usr/ccs/bin /opt/sfw/bin
こんな風に出る。 CD-ROMのなかから"SUNWbash"というのを探してきて、/optに配置し、
# pkgadd -d SUNWbash
とするのが良いでしょう。 それがなければ、 http://sunfreeware.com/indexsparc8.html ここからbashを引っ張ってこれます。 ○/etc/passwdの編集
root:x:0:1:Super-User:/root:/bin/bash
別途のシェルでrootにログインし、
bash-2.03# pwd
/root
bash-2.03#
こんな風になっていればOK

■プロンプトを変更する。

rootのホームディレクトリの".profile"に
TERM=vt100
PS1='[\u@\h \W]\$ '
EDITOR=vi
export TERM PS1 EDITOR
とでもかいておくとよいです。

■検証環境(というか、実稼働サーバーで失敗して身にしみた)
DELL PowerEdge 1650 (SCSI RAID PERC 3/Di )
CentOS 4.4 Kernel-2.6.9-42.0.2.EL

■まず、
BIOSとか、RAIDコントローラのファームウェアを最新にしておきす。
古いままだと変にはまります。
http://support2.jp.dell.com/jp/jp/filelib/search.asp
BIOSを探すときは"Flash BIOS Updates"で、"English"で検索します。
日本語じゃ出てないよ。

あと、RAIDのファームウェアのUpdteは失敗するとこれまた大変なので、
FDからやったほうがよいとのDELLのサポートさんが教えてくれました。


■ServerAdministrator 5.0 インストールツールのダウンロード

PowerEdge 1650
OS : Red Hat Enterprise Linux 4
カテゴリ : Systems Management
言語 : JAPANESE
で検索します。

ずらずらと出てきますが、「CD ISO」なぞには目もくれず、
「Dell OpenManage Server Administrator Managed Node (Application)」の
最終更新日:2006/07/28 から
"OMI-50-MN-LX_A01.tar.gz"
をダウンロードして、Linuxにおきます。


■ServerAdministrator 5.0 のインストール

展開する場所はどこでもいいですが、
ちらかっちゃうので、最初にディレクトリをつくって、
その中でやるとよいと思います。

# mkdir dell
# mv OMI-50-MN-LX_A01.tar.gz dell
# cd dell
# tar xzf OMI-50-MN-LX_A01.tar.gz
# ls
# COPYRIGHT.txt  docs  license.txt  linux  readme1st.txt
この"linux"の中の、"supportscripts"の中の、"srvadmin-install.sh"を
# ./srvadmin-install.sh
とすると、何をインストールするか選択できる画面になります。 とりあえず全部いれちゃいまいた。 あとは10個近くのrpmがインストールされることになります。

通常、/opt/dell/の下にインストールされますが、
だいたい226MBくらいになりますので、
容量の足りない場合は気をつけてください。
インストール中にフリーズしちゃってCtrl+cでとめちゃったり、
電源をいれなおしたりしたら、それこそ目も当てられない状況になります。

時々、インストールしようと思ったら
「compat-libstdc++-がないよ」的なエラーメッセージが出ますが、
その時は、linux/RPMS/のなかにcompat-libstdc++-が2つほどはいってますので、
それを# rpm -ivh でインストールしてからやってみてください。


■インストールされるサービススクリプト

ServerAdministrator for Linux 5.0のサービススクリプトは

/etc/init.d/
 dsm_sa_ipmi
 dsm_om_shrsvc
 instsvcdrv
 dataeng
 dsm_om_connsvc

の5つで、
上記の順番に起動していくのが正しい起動順番です。
(rc3.dをみてください。)

停止して起動するときは、
上記の順番を参考にしてください。

実際に稼働している状態で、ps auxw | grep dell をみてみると
次のサービスが確認できます。

# ps auxw | grep dell
/opt/dell/srvadmin/oma/bin/dsm_om_shrsvc32d
/opt/dell/srvadmin/dataeng/bin/dsm_sa_datamgr32d
/opt/dell/srvadmin/dataeng/bin/dsm_sa_eventmgr32d
/opt/dell/srvadmin/iws/bin/linux/dsm_om_connsvc32d -run
/opt/dell/srvadmin/iws/bin/linux/dsm_om_connsvc32d -run


■ServerAdministrator 4.5の場合

PowerEdge1550なんかの場合、SA5.0はサポートしてないようなので、
SA4.5をいまだ使っています。

インストールなどは大体同じですが、
サービススクリプトやデーモンに若干違いがみられます。

/etc/init.d/
 dataeng
 instsvcdrv
 omawsd
 omsad

# ps auxw | grep dell
/opt/dell/srvadmin/oma/bin/omsad32
/opt/dell/srvadmin/iws/bin/linux/omaws32 -run
/opt/dell/srvadmin/iws/bin/linux/omaws32 -run
/opt/dell/srvadmin/dataeng/bin/dcstor32d
/opt/dell/srvadmin/dataeng/bin/dcevt32d
/opt/dell/srvadmin/dataeng/bin/dcsnmp32d

PGP

|

■PGP User's Manual for Windows
http://www.cla-ri.net/pgp/index.html

MIB データベース

|

■Assure24 MIB Database
http://www.assure24.com/databases/snmp-mib/

■WTCS.ORG MIB Links
http://www.wtcs.org/snmp4tpc/mibs.htm

■BTmonitor 搭載テンプレート一覧 Ver1.40
http://www.ibc21.co.jp/product/product14.htm

Powered by Movable Type 4.1