曼谷

By , May 31, 2013 10:58 am

上个星期,第一次带着我们家二娃出远门,一家四口在曼谷住了一个星期。曼谷比海南热,所以我们基本上是上午出去,下午在酒店睡午觉。一个星期的时间,主要参观了大王宫、黎明寺、卧佛寺、国家博物馆(去了两趟)、Muang Boran古城、动物园、Jim Thompson博物馆、海洋馆。本来还想去大城Ayutthaya和水上市场的,最终还是没有时间,只好等下回了。

IMG_0352

游船码头,在Royal Orchid Sheraton酒店旁边。

在曼谷观光,最方便的交通工具就是游船。从酒店出门,走两分钟就到了游船码头。从游船码头可以直达黎明寺、卧佛寺、大王宫、国家博物馆等等多个景点。

早上坐船出去,下午坐船回来,是我们家球球在曼谷最喜欢的事情。

IMG_0359

黎明寺,两个娃娃管天王们叫做妖怪。

IMG_0400

卧佛寺,门扇上全是精美的画。

IMG_0454

古城Muang Boran里的卧佛。2007年我来曼谷出差的时候,也来过Muang Boran古城,也拍过这个卧佛。不过,我还是觉得以前的这张照片更好看。

IMG_0461

古城Muang Boran,在巨蛇Naga的前面留影。

IMG_0476

古城Muang Boran,两个娃娃学着打坐。

IMG_0532

在国家博物馆的小餐馆里吃饭。曼谷真的很热,两个娃都争着喝椰子水。泰国的椰子比海南的更甜,估计是这里阳光更加充足的原因。

在曼谷有一个感触,就是在各个地方吃饭都是安全的,也不宰客。

IMG_0517

天铁站旁边的游船码头。酒店每半个小时有一趟免费的船将客人送到天铁站,从天铁站可以到达曼谷市内其他景点。

印度紫檀

By , May 27, 2013 2:01 pm

文中多紫檀,
夏日乃盛开。
随风簌簌下,
铺就黄金毯。

72e49937jw1e4ehg7ceaej20go34x1kx

OpenNebula 3.8 — VMWare

By , May 3, 2013 1:47 pm

[1]前端节点的配置

首先需要在前端节点上安装OpenNebula,具体的方法可以参见《Ubuntu 12.04 Server安装配置OpenNebula 3.8》这篇文章。

为了简单期间,我们使用前段节点所提供的NFS服务作为ESXi节点的存储设备。在创建NFS服务的时候需要export两个目录:

$ sudo vi /etc/exports
/var/lib/one/datastores/0 *(rw,sync,no_subtree_check,root_squash,anonuid=10000,anongid=10000)
/var/lib/one/datastores/1 *(rw,sync,no_subtree_check,root_squash,anonuid=10000,anongid=10000)

然后需要在前端节点上安装libvirt,并且使得其支持VMWare。

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder ruby libgnutls-dev libdevmapper-dev libcurl4-gnutls-dev python-dev libnl-dev libapparmor-dev libpciaccess-dev

编辑/etc/libvirt/libvirtd.conf配置libvirt,将操作权限授予给cloud组:

unix_sock_group = “cloud”

编辑/etc/libvirt/qemu.conf配置libvirt,设置VNC:

vnc_listen = “0.0.0.0″

重启libvirt:

sudo service libvirt-bin restart
sudo chown oneadmin:cloud /var/run/libvirt/libvirt-sock

Ubuntu自带的libvirt不提供对VMWare的支持。我们需要手工编译安装libvirt 1.05,并设置为支持VMWare。

wget http://libvirt.org/sources/libvirt-1.0.5.tar.gz
tar xvzf libvirt-1.05.tar.gz 
cd libvirt-1.05
./configure --with-esx --with-apparmor --sysconfdir=/etc --libdir=/usr/lib --sbindir=/usr/sbin --datarootdir=/usr/share --localstatedir=/var --libexecdir=/usr/lib/libvirt
make
sudo make install

sudo cp -a examples/apparmor/usr.* /etc/apparmor.d/
sudo cp -a examples/apparmor/TEMPLATE /etc/apparmor.d/libvirt/ 
sudo cp -a examples/apparmor/libvirt-qemu /etc/apparmor.d/abstractions/ 
sudo cp /usr/local/bin/virsh /usr/bin/virsh 
sudo /etc/init.d/apparmor restart

export PERL_LWP_SSL_VERIFY_HOSTNAME=0

测试一下是否能够通过libvirt访问ESXi节点(在下面这个命令中,esxi01是ESXi节点的主机名):

virsh -c esx://esxi01/?no_verify=1 --readonly nodeinfo

