Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
コンテンツコンテンツ
仮想化ガイド
  1. 前書き
  2. I 概要
    1. 1 仮想化技術
    2. 2 仮想化シナリオ
    3. 3 Xen 仮想化の紹介
    4. 4 KVM 仮想化の紹介
    5. 5 仮想化ツール
    6. 6 仮想化コンポーネントのインストール
  3. II libvirt を利用した仮想マシンの管理
    1. 7 libvirt デーモン
    2. 8 VM ホストサーバ の準備
    3. 9 ゲストのインストール
    4. 10 基本的な VM ゲスト の管理
    5. 11 接続と認可
    6. 12 高度なストレージ設定
    7. 13 仮想マシンマネージャ を利用した仮想マシンの設定
    8. 14 virsh を利用した仮想マシンの設定
    9. 15 Xen から KVM への移行ガイド
  4. III 全ハイパーバイザ共通の機能
    1. 16 ディスクのキャッシュモード
    2. 17 VM ゲスト の時刻設定
    3. 18 libguestfs
    4. 19 QEMU ゲストエージェント
    5. 20 ソフトウエア TPM エミュレータ
    6. 21 VM ゲスト に対するクラッシュダンプの作成
  5. IV Xen を利用した仮想マシンの管理
    1. 22 仮想マシンホストの設定
    2. 23 仮想ネットワーク
    3. 24 仮想環境の管理
    4. 25 Xen 内でのブロックデバイス
    5. 26 仮想化: オプション設定
    6. 27 管理作業
    7. 28 XenStore: ドメイン間で共有される設定データベース
    8. 29 Xen の高可用性仮想化ホストとしての使用
    9. 30 Xen: 準仮想化 (PV) ゲストから完全仮想化 (FV/HVM) ゲストへの変換
  6. V QEMU を利用した仮想マシンの管理
    1. 31 QEMU の概要
    2. 32 KVM VM ホストサーバ の構築
    3. 33 ゲストのインストール
    4. 34 qemu-system-ARCH を利用した仮想マシンの実行
    5. 35 QEMU モニタを利用した仮想マシンの管理
  7. VI トラブルシューティング
    1. 36 内蔵ヘルプとパッケージのドキュメンテーション
    2. 37 システム情報とログの収集
  8. 用語集
  9. A NVIDIA カードに対する GPU パススルー の設定
  10. B GNU ライセンス
ナビゲーション
適用先 openSUSE Leap 15.6

22 仮想マシンホストの設定 Edit source

本章では、 openSUSE Leap 15.6 を仮想マシンのホストとして設定し、それを使用するまでの手順を説明しています。

通常、 Dom0 に対するハードウエア要件は特に存在せず、 openSUSE Leap オペレーティングシステムの要件と同じになります。ただし、構築予定の VM ゲスト システムのリソース要件を全て満たすため、追加の CPU やディスク、メモリやネットワークリソースなどを用意しておくことをお勧めします。

ヒント
ヒント: リソースについて

物理マシンと同様に、 VM ゲスト システムでも、より高速なプロセッサとより大容量のメモリを割り当てておくことで、性能を向上させることができます。

仮想マシンのホスト側となるには、いくつかのソフトウエアパッケージのほか、それらが必要とする追加のソフトウエアパッケージをインストールする必要があります。必要なパッケージをインストールするには、 YaST の ソフトウエア管理 を起動し、 表示 › パターン を選択したあと、 Xen 仮想マシンホストサーバ を選択してインストールを行ってください。この方法のほか、 YaST の 仮想化 › ハイパーバイザとツールのインストール からでもインストールを行うことができます。

Xen 関係のソフトウエアをインストールしたあとはコンピュータを再起動し、ブートローダの画面で Xen カーネルのオプションを選択してください。

更新は通常の更新チャンネルを介して提供されます。最新の更新をインストールするには、インストール後に YaST 内の オンライン更新 を実行してください。

22.1 注意事項 Edit source

