トップ 一覧 検索 ヘルプ RSS ログイン

VMware-server-2の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
*VMware-server-2.0.0
*旧バージョン VMware-server-1.0.x については VMware-1
*http://www.vmware.com/

*仮想PC
*1台のPCの中に複数環境
*マルチコア・マルチCPU対応
!!!関連文書
*VMware FreeBSD
!!!環境
!サーバ環境
*Intel Core2Quad 9550 
*8G RAM
*500G SATA HDD
*CentOS 5.2 x86_64
*yum update
*vmware-server-2.0.0
*yum で CentOS 5.3 に更新

!クライアント環境
*VMware-server の管理用
*画面表示のみ
*Windows Vista
*Windows XP SP2
*IE7 + ActiveX
*Firefox3 + プラグイン


!ディレクトリ/ファイル構成
,ディレクトリ,説明
,/var/lib/vmware/Virutal Machines,仮想マシンの保存先
,/var/log/vmware/,ログ保存先
,/var/log/vmware/hostd.log,
,/var/log/vmware/webAccess,
,/etc/vmware,設定ファイル

!!!参考サイト

!Wizard Bible vol.49 (2009,12,13)
*http://wizardbible.org/49/49.txt
*vmware-vmx の .vmem ファイルが sparse なファイルと確認
*vmware-vmx の挙動を strace で確認し、pwrite64 で .vmem ファイルの作成を確認
*pwrite64 を LD_PRELOAD で hook して回避している。
*素晴らしい!

""なんでこのファッキンVMwareはこんなに具合悪いのマダファッカ?
"" .vmemファイルが断片化しているから

"".vmemファイルはいつ書き込まれるの?
"" vmware-vmxプロセスがマターリとメモリと同期させる。数日がかりで観察する
""と徐々に大きくなることが確認できる

"".vmemファイルの断片化を防ぐ方法は?
"" 起動直後にサスペンドさせ、ddでファイルをコピーして入れ替え、リジューム
""するか、LD_PRELOADしてスパースファイル生成を阻止する(詳細は本文参照)

*vmem の断片化を解消するとシステムの負荷が劇的に下がった。
*vmem 断片化 10万 --> 50 
*linux 4 guest + windows 5 guest
*load avg 10〜40 --> 2〜5 まで軽くなった。

!vmware-vmx, vmware-hostd が頻繁に落ちる
*glibc との相性が悪い。
*http://webalution.com/techshare/2009/11/16/vmware-server-2-web-access-connection-loss-vmware-hostd-crash-workarounds/
*古い glibc からライブラリを取得し LD_LIBRARY_PATH に登録すると落ちなくなるらしい。
*確認中

!Windows guest コピー時の SID 競合解消
*http://www.orchid.halfmoon.jp/wiki/vmware_01.html
""Windows SID の変更(Guest OSをドメインに入れる場合)

""Windowsをドメインに入れる場合 SID が重複していないことが条件となる。
""OSを導入した後にsysprepを使用するのが一般的であるが、クローン作成時などで簡易にSIDを変更するツールとして「newsid.exe」がMicrosoftのサイトからダウンロードできるので利用する。

""NewSID v4.10(新しいSIDを付与するツール)注サポート対象外
*http://www.microsoft.com/technet/sysinternals/Utilities/NewSid.mspx
*'''提供停止'''
""PsGetSid v1.43(SIDを確認するツール)
*http://www.microsoft.com/technet/sysinternals/utilities/psgetsid.mspx

!wsus での競合解消
*http://www.petri.co.il/forums/showthread.php?t=19475
*wuauserv 停止
 net stop wuauserv
*regedit 起動
*HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SusClientId を削除
*wuauserv 再開
 net start wuauserv

!vCenter Server のポート
*VMware Knowledge Base
*vCenter Server 4.1 network port requirements
*http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1022256
,種別,ポート番号,用途
,TCP,80,https へのリダイレクト
,TCP,389,vCenter Server group 用 Active Directory
,TCP,443,vSphere Client 接続
,TCP,636,vCenter Linked Mode 用SSL接続
,UDP,902,ESXi からの情報取得
,TCP,902,コンソール画面の表示
,TCP,903,コンソール画面の表示
,TCP,5989,CIM ハード情報取得
,TCP,8080,VMware web service
,TCP,8443,VMware web service SSL
*TCP 60099 必須ではない。SDK client で必要。

