1.opennebula简介 OpenNebula是一款为云计算而打造的开源工具箱。它允许你与Xen,KVM或VMware ESX一起建立和管理私有云,同时还提供Deltacloud适配器与Amazon EC2相配合来管理混合云。 目前可支持XEN、KVM和VMware,以及实时存取EC2和ElasticHosts,它也支持印象档的传输、复制和虚拟网络管理网络。 OpenNebula可以构建私有云、混合云、公开云。
2.opennebula的搭建 环境:Centos6.4 x86_64 需要源码包:ruby-2.0.0-p247.tar.gz opennebula-4.2.0.tar.gz 控制节点主机IP:192.168.0.127 计算节点主机IP:192.168.0.204 (1)在控制节点和计算节点主机上: 创建oneadmin用户和属组,并且设置oneadmin用户的密码: groupadd -g 600 oneadmin useradd -u 600 -g oneadmin oneadmin 设置oneadmin用户的密码(这里设为:oneadmin): passwd oneadmin 配置oneadmin用户,使其具有sudo权限: vim /etc/sudoers #在原来的root用户下,增加如下一行 oneadmin ALL=(ALL) NOPASSWD: ALL #注释掉 #Defaults requiretty (2)配置控制节点和计算节点之间的互信,即ssh不要密码即可互相通信: # su - oneadmin $ssh-keygen -t rsa #出现提示一路回车即可 $ cat .ssh/id_dsa.pub >>.ssh/authorized_keys $ chmod 644 ~/.ssh/authorized_keys $ chmod 755 ~/.ssh $vi ~/.ssh/config StrictHostKeyChecking no $ chmod 600 ~/.ssh/config $sudo scp -r ~/.sshoneadmin@192.168.0.204:~/ //拷贝过程需要输入密码,输入oneadmin即可 (3)测试两台主机的互通性: 不需要输入密码即可登录192.168.0.204主机。 (4)在控制节点安装需要的软件包: # yum install gcc gcc-c++ makeopenssl-devel flex bison og4cpp log4cpp-devel # yum install xmlrpc-c xmlrpc-c-devel libxslt scons # yum install mysql-servermysql-devel.x86_64 sqlite-devel.x86_64 (5)控制节点环境变量设置: #su - oneadmin $ mkdir ~/.one $ vi ~/.one/one_auth //登录密码存放位置 oneadmin:oneadmin $ vim ~/.bash_profile export ONE_LOCATION=/opt/nebula/ONE export ONE_AUTH=$HOME/.one/one_auth exportONE_XMLRPC=http://localhost:2633/RPC2 export PATH=$ONE_LOCATION/bin:$PATH:. exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:. (6)在控制节点和计算节点上执行如下操作,用sda3作为datastore,可以根据自己实际情况而定: # mkdir /data0 # mount /dev/sda3 /data0 # chown oneadmin:oneadmin /data0 -R (7)编译安装opennebula: ruby安装: #su - oneadmin $tar -xvf ruby-2.0.0-p247.tar.gz $cd ruby-2.0.0-p247 $./configure $make && make install
opennebula安装: $tar -xvf opennebula-4.2.0.tar.gz $cd opennebula-4.2.0 $scons -j2 mysql=yes syslog=yes $/install.sh -d /opt/nebula/ONE $cd share/install_gems $./install_gems sunstone 根据实际情况选择操作。 注意:如果gem install --no-ri --no-rdoc racksinatra thin sqlite3 nokogiri出现问题或者长时间没反映,查了一下,说是被和谐了,建议使用使用taobao的,具体操作如下: $ gem sources -l 然后重新执行$./install_gems sunstone,即可完成安装。 (8)启动mysql服务,并创建opennebula库: #service mysqld start #mysqladmin -uroot password '123456' // 设置mysql登录密码 (9)修改opennebula的配置文件 vim /opt/nebula/ONE/etc/oned.conf //opennebula的主要配置文件 #DB = [ backend = "sqlite" ] # Sample configuration for MySQL // 修改数据库为mysql,并修改mysql的访问密码 DB = [ backend = "mysql", server = "localhost", port = 0, user = "root", passwd = "123456", db_name ="opennebula" ] 修改datastores的路径: DATASTORE_LOCATION = /data0 保存退出。 vim/opt/nebula/ONE/etc/sunstone-server.conf //web登录管理界面配置文件 修改host即可。 然后以oneadmin用户启动: $one start $sunstone-server start 查看进程: 输入用户名和密码,即可完成登录。 管理界面如下图,默认为英文界面,4.2版本支持中文设置。
3.物理主机的添加: 在计算节点主机上: (1)创建oneadmin用户和属组 groupadd -g 600 oneadmin useradd -u 600 -g oneadmin oneadmin 设置oneadmin用户的密码(这里设为:oneadmin) passwd oneadmin 配置oneadmin用户,使其具有sudo权限 vim /etc/sudoers #在原来的root用户下,增加如下一行 oneadmin ALL=(ALL) NOPASSWD: ALL #注释掉 #Defaults requiretty 新建组 "libvirt" groupadd libvirt 将oneadmin 添加到组libvirt usermod -a -G libvirt oneadmin (2)安装kvm #yum install ruby kvm #ln -sf /usr/libexec/qemu-kvm/usr/bin/kvm (3)安装libvirt: #tar zxf libvirt-1.0.6.tar.gz #cd libvirt-1.0.6 #yum -y install libnl-devellibxml2-devel device-mapper-devel libpciaccess-devel python-devel #yum -y remove libvirt #./configure --prefix=/usr--localstatedir=/var --sysconfdir=/etc #make; make install; ldconfig; cd .. #service libvirtd start #chkconfig libvirtd on (4)修改配置文件: vim /etc/libvirt/libvirtd.conf unix_sock_group = "libvirt" unix_sock_ro_perms = "0777" unix_sock_rw_perms = "0770" (5)创建新策略文件 #mkdir -p/etc/polkit-1/localauthority/50-local.d/ #vi/etc/polkit-1/localauthority/50-local.d/org.libvirt.unix.monitor.pkla [Allow fred libvirt management permissions] Identity=unix-user:oneadmin Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes ResultActive=yes 保存退出 #/etc/init.d/libvirtd restart (6)进行物理主机的添加,此过程可在web界面操作: 在基础设施栏选择物理机,进行主机添加。 ps:opennebula安装操作过程对用户的要求比较严格,一定注意root和oneadmin用户之间的切换。后续会继续介绍虚拟主机的安装及操作。
|