2015年3月19日木曜日

OpenStackで外部ネットワークと通信する

OpenStackで外部ネットワークと通信する手順について記載します。

OpenStackでは仮想マシンは「内部ネットワーク」のアドレスを付与し
外部との通信は「フローティングIP」を割り当てます。
「フローティングIP」を割り当てることで外部から通信が可能となります。

①外部ネットワークの作成

Openstackにadminでログインします。
「管理」-「システムパネル」-「ネットワーク」を選択します。
「+ネットワークの作成」をクリックします。
「ネットワークの作成」画面が表示されるので「外部ネットワーク」にチェックを入れて「ネットワークの作成」をクリックします。
作成したネットワーク名をクリックします。
「+サブネットの作成」をクリックします。
外部ネットワークに接続するネットワークアドレス、DHCPプール等を設定します。

②内部ネットワークの作成

「管理」-「システムパネル」-「ネットワーク」を選択します。
「+ネットワークの作成」をクリックします。
「ネットワークの作成」画面が表示されるので「外部ネットワーク」にチェックを入れずに「ネットワークの作成」をクリックします。
作成したネットワーク名をクリックします。
「+サブネットの作成」をクリックします。
内部ネットワークに割り当てるネットワークアドレス、DHCPプール等を設定します。

③ルータの作成

「プロジェクト」-「ネットワーク」-「ルータ」を選択します。
「+ルータの作成」をクリックします。
ルータ名を入力します。
作成したルータ名のアクション列の「ゲートウェイの設定」をクリックします。
「外部ネットワークの設定」で①で作成したネットワークを割り当てます。
ルータ名をクリックします。
「+インターフェースの追加」をクリックします。
サブネットに②で作成した内部ネットワークのサブネットを割り当てます。


④ファイアウォールの設定

「プロジェクト」-「コンピュート」-「アクセスとセキュリティ」を選択します。
「default」ルールの「ルールの管理」をクリックします。
「ルールの追加」から「ルール」に「ALLICMP」「受信」「CIDR 0.0.0.0/0」を追加します。
「ルールの追加」から「ルール」に「SSH」「CIDR 0.0.0.0/0」を追加します。

⑤仮想マシンイメージの作成

下記URLからダウンロードします。

http://docs.openstack.org/ja/image-guide/content/ch_obtaining_images.html
cirros-0.3.3-x86_64-disk.img

「プロジェクト」-「コンピュート」-「イメージ」を選択します。
「+イメージの作成」をクリックします。
「イメージソース」で「イメージファイル」を選択してローカルに保存した「cirros-0.3.3-x86_64-disk.img 」を
選択してアップロードします。

⑥仮想マシンイメージの起動
「プロジェクト」-「コンピュート」-「イメージ」を選択します。
⑤でアップロードしたciirosのアクション列から「起動」をクリックします。
インスタンス名、イメージ名「ciiros」を選択します。
ネットワークタブから②の内部ネットワークを選択して「起動」をクリックします。
「プロジェクト」-「コンピュート」-「インスタンス」を選択します。
起動したインスタンスのアクションから「Floating IPの割り当て」を選択します。
IPアドレスの+を選択後「IPの確保」を選択します。
外部ネットワークから接続できるIPが割り当てられました。
sshでcirrosに接続します。

2015年3月18日水曜日

CentOS6.6にOpenstack(icehouse)を導入する。

自宅のIntelNUC(Corei3 16GBメモリ128GB SSD)にCentOS6.6を導入後、Openstack環境を構築しました。

SELINUXをpermissiveモードに変更します。

vi /etc/selinux/config

 SELINUX=permissive

sysctl.confの下記3行の値を追記、変更します。

vi /etc/sysctl.conf

net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0

 
Openstackパッケージをダウンロード/インストールします。

yum install -y http://rdo.fedorapeople.org/openstack-icehouse/rdo-release-icehouse.rpm
yum install -y openstack-packstack
yum update -y
reboot

Openstackをallinoneで構築します。

packstack --allinone

Openstackをカスタム構築したい場合は下記のようにanswerファイルを作成し、実行します。

packstack --gen-answer-file answer.txt
packstack --answer-file=answer.txt

adminの初期パスワードを変更します。

source /root/keystonerc_admin
keystone user-password-update admin
vi /root/keystonerc_admin

 export OS_PASSWORD=**********
 
Openstack内仮想マシンが外部と通信できるようにブリッジ設定をします。

 vi /etc/sysconfig/network-scripts/ifcfg-br-ex
 
 DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.100.99 #eth0の設定