如果没有以外的话,你应该可以看到类似于下面的信息:

oneadmin@opennebula:~/libvirt-0.9.10$ virsh -c esx://esxi01/?no_verify=1 --readonly nodeinfo
Enter username for esxi01 [root]: 
Enter root's password for esxi01: 
CPU model:           Intel Core i5-3330S CPU @ 2.70G
CPU(s):              4
CPU frequency:       2693 MHz
CPU socket(s):       1
Core(s) per socket:  4
Thread(s) per core:  1
NUMA cell(s):        1
Memory size:         8283168 kB

从VMWare网站下载VMware-vSphere-CLI-5.0.0-615831.x86_64.tar.gz,按照如下步骤安装:

sudo apt-get install libxml-libxml-perl libclass-methodmaker-perl libcrypt-ssleay-perl curl libdata-uuid-libuuid-perl perl-doc uuid libuuid-perl
tar zxvf VMware-vSphere-CLI-5.0.0-615831.x86_64.tar.gz
cd vmware-vsphere-cli-distrib
perl Makefile.PL 
make

sudo perl -MCPAN -e shell

install Bundle::CPAN

编辑文件vmware-install.pl,修改下面这几行

      if ( !( $ftpproxy && $httpproxy)) {
         uninstall_file($gInstallerMainDB);
         exit 1;
      }

修改后的内容为:

      if ( !( $ftpproxy && $httpproxy)) {
#         uninstall_file($gInstallerMainDB);
#         exit 1;
      }

然后执行安装程序:

sudo ./vmware-install.pl 

安装完成后,测试一下是否可以访问ESXi主机:

esxcfg-nics -l --server esxi01 --username root

修改etc/oned.conf,取消下面这些配置的注释:

IM_MAD = [
      name       = "im_vmware",
      executable = "one_im_sh",
      arguments  = "-c -t 15 -r 0 vmware" ]

VM_MAD = [
    name       = "vmm_vmware",
    executable = "one_vmm_sh",
    arguments  = "-t 15 -r 0 vmware -s sh",
    default    = "vmm_exec/vmm_exec_vmware.conf",
    type       = "vmware" ]

修改etc/vmwarerc,提供访问ESXi节点的用户名和密码:

# Username and password of the VMware hypervisor
:username: "root"
:password: "Password"

编辑etc/vmm_exec/vmm_exec_vmware.conf,注释掉下面这一行:

#DISK = [ DRIVER = file ]

然后重新启动OpenNebula服务:

one stop
one start

[2]ESXi节点的配置

在ESXi节点上启用SSH服务,通过vSphere Client在ESXi节点上创建用户oneadmin和用户组cloud,其用户ID和用户组ID都设置为10000(与前端节点一致)。将oneadmin用户添加到root用户组,允许oneadmin用户通过SSH访问ESXi节点,并给oneadmin用户分配管理员(Administrator)权限。

通过vSphere Client将前端节点所提供的两个NFS服务分别挂载为0 和1 两个数据存储(datastore)。

用root用户登录到ESXi节点,创建目录/etc/ssh/keys-oneadmin,并将前端节点上/srv/cloud/one/.ssh/id_rsa.pub文件拷贝成为ESXi节点上的/etc/ssh/keys-oneadmin/authorized_keys,然后将该文件的所有者设置为oneadmin用户。

# cd /etc/ssh
# chown -R oneadmin keys-oneadmin

修改ESXi节点上的防火墙配置文件/etc/vmware/firewall/service.xml,在文件末尾添加VNC配置:

<!-- VNC -->
  <service id="0033">
    <id>VNC</id>
    <rule id='0000'>
        <direction>outbound</direction>
        <protocol>tcp</protocol>
        <porttype>dst</porttype>
        <port>
           <begin>5800</begin>
           <end>5999</end>
        </port>
     </rule>
     <rule id='0001'>
        <direction>inbound</direction>
        <protocol>tcp</protocol>
        <porttype>dst</porttype>
        <port>
           <begin>5800</begin>
           <end>5999</end>
        </port>
     </rule>
     <enabled>true</enabled>
     <required>false</required>
  </service>

重新启动防火墙:

# /sbin/esxcli network firewall refresh
# /sbin/esxcli network firewall ruleset list

在前端节点上运行下面这个命令,测试一下是否可以通过OpenNebula访问ESXi节点。如果配置成功的话,可以看到该节点的CPU和内存等信息。

/srv/cloud/one/var/remotes/im/run_probes vmware 0 esxi01

通过SunStone管理门户添加ESXi节点,其虚拟化平台和监控组件都设置为VMWare即可。

Panorama Theme by Themocracy