タグ

linuxとvirtualizationに関するsomathorのブックマーク (7)

  • Qemuのしくみ (の一部) - VA Linux エンジニアブログ

    1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション 1.2 QemuのCPUエミュレーション 1.3 Qemuのスレッド 2. 追加のI/OスレッドとAioContext 2.1 追加のI/Oスレッド 2.2 AioContext 2.3 Big Qemu Lock 3. AioContextの各種イベント処理 3.1 AioHandler 3.2 event_notifier 3.3 タイマー、Bottom half 3.5 スレッドプール 執筆者 : 箕浦 真 こういう 仕事をしていると、ときどきQemuの仕組みや内部動作をお客様に説明する必要があることがあるが、そういう時に「Qemuの〜についてはここを見てね」と言えるような文書があるといいなぁと思って自分で作ってみることにした。 1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション Qemuはコンピ

    Qemuのしくみ (の一部) - VA Linux エンジニアブログ
  • systemd-nspawn, quagga, netns で仮想ネットワーク環境を構築する - Qiita

    はじめに Linuxnetns veth といったネットワーク仮想化機能と systemd-nspawn や quagga を組み合わせて、仮想ネットワーク環境を構築してみました。 今回は下記のトポロジを構築します。 構成要素の簡単な説明 netns ネットワークの名前空間を分けれるやつ 今回はエンドデバイスとして使用 veth 仮想 LANケーブル 仮想NIC のペアを作る systemd-nspawn chroot の強いやつ quagga Linux 上でルーティングプロトコルを動かすやつ ホストOS: Arch Linux (systemd が入っていればどのディストリでも OK?) 手順1 Arch Linux のインストール 省略 手順2 Arch Linux 内に systemd-nspawn で Arch Linux を構築 https://wiki.archlinu

    systemd-nspawn, quagga, netns で仮想ネットワーク環境を構築する - Qiita
  • 自作Linuxコンテナの時代 - ゆううきブログ

    最近、Docker以外のコンテナ型仮想化技術の流れとして、自作コンテナエンジンの時代が来るのではないかと感じている。 自作コンテナエンジンとは、コンテナ型仮想化技術を構成する個々の要素技術を組み合わせ、自分の用途にあわせて最適化したコンテナエンジンのことだ。 他のOSのコンテナ仮想化技術について疎いため、以下ではLinuxに限定して話を進める。 概要 Dockerも含めて、Linuxコンテナはコンテナを構成する複数の要素技術の組み合わせである。自分のやりたいことに対して、Dockerをはじめ既存のコンテナエンジンが複雑すぎるケースがある。そこで、自分の用途にあわせてコンテナエンジンを自作することを考えてみる。libcontainerに代表されるように、Linuxコンテナエンジンを自作しやすい環境が整いつつある。今後は、巨大なコンテナエンジンに対して、UNIX哲学に基づいて制御可能な小さなコ

    自作Linuxコンテナの時代 - ゆううきブログ
  • ハイパーバイザの作り方

    「ハイパーバイザの作り方」公開ページ こちらのページはSoftware Design誌の連載記事「ハイパーバイザの作り方」の公開ページです。 「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」も公開中ですので、こちらも是非ご覧ください。 公開中の記事 第1回 x86アーキテクチャにおける仮想化の歴史とIntel VT-x [HTML] [PDF] [ePub] [mobi] [Kindle] 第2回 Intel VT-xの概要とメモリ仮想化 [HTML] [PDF] [ePub] [mobi] [Kindle] 第3回 I/O仮想化「デバイスI/O編」 [HTML] [PDF] [ePub] [mobi] [Kindle] 第4回 I/O仮想化「割り込み編・その1」 [HTML] [PDF] [ePub] [mobi] [Kindle] 付属資料 最近のPCアーキテクチャにお

  • Docker と LXC - Qiita

    Docker はただ LXC を再発明しているわけではないというお話。DotCloud のファウンダーによる stackoverflow の質問への回答。 LXC はネームスペースやコントロールグループ等の Linux カーネルケーパビリティ機能を利用し、プロセスを他のプロセスからサンドボックス化し、それらプロセスへのリソースの割当てをコントロールしている。Docker はこのローレベルのカーネル機能を軸に、以下のような機能を提供している。 LXC に対し Docker が提供している機能 どんなマシンへもポータブルデプロイ可能 Docker はアプリケーションをビルドするためのフォーマットが定義されており、その全ての依存関係を (Docker がインストールされている全てのマシンで動作する) 単一のオブジェクトに入れ、それはどこで実行してもアプリケーション実行環境が同一になります。LXC

    Docker と LXC - Qiita
  • サーバー仮想化の仕組み

    ここで、自動化の基礎となるサーバー仮想化技術Linux KVM」について解説しましょう。次回以降の基礎となる内容ですので、知っている方も復習として目を通しておくとよいでしょう。 Linux KVMは、RHELが標準提供するサーバー仮想化機能です。Intel-VTなど、仮想化に対応した物理サーバーにRHELをインストールして利用します。仮想マシン上で動く「ゲストOS」と区別するために、物理サーバー上にインストールするRHELのことを「ホストLinux」と呼びます。 図1のように、ホストLinuxのカーネルモジュールとして、仮想マシンを動作させるための「ハイパーバイザー」機能が提供されます。それぞれの仮想マシンは、ホストLinux上の「qemu-kvm」という名前のプロセスとして実行されます。ホストLinuxからpsコマンドで仮想マシンの稼働状況を確認することも可能です。 もう1つ、Linu

    サーバー仮想化の仕組み
  • Docker = LXC + aufs + GitHub Culture - teppeis blog

    先日、社内勉強会のLTでDockerについて発表というか紹介しました。 DockerがYAVAY! from teppeis Dockerは各方面で噂は聞いていたんだけど、先月のTesting Casual Talks #1 : ATNDで、mizzyさんのDocker上でserverspecを走らせるデモを見てガツンとやられました。 仮想化というとVirtualBoxとかKVMみたいな仮想マシンしか想像してなかった自分には、起動時間ゼロで仮想環境が何度も実行される様子は衝撃的。調べてみると、LXCとaufsという要素技術をうまく組み合わせたものをGit&GitHub的なイマドキ開発文化でラッピングした感じで、うまいなーと感心しきりです。 発表もそのあたりのお話とデモが中心だったので、資料にはコマンドとかはないです。 実際に手を動かしたい方は先人の素晴らしい記事を読まれると良いかと思います

    Docker = LXC + aufs + GitHub Culture - teppeis blog
  • 1