ホスト側に openSUSE Leap オペレーティングシステムをインストールして設定するには、下記の事項に注意してください:

  • ホスト側では Xen ホストを動作させる必要があります。 YaST を起動して システム › ブートローダ を選択して、 Xen の起動項目を既定値に設定してください。

    • YaST を起動して システム › ブートローダ を選択します。

    • 既定の起動項目を Xen ラベル付きのものに設定します。

    • Ok ボタンを押します。

  • 性能を最大限に発揮するためには、仮想マシンホストには仮想化に必要なアプリケーションのみをインストールし、動作させておくことをお勧めします。

  • Xen ホストに接続されているウオッチドッグデバイスを使用したいとお考えの場合、同時に複数台の VM ゲスト から使用することは避けてください。また、一般的なソフトウエア実装ではなく、実際のハードウエア統合のドライバをお使いください。

注記
注記: ハードウエアの監視について

Dom0 カーネルは仮想化環境内で動作する仕組みであるため、 irqbalancelscpu などのコマンドが、実際のハードウエア特性を表さないかもしれません。

重要
重要: Xen では Trusted Boot がサポートされない件について

Xen では Trusted Boot (Tboot) はサポート対象外となります。 Xen を正しく起動できるようにするため、 GRUB 2 の設定ダイアログでは Trusted Boot サポート の選択を外していることを確認してください。

22.2 Dom0 のメモリ管理 Edit source

以前のバージョンの openSUSE Leap では、 Dom0 に対して全ての物理メモリを割り当て、自動バルーン設定が有効化されるよう、 Xen ホストのメモリ設定が行われていました。メモリはドメイン側で要求があるたびに Dom0 側から自動的に割り当てられる (バルーン) ようになっていました。この設定ではエラーを引き起こしやすくなってしまうことから、現在は無効化しておくことを強くお勧めしています。 openSUSE Leap 15.1 およびそれ以降のバージョンでは、既定で自動バルーンが無効化されるほか、 Dom0 に対してはホストの物理メモリの 10% + 1 GB 程度が割り当てられるようになっています。たとえば物理メモリが 32 GB のシステムで使用した場合、 Dom0 には 4.2 GB 程度が割り当てられます。

なお、 /etc/default/grub 内で dom0_mem という Xen コマンドラインオプションを使用することもできます。この方式も現在の推奨となっています。従来の動作に戻したい場合は、 dom0_mem の設定を物理メモリサイズと同じ値に設定し、 /etc/xen/xl.conf 内で autoballoon を有効化してください。

警告
警告: Dom0 のメモリが不足する場合について

Dom0 向けに予約するメモリ量は、 Dom0 がそれぞれの VM ゲスト に対してバックエンドのネットワークとディスク I/O サービスを提供することから、ホスト内で動作させる VM ゲスト の数に従って決まります。ただし、 Dom0 のメモリ割り当てを計算する場合は、それ以外の負荷に対しても考慮を行ってください。一般的には Dom0 も他の仮想マシンと同様にサイズを判断してください。

22.2.1 Dom0 のメモリ割り当ての設定 Edit source

  1. まずは Dom0 に対して必要なメモリ割当量を判断します。

  2. Dom0 で xl info と入力して実行し、マシンで利用可能なメモリ量を表示します。 Dom0 に対する現在のメモリ割り当ては、 xl list で表示することができます。

  3. /etc/default/grub ファイルを編集して、 GRUB_CMDLINE_XEN オプション内に dom0_mem=メモリ量 の形式で指定を行います。このとき、 メモリ量 には Dom0 に割り当てる最大のメモリ量を指定します。なお、末尾に K (キロバイト), M (メガバイト), G (ギガバイト) の単位接尾辞を指定することもできます。たとえば下記のようになります:

    GRUB_CMDLINE_XEN="dom0_mem=2G"
  4. あとはコンピュータを再起動して、設定を反映させます。

ヒント
ヒント

Xen 関連の起動設定オプションについて、詳しくは 12.2.2項 「/etc/default/grub ファイル」 をお読みください。

警告
警告: Xen の Dom0 メモリについて

XL ツールスタックと GRUB 2 内での Xen ハイパーバイザ向けの dom0_mem= オプションを併用している場合、 etc/xen/xl.conf 内で autoballoon を無効化する必要があります。無効化しないと、 VM の起動時に Dom0 のバルーン縮小を行うことができず、失敗することになってしまいます。そのため Xen 向けに dom0_mem= を指定した場合は、 xl.conf 内で必ず autoballoon=0 を設定してください。詳しくは Xen dom0 memory (英語) をお読みください。