!VMware のポート
*VMware Knowledge Base
*http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1012382
*ソフトウェア・バージョンによって異なる
*すべてのポート一覧


!!!メモ

!ゲストOS が FreeBSD でのシャットダウン
*ゲストOS に FreeBSD を入れた場合に、VMwareでの「VMの停止」指示では完全に停止しない。
*shutdown -h now がかかっている。
*shutdown -p now をかけたい。
*http://communities.vmware.com/thread/177675
*ゲストOS の /etc/vmware-tools/tools.conf を編集
 halt-command = "/sbin/shutdown -p now"
*vmware-tools サービス再起動
 # /usr/local/etc/vmware-tools.sh restart

!vmware-tools インストール記録の消去
*configure VM を実行
*Advanced タブに切り替え
*vmware.tools.installstate: none 
*vmware.tools.internalversion: -1 
*vmware.tools.lastInstallStatus: unknown 
*virtual machine を新規作成しないで再インストールする場合など
*vmware-tools をインストールした記録が残ってインストールできない
*インストール記録を仮想マシンから消去して vmware-tools をインストールできるようにする。

!vmware-vmx を strace で観察
 # strace -f -o /var/log/strace_vmware_vmx.log /usr/lib/vmware/bin/vmware-vmx -x -C /var/lib/vmware/Virtual\ Machines/CentOS32/CentOS32.vmx -@ \"\"
