第561回ではローカルのマシンでもcloud-initを用いて初期設定できる方法を解説しました。そこで今回は、
クラウドイメージの利点
Ubuntuでは通常のインストーラー付きイメージとは別に
配布形式はディスクイメージだったり、
主なターゲットはパブリックもしくはプライベートのクラウドサービスです
さらにクラウドイメージは
そもそもUbuntuサーバーを
もちろんこれらの利点はクラウドサービス以外でも意味があります。第561回のように、
「クラウドイメージ」
クラウドイメージの種類
2019年4月時点でUbuntu 18.
- ubuntu-18.
04-server-cloudimg-amd64-root. tar. xz - ルートファイルシステムをただtar.
xzで固めたアーカイブです (約140MiB) - カーネルやブートローダーはインストールされていません
- コンテナのベースイメージや組み込みシステムでの利用を想定しています
- 最小のルートファイルシステムが欲しいなら、
Ubuntu BaseやUbuntu Minimalを使いましょう
- ルートファイルシステムをただtar.
- ubuntu-18.
04-server-cloudimg-amd64. img - QEMU/
KVM向けのQCOWイメージです (約300MiB) - QEMU/
KVMベースの仮想マシン管理システムやOpenStackなどで使われます - カーネルやブートローダーもインストールされています
- QEMU/
- ubuntu-18.
04-server-cloudimg-amd64. ova - OVA
(Open Virtual Appliance) 形式のイメージです (約300MiB) - VirtualBoxやVMWareをはじめとするOVA対応の仮想マシンシステムで使います
- フォーマットが異なるだけで内容はQCOWイメージと同じです
- OVA
- ubuntu-18.
04-server-cloudimg-amd64-vagrant. box - VirtualBox向けのVagrant Boxファイル
(OVF形式) です (約300MiB) - フォーマットが異なるだけで内容はQCOWイメージと同じです
- VirtualBox向けのVagrant Boxファイル
- ubuntu-18.
04-server-cloudimg-amd64. vhd. zip - VHD
(Virtual Hardk Disk) 形式のイメージです (約400MiB) - 主にHyper-Vで使います
- フォーマットが異なるだけで内容はQCOWイメージと同じです
- VHD
- ubuntu-18.
04-server-cloudimg-amd64. vmdk - VMDK
(Virtual Machine Disk) 形式のイメージです (約300MiB) - 主にVMWareで使います
- 実はOVAやVagrant Boxにはこのファイルがそのまま入っています
- フォーマットが異なるだけで内容はQCOWイメージと同じです
- VMDK
- ubuntu-18.
04-server-cloudimg-amd64. squashfs - squashfs形式のルートファイルシステムです
(約200MiB) - 読み込み専用のファイルシステムとしてマウントします
- 通常はOverlayFS2などと併用して書き込み領域可能を用意します
- squashfs形式のルートファイルシステムです
- ubuntu-18.
04-server-cloudimg-amd64. tar. gz - ext4イメージファイルをtar.
gzでアーカイブしたものです (約300MiB弱) - QEMU/
KVMやXenなど各種仮想マシン管理システムで使えます - BIOS用のMBRやUEFI用のESPは別途用意する必要があります
- フォーマットが異なるだけで内容はQCOWイメージと同じです
- ext4イメージファイルをtar.
- ubuntu-18.
04-server-cloudimg-amd64-lxd. tar. xz - LXD向けのテンプレートです
(約1KiB) - サイズからもわかるように、
これ単体は起動可能なイメージファイルではありません - 別途ダウンロードしたルートファイルシステムなどと組みあわせて使います
- LXD向けのテンプレートです
どのイメージも、
よって使用している仮想マシン管理システムにあわせてダウンロードするフォーマットを決めてください。よく使われるVirtualBoxやVMWareであれば、
ディスクイメージタイプのルートファイルシステムのパーティションサイズはおおよそ2GiB
今回は上記の中でも特に
また、
$ sudo apt install cloud-image-utils $ cat >user-data <<EOF #cloud-config password: ubuntu chpasswd: { expire: False } ssh_pwauth: True EOF $ cloud-localds user-data.img user-data
QCOW形式の使い方
QCOW形式については実は第561回で活用しています。他の方式との比較のために、
まずは必要なパッケージをインストールしておきます。
$ sudo apt install qemu-kvm qemu-utils ovmf
次にイメージをダウンロードし、
$ wget https://cloud-images.ubuntu.com/releases/18.04/release/ubuntu-18.04-server-cloudimg-amd64.img $ qemu-img resize ubuntu-18.04-server-cloudimg-amd64.img 10G $ cp /usr/share/OVMF/OVMF_VARS.fd .
今回もUEFI/
最後にQCOWイメージを起動します。最後の行では、
$ sudo qemu-system-x86_64 \ -m 2G -enable-kvm -nographic \ -net user,hostfwd=tcp::2222-:22 \ -drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd \ -drive if=pflash,format=raw,file=OVMF_VARS.fd \ -drive file=ubuntu-18.04-server-cloudimg-amd64.img,format=qcow2 \ -drive file=user-data.img,format=raw
これで
仮想マシン上の変更内容はQCOWイメージに保存されます。よって必要に応じてイメージファイルをコピーしておけば、
仮想マシンを起動せずにQCOWイメージをカスタマイズしたいなら、
$ sudo modprobe nbd $ sudo qemu-nbd -c /dev/nbd0 ubuntu-18.04-server-cloudimg-amd64.img $ sudo parted /dev/nbd0 print モデル: 不明 (unknown) ディスク /dev/nbd0: 2361MB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt ディスクフラグ: 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 14 1049kB 5243kB 4194kB bios_grub 15 5243kB 116MB 111MB fat32 boot, esp 1 116MB 2361MB 2245MB ext4 $ sudo mount /dev/nbd0p1 /mnt/
「ファイルシステム」
$ sudo umount /mnt $ sudo qemu-nbd -d /dev/nbd0 /dev/nbd0 disconnected
Vagrant Box形式の使い方
Vagrant Box形式では、
$ sudo apt install vagrant virtualbox
Boxファイルを追加します。名前は
$ vagrant box add bionic https://cloud-images.ubuntu.com/releases/18.04/release/ubuntu-18.04-server-cloudimg-amd64-vagrant.box ==> box: Box file was not detected as metadata. Adding it directly... ==> box: Adding box 'bionic' (v0) for provider: box: Unpacking necessary files from: file:///home/shibata/cloud/images/ubuntu-18.04-server-cloudimg-amd64-vagrant.box ==> box: Successfully added box 'bionic' (v0) for 'virtualbox'!
Vagrantからこのイメージを起動するためには、
$ vagrant init bionic A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
「bionic」
Vagrant.configure("2") do |config| # 中略 config.vm.provider "virtualbox" do |vb| vb.customize ["storageattach", :id, "--storagectl", "IDE", "--port", "0", "--device", "0", "--type", "dvddrive", "--medium", "user-data.iso"] end # 中略 end
気をつけたいことは、
「vagrant up」
$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'bionic'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: vagrant_default_1552725553144_75219 (以下略)
特にエラーメッセージ等が表示されなかったら、
$ vagrant ssh
ログインするのは
ちなみにUbuntuが提供するVagrant BoxにはConfigDrive方式のデータストアが最初から同梱されています。ただしこのデータストアは、manage_
」
OVA形式の使い方
OVA
VMWare vSphere Hypervisor(ESXi)の場合
VMWareのvSphere Hypervisor




次にESXiのデータストアに、
仮想マシンを起動する前に、

- 初期状態だとストレージのサイズは10GiBです。必要に応じて増やしてください。
- 他CPUやメモリ・
ネットワークなども適宜調整すると良いでしょう。
あとは通常通り起動するだけです。cloud-initの設定が適用されて無事に最新のUbuntu環境が構築されました。
VirtualBoxの場合
VirtualBoxもまたOVAに対応したソフトウェアです。次の流れで作成してみましょう。
ファイルブラウザーからOVAファイルをダブルクリックするか、



VirtualBoxの場合、
作成した仮想マシンを選択し設定ボタンを押します。ストレージの

ついでに使わないフロッピーデバイスは削除しておいてもいいかもしれません。
Ubuntuのクラウド向けイメージはOpenSSHサーバーも自動起動するため、

あとは通常通り起動するだけです。cloud-initの設定が適用されて無事に最新のUbuntu環境が構築されました。