Sheepdog/利用方法
の編集
http://eucalyptus.linux4u.jp/wiki/index.php?Sheepdog%2F%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
-- 雛形とするページ --
BracketName
Ceph/install
Ceph/memo
Ceph/mount
Ceph/概要
ChangeLog_v1.5.2
CloudStack
CloudStack/インストール方法
CloudStack/ネットワーク解説
CloudStack/ネットワーク設定
CloudStack/メモ
CloudStack/仮想マシン
CloudStack/初期設定
CloudStack/概要
Doc/EucalyptusImageManagement_v1.5.2
Documents
DynamicDNSGuide
Elasticfox
Euca2ools と EC2 Tools との違い
Euca2oolsCentosInstall
Euca2oolsGuide
Euca2oolsImageManagement
Euca2oolsInstallJaunty
Euca2oolsLennyInstall
Euca2oolsNetworking
Euca2oolsOpensuseInstall
Euca2oolsSourceInstall
Euca2oolsSqueezeInstall
Euca2oolsStorage
Euca2oolsUsing
Euca2oolsVmControl
Eucalyptus (OSS Elastic Computing) 日本語情報
Eucalyptus + Euca2ools + Elasticfox で作るプライベートクラウド環境
Eucalyptus - OSS Elastic Computing
Eucalyptus - Ubuntu 9.04 で作るプライベートクラウド環境
Eucalyptus 1.5.2
Eucalyptus 日本語情報 wiki - OSS Elastic Computing
Eucalyptus-Upgrade-1.6.1
Eucalyptus-Upgrade-1.6.2
EucalyptusAdministratorGuide_v1.5.2
EucalyptusAdministratorGuide_v1.6
EucalyptusAdvanced_v1.6
EucalyptusBlockStoreInteracting_v1.5.2
EucalyptusConfiguration_v1.5.2
EucalyptusFeatures_v1.5.2
EucalyptusGettingStarted_v1.5.2
EucalyptusImageManagement_v1.5.2
EucalyptusImageManagement_v1.6
EucalyptusInstall_v1.5.2
EucalyptusInstall_v1.6
EucalyptusInstallationCentos_v1.5.2
EucalyptusInstallationCentos_v1.6
EucalyptusInstallationDebianLenny_v1.5.2
EucalyptusInstallationDebianSqueeze_v1.5.2
EucalyptusInstallationDebianSqueeze_v1.6
EucalyptusInstallationOpensuse_v1.5.2
EucalyptusInstallationOpensuse_v1.6
EucalyptusInstallationUbuntuJaunty_v1.5.2
EucalyptusInstallationUbuntuJaunty_v1.6
EucalyptusKnownBugs_v1.5.2
EucalyptusKnownBugs_v1.5.2)
EucalyptusManagement_v1.5.2
EucalyptusManagement_v1.6
EucalyptusMonitoring_v1.6
EucalyptusNetworking_v1.5.2
EucalyptusNetworking_v1.6
EucalyptusOverview
EucalyptusPrerequisites_v1.5.2
EucalyptusRocksInstallation_v1.5.2
EucalyptusSourceCodeInstallation_v1.5.2
EucalyptusTroubleshooting_v1.5.2
EucalyptusTroubleshooting_v1.6
EucalyptusUpgrade_v1.5.2
EucalyptusUserGuide_v1.5.2
EucalyptusUserImageCreatorGuide_v1.5.2
EucalyptusWalrusInteracting_v1.5.2
FAQ
FormattingRules
FrontPage
Help
Hibari
Hibari/インストール
Hibari/データモデル
Hibari/データ操作
Hibari/特徴
InterWiki
InterWikiName
InterWikiSandBox
Links
MenuBar
OpenNebula/その他
OpenNebula/クラスタノードの構築
OpenNebula/ゲストOSのネットワークの設定
OpenNebula/ゲストOSの構築
OpenNebula/フロントエンドノードの構築
OpenNebula/仮想ネットワークの構築
OpenNebula/概要
OpenStack
PHP
Presentations
PressRelease/2010_Feb_9
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RHEL5 にセットアップ(RPM)
RecentDeleted
RightScale
S3_Compatibility_1.5.2
SandBox
Scalaris/JSON APIの利用
Scalaris/Java-API用CLIツール
Scalaris/インストール方法
Scalaris/分散環境の設定
Scalaris/利用方法
Scalaris/概要
Sheepdog/インストール方法
Sheepdog/インストール方法(SL6)
Sheepdog/デザイン
Sheepdog/ユーザ会
Sheepdog/利用方法
Sheepdog/問題点
Sheepdog/概要
Swift/Rings
Swift/memo
Swift/インストール方法
Swift/サーバの起動とテスト
Swift/メッセージの流れ
Swift/使い方
Swift/概要
Swift/設定ファイルの作成
Swift/起動用スクリプトの作成
ToolsEcosystem
ToolsEcosystem_EC2Dream
ToolsEcosystem_Elasticfox
ToolsEcosystem_boto
ToolsEcosystem_cloud42
ToolsEcosystem_right_aws
ToolsEcosystem_s3cmd
ToolsEcosystem_s3fs
ToolsEcosystem_tAWS
ToolsEcosystem_typica
UEC/CDInstall
UEC/CreateYourImage
Ubuntu 9.04 Server Edition のダウンロード方法
Ubuntu Enterprise Cloud 入門
Ubuntu Enterprise Cloudで作るプライベートクラウド環境
Ubuntu/Eucalyptus
Ubuntu/Eucalyptus+bridge
Ubuntu/Eucalyptus+environment
Ubuntu/KVM
Ubuntu/libvirt
Ubuntu/ubuntu-vm-builder
UbuntuEnterpriseCloud
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
backup-eucalyptus-16
configuration
first-time-setup-16
hypervisor-configuration
installation-distribution-specific-binary-packages
installing-eucalyptus-source-16
s3curl
sample-s3cmd-config
sample-s3cmd-config-s3
トラブル事例
[[Sheepdog/概要]] *sheepdogの利用方法 [#hb1c06d9] ** corosyncの設定 [#e8e5b726] sheepdogの設定に入る前にcorosyncの設定を行います.~ corosyncはクラスタ環境を構築するために利用するIPアドレスを指定する設定が必要です. /etc/corosync内にcorosync.conf.sampleがあるので,同じディレクトリにcorosync.confをいう名前でコピーします. $ cd /etc/corosync $ sudo cp corosync.conf.example corosync.conf 次にcorosync.confを編集します. ここではIPアドレス192.50.109.182をクラスタ環境の構築に利用します. # Please read the corosync.conf.5 manual page compatibility: whitetank totem { version: 2 secauth: off threads: 0 interface { ringnumber: 0 bindnetaddr: 192.50.109.182 # クラスタ環境の構築に利用するIPアドレス mcastaddr: 226.94.1.1 mcastport: 5405 } } logging { fileline: off to_stderr: yes to_logfile: yes to_syslog: yes logfile: /tmp/corosync.log debug: off timestamp: on logger_subsys { subsys: AMF debug: off } } amf { mode: disabled } ** sheepdogの設定 [#a691dda8] sheepdogの利用にはcorosyncとqemu-kvmを使用します. 各ソフトウェアのインストール方法は[[こちら>Sheepdog/インストール方法]]を参考にしてください. まずクラスタ環境に使用するディスクスペースの設定を行います.~ ここでは,クラスタ環境に提供するディスクをstore_device,store_deviceをマウントしているディレクトリをstore_dirとしています.~ store_dirとして提供するディレクトリはxattrをサポートしている必要があります.~ そのため,マウントオプションでxattrを有効にしておきます.~ 例として,ext3でのオプションの指定方法を書いておきます. $ sudo mount -o remount,user_xattr /store_device 次に,マウントしているディレクトリをクラスタ環境に提供します. --(注)sheepdogはcollieという名前のプログラムで起動しますが,collieで指定するstore_dirには何も入っていないことを先に確認してください. $ sudo sheep /store_dir デフォルトではTCPの7000番ポートが使用されます.ポート番号を変更したい場合は, $ sudo sheep --port 7000 /store_dir でポート番号の変更が可能です. また-dオプションをつけるとデバックメッセージの表示が可能です. $ sudo sheep --port 7000 /store_dir -d 最新のsheepdogでは、sheep /store_dirで-dのオプションまでつきます.~ sheepdogのディレクトリに起動スクリプトも用意されています. $ cd sheepdog $ sudo sudo script/start-sheepdog なお,sheepdog起動時に現在動作しているsheepdogを停止させるスクリプトも同時に動作するため,start-sheepdogの起動はscriptディレクトリの指定から行う必要があります. また,start-sheepdogで起動した場合,/tmp以下にXX.XXXXXX(Xには数字が入ります.)という名前のディレクトリが作成され,そのディレクトリがstore_dirとなります. start-sheepdogが起動すると各ノードは自律的にクラスタ環境を構築します. どのノードがクラスタ環境を構築しているかは以下のコマンドで確認できます. $ collie node list ここでは8台でクラスタ環境を構築したとします. この際に,collie node listでは,以下のような表示がでるはずです.(IPアドレス,Node idは各環境によって異なります.) $ collie node list Idx Node id (FNV-1a) - Host:Port ------------------------------------------------ * 0 3751ad4d1b9d6dcb - 192.50.109.182:7000 1 492815213580505c - 192.50.109.185:7000 2 d0c7ee6eee054e72 - 192.50.109.187:7000 3 d208d1cfb8fb0451 - 192.50.109.184:7000 4 dfefba81b1c87f1f - 192.50.109.186:7000 5 e48b7ede454ea360 - 192.50.109.189:7000 6 eb7f884fecfa4f35 - 192.50.109.188:7000 7 ed01cd77b045713e - 192.50.109.183:7000 ファイルシステムの構築を行います.~ copiesは冗長構成を行う数を指定します.~ ここでは,3台のマシンにデータを複製するように指定しています. $ collie cluster format --copies=3 ** VMイメージの作成 [#xc3e4f17] sheepdogで利用するVMイメージはqemu-imgを用いて作成します. インストールのページでgitを用いてダウンロードしたqemu-kvmをインストールしていれば,VMイメージのフォーマットにsheepdogが追加されているはずです. $ qemu-img create -f sheepdog Alice 40G VMイメージが正しく作成されたかは,以下のコマンドで確認できます. $ collie vdi list name id size used shared creation time object id -------------------------------------------------------------------- Alice 1 40 GB 0.0 MB 0.0 MB 2010-05-02 13:16 8015d16700000000 - エラーが出る場合には,以下の点を見直してみてください. --collie で指定するディレクトリはユーザ拡張属性が利用可能か.(ext3 であれば, マウントオプションに user_xattr がついているか -- sheepで指定するディレクトリが空の状態で起動しているか -- collie cluster format を実行したか また,既に作成した他のフォーマットのVMイメージからsheepdog用のVMイメージに変換することもできます. $ qemu-img convert -f raw -O sheepdog ~/amd64.raw Bob ** VMの起動 [#jdabb5c8] 仮想マシンの起動は以下のコマンドで行います. $ qemu-system-x86_64 --drive format=sheepdog,file=Alice CDドライブから起動する場合には、-cdromのオプションでisoイメージを指定し,-bootオプションでdを指定します. $ qemu-system-x86_64 --drive format=sheepdog,file=Alice -cdrom <iso_file> -bood d VMの情報はcollie vm listで表示することができます.~ $ collie vm list Name |Vdi size |Allocated| Shared | Status ----------------+---------+---------+---------+------------ Alice | 40 GB| 0.0 MB| 0.0 MB| not running qemu-system-x86_64でVMを起動すると,VNCがlocalhostの5900番ポートで待ち受けます.~ 画面を表示するにはサーバ上でVNC Viewerを使用するか,SSHのX11 forwardingなどを使用して,VNCの画面をリモート上で表示します.~ 今回の例だと,192.50.109.182のサーバ上でVMを起動したので,192.50.109.182のサーバにSSHのX11forwardingを有効にしてログインした後,vncviewerを起動します. $ ssh 192.50.109.182 -X サーバにloginします. $ vncviewer localhost:5900 vncviewerが起動すると,PC上に画面が表示されるはずです. #ref(qemu-vnc.png) また,先程表示したVMの情報も起動しているノードのIPアドレスが表示されます. $ collie vm list Name |Vdi size |Allocated| Shared | Status ----------------+---------+---------+---------+------------ Alice | 40 GB| 0.0 MB| 0.0 MB| running on 192.50.109.182 以下に自動自動のためのスクリプトを書いておきます. debianですと,/etc/rc.localに記述すると良いと思います. 2010年5月3日にこのスクリプトでsheepdogがOS起動時に自動的に起動することを確認しています.(store_dirは適宜書き換えてください) /usr/sbin/corosync /bin/rm -rf /store_dir/* /usr/sbin/sheep /store_dir
タイムスタンプを変更しない
[[Sheepdog/概要]] *sheepdogの利用方法 [#hb1c06d9] ** corosyncの設定 [#e8e5b726] sheepdogの設定に入る前にcorosyncの設定を行います.~ corosyncはクラスタ環境を構築するために利用するIPアドレスを指定する設定が必要です. /etc/corosync内にcorosync.conf.sampleがあるので,同じディレクトリにcorosync.confをいう名前でコピーします. $ cd /etc/corosync $ sudo cp corosync.conf.example corosync.conf 次にcorosync.confを編集します. ここではIPアドレス192.50.109.182をクラスタ環境の構築に利用します. # Please read the corosync.conf.5 manual page compatibility: whitetank totem { version: 2 secauth: off threads: 0 interface { ringnumber: 0 bindnetaddr: 192.50.109.182 # クラスタ環境の構築に利用するIPアドレス mcastaddr: 226.94.1.1 mcastport: 5405 } } logging { fileline: off to_stderr: yes to_logfile: yes to_syslog: yes logfile: /tmp/corosync.log debug: off timestamp: on logger_subsys { subsys: AMF debug: off } } amf { mode: disabled } ** sheepdogの設定 [#a691dda8] sheepdogの利用にはcorosyncとqemu-kvmを使用します. 各ソフトウェアのインストール方法は[[こちら>Sheepdog/インストール方法]]を参考にしてください. まずクラスタ環境に使用するディスクスペースの設定を行います.~ ここでは,クラスタ環境に提供するディスクをstore_device,store_deviceをマウントしているディレクトリをstore_dirとしています.~ store_dirとして提供するディレクトリはxattrをサポートしている必要があります.~ そのため,マウントオプションでxattrを有効にしておきます.~ 例として,ext3でのオプションの指定方法を書いておきます. $ sudo mount -o remount,user_xattr /store_device 次に,マウントしているディレクトリをクラスタ環境に提供します. --(注)sheepdogはcollieという名前のプログラムで起動しますが,collieで指定するstore_dirには何も入っていないことを先に確認してください. $ sudo sheep /store_dir デフォルトではTCPの7000番ポートが使用されます.ポート番号を変更したい場合は, $ sudo sheep --port 7000 /store_dir でポート番号の変更が可能です. また-dオプションをつけるとデバックメッセージの表示が可能です. $ sudo sheep --port 7000 /store_dir -d 最新のsheepdogでは、sheep /store_dirで-dのオプションまでつきます.~ sheepdogのディレクトリに起動スクリプトも用意されています. $ cd sheepdog $ sudo sudo script/start-sheepdog なお,sheepdog起動時に現在動作しているsheepdogを停止させるスクリプトも同時に動作するため,start-sheepdogの起動はscriptディレクトリの指定から行う必要があります. また,start-sheepdogで起動した場合,/tmp以下にXX.XXXXXX(Xには数字が入ります.)という名前のディレクトリが作成され,そのディレクトリがstore_dirとなります. start-sheepdogが起動すると各ノードは自律的にクラスタ環境を構築します. どのノードがクラスタ環境を構築しているかは以下のコマンドで確認できます. $ collie node list ここでは8台でクラスタ環境を構築したとします. この際に,collie node listでは,以下のような表示がでるはずです.(IPアドレス,Node idは各環境によって異なります.) $ collie node list Idx Node id (FNV-1a) - Host:Port ------------------------------------------------ * 0 3751ad4d1b9d6dcb - 192.50.109.182:7000 1 492815213580505c - 192.50.109.185:7000 2 d0c7ee6eee054e72 - 192.50.109.187:7000 3 d208d1cfb8fb0451 - 192.50.109.184:7000 4 dfefba81b1c87f1f - 192.50.109.186:7000 5 e48b7ede454ea360 - 192.50.109.189:7000 6 eb7f884fecfa4f35 - 192.50.109.188:7000 7 ed01cd77b045713e - 192.50.109.183:7000 ファイルシステムの構築を行います.~ copiesは冗長構成を行う数を指定します.~ ここでは,3台のマシンにデータを複製するように指定しています. $ collie cluster format --copies=3 ** VMイメージの作成 [#xc3e4f17] sheepdogで利用するVMイメージはqemu-imgを用いて作成します. インストールのページでgitを用いてダウンロードしたqemu-kvmをインストールしていれば,VMイメージのフォーマットにsheepdogが追加されているはずです. $ qemu-img create -f sheepdog Alice 40G VMイメージが正しく作成されたかは,以下のコマンドで確認できます. $ collie vdi list name id size used shared creation time object id -------------------------------------------------------------------- Alice 1 40 GB 0.0 MB 0.0 MB 2010-05-02 13:16 8015d16700000000 - エラーが出る場合には,以下の点を見直してみてください. --collie で指定するディレクトリはユーザ拡張属性が利用可能か.(ext3 であれば, マウントオプションに user_xattr がついているか -- sheepで指定するディレクトリが空の状態で起動しているか -- collie cluster format を実行したか また,既に作成した他のフォーマットのVMイメージからsheepdog用のVMイメージに変換することもできます. $ qemu-img convert -f raw -O sheepdog ~/amd64.raw Bob ** VMの起動 [#jdabb5c8] 仮想マシンの起動は以下のコマンドで行います. $ qemu-system-x86_64 --drive format=sheepdog,file=Alice CDドライブから起動する場合には、-cdromのオプションでisoイメージを指定し,-bootオプションでdを指定します. $ qemu-system-x86_64 --drive format=sheepdog,file=Alice -cdrom <iso_file> -bood d VMの情報はcollie vm listで表示することができます.~ $ collie vm list Name |Vdi size |Allocated| Shared | Status ----------------+---------+---------+---------+------------ Alice | 40 GB| 0.0 MB| 0.0 MB| not running qemu-system-x86_64でVMを起動すると,VNCがlocalhostの5900番ポートで待ち受けます.~ 画面を表示するにはサーバ上でVNC Viewerを使用するか,SSHのX11 forwardingなどを使用して,VNCの画面をリモート上で表示します.~ 今回の例だと,192.50.109.182のサーバ上でVMを起動したので,192.50.109.182のサーバにSSHのX11forwardingを有効にしてログインした後,vncviewerを起動します. $ ssh 192.50.109.182 -X サーバにloginします. $ vncviewer localhost:5900 vncviewerが起動すると,PC上に画面が表示されるはずです. #ref(qemu-vnc.png) また,先程表示したVMの情報も起動しているノードのIPアドレスが表示されます. $ collie vm list Name |Vdi size |Allocated| Shared | Status ----------------+---------+---------+---------+------------ Alice | 40 GB| 0.0 MB| 0.0 MB| running on 192.50.109.182 以下に自動自動のためのスクリプトを書いておきます. debianですと,/etc/rc.localに記述すると良いと思います. 2010年5月3日にこのスクリプトでsheepdogがOS起動時に自動的に起動することを確認しています.(store_dirは適宜書き換えてください) /usr/sbin/corosync /bin/rm -rf /store_dir/* /usr/sbin/sheep /store_dir
テキスト整形のルールを表示する