VyOS-1.1.8のqcow2イメージを作る

過去, 幾度かやったけど毎度記憶が薄れていくので都度メモを残す。
(2018/4/18修正:MAC周りで不具合でたので修正)

1. isoダウンロード
2. 仮想ディスク作成
3. KVMで起動
4. VyOSインストール
5. sysprep

# isoダウンロード
wget https://downloads.vyos.io/release/1.1.8/vyos-1.1.8-amd64.iso
# 仮想ディスク作成
qemu-img create -f qcow2 ./vyos.qcow2 2G
# 仮想ディスク指定で起動
virt-install --name vyos118 --disk path=./vyos-1.1.8.qcow2 --vcpus=2 --ram 2048 --cdrom=./vyos-1.1.8-amd64.iso --os-type=linux --graphics vnc,listen=0.0.0.0 --noautoconsole
# VyOSにログイン
virsh console vyos118
# イメージインストール
system image install
# 以降, 「Yes」を連打。終わったらrebootして確認。
# 再起動後, インタフェースにMACの記述があったら削除
vyos@vyos$ conf
vyos@vyos# delete interface ethernet eth0 hw_id **
vyos@vyos# commit
vyos@vyos# save
vyos@vyos# exit

以上。

【OpenStack】Magnum入れたらHorizonの表示がおかしくなった

ここに習ってコンテナのコンポーネント”Magnum”をインストールしたらHorizonの表示がおかしくなった。

イメージが表示されないし, インスタンスの新規作成も反応無し。

一体なんなんだ。

CLIでは普通に動くからHorizonなんだろうな。

なーんて思って色々試してみたら, アップデート手順で復活した。DBあたりの不整合かしらね。

使っていないから無視していたけど, ceilometerのComputeのERRORログは吐き出し続けている。

(4/14追記)
うまくいったかなーなんて思っていたんだけど, openstack-statusコマンドの表示がおかしい。全部”disabled on boot”で”inactive”になっていた・・・。いつのタイミングだ???
そしてインスタンスにもアクセスできない。

あちゃーこりゃ逝ったなーなんて思って, どうにか復旧させる。もう手っ取り早く(かなり強引に)復旧させる。レッツ上書きインストール。

packstack --answer-file=./ans.txt

残っていたanswerfileをつかって再度実行。
無事復活しました。
ファイルサーバとしてつかっていたインスタンスのデータもちゃんと(?)残っていたし, Cinder Bootだったのでデータはきっちり復旧できました。やっぱCinder Bootはいいね。
Magnumを追加したけどopenstack-statusの結果には載ってこない。
中身見るとMagnum分追加しないとダメみたいね。

また今度。

【OpenStack】Ocataでインスタンス作成エラー

AWSのインスタンスにOcataをPackstackで入れて見たんだけど, インスタンス作成時にエラーが出る。

 ERROR nova.conductor.manager [req-c532e549-5c8c-44b9-a1f6-728b6e8dccdf - - - - -] No host-to-cell mapping found for selected host packstack. Setup is incomplete. 

バグという情報もあり, Work Arroundに習って以下コマンドを実行することで回避出来た。

# nova-manage cell_v2 discover_hosts
# nova-manage cell_v2 list_cells
+---------+--------------------------------------+
| Name | UUID |
+---------+--------------------------------------+
| cell0 | 00000000-0000-0000-0000-000000000000 |
| default | cd0248ed-7350-48d6-9239-236083c4d401 |
+---------+--------------------------------------+

新たにCellが出来たっぽい。
が, インスタンスを作ってみると

nternal error: process exited while connecting to monitor

という新たなエラーで起動せず。んー。
なんか足りない。

VyOSのイメージ作成

OpenStackでVyOSのイメージをESXからのイメージでなんとなく適当にやっていたけど, やっぱキレイなイメージ使いたいと思って今日やっとこさやった。

手順はこう。

  1. KVM上でVyOSのisoイメージから起動する用のCentOSを準備
  2. KVM on OpenStack(KVM)となるので, インスタンスをちょっといじる
  3. KVM用CentOSに必要なパッケージを入れる
  4. VyOSのisoをDL
  5. KVM上で起動
  6. MAC消してeth0をDHCPに設定したり自分色に染める
  7. qcow2をOpenStackにイメージとして登録で完了

実際の流れ。

CentOS7のインスタンスを立ち上げる。
KVM on KVMの設定をここを参考に実施。
必要なパッケージインストール。

sudo yum install -y qemu-kvm libvirt virt-manager libguestfs.x86_64

KVM上でVyOS起動

qemu-img create -f qcow2 ./vyos.qcow2 2G
virt-install --virt-type kvm --name VyOS --ram 1024
--cdrom=../vyos-1.1.7-amd64.iso
--disk ./vyos.qcow2,format=qcow2
--network default
--nographics

VyOSをウィザードに従ってインストール。
これはオフィシャルの手順のまま。
インストール完了後再起動。VyOSはCD-ROMデバイスを再起動後に勝手にデタッチするので, この手順はやらなくてOK。

VyOSのテンプレートとなる設定を好みで入れる。(MACは消しておく)

conf
delete interface ethernet eth0 hw-id xx:xx:xx:xx:xx
set interface ethernet eth0 address dhcp

これで出来上がったqcow2をopenstack nodeへscp。
OPENSTACKにイメージとして登録。

openstack image create --file vyos-1.7.7.qcow2 --public --disk-format qcow2 --container-format bare VyOS-1.1.7

あとはこのイメージをもとにインスタンス作成。

openstack server create --flavor m1.small --image VyOS-1.1.7_true --security-group default --nic net-id=172.20.30.0/24  vyos_true

やっとすっきり!

参考までに今回作成したイメージをここに置いておく。

【メモ】openstackのyumでのアップデート手順

以前, 考えなしに yum update -y とかやったらOpenStack環境がぶっ壊れたので, 手順をこれみて確認しながら恐る恐るアップデートした。リポジトリオフっていたから久々に yum check-update やってみたら出るわ出るわ, アップデートの数々。やめようかと思った。

openstack-service stop
yum update -y
keystone-manage token_flush
keystone-manage db_sync
cinder-manage db sync
glance-manage db_sync
nova-manage db sync
heat-manage db_sync
openstack-service start

これで完了。
問題なさそうだったけど, cinder bootしていたインスタンスがボリュームがねーぞってエラーを吐いて起動せず。確かにメッセージのディレクトリを見てみるとたしかに無い。
試しに, 当該ボリュームから新しくインスタンスを起動してみると問題なく立ち上がる。

つーことで, 調査を諦めてインスタンス削除して新しく作ってリカバった。

packstackもいいけどtripleOでの構築もやってみようかな。

Ocata入れてみた

Ocataがリリースされたので AWSにCentOSのインスタンス立てて入れてみた。
コンテナ周りが充実したとかでMagnumも入れてみた。

AWSでAllinoneって結構面倒なのね。ローカルのPCサーバでやるのとはちょっと手順やanswer-fileの編集が違う。そういうものかしらね。

入れたばかりで何も設定していないが, OpenStackのイメージが変わったのね。フラットデザインになった。

デザイン変わった直後ってどうしても「前のほうがよかったなー」ってなる

Docker・・・。指定なのかしら

そしてコンテナはインスタンスの種類でDockerって表示されるのか。ふーん。

あれ, openstack-statusコマンドが見当たらない。

→ yum install openstack-utils やってなかっただけだった。(3/22追記)

Ocata

OpenStackの15番目のリリースOcataが出ましたね。

バルセロナのビーチの名前だそうで, なんて発音するだろう。
オカタかしら。
https://wiki.openstack.org/wiki/Release_Naming

コンテナ周りが強化されたとか。今度バージョンあげてみようかな。まだコンテナつかったことないんだよなぁ。

OpenStack認定試験

正直なところ,運半分って出来でしたが業務+自宅のALL-in-one環境で触り倒して理解を深めつつ,なんとかOPCEL受かりました。

ネットワークのエリアは理解できていたけど,全体を通して細かな設定内容を理解できていなく厳しかったです。


この教材をベースに試験対策をしていましたが,当然というかコレだけでは受かりっこない内容です。実際に運用している人は余裕なんでしょうが,ネットワークエンジニアから入った人はもう少し試験勉強期間を取らないと大変かもしれません。(一夜漬けはキツイ)

でもまぁ,とりあえず受かってよかった。

【OpenStack】インスタンス作成時にSubnetを指定したい

1つのネットワーク上に複数のサブネットがある場合, インスタンスへfixed-ipを指定しないで作成するとサブネットが指定できない。

まだ実装されていないらしい。(されるのか?)

オフィシャルにやり方があったけど, よーわからん。

https://specs.openstack.org/openstack/nova-specs/specs/juno/approved/selecting-subnet-when-creating-vm.html