2008年1月アーカイブ

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

このアーカイブについて

このページには、2008年1月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2006年9月です。

次のアーカイブは2008年3月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1