KVM(Kernel based Virtual Machine)を語れ 2
■ このスレッドは過去ログ倉庫に格納されています
libvirtが同一デバイスを上手くハンドルできないんじゃ疑惑 でした libvirt が起動している qemu のコマンドライン引数と 素でうまくいくときの qemu のコマンドライン引数を くらべてみたいお >>433 PT2+SAA7130キャプチャボード+libvirtという組み合わせも試してみてダメだったので、PT1やPT2がというより レガシーPCIに複数のデバイスがぶら下がってること自体が原因のような気がします(PCIeと違って共有バスだから?)。 本当に上記が理由だとしたら比較的簡単に再現できると思います。しかしその割に、他で報告を聞かないのも変な気はしますが・・ 私は最初PCIe→PCIブリッジチップを介しているのがいけないのかと思って、H67からB75に乗り換えたのですが 再現の仕方が同じなので、問題はそこではなさそうです。他にはZ68でも同じ状況でした。 残念ながらソースは読めない人なので、qemuに直接渡す場合とlibvirtで実行する場合とで 設定晒してみます。流石にUUIDとゲストの名前は(厨二過ぎる設定な為)書き換えてますが、ご容赦ください。 qemu-kvmを直接起動する場合 ttp://www1.axfc.net/uploader/so/2756620.txt libvirt経由で実行する場合 ttp://www1.axfc.net/uploader/so/2756615.txt >>435 /var/log/ の下に libvirt のログない? debian なら /var/log/libvirt/qemu/<仮想マシン名>.log とかなんだけど... >>435 お前さ、何故libvirtdのデバッグログをうpしないの? 何で初心者ですみたいに、ソース読めない人なので なんでも聞いていいですよね?解決してくださいって 調子に乗ってるの? お前ってさ、qemu:commandlineに利用しているなら、直接引数 渡せば起動できるのわかってて、嫌がらせとか本当に たちの悪い糞野郎だよな。 spice-guest-tools-0.3.exe 来てた kvm のホストマシンで ZFS on Linux を使って作った zpool に, kvm のゲストマシンからアクセスすることってできる? そもそもzpoolって、他のホストがアクセスできるような代物じゃないと おもうんですが、違うの? ホストで /dev/sdb を zpool に追加して,/dev/sdb をゲストに接続しておいて, ゲスト上で $ mount -t zfs /dev/sdb1 /mnt みたいないことできないかなと思って質問しました. (ほんとはゲスト上では /dev/sdb1 っていう名前じゃなくて違う名前だと思うけど便宜上こう書いてます) ZFSはFreeBSDで使ってて、ZFS on Linuxは使ってないけど・・・ zpoolは、一つか複数のディスクを一つのpoolにまとめる。 zpoolに参加してるディスクをダイレクトにいじろうとするのは そもそもZFSの使い方としておかしいんじゃないかと。 例えば、ホスト上でtankというプールを作ってみる。 zpool create tank /dev/sdb ←tankというpoolを作ってsdbを参加させる こんなふうにやった後は、/tankにディスクがマウントされている。 この後に/dev/sdbへ直接アクセスするような真似をしたら、 KVMとか関係なく、ZFSを壊すだけでは。 ブロックアクセスしたいならzvolを作るべきだと思う。 >>442 なるほど,zvol でブロックデバイスが作れるんだ.いいこと聞いた. 実は試しに,ゲストマシンに ZFS on Linux を導入してみた. インストールは簡単にできて zpool も作れた.しかし ホストとか他のゲストと共有するために sharenfs とか sharesmb を 使おうとしたら,未実装らしい.これだと ZFS on Linux を入れたあんま意味ない気もする. ホストに導入するのが自分の用途によさそうだが,あんまりホストの 機能が肥大化するのも好きじゃない.悩ましいな. KVMを本運用で使ってる所ってあるの? 安定度が気になる 山ほどあると思うが。 まあチューニングはガンガンにしてるだろうけどね。 チューニング、ガンガンですか そのあたりのおすすめ本とかありますか 運用が厳しいということは、大規模ってことかね。 うちは殆ど吊るしで使ってるけど、チューニングって例えば何がある? うちもほぼ吊るしだよ。 VMイメージをNFS上に置いてるけど、ちょっとそろそろ限界。 ホストもNFSサーバもNIC帯域も余裕なんだけど、 1つのVMが使えるNFS帯域に何かボトルネックがあるらしく ゲストのうち、アクセスの多いWebサーバの動作が滞りだした。 もうこの環境は厳しいからiSCSIかなんかで立て直して移行する >1つのVMが使えるNFS帯域に何かボトルネックがあるらしく 自分の環境では1Gbpsまではちゃんと出たので、NFS帯域のボトルネックなんて無いと思うんです。 先にHDDの限界がくるんじゃないかな。 1台のストレージに何台本番が乗ってるの? 単純にHDDのシークタイムがオーバーヘッドになってるように思うのですが。 >>451 KVMホストは5台、ゲストは20台ぐらい。 ある1ゲストだけ飛び抜けて高負荷なんだけど、 いずれにしてもそんなにストレージへのアクセスが頻繁なものではなくて、 そのゲストが高負荷な時でもNFSサーバ自体の負荷は余裕、 他ゲストからのNFSパフォーマンスも落ちない(常時70MB/s程度)。 ので、KVMonNFSそのものがもうキツいのかな…と思ったんだけど、 確かに載せすぎでシークタイムが厳しいのかも。 NFSサーバーは7本のRAID6。 その構成にゲスト20台ならストレージやNFS自体はまだ余裕あるはず。 ゲスト達がどんな動きしてるか解らんので妄想入ってますが。 最初に思いつくのは、そのゲストに当ててるCPUやメモリが足りないとか、 それ以外のDBとかが足引っ張ってる可能性もあるとおもふ。 そのゲストがWindowsの場合はCPU使用率とかメモリ利用率を見て、足りないなら足せばいいいし、 Linuxの場合はロードアベレージは当てにならんから、CPU使用率を見てCPU負荷が高いのか、 IOウェイトが発生してるのかを見れば、原因がどこにあるかが判るはず。 あとは、ストレージのネットワーク速度すかね。 >>452 NFSサーバが余裕なのは、本当に処理負荷がひくいからなのかな。 NFSサーバがリソースを使いきれるようにチューニングされていなくて、NFSクライアントを待たせながらのんびり動いてからかもよ。 >>454 それだとKVMホストのロードアベレージがやたら上がるはずなのよね。 >>455 あがらないだろ。 ioとかnfsのqueueが長くなるだけだから。 nfs しばらく使ってないのではずしてると思うが、概念的にはworkerが足りないときとは処理要求は多いのにcpuの負荷は低くなると思うが、そんなケースがないかと想像してる。 >456 ううん、NSFサーバがNFSクライアントを待たせると、 クライアント側ではCPUのウェイトのパーセンテージが上がって、 それでロードアベレージがあがるんですよ。 クライアントはデータの読み書きをサーバに依頼するけど、 サーバがモタモタしてると、クライアントは自分のHDDの処理が遅いような認識になって、 ロードアベレージがあがるんです。 ロードアベレージって実行待ちプロセスの平均値でしょ、だからそうなるの。 その「1台だけ高負荷なKVMゲスト」の 何の負荷が高いのかから調査して行かないと厳しそうでは。 ・その高負荷ゲスト(Linux)では、とあるWebグループウェアが稼働。DBも同居。ゲストは8CPU/32GB ・高負荷なので臨時にホストをそのゲスト1台で占有使用させてる。ホストは12コア36GB ・高負荷時、ゲスト上でiowait30〜50、ロードアベレージ7程度 ・高負荷時、ホスト上でiowait20〜40、ロードアベレージ4〜6程度 ・高負荷時でも、他のノードからNFS転送速度を計測すると普通に80MB/sとか出る(無負荷時で90MB/s程度)し、 他ゲストのパフォーマンスにはさほどの低下がみられない ・各物理危機はL2機器で直結 ・NFSサーバーはほぼ吊るし設定。CPUもIOもtopで見る限りまったく余裕 こんな状態です。 NFSのマウントオプションはどうなってる? syncかasyncでかなり違う。 NFSのバージョンも気になるけど、v3以降ならパフォーマンス面の不安はほとんど無いはず。 NFSってかなりオプションあるけど、いくつか押さえておけば基本的に吊るしでおk。 NFSクライアントで nfsstat -m NFSサーバで exportfs -v だったと思う、ステータスが確認できるお。 高負荷な時の、そのゲストに使用してるNFS転送速度ってのは 調べられないのかな。 そのゲスト上で dstat -fd 入ってなければyumかrpmで 許可要るだろうけど、あると便利ですよ Xeon E3-1270v2 で CentOS 6.3 の KVM で FreeBSD 9.1 amd64 のインストール をしようとすると、カネールのロードのところでフリーズしてしまうのだが、 何が原因だろう…? 別メーカーの Xeon E3-1270v2 でも FreeBSD はダメ Xeon E5-2670 では FreeBSD OK E3-1270v2 でも Linux 系は問題無くブートする。。 >>459 すまん。テキトウなこと書いてしまった。ただ、load averageはなんか起きてるってのがわかるくらいで、原因の特定にはならないのでほかの指標見た方がよいですよ。 >>463 ゲストに見せるCPUの設定変えてみてもダメなのかな。ゲストのxmlの<model>xxx</model>のとことか >>465 Xeon E5 はデフォルトの cpu64-rhel6 でも SandyBridge でもどっちでもいけるんだけど、 Xeon E3 はどっちもダメです。 >>466 GPUまわりかな。いずれにしてもFreeBSD側でカーネルデバッグをしてみるといいだろう。 >>467 Xeon E3-1270v2 なので、GPU 無しです。 Host で top とか sar でみると、CPU を 100% くってるので、どこかでループしてそうな感じです。 何が原因か分からんね。物理に直接インストールしてみたり、仮想デバイス変えてみたりして地道に切り分けて行くしかないのかな >>469 物理だと問題無いんですよね。あと、KVM 無しの QEMU でも問題無かったです。 Xeon E3-1200v2 の仮想化支援機能に何か問題があるんじゃないかなーと思ってます。。 ひとまず、E5 を使うことで切り抜けたのですが、 他の方々は E3 で問題無く、FreeBSD 9.1 amd64 disk1 の起動できます? >>470 BIOSで何らかのオプションが無効になってるとか? vなしのE3-1245にSL6.3の環境ですが 怪しい感じも無くインストール、ログインまでいけましたよ ちょっとなかなか高負荷にならず、間空いちゃってすいません。 >>460 rw,relatime,vers=3,rsize=8192,wsize=8192,namlen=255,hard,proto=tcp,timeo=56,retrans=2,sec=sys, mountaddr=**,mountvers=3,mountport=58074,mountproto=udp,local_lock=none,addr=** asyncは指定してません。デフォなのでおそらくsyncですね。 >>461 ddで100MBのファイルを5回書き込み、1MBのファイルを500回書き込みとやってみましたが いずれもキャッシュに載ってしまって200MB/sとかです。 それ以上のサイズは、本稼働中なんでちょっと厳しいw >>462 readが0〜8000kで平均1000k、writeが0〜5000kで平均1500kといった感じでした。 >473 乙です。 NFSの引数はあまりわかってないですが、 今のところ、見せてもらった情報からは、 NFSがボトルネックのような内容見えてない気がします。 iowaitは気になりますが、コア8つでロードアベレージが 7ってことは、コア単位で言えば、待ちは1つ以下になるし。 使ってるグループウェアの仕様上のボトルネックみたいな ものはないんでしょうか。同時接続数がいくつまで・・とか、 無駄にiowaitを生じさせるような動作をしてるとか・・・ >>473 NFSのオプションにいくつかイケてない内容があるです それはクライアント側のマウントオプションだけど、 rsize=8192,wsize=8192 これもっと大きい数字にできる。 うちはrsize=1048576,wsize=1048576 mountproto=udp これ事故る元。 tcpに変えた方がいいです。 syncかasyncかはサーバ側で exportfs -v しないと解らないです。 そこに必ず表記が出ます。 NFSの引数について判らなかったために 随分適当なことを言ってしまったみたいですね、 すみません。 rsize, wsizeは昔は8192にするのは定石だったと思いますが、 今はもっとずっと大きいんですね・・・ NFSは枯れててあまり最新のネタって無いですからね、仕方ないと思います。 適当でも普通に動いちゃうし。 dstatの結果を見る限り、かなりディスクに負荷かかってるんじゃないかと思います。 ランダムアクセスで常時Read/Writeが1〜2MB/sって、そこそこリソース食ってると思う。 ストレージの無負荷のDiskMark値がないとなんとも言えんけど、 HDD2台のRAID1構成のNFSサーバに、KVMゲストからDiskMarkしたときは、 4kランダムで1〜4MB/sくらいでした。 RAID6遅いし、使ってるディスクの仕様が解らんけど、ストレージもある程度酷使されてると予想。 >>475 proto=でなくmountproto=だからあまり問題ないんでは? 何度もありがとう、参考になります。 >>474 メーカーにさんざん調べさせた結果、もうどう叩いてもこちら側の問題ではなく サーバー側ディスクIOパフォーマンスの問題である、というのが最終回答でした。 実際、仮想化物理ホストのローカルHDDに載せてしまえば、現スペックでも こんな程度のユーザー数、アクセス数は余裕で裁ける程度なんですよね。 >>475 なるほど、rwsizeは拡大方向で、計測しながら変更してみます。 mountprotoは無指定なのでデフォ値ですね。これもtcpに変えたら どれくらいパフォーマンスが落ちるかを計測しつつ検討してみます。 ちなみにfstabのマウントオプションは rsize=8192,wsize=8192,timeo=56,hard,nointr です。 で、nfsサーバー側でexportfs -v をしたところ、asyncでした。 <world>(rw,async,wdelay,insecure,no_root_squash,no_subtree_check) 実際nfsサーバー側で見てる限り、iowaitなんか全くないし その他負荷もさっぱりなんですよね。 深夜の無負荷時にhdparmでも実行してみます。 これは確かにネタが少なくて調べるの大変なんですが、 NFS マウントオプション tcp これでぐぐったら出てくるよ。(修行中とか言われてリンク貼れなかったorz) この辺りに書いてあるです。 さくらとかの、VPSってKVMつかっているんでしょ 仮想マシンイメージファイルのダウンロード、バックアップって、許可されていないんだろうか 自分でバックアップとったのをダウンロードして 手元のkvmで動かしたけど、許可必要だったのかー >>482 仮想マシンイメージファイルのレベルで、ダウンロードできるんだ? 仮想マシンイメージのダウンロード、アップロード機能提供したら、 -ちょっとでも価格の安い事業者へユーザーが引っ越しちゃう -繁忙期以外にも無駄に契約させておく事が出来なくなる なので、余程自信のあるところ以外はやらないでしょ 一応、Amazonが(Xenだけど)提供してたはず。他は聞いたこと無い >>485 じゃ、自宅のKVMで仮想マシンをつくったのを、 さくらVPSでそのままアップロードしてつかえるのかな? ○さくらのクラウド ×さくらのVPS 同じものだと思っていました。 ちがうってことですね? クラウドの定義ってあるんですか VPSのことがクラウドだと思っていた ぐぐればすぐわかることをいちいち聞くキチガイは 死んだほうがいいと思うよ。 KVM使ってて、たまにVirtual Machine Manager越しに This usually means that QEMU or KVM is not installed on your machine, or the KVM kernel modules are not loaded. って出て新規ゲストが作れなかったり、マイグレーション出来なくなることってない? 調べてもわかんねーんだが。 ログにもたいした内容出てないし。 ホストとゲストに同じディスクの同じパーティションをマウントしてます. 片方でそのパーティションを変更しても,もう片方ではその変更が 同期されないんですけど,同期させるにはなにかオプションとか 必要ですか? 何がどうなってんのか詳しく書かないと解らんです。 どうやってマウントしてるのか、ゲストのOSは何なのか、 何をマウントしてるのか。 >>494 どうも,詳しく書かせてもらいます. OSはホスト,ゲスト共に Debian squeeze です. 「ホストの /dev/sdf というディスクをホスト,ゲスト両方で使いたい」というのが目的です. /dev/sdf は3TBのHDDでパーティションは1つのみ,ファイルシステムはext4でフォーマットしてます. ホストでは普通に host# mount /dev/sdf1 /mnt でマウントしていて,中身がきちんと見れます. ゲストの方は,libvirt で /dev/sdf を disk device として接続しており, ゲストでは /dev/vdd として認識されています.これで guest# mount /dev/vdd1 /mnt とやると普通にマウントができて,最初にマウントした時は両者とも /mnt 内のファイルは一致していました. しかし,片方で新しいファイルを作ったり削除しても,もう片方のほうでは それが反映されません.というのが問題点です. mount のオプションかなー,とおもって どちらのマウントも sync にして見ましたが, 結果変わらずでした.なにかご意見お願いします. また,/dev/sdf のディスク以外もゲストに接続しているので, そのディスクでもホスト,ゲスト両方でマウントして, 同様に内容を編集してみましたが,やはり内容の編集は 反映されませんでした.特定のディスクの問題という わけではないようです. 今までは各ディスクはゲストのみで使うようにしていて, ゲスト,ホスト両方で使う用途がなかったので気づきませんでした. 連レスすいません. 詳しいバージョンを書いておきます. デフォルトの sueeze の kvm と libvirt が古かったので, backports の新しいものをインストールしています. カーネル: 2.6.32-5-amd64 kvm: QEMU emulator version 1.1.2 (qemu-kvm-1.1.2+dfsg-5~bpo60+1, Debian) libvirt: 0.9.12 共有想定してないファイルシステムを複数箇所からマウントすると壊れないか? クラスタファイルシステム使わないとダメかと。でもNFS使った方がお手軽かも >>498-499 なるほど,同時マウントってやってはダメなんですね. やりたいのは,ホストで録画したファイルがあるディスクを ゲストの SAMBA サーバで共有したいんですよね. ホストにはできれば,SAMBA 入れたくなくて. とすると, ホストで NFS 共有 -> ゲストで NFS マウント -> ゲストで SAMBA で公開 になるのかな.ややこしや. KVMでvirtualbox用のかそーディスクの.OVAを インポートして使えたりできないんですかね? >>502 え,だめだった? NFS 共有できない Windows マシンとかもあるから SAMBA で 公開したいんだけど.あとユーザ認証したいし. sambaで共有したいけど、ホストにsamba入れたくないならそれでおkなような ちょっと考えなおして, ゲストでディスクをマウント -> ゲストで SAMBA 公開 -> ホストで smbmount してそこに録画 のほうがいいかと思い始めた. で,ちょっと聞きたいんだけど, SAMBA 公開するゲストが起動したタイミングで, 自動的にホストに smbmount させることってできるかな? ゲストからホストの操作って可能? >>505 そうそう ゲストからホストを操作するのも色々やりようはある気がする。例えば、ssh使う方法。 1. ゲストでssh-keygenして空パスフレーズで鍵ペア作る 2. ホストのrootのauthorized_keysにゲストの公開鍵を追記 3. ゲスト起動時に下のようなスクリプトが走るようにする # ssh -l root ホスト mount XXX これで一応できるはず。もちろんsambaの認証が自動でされるようにホストの/etc/fstabなりに予め設定しておくのは前提ね。 >>506 うむ,やっぱり ssh か.まあそれが楽か. ホストの fstab に書いちゃうとホスト起動時にマウントしようとして, ゲストの SAMBA サーバが起動していないからマウントに失敗すると思うんだが. fstab でマウントはせずに認証だけすることってできるの? mountオプションにnoautoでいけるんじゃないかな >>508 おー,なるほどー.そんなオプションがあったのか. ごめんなさい,mount のオプション多すぎてよく覚えとらん. アドバイスありがとう.その方針でやってみます. ここにあんま書かれないけど、KVMもかなり新機能出てきてるっぽいね。 >>510 例えば? それにしても、企業がqemu-KVMなんて使うとは思えない。 よっこら 性能を改善したオープンソースのエミュレータ「QEMU 1.4」が公開 - SourceForge.JP Magazine : オープンソースの話題満載 http://sourceforge.jp/magazine/13/02/19/006211 さくらVPSってのは、qemuっぽいみたいですね。失礼いたしました。 いやいや、思うのは勝手だからいいですよ だたあんま偉そうにすんな 一台のサーバーにkvmでホストOSとしてdebianとWindowsServerを入れて、 両方Webサーバを動かそうとしてるんだけど 2つのホストOSそれぞれに違うドメインを割り当てたいんだけどそういう 事できる? ホストでapache動かしてバーチャルドメイン使えば手っ取り 早いんだろうけど サイトをまとめて運用したくないし、一つはIISじゃないと困った事になるの で・・・ kvmなんか使わなくても、iisでよくね? なんで1台のwebサーバで2サイトやりたくないのか解らんけど、 ホストヘッダー設定したら目的は達成できるでしょ。 全然問題ないからやってみ。 2つのゲストOSの間違いだったしにたい。 素直にiisでやります。 qemu-kvmを-no-kvmオプションでVBOX上のCentOS6で動かしたいのですが可能ですか? virshや、virt-managerからはkvm-intel or kvm-amdがないのでエラーとなっているようです。 長いオプションを指定して起動するしか方法がないでしょうか? vmのネストをやりたいんだと思うけど、 条件をぶった切って、 ホスト機→vmware player→fedora17以上→kvm なら実現できるはず。 バーチャルボックスが仮想化支援を引き継げるなら、バーチャルボックスでもおk Cent6でもネストは可能だけど、マンドクセので勧めません 上記はできるはずってだけで、自分もこれから実施予定 ごめん、ボケてました。 ホスト機→VMWwarePlayer→Cent6→KVM これでOKだね。 VMWwarePlayerなら仮想化支援引き継げます。 >>525 VMPlayerでできました。ありがとうございます。 CentOS6.3 x86_64にyumでKVM入れたんだけど qemu-nbdはどこにあるんでしょ? リポジトリあれば教えてください "qemu-nbd centos"はぐぐってみたの? ググっても出てこないですねぇ # yum list | grep qemu gpxe-roms-qemu.noarch 0.9.7-6.9.el6 @anaconda-CentOS-201207061011.x86_64/6.3 qemu-guest-agent.x86_64 2:0.12.1.2-2.355.0.1.el6.centos.2 qemu-img.x86_64 2:0.12.1.2-2.355.0.1.el6.centos.2 qemu-kvm.x86_64 2:0.12.1.2-2.355.0.1.el6.centos.2 qemu-kvm-tools.x86_64 2:0.12.1.2-2.355.0.1.el6.centos.2 qemu-guest-agent-win32.x86_64 2:0.12.1.2-2.355.0.1.el6.centos.2 EPELにもないみたいです qemu-nbdなさそうなのでソースからコンパイルしました お騒がせしました >>529 パッケージの名前に「nbd」が入っていると思い込んでるから見つからないんじゃ 今5分くらい探したらRHEL6用のこーゆーのは見つかったよ Content of RPM : (中略) /usr/bin/qemu-mips /usr/bin/qemu-mipsel /usr/bin/qemu-nbd /usr/bin/qemu-ppc /usr/bin/qemu-ppc64 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる