タグ

qemuとLinuxに関するa_t_o_a_t_oのブックマーク (9)

  • mmapとページフォールト - KVM日記

    はじめに メモリ管理周りで勘違いしていた部分をコードを追いながら説明してみます。 概要 Q1: qemuはゲストメモリ領域をmmap(2)してるんだよね? A1: してますがコードには呼び出し箇所はありません*1。mmapはposix_memalign(3)内で呼び出されます。 Q2: ゲストより先に(qemuメモリ空間内の)ゲストメモリ領域にqemuがアクセスした場合どうなる? A2: qemuのページフォールトが起きますが、SPTEは割当てられません。そのため、ゲストが当該ページにアクセスすると再度ページフォールトが起きます。SPTEが設定されるのはこのときです。 調査対象バージョン x86_64 (Intel EPTあり) シャドウページテーブルはさすがに今さらなので(^^; linux-2.6.37.6 2.6.38はasynchronous page faultを実装していて読み

    mmapとページフォールト - KVM日記
  • 第2回 Linux KVMで知る仮想マシンの概要 | gihyo.jp

    第1回では、仮想マシンとは何か、その生い立ちや機能について簡単に紹介しました。今回から、x86システム仮想マシンがどのように実現されているのかを解説していきたいと思います。 x86システム仮想マシンには、VMwareによる仮想化製品をはじめHyper-V、Linux KVM、Xenなどがあることは、すでにご紹介したとおりです。この連載では、その中でも最近とくに注目を浴びているLinux KVMを中心に、x86仮想マシンの実装を見ていきましょう。今回は、Linux KVMの概要、および構成するソフトウェアについて解説します。 コンピュータを構成する3大要素 仮想マシンを理解するために、まず実際のコンピュータがどのような構成になっているかを知っておくと良いでしょう。コンピュータは、CPU、システムメモリ、I/Oデバイスの3つの要素から構成されています。 図1 コンピュータを構成する3大要素 C

    第2回 Linux KVMで知る仮想マシンの概要 | gihyo.jp
  • ディスクイメージのホスト側での操作方法 - Pylone Blog

    QEMUなどのシステムエミュレータでは、エミュレートされるシステムに対して仮想的なデバイスを見せることができます。 ハードディスクなどの記憶装置を模擬する場合、ディスクイメージをファイルとして作成して使うことが多いでしょう。 今回は、このディスクイメージを仮想環境の外側で作成/操作する手段について紹介します。 作業環境としてはLinuxを想定しています。 イメージの作成 希望の構成のディスクイメージを、ホスト環境で作成する手順を説明します。 ファイル作成 まず希望のデバイスサイズのファイルを用意します。 サイズさえ十分ならどのようにしても構いませんが、ddで作ることをおすすめします。例えば 512 MBytes のものを作りたいなら $ dd if=/dev/zero of=FILENAME bs=1 count=1 seek=536870911 とするとよいでしょう。 (seek= の値

  • 物理マシンを仮想マシンに移行する手順のまとめ - GeekFactory

    Linux KVM(Kernel-based Virtual Machine)の物理マシンを仮想マシンに移行する手順をまとめました。すでにある物理マシンを仮想マシンに移行する場合を考えます。仮想マシンを実行するための環境はハイパーバイザと呼びます。 ディストリビューションに依存しますが、基的にはカーネルを取り替えるだけで動きます。 カーネル KVMを実現するには下記の2つが必要です。ディストリビューションによっては標準で用意されています。 ハイパーバイザカーネル ゲストカーネル 両者はハイパーバイザの/bootに入れておくとよいです。KVMの起動時にカーネルを指定できるので、仮想マシンにカーネルイメージが入っていなくても大丈夫です。 kvm -kernel /boot/kvm.current/vmlinuz -append root=/dev/vda ちなみに、ハイパーバイザカーネルは下

    物理マシンを仮想マシンに移行する手順のまとめ - GeekFactory
  • ここだけ時代が20年ほどずれているブログ2:CentOS5と仮想化技術KVMと時々PCIパススルー(番外編)

    2011年03月30日 CentOS5と仮想化技術KVMと時々PCIパススルー(番外編) 最後にやり残したことを適当に書いていく「番外編」 番外編1:準仮想化ドライバvirtio導入編 番外編2:仮想マシン上でUSBデバイスを使う 番外編2.5:仮想マシン上でUSB2.0を使う 番外編3:仮想マシン上でPT2を使う 以上4点をお伝えしまーす 番外編1:準仮想化ドライバvirtio 「その4」でKVMへの準仮想化ドライバvirtio導入ネタはやらないと書きましたが、気が変わりました(笑)、簡単な導入方法だけ… virtioの役目についてはググって確認。あんまり分かりやすく書いているところはないけど適当に流し読みすれば概要くらいは分かると思う まぁ、最大限噛み砕いて説明すると、仮想マシンのディスクアクセスとネットワーク速度を改善するお役立ちドライバということで(笑) 手順1

  • ここだけ時代が20年ほどずれているブログ2:CentOS5と仮想化技術KVMと時々PCIパススルー(4/4)

    2011年03月10日 CentOS5と仮想化技術KVMと時々PCIパススルー(4/4) そんな訳でようやく4回目、いろんな意味で長かった Linux鯖で仮想マシンを動かしたい!という構想から試行錯誤を繰り返し、実用的に使えるまで結構時間がかかった。少なくとも3ヶ月以上は費やしてるはず? (ハードウェア的にもソフトウェア的にもね) まずCentOS5.5に標準実装されているKVM(KVM-83 QEMU-0.9.1)は古いバージョンなので、普通の仮想化をする分には問題はありませんが、PCIパススルーをするとなると、あまり具合がよろしくない 古いバージョンのKVMでPCIパススルーを試みた所、手持ちのカードでまともに使えたのは、100BASE LAN(i82557)とSCSIカード(AHA-2940UW)という、今となっては伝説級のクラシックカードしか動きませんでした。IEEE139

  • Stray Penguin - Linux Memo (KVM)

    KVM = Kernel-based Virtual Machine の中核は Linux カーネルのローダブルモジュールで、QEMU と協力してホストOS上で仮想マシンを実行することができる。Xen と異なるのは、Xen が Nemesis という異種OS をハイパーバイザとし、ホストOS はその上で動く特権ゲストと位置づけられるのに対して、KVM では Linux ホストOS 自体がハイパーバイザとなり、個々のゲストプラットフォームが各々ひとつのプロセスとして実行される点だ。また、Xen がフルバーチャライゼーション (完全仮想化) とパラバーチャライゼーション (準仮想化) の両方を提供しているのに対して、KVM はフルバーチャライゼーション専用。そのため、ゲストOS のカーネルを Xen 用に改変してハイパーバイザとの話し方を教えてやるというようなことが必要ない。完全仮想化によるオ

  • KVMのインストールとQCOW2スナップショット - しょんぼり技術メモ

    XenでのディスクイメージのスナップショットがどうやってもうまくいかないのでKVMに逃げることにしました。 で、KVMのインストールと。とりあえずCentOS5.2 x86をクリーンインストールし、Kernel 2.6.28.3をソースからインストール。 SourceforgeからKVM-84を落としてきて、展開。いくつか必要になるファイルがあるので、 yum install qemu yum install SDL SDL-develでインストーる。 ./configure --prefix=/usr/local/kvm make make install modprobe kvm-intelとして、 # lsmod|grep kvm kvm_intel 47336 0 kvm 155680 1 kvm_intelこうなればOK。 ゲストOSの作成 まずはディスクイメージの作成。QCOW

    KVMのインストールとQCOW2スナップショット - しょんぼり技術メモ
  • KVMを使う(ディスク性能編その2)

    hdparmを使ったread性能の測定 KVMではブートディスクの他に3つのディスクをアタッチできますから、3つのキャッシュモードをそれぞれ指定したイメージファイルをアタッチしてやることにします。 host# qemu-system-x86_64 -hda vm01.img \ -drive index=1,media=disk,cache=writethrough,file=raw1.img \ -drive index=2,media=disk,cache=writeback,file=raw2.img \ -drive index=3,media=disk,cache=none,file=raw3.img \ ... これでゲストOSからは、/dev/sdb = writethrough、/dev/sdc = writeback、/dev/sdd = noneのモードで利用できるよう

    KVMを使う(ディスク性能編その2)
  • 1