NETMASK=255.255.255.0 #eth0の設定
GATEWAY=192.168.100.1 #eth0の設定
ONBOOT=yes #eth0の設定
DNS1=192.168.100.1 #eth0の設定

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=OVSPort
ONBOOT=yes
NM_CONTROLLED=no
OVS_BRIDGE=br-ex
DEVICETYPE=ovs

reboot

Webブラウザから下記URLで接続します。

http://[OpenstackサーバのIPアドレス]/dashboard

adminでログインします。








なんか動作がもっさりしていますがログオンできました。




2015年3月16日月曜日

openstackのブリッジ設定

メモです。

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
DEVICETYPE=ovs
TYPE=OVSPort
ONBOOT=yes
OVS_BRIDGE=br-ex
NM_CONTROLLED=no
[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.64.130
NETMASK=255.255.255.0
GATEWAY=192.168.64.2
DNS1=192.168.64.2
ONBOOT=yes

2015年3月11日水曜日

ProxmoxveでESXi6を起動する

ESXi6限定ですがProxmox veでESX Serverを起動できます。
※ESXi5以前では動作しませんでした。

ESXi6はまだベータ版のみの提供ですが下記手順でProxmox ve上で動作可能です。


Proxmox veをkernel3.Xにアップデートします。


apt-get update
apt-get install pve-kernel-3.10.0-7-pve
reboot

下記ファイルを作成します。

vi /etc/modprobe.d/kvm-intel.conf

options kvm ignore_msrs=1
options kvm-intel nested=y ept=y

再起動します。

reboot
下記コマンド実行結果がすべて「Y」であることを確認します。
cat /sys/module/kvm_intel/parameters/nested                                                                            
cat /sys/module/kvm/parameters/ignore_msrs
cat /sys/module/kvm_intel/parameters/ept

Proxmox Webコンソールで仮想マシンを作成します。

[全般]任意
[OS]Linux 3.X/2.6 kernel
[CD/DVD]ESXi6のisoイメージを指定
[ハードディスク]IDE
[CPU]2コア以上で種別「host」を指定
[メモリ]2048以上
[ネットワーク]E1000

仮想マシンを起動します。

ESXi6のインストーラが表示されるのでウィザードに従ってインストールします。

下記のようなイメージです。



問題なく外部からも通信できます。


ESXi6(ベータ版)を入手する

以下の手順でESXi6のベータ版を入手可能です。
Proxmox VEでESXiを動かしたいと思い入手しました。

下記URLに接続します。
https://communities.vmware.com/community/vmtn/beta/vsphere-beta

下記ページにリダイレクトされるのでmy vmwareでユーザ登録後、ログインします。
https://my.vmware.com/web/vmware/login

下記URLに接続します。
https://communities.vmware.com/community/vmtn/beta/vsphere-beta

ページ内の[Download Beta - RC Build]をクリックします。

ESXi6のisoファイルをダウンロードできます。

2015年3月5日木曜日

KVMにESXiをインストールする

備忘録です。

cd /home
wget http://wiki.qemu-project.org/download/qemu-2.0.2.tar.bz2
tar xvf qemu-2.0.2.tar.bz2
vi qemu-2.0.2/hw/i386/pc_piix.c

===変更前===

pc_basic_device_init(isa_bus, gsi, &rtc_state, &floppy, xen_enabled(),
 0x4);

====変更後===

 pc_basic_device_init(isa_bus, gsi, &rtc_state, &floppy, TRUE,
 0x4);


apt-get install gcc pkg-config libglib2.0-dev zlib1g-dev libtool libc6-dev build-essential autoconf flex bison

./configure --enable-kvm --target-list=x86_64-linux-user,x86_64-softmmu
make
make install


vi /etc/modprobe.d/kvm-intel.conf

 options kvm ignore_msrs=1
 options kvm-intel nested=y ept=y

===以下のコマンドを実行しすべてyであること
cat /sys/module/kvm_intel/parameters/nested                                                                            
cat /sys/module/kvm/parameters/ignore_msrs
cat /sys/module/kvm_intel/parameters/ept


/usr/local/bin/qemu-system-x86_64 -enable-kvm -cpu host -m 4096 -smp 2 -cdrom -device vmxnet3 -hda esxi00.img

Proxmox veをkernel3.10にアップデートする

以下のコマンドを実行するだけです。
apt-get update
apt-get install pve-kernel-3.10.0-7-pve
reboot
pveversion