22.3 完全仮想化環境でのネットワークカード Edit source

完全仮想化環境のゲストでは、既定で Realtek ネットワークカードの擬似版を使用します。しかしながら、 Dom0 と VM ゲスト の間での通信が必要となる場合は、個別のネットワークドライバを使用することもできます。オペレーティングシステムによっては両方のインターフェイスを提供しておく必要があることから、既定では両方のインターフェイスを VM ゲスト 側に提供します。

openSUSE Leap を使用している場合、既定では VM ゲスト に対して、準仮想化ネットワークカードのみを提供します。この場合、下記のネットワークオプションを選ぶことができます:

擬似版

擬似版 Realtek カードのような擬似ネットワークインターフェイスを使用するには、ドメイン xl 設定の vif デバイスセクション内に、 type=ioemu を指定します。たとえば下記のようになります:

vif = [ 'type=ioemu,mac=00:16:3e:5f:48:e4,bridge=br0' ]

xl.conf 内での xl 設定について、詳しくは man 5 xl.conf で表示されるマニュアルページをお読みください。

準仮想化版

type=vif を指定して model や種類を指定しないと、準仮想化版のネットワークインターフェイスを使用します:

vif = [ 'type=vif,mac=00:16:3e:5f:48:e4,bridge=br0,backen=0' ]
擬似版と準仮想化版の両方

両方のオプションを必要とする場合は、単純に type と model の両方を指定します。 xl の設定は下記のようになります:

vif = [ 'type=ioemu,mac=00:16:3e:5f:48:e4,model=rtl8139,bridge=br0' ]

この場合、 VM ゲスト 内ではいずれかのネットワークインターフェイスを無効化する必要があります。

22.4 仮想マシンホストの開始 Edit source

仮想化ソフトウエアを正しくインストールすることができたら、あとは GRUB 2 ブートローダで Xen オプション付きの項目を選択して Xen を読み込みます。仮想マシンのホスト側では必ず選択するようにしてください。

警告
警告

なお、 Xen システムを起動する際、 dom0 の /var/log/messages もしくは systemd のジャーナルに、下記のようなエラーメッセージが記録される場合があります:

isst_if_mbox_pci: probe of 0000:ff:1e.1 failed with error -5
isst_if_pci: probe of 0000:fe:00.1 failed with error -5

上記は ISST ドライバが仮想マシンに対する電源制御や周波数制御の機能を提供していない旨を表しているだけですので、無視してかまいません。

注記
注記: Xen と Kdump について

Xen ではハイパーバイザがメモリリソースを管理します。 Dom0 内でリカバリカーネル用のシステムメモリ予約を行いたい場合、ハイパーバイザ側で予約を行う必要があります。そのため、 crashkernel=サイズ のパラメータは、その他の起動パラメータではなく、 kernel の行に追加する必要があります。

crashkernel パラメータに関する詳細は、 18.4項 「crashkernel 割り当てサイズの計算」 をお読みください。

GRUB 2 のメニュー内に Xen オプションが存在しない場合、まずは前述のインストール手順を確認し、 GRUB 2 のブートローダ設定が更新されていることを確認してください。 Xen のパターンを選択せずにインストールを行っている場合は、 YaST の ソフトウエア管理パターン を選択し、 Xen 仮想マシンホストサーバ を選択してインストールしてください。

ハイパーバイザを起動したあとは、 Dom0 仮想マシンが起動し、グラフィカルなデスクトップ環境を表示します。グラフィカルなデスクトップ環境をインストールしていない場合は、コマンドライン環境が表示されます。

ヒント
ヒント: グラフィックで発生しうる問題について

場合によってはグラフィックシステムが正しく動作しなくなってしまうことがあります。この場合、起動パラメータに vga=ask を追加してください。また、解像度を固定で指定したい場合は、 vga=mode-0x??? を指定してください。なお、 ??? の値は 0x100 に VESA モード番号を加えることで計算することができます。 VESA モード番号については、 https://en.wikipedia.org/wiki/VESA_BIOS_Extensions (英語のみ) に書かれています。たとえば vga=mode-0x361 のように設定します。

仮想化ゲストをインストールする前に、まずはシステムの時刻が正しく設定されていることを確認してください。これを行うには、制御ドメイン側で NTP (Network Time Protocol) を設定します:

  1. YaST を起動して ネットワークサービス › NTP 設定 を選択します。

  2. NTP デーモンを起動時に自動的に開始するように設定したあと、既知の NTP サーバを指定して OK を押します。

注記
注記: 仮想化ゲストでの時刻サービスについて

ハードウエア側に搭載されている時計は非常に精度の低いものです。全ての新しいオペレーティングシステムでは、設定された時刻情報源から時刻を取得し、ハードウエアの時刻をシステムの時刻にあわせようとします。全ての VM ゲスト システムに対して正しい時刻を設定するには、それぞれのゲスト側でも NTP の設定を行うか、もしくはゲスト側に対してホストが提供する時刻を取得するよう設定してください。 openSUSE Leap における 時刻設定 について、詳しくは 17.2項 「Xen 仮想マシン時計設定」 をお読みください。

仮想マシンの管理に関する詳細は、 第24章 「仮想環境の管理 をお読みください。

22.5 PCI パススルー Edit source

VM ゲスト システムを最大限に活用するには、特定の PCI デバイスを特定の VM ゲスト に割り当てる必要がある場合があります。完全仮想化ゲストでこの機能を使用する場合、この機能に対応するチップセットが必要となるほか、 BIOS 側でも有効化しておく必要があります。

この機能は AMD* および Intel* の両方で使用することができます。 AMD の場合、この機能は IOMMU と呼ばれ、 Intel の場合は VT-d と呼ばれます。なお、 Intel-VT 技術の場合、完全仮想化ゲストで使用するには不十分な機能しか提供されていません。お使いのコンピュータがこの機能に対応しているかどうかを知るには、システムの販売元や提供元にお尋ねください。

制限事項
  • グラフィックドライバによっては、 DMA へのアクセスを高度に最適化しているものがあり、サポート対象外となっているものがあります。そのため、グラフィックカードの使用については難しいものとお考えください。

  • PCIe ブリッジ内にある PCI デバイスにアクセスする場合、全ての PCI デバイスを単一のホストに割り当てなければなりません。この制限は、 PCIe デバイスには当てはまりません。

  • 専用の PCI デバイスが割り当てられたゲストについては、異なるホストへの移行を行うことができません。

PCI パススルー の設定には 2 つのものがあります。 1 つはハイパーバイザ側の設定で、再割り当てを行うことができるようにするための起動時の設定、もう 1 つは VM ゲスト 側での PCI デバイスの割り当て設定です。

22.5.1 PCI パススルー に対応するためのハイパーバイザ側の設定 Edit source

  1. まずは VM ゲスト に再割り当てするデバイスを選択します。 lspci -k コマンドを実行してデバイスの一覧を表示し、デバイス番号のほか、デバイスに元々割り当てられていたモジュール名を記録しておきます:

    06:01.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05)
            Subsystem: Dell Device 0617
            Kernel driver in use: e1000e
            Kernel modules: e1000e

    上記の例では、デバイス番号が 06:01.0 、モジュール名が e1000e になります。

  2. xen_pciback がデバイスを制御するための最初のモジュールとなるよう、モジュールの依存関係を指定します。 /etc/modprobe.d/50-e1000e.conf というファイルを作成して、下記の内容を記述します:

    install e1000e /sbin/modprobe xen_pciback ; /sbin/modprobe \
     --first-time --ignore-install e1000e
  3. xen_pciback モジュールに対して、 hide オプションを使用してデバイスを制御するように指定します。 /etc/modprobe.d/50-xen-pciback.conf というファイルを編集するか新規作成して、下記の内容を記述します:

    options xen_pciback hide=(06:01.0)
  4. あとはシステムを再起動します。

  5. 下記のコマンドを実行して、割り当て可能なデバイスとして対象のデバイスが表示されていることを確認します:

    xl pci-assignable-list

22.5.1.1 xl を利用した動的な割り当て Edit source

ホスト側のシステムの再起動を避けるには、 PCI パススルー を使用する際に xl による動的な割り当てを使用することができます。

dom0 に対して pciback モジュールを読み込んでおきます:

> sudo modprobe pciback

あとは xl pci-assignable-add コマンドを実行して、デバイスを割り当て可能な状態にします。たとえばゲストに対して 06:01.0 のデバイスを割り当てられるようにするには、下記のコマンドを実行します:

> sudo xl pci-assignable-add 06:01.0

22.5.2 VM ゲスト システムに対する PCI デバイスの割り当て Edit source

VM ゲスト に対して PCI デバイスを専用に割り当てるには、いくつかの方法があります:

インストール時のデバイス追加

インストール時に設定ファイル内に pci 行を追加します:

pci=['06:01.0']
VM ゲスト システムへの PCI デバイスの活性接続 (ホットプラグ)

xl コマンドを使用することで、 PCI デバイスの追加や削除をその場で行うことができます。たとえばデバイス番号が 06:01.0 で、仮想マシン名が sles12 であれば、下記のように入力して実行します:

xl pci-attach sles12 06:01.0
Xend に対する PCI デバイスの追加

ゲストに対して恒久的にデバイスを追加するには、下記の内容をゲスト側の設定ファイルに追加します:

pci = [ '06:01.0,power_mgmt=1,permissive=1' ]

PCI デバイスを VM ゲスト 側に割り当てたあとは、ゲスト側で設定を行うほか、デバイスドライバについてもインストールを行ってください。

22.5.3 VGA パススルー Edit source

Xen 4.0 およびそれ以降のバージョンでは、完全仮想化環境の VM ゲスト に対して、 VGA グラフィックアダプタのパススルーに対応するようになりました。これにより、ゲスト側で高性能な完全 3D 環境やビデオアクセラレーションを使用できるようになっています。

制限事項
  • VGA パススルー の機能は PCI パススルー と同様の仕組みで動作するものであり、こちらについてもメインボード側のチップセットと BIOS の両方で IOMMU (もしくは Intel VT-d) に対応する必要があります。

  • プライマリのグラフィックアダプタ (コンピュータの電源を入れた際に使用していたもの) のみを VGA パススルー として使用することができます。

  • VGA パススルー は完全仮想化ゲストにのみ対応しています。準仮想化ゲストの場合、サポートされていません。

  • 複数の VM ゲスト でグラフィックカードを共用することはできません。いずれか 1 台のゲストでのみ使用することができます。

VGA パススルー を有効化するには、完全仮想化ゲスト側の設定ファイル内に、下記の内容を追加します:

gfx_passthru=1
pci=['yy:zz.n']

ここで、 yy:zz.n には VGA グラフィックアダプタの PCI デバイス番号を指定します。この値は Dom0 で lspci -v を実行することで、取得することができます。

22.5.4 トラブルシューティング Edit source

状況によっては VM ゲスト のインストール中に問題が発生することがあります。本章では、既知の問題とその解決方法について説明しています。

起動時にシステムがハングアップする

ソフトウエア I/O 変換バッファは、起動時の早い段階で low メモリに大きなチャンクを確保しようとします。もしもバッファのサイズ以上にメモリを要求してしまうと、通常は起動処理がハングアップしてしまいます。この問題に該当しているかどうかを調べるには、コンソールの 10 番に切り替えて、下記のようなメッセージが現れていないかどうかを確認してください:

kernel: PCI-DMA: Out of SW-IOMMU space for 32768 bytes at device 000:01:02.0

このような場合、 swiotlb のサイズを増やす必要があります。 Dom0 のコマンドラインに対して、 swiotlb= の形式で値を設定してください。なお、 には slab エントリ数を指定します。なお、この値を増やしたり減らしたりして、マシンに対する最適値を判断してください。

注記
注記: PV ゲストでの swiotlb について

PV ゲスト内で PCI デバイスを動作させるには、 DMA アクセスに対して swiotlb=force というカーネルパラメータを指定する必要があります。 IOMMU や swiotlb に関するさらに詳しい情報については、 kernel-source パッケージ内にある boot-options.txt ファイルをお読みください。

22.6 USB パススルー Edit source

ホスト側の USB デバイスをゲスト側にパススルーする方法としては、 2 種類のものがあります。 1 つは擬似 USB デバイスコントローラを介する方法、もう 1 つは PVUSB を使用する方法です。

22.6.1 USB デバイスの識別方法 Edit source

USB デバイスを VM ゲスト にパススルーする前に、まずは VM ホストサーバ 内でデバイスを識別する必要があります。ホスト側で lsusb コマンドを実行し、 USB デバイスの一覧を表示してください:

# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0461:4d15 Primax Electronics, Ltd Dell Optical Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

パススルーしたいデバイスを、 製造元 ID:デバイス ID の形式のデバイスタグ (上記の例では (0461:4d15)) もしくは バス番号.デバイス番号 の形式のバスアドレス (上記の例では (2.3)) でメモしておきます。なお、冒頭の 0 については削除しておいてください。これは、 0 を取っておかないと、 xl コマンドが 8 進数として解釈してしまうためです。

22.6.2 擬似 USB デバイス Edit source

擬似 USB デバイスを使用する場合、デバイスのモデル (QEMU) はゲストに対して擬似 USB コントローラを提供します。 USB デバイスは Dom0 から制御され、 USB のコマンドは VM ゲスト からホスト側の USB デバイスに送信される際、変換が行われます。この方式は、完全仮想化環境の仮想マシン (HVM) でのみ使用することができます。

擬似 USB ハブを有効化するには、 usb=1 オプションを設定します。あとは設定ファイル内で、接続されているデバイスの中からデバイスを選択します。このとき、 host:USBID のように指定します。たとえば下記のようになります:

usb=1
usbdevice=['tablet','host:2.3','host:0424:460']

22.6.3 準仮想化 PVUSB Edit source

PVUSB は Dom0 から仮想化ゲストに USB デバイスをパススルーするための新しく高性能な方式です。 PVUSB では、 USB デバイスを追加するにあたって、下記の 2 種類の方式を使用することができます:

  • 仮想マシンの作成時に設定ファイルで指定する方法

  • VM 動作中のホットプラグ接続による方法

PVUSB では準仮想化によるフロントエンド/バックエンドインターフェイスを使用します。 PVUSB では USB 1.1 と USB 2.0 に対応するほか、 PV と HVM の両方のゲストで使用することができます。 PVUSB を使用するには、ゲスト OS 側に usbfront を、 dom0 もしくは qemu 内の USB バックエンド内で usbback を使用します。 openSUSE Leap では、 qemu に USB バックエンドが付属しています。

Xen バージョン 4.7 およびそれ以降のバージョンで xl の PVUSB サポートとホットプラグサポートが追加されています。

設定ファイル内で指定する場合は、 usbctrlusbdev で USB のコントローラとホストデバイスを指定します。たとえば HVM ゲストの場合、下記のようになります:

usbctrl=['type=qusb,version=2,ports=4', 'type=qusb,version=1,ports=4', ]
usbdev=['hostbus=2, hostaddr=1, controller=0,port=1', ]
注記
注記

HVM ゲストのコントローラに対しては、 type=qusb を指定する点が重要です。

PVUSB デバイスのホットプラグを管理するには、 usbctrl-attach , usbctrl-detach , usb-list , usbdev-attach , usb-detach の各サブコマンドを使用します。たとえば下記のようになります:

USB 1.1 に対応し、 8 ポートを持つ USB コントローラを作成するには:

# xl usbctrl-attach test_vm version=1 ports=8 type=qusb

仮想マシン内にある最初のコントローラ:ポートを検出し、そこにバス番号:デバイス番号が 2:3 である USB デバイスを接続するには (controller (コントローラ) と port (ポート) を指定することもできます):

# xl usbdev-attach test_vm hostbus=2 hostaddr=3

仮想マシン内で利用可能な全ての USB コントローラとデバイスを表示するには:

# xl usb-list test_vm
Devid  Type   BE  state usb-ver ports
0      qusb   0   1     1       8
  Port 1: Bus 002 Device 003
  Port 2:
  Port 3:
  Port 4:
  Port 5:
  Port 6:
  Port 7:
  Port 8:

コントローラ 0 ポート 1 に接続されている USB デバイスを取り外すには:

# xl usbdev-detach test_vm 0 1

dev_id で表される USB コントローラと、それに接続されている全ての USB デバイスを取り外すには:

# xl usbctrl-detach test_vm dev_id

詳しくは https://wiki.xenproject.org/wiki/Xen_USB_Passthrough (英語) をお読みください。

このページを印刷