*vmem 関連ログ
 # cat /var/log/strace_vmware_vmx.log | grep -e '\.vmem' -e pwrite | grep -e 189, -e 189$
 32268 open("/var/lib/vmware/Virtual Machines/CentOS32/564db761-2c2c-9ed1-8d6f-64261f7eb787.vmem.lck/E00805.lck", O_WRONLY|O_CREAT, 0644) = 189
 32268 open("/var/lib/vmware/Virtual Machines/CentOS32/564db761-2c2c-9ed1-8d6f-64261f7eb787.vmem.lck", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 189
 32268 open("/var/lib/vmware/Virtual Machines/CentOS32/564db761-2c2c-9ed1-8d6f-64261f7eb787.vmem", O_RDWR|O_CREAT, 0600) = 189
 32268 pwrite(189, "\0", 1, 536870911)   = 1

!nosparse.so 作成
*記事の環境
**VMware-Server-1
*今回の環境
**VMware-Server-2.0.2
**CentOS-5.4
**2.6.18-164.6.1.el5 x86_64
*インストールしたrpm
*strace
*kernel-headers
*kernel-devel
*gcc-c++
*コンパイル
 # g++ -Wall -fPIC -shared -o noparse.so nosparse.cpp -ldl
*LD_PRELOAD が効かない。
*20100520 調査中
*x86_64 だからか?

!!VMware 高負荷の検証
*.vmem が断片化するので VMware の負荷が高くなるのか?
*再起動すると .vmem が再作成され、断片化が始まるか?
!確認環境
,項目,内容
,VMware バージョン,VMware-Server-2.0.2 
,OS,CentOS-5.4 
,kernel,2.6.18-164.6.1.el5 x86_64 

!VMware 再起動前
*一部 .vmem 再編成済み
 [root@amd64 nonaka]# date
 Thu May 20 09:56:32 JST 2010
 [root@amd64 nonaka]# /usr/sbin/filefrag /var/lib/vmware/Virtual\ Machines/*/*.vmem
 /var/lib/vmware/Virtual Machines/CentOS64/564d3c0c-8f54-72a2-a55f-7997bf2cab0c.vmem: 24602 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/fbsd732/564d6d46-b120-b3c9-ebbd-24e0e3d21b39.vmem: 113976 extents found, perfection would be 10 extents
 /var/lib/vmware/Virtual Machines/fbsd764/564da941-638e-54f5-539c-445b8e41c96d.vmem: 52844 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/fbsd832/fbsd832.vmem: 340 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/ubuntu/ubuntu.vmem: 61 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/win2kpro/win2kpro.vmem: 115 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/winhomesrv/winhomesrv.vmem: 266 extents found, perfection would be 19 extents
 /var/lib/vmware/Virtual Machines/winvista/winvista.vmem: 420 extents found, perfection would be 10 extents
 /var/lib/vmware/Virtual Machines/winxp/winxp.vmem: 31 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/ws2003/ws2003.vmem: 166 extents found, perfection would be 5 extents
 [root@amd64 nonaka]# uptime
 09:56:22 up 146 days,  6:57,  1 user,  load average: 1.25, 2.02, 2.17

!再起動1時間経過
 # /usr/sbin/filefrag /var/lib/vmware/Virtual\ Machines/*/*.vmem
 /var/lib/vmware/Virtual Machines/CentOS32/564db761-2c2c-9ed1-8d6f-64261f7eb787.vmem: 5894 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/centos432/564dff47-c498-523d-fe78-86281ce502a3.vmem: 7593 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/CentOS64/564d3c0c-8f54-72a2-a55f-7997bf2cab0c.vmem: 3877 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/fbsd732/564d6d46-b120-b3c9-ebbd-24e0e3d21b39.vmem: 21477 extents found, perfection would be 10 extents
 /var/lib/vmware/Virtual Machines/fbsd764/564da941-638e-54f5-539c-445b8e41c96d.vmem: 7268 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/fbsd832/564df285-62d7-19b7-e5da-8525489da0d3.vmem: 27019 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/fbsd864/564d6905-d974-9b43-9418-d33164ee3dd8.vmem: 1006 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/ubuntu/564d527e-794c-13cb-12c9-a3dbe822c2cd.vmem: 5124 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/win2kpro/564dcdeb-b040-5467-0608-88a73ccedb9d.vmem: 56342 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/winhomesrv/564d586d-a40f-f164-3373-6ae81bb3df80.vmem: 82488 extents found, perfection would be 19 extents
 /var/lib/vmware/Virtual Machines/winvista/564dfa26-af32-2907-4a6c-3554a096b298.vmem: 36956 extents found, perfection would be 10 extents
 /var/lib/vmware/Virtual Machines/winxp/564d8030-dc0f-74eb-cf81-9346dac589c8.vmem: 37815 extents found, perfection would be 5 extents
 /var/lib/vmware/Virtual Machines/ws2003/564d4430-f3c6-7370-b934-e0973d93272b.vmem: 5393 extents found, perfection would be 5 extents
 [root@amd64 nonaka]# uptime
 10:56:38 up 18:51,  1 user,  load average: 8.93, 7.94, 7.31
*VMware サーバを再起動すると、.vmem ファイルが再作成される。
*.vmem ファイルの断片化がひどい

!再起動後、1日程度経過

!再起動後、ゲストサスペンド+vmem copy+replace
!LD_PRELOAD pwrite パッチ + 再起動直後
*未検証
!LD_PRELOAD pwrite パッチ + 再起動?日経過
*未検証

!!vmware-server が CentOS の更新後に安定しない
*http://bugs.centos.org/view.php?id=3884
""CentOS 5.4 glibc causes crash of VMWare vmware-hostd process in VMWare 2.0.0 and 2.0.1 
""CentOS 5.4 での glibc によって VMware の 2.0.0 と 2.0.1 で vmware-hostd が異常停止する
*http://webalution.com/techshare/2009/11/16/vmware-server-2-web-access-connection-loss-vmware-hostd-crash-workarounds/
""With upgrading to RHEL 5.4, CentOS 5.4 and Ubuntu 9.10, the latest 2.x.x versions of VMware Server are having serious Web Access GUI connection failures
""(和訳)RHEL 5.4, CentOS 5.4, Ubuntu 9.10 へのアップグレードを行うと、VMware-Server の 2.x.x のバージョンでは Web での GUI 接続に深刻な問題が発生する。

*vmware-vmx や vmware-hostd が 数分〜数日で signal 6 で停止していた
*glibc-2.5-34.x86_64.rpm から /usr/lib/vmware/lib/libc.so.6/libc-2.5.so に配置
*/usr/sbin/vmware-hostd 最後から3行目に追加
 export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH
*安定稼働になった。(現在2週間)
*安定稼働になった。

!VMware server 2.0.2 and centos 5.5 - resolutions / centos.org newbb
*http://www.centos.org/modules/newbb/viewtopic.php?topic_id=26431&forum=37
*/etc/init.d/vmware
 export LD_LIBRARY_PATH=/usr/lib/vmware/vmacore:/usr/lib/vmware/hostd:/usr/lib/vmware/lib/libxml2.so.2:/usr/lib/vmware/lib/libexpat.so.0:/usr/lib/vmware/lib/libstdc++.so.6:/usr/lib/vmware/lib/libgcc_s.so.1:/usr/lib/vmware/lib/libcrypto.so.0.9.8:/usr/lib/vmware/lib/libssl.so.0.9.8
*enable SSL2 in firefox
 enable.ssl2
*firefox plugin vmrc
 /home/uid/.mozilla/firefox/ab1cd23985.default/extensions/VMwareVMRC@vmware.com/plugins/vmware-vmrc


!VMware ESXi
!VMware ESXi 4.0(update1)で、Realtek 8169のNICを後から追加する
*http://karl0204.at.webry.info/200912/article_4.html

!USBメモリからブートするESXiサーバーを構築する / 仮想化道場 / クラウド Watch
*http://cloud.watch.impress.co.jp/epw/docs/series/virtual/20100201_343848.html

!ESXi USB + RealTech
*http://kesler.blog.so-net.ne.jp/2010-07-28

!VMware vCenter Update Manager がプラグインから有効にできない
*SQL サーバのユーザー認証でパスワードを変更した
*http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1034605
*KB Article: 1034605
*SQL Server Management Studio で Update Manager 用の ID/PW を SQL Server 認証で確認する。
*C:\Program Files (x86)\VMware\Infrastructure\Update Manager\VMwareUpdateManagerUtility.exe を起動して Database settings でID/PW を設定する。
*障害が解消した

!VMware vCenter Update Manager でのステージング障害
*ESXi ホストのパッチ更新のステージング実行時
""ホストは VMware vCenter Update Manager パッチ ストアからファイルをダウンロードできません。ネットワーク接続およびファイヤーウォールの設定を確認してください。詳細は esxupdate のログを確認してください。

!Oracle RAC の vMotion
*http://communities.vmware.com/thread/136546
""Can I use vMotion with instances of RAC that are clustered?
""    Absolutely you can vMotion an instance of a clustered Oracle database - there is nothing inherent in the design of the application that would prevent this.
*和訳
""クラスタ化されたRACのインスタンスをvMotion することはできるか?
""全く問題なくできる。デザイン上、vMotion を阻害する要因はない。

!準仮想化SCSIを使うとV2V変換が失敗する
*V2V conversion fails when using Paravirtual SCSI Controller
*http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1036719
*仮想マシンの設定で SCSI コントローラのタイプを準仮想化から LSI Logic に変更
*V2V が成功した。

!OVF テンプレートのデプロイ失敗
*ESXi 5.0
*SATA 500G HDD
*vCenter Server Appliance (VCSA) のOVFデプロイ
*vSphere Client で「...失敗しました」
*vSphere Client の「編集」メニューから「クライアント設定」
*「クライアント・サーバ コマンド タイムアウト」を「サーバ推奨値の使用」から「カスタム値の使用に切り替え。
*標準 30秒?
*長く設定した。300秒。長すぎ?

!vSphere4 リンクアグリゲーション / VMware User Groups (VMUGs)
*http://communities.vmware.com/thread/320804?tstart=0
""2.サービスコンソールが定義済みのvSwich0のプロパティを選択し、[ポート]タブより、vSwichを選択して編集ボタンを選択しました。
""3.NICチーミングタブで、"IPハッシュに基づいたルート"を選択しました。

""1つめは上流スイッチ側のリンクアグリゲーション設定が誤っている可能性です。
""EtherchannelをStaticで、だったと記憶していますが、スイッチ設定が正しいかをご確認ください。

!VMware ESXi 4.0 SNMP有効化手順 / 
*http://extstrg.asabiya.net/pukiwiki/index.php?VMware%20ESXi%20SNMP%CD%AD%B8%FA%B2%BD%BC%EA%BD%E7
""VMware ESXiよりSNMPによる値の取得、SNMPTrapによる障害通知を行う場合の設定手順。
""操作は全てVMware vSphere CLIより行ないます。