GNU/Linux >> Linux の 問題 >  >> Linux

libvirtでVagrantを使用する方法

私はそれを認めます:私はLinuxのファンです。私はワークステーションでSlackwareを、サーバーでRed Hat Enterprise Linux(RHEL)を何年も使用してきましたが、他のディストリビューションがどのように機能するかを見るのが大好きです。さらに、移植性を確認するために、他のディストリビューションで作成したアプリケーションとスクリプトをテストするのが本当に好きです。実際、これはLinuxの大きな利点の1つです。私が見ているように、ディストリビューションをダウンロードして、ソフトウェアを無料でテストできます。クローズドOSでは、少なくともEULAに違反するか、料金を支払わずにそれを行うことはできません。それでも、数百ギガバイト以下のアプリケーションをテストするためだけに、数ギガバイトをダウンロードするようにサインアップすることがよくあります。メガバイト。ただし、Linuxはオープンソースであるため、仮想マシンのセットアップには多くのクリックが必要であり、場合によっては複雑な仮想ネットワークが必要になることを除いて、少なくとも3つまたは4つの主要なディストリビューションを無視する言い訳はほとんどありません。少なくとも、Vagrantが開発者向けの仮想マシンワークフローを変更するまでは、それが言い訳でした。

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

Vagrantとは

Vagrantは、端末用のシンプルな仮想マシンマネージャーです。最小限の構築済みの仮想マシンをインターネットから簡単にプルしてローカルで実行し、わずか数ステップでSSHで接続できます。これは、仮想マシンをセットアップするのにこれまでで最も速い方法です。これは、テストWebサーバーを必要とするWeb開発者、ディストリビューション間でアプリケーションをテストする必要があるプログラマー、およびさまざまなディストリビューションがどのように機能するかを楽しむことを楽しむ愛好家にとって理想的です。

Vagrant自体も比較的最小限です。仮想化フレームワーク自体ではありません。仮想マシン(Vagrantの用語では「ボックス」)のみを管理します。 VirtualBoxを使用することも、プラグインを介して軽量のlibvirtプロジェクトをバックエンドとして使用することもできます。

libvirtとは

libvirtプロジェクトは、仮想化を管理するために設計されたツールキットであり、KVM、QEMU、LXCなどをサポートしています。これは一種の仮想マシンAPIと考えることができ、開発者は、ユーザーがlibvirtを介して仮想化を簡単に調整できるようにする使いやすいアプリケーションを作成できます。 libvirtをVagrantのバックエンドとして使用しているのは、virt-managerやGNOMEBoxなどのいくつかのアプリケーションで役立つためです。

Vagrantのインストール

Vagrantはvagrantup.com/downloadsからインストールできます。 Debianベースのシステム、CentOSベースのシステム、macOS、Windowsなどで利用できるビルドがあります。

CentOS、Fedora、または同様のものの場合、RPMパッケージを入手します。これは、dnfでインストールできます。 :

$ sudo dnf install ./vagrant_X.Y.ZZ_x86_64.rpm

Debian、Linux Mint、Elementaryなどでは、aptを使用してインストールできるDEBパッケージを入手できます。 :

$ sudo apt install ./vagrant_X.Y.ZZ_x86_64.deb

libvirtおよびサポートパッケージのインストール

Linuxでは、ディストリビューションにすでにlibvirtがインストールされている場合がありますが、Vagrantとの統合を有効にするには、他のいくつかのパッケージも必要です。これらをパッケージマネージャーでインストールします。

Fedora、CentOSなどの場合:

$ sudo dnf install gcc libvirt \
libvirt-devel libxml2-devel \
make ruby-devel libguestfs-tools

Debian、Linux Mintなどの場合:

$ sudo apt install build-dep vagrant ruby-libvirt \
qemu libvirt-daemon-system libvirt-clients ebtables \
dnsmasq-base libxslt-dev libxml2-dev libvirt-dev \
zlib1g-dev ruby-dev libguestfs-tools

ディストリビューションによっては、libvirtを開始する必要がある場合があります デーモン:

$ sudo systemctl start libvirtd

Vagrant-libvirtプラグインのインストール

Vagrantでは、libvirtはプラグインを介して有効になります。 Vagrantを使用するとプラグインを簡単にインストールできるため、最初のVagrantコマンドはめったに実行されないコマンドです:

$ vagrant plugin install vagrant-libvirt

libvirtプラグインがインストールされたので、仮想マシンの使用を開始できます。

Vagrant環境のセットアップ

Vagrantを開始するには、~/Vagrantというディレクトリを作成します。 。ここにVagrantfiles 保存されます。

$ mkdir ~/Vagrant

このディレクトリに、ダウンロードするディストリビューションを表すサブディレクトリを作成します。たとえば、CentOSテストボックスが必要だとします。

CentOSディレクトリを作成し、それに変更します:

$ mkdir ~/Vagrant/centos
$ cd ~/Vagrant/centos

次に、作成したディレクトリをVagrant環境に変換できるように、仮想マシンを見つける必要があります。

Vagrant仮想マシンの検索

大まかに言えば、Vagrantボックスは、Hashicorp(Vagrantのメンテナー)、ディストリビューションのメンテナー、そしてあなたや私のような人々の3つの異なる場所から来ています。一部の画像は最小限であり、カスタマイズのベースとして機能することを目的としています。対照的に、他の人は特定のニーズを解決しようとします(たとえば、LAMPスタックイメージがWeb開発の準備ができている場合があります)。メインハブでボックスapp.vagrantup.com/boxes/searchを参照または検索すると、画像を見つけることができます。

この例では、「centos」を検索して、generic/centos8という名前のエントリを見つけます。 。仮想マシンの使用方法については、画像をクリックしてください。手順には2つの種類があります:

  • Vagrantfileに必要なコード
  • 端末からボックスを使用するために必要なコマンド

後者はより簡単な方法です:

$ vagrant init generic/centos8

init サブコマンドは、現在のディレクトリにVagrantfileと呼ばれる構成ファイルを作成します。これにより、そのディレクトリがVagrant環境に変換されます。 global-statusを使用すると、いつでも既知のVagrant環境のリストを表示できます。 サブコマンド:

$ vagrant global-status
id       name    provider state   directory
-------------------------------------------
49c797f  default libvirt running /home/tux/Vagrant/centos8

Vagrantを使用して仮想マシンを起動する

initを実行したら コマンドを実行すると、vagrant upを使用して仮想マシンを起動できます。 :

$ vagrant up

これにより、Vagrantは、仮想マシンイメージがまだローカルに存在しない場合はダウンロードし、仮想ネットワークをセットアップして、ボックスを構成します。

Vagrant仮想マシンに入る

仮想マシンが起動して実行されたら、vagrant sshを使用して仮想マシンにログインできます。 :

$ vagrant ssh
box$

現在のVagrant環境で実行されているボックスに接続します。ログインすると、そのホストにネイティブなすべてのコマンドを実行できます。これは、エミュレートされたハードウェアと一般的なLinuxソフトウェアを備えた、独自のカーネルを実行する仮想マシンです。

Vagrant仮想マシンを離れる

Vagrant仮想マシンを終了するには、通常Linuxコンピューターを終了するときにホストからログアウトします。

box$ exit

または、仮想マシンの電源を切ることもできます:

box$ sudo poweroff

vagrantを使用して、マシンの実行を停止することもできます コマンド:

box$ vagrant halt

Vagrant仮想マシンの破棄

Vagrant仮想マシンを使い終わったら、それを破棄できます:

$ vagrant destroy

または、グローバルboxを使用して仮想マシンを削除することもできます サブコマンド:

$ vagrant box remove generic/centos8

Vagrantは簡単です

Vagrantは、仮想マシンを簡単で、使い捨てで、高速にします。 pingや開発を行うためのテスト環境や偽のサーバー、または実験や監視のためのクリーンなラボコンピューターが必要な場合は、Vagrantを使用して入手できます。コンテナがサーバーを乗っ取ったため、仮想マシンは関係ないと考える人もいますが、仮想マシンには、仮想マシンを便利にする独自の特性があります。それらは独自のカーネルを実行し、ホストマシンとは別の完全で一意のスタックを持ち、エミュレートされたハードウェアを使用します。仮想マシンが必要な場合、Vagrantはそれを取得するための最良の方法かもしれません。


Linux
  1. LinuxでBusyBoxを使用する方法

  2. Linuxでcronを使用する方法

  3. LinuxでのSCPコマンド:使用方法と例

  1. 実用的な例でLinuxHexdumpコマンドを使用する方法

  2. LinuxでSuコマンドを使用する方法

  3. LinuxにVagrantをインストールする方法

  1. 例を使用してLinuxでRmmodコマンドを使用する方法

  2. Linux で UID 0 の非ルート ユーザーを削除する方法

  3. Linux 上の Python で export を使用する方法