PackerでVyattaのVagrant用boxを作る

PackerVagrantを作った@mitchellhさんが作ったOSイメージ作成ツールです。 インストールはダウンロードページから自分のOSにあったバイナリを取ってきて入れるだけです。

今回はあまり見かけないVyattaのboxを作ってみました。 テンプレートはgithubに置いてあります。

packer-templates

今のところ6.4、6.5R1、6.6R1の64bitのものを置いてあります。 Packerのバージョンは0.2.3、VirtualBoxのバージョンは4.1.26で作っています。 他のバージョンだと動かないかもしれません。 VMware用も書いておいたのでVMware Fusionでも動くと思います。(試してません。)

テンプレートを使うときは以下のようにします。

packer build --only=virtualbox template.json # virtualboxのみ
packer build --only=vmware template.json # vmwareのみ

テンプレートの作り方ですが、基本的にはveeweeのDebian用のテンプレートをパクっています。 Vyattaのために少し工夫したのは以下の点です。

  • Vyattaにはdebian-installerが入っていないので初期設定をコンソールでやっている
  • シェルでVyattaのsetコマンドを使えるようにしている
WRAPPER=/opt/vyatta …
more ...

Ubuntuにapt-getでVMware Toolsをインストールする

ESXi5.0上のUbuntu12.04にapt-getでVMware Toolsをインストールする手順です。

wget http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub -q -O- | sudo apt-key add -
echo 'deb http://packages.vmware.com/tools/esx/5.0latest/ubuntu precise main' | sudo tee /etc/apt/sources.list.d/vmware-tools.list
sudo apt-get update
sudo apt-get install vmware-tools-esx-kmods-3.2.0-29-generic
sudo …
more ...

VMware上のVMでvNICをVMXNET3にしたときにUDPのパケットが飛ばない現象のまとめ

ESXi上のVMで fluentd → fluentd しようとしたらハートビート用のudpの通信ができていなかったので、調べた結果のまとめ。

調べた範囲ではパターンは3つ。

vNICは全てVMXNET3です。

E1000にすると直ります。

ESX or ESXi 4.0 4.1でVMのOSがRHEL 5.3以上の場合

以下のVMwareのKBに当てはまります。

UDP packet loss with MSI interrupts on VMXNET3

いくつか対処法が載っているけど、ESXを4.1u1以上にするのがいいですね。

VMのOSがRHEL6系の場合

以下のRed Hat KBに当てはまります。

Why does the vmxnet3 driver shipped with RHEL 6 update 2 drops small UDP packets?

カーネルをアップデートすると直るけど、あまりやりたくないですね …

more ...