|
云计算
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
可以理解为:把任何IT资源(包括网络,服务器,存储,开发平台,应用软件,服务等)整合到一起,为用户提供按需分配。象自来水,电这种资源一样,用多少付多少钱。但这里面包括了大量的运算(比如用多少资源,如何分配指定的资源,如何计费等)
一个刚成立的公司,需要做简单的网站或其它基本服务,从以前到现在的选择有
1,服务器拖管
2,服务器租用
3,虚拟主机 --一般来说只能用于web
2,VPS --把物理服务器虚拟化成多个虚拟机,租给用户使用
5,云主机 --相当于在VPS的基础上做了加强,如:随时在线修改资源
Iaas infrastructure as a service,基础架构即服务(给客户提供基础架构,以虚拟化技术为基础);上面的云主机就属于这一种。这一类的用户一般为系统管理员。
Paas platfrom as a service ,平台就即服务(用户是看不到虚拟机的,虚拟的是类似开发库,开发接口,开发工具;能自动开发,调试及安装应用程序);简单来说,就是把开发框架,开发架构做成云资源。这一类的用户一般为开发人员。
Saas software as a service,软件即服务 (提供给一个如浏览器的客户端,就可以做文本编辑,玩游戏,搭建你的服务);这一类的用户一般为普通用户。
公有云
私有云
混合云
openstack(python语言开发)就是iaas的一种,可以理解成一种虚拟化管理工具(如果公司有强大的二次开发能力,可以开发出不同的自动化管理工具)
apache基金会也有cloudstack
还有一些如:eucalyptus,opennebula,nimbus,openQRM等
redhat有两种:
iaaspenstack
paaspenshift
红帽的云计算平台,可以免费申请使用(也有付费空间)
https://www.openshift.com/
http://www.openstack.org/
http://docs.openstack.org/
版本发展(差不多半年就发布一次)
A
B
C
D
E
F
G
H
Icehouse
juno
kilo
liberty
========================================================
Iaas
RDO all in one
http://openstack.redhat.com/Quickstart
====================================================
# ll /share/iso/rhel-server-7.1-x86_64-dvd.iso
-rwxr-xr-x. 1 root root 3890216960 Jul 24 18:53 /share/iso/rhel-server-7.1-x86_64-dvd.iso
rhel7.1最小化安装(2.5G以上内存,硬盘也尽量大点,50G以上,方便测试)
安装过程中要注意的
1,时区选上海,并配置ntp时间同步
2,IP配置静态IP,并且指定网关和dns做成能上公网的环境
(我这里IP为172.16.2.6/16,网关为172.16.1.1,DNS为114.114.114.114)
3,关闭kdump
4, 安装包选择最小化安装
5,配置主机名(我这里为openstack.cluster.com)
安装完后的准备工作:
1,同步名配置和绑定(三步).如果在安装过程中指定过主机名,则这里只需要做把主机名和IP绑定到/etc/hosts这一步就可以了
# hostname openstack.cluster.com
# vi /etc/hosts
172.16.2.6 openstack.cluster.com
# vi /etc/sysconfig/network
hostname=openstack.cluster.com
2,关闭iptables,selinux(并做成开机不启动)
从RHEL7开始,使用systemctl工具来管理服务程序,包括了service和chkconfig
# systemctl list-unit-files |grep firewall
firewalld.service enabled --enabled表示开机会自动启动
# systemctl stop firewalld.service --立即停掉防火墙服务
# systemctl disable firewalld.service --设置成开机不自动启动
# systemctl list-unit-files |grep firewall
firewalld.service disabled --disabled表示开机不自动启动了
3,因为openstack不支持NetworkManager,所以要用下面的命令停掉,并设置为开机不自动启动
# systemctl stop NetworkManager.service
# systemctl disable NetworkManager.service
4,配置本地yum
创建目录并将光驱的镜像挂载
# mkdir /yum
# mount /dev/cdrom /yum
将挂载命令加到rc.local设置成开机自动挂载
# vi /etc/rc.local
mount /dev/cdrom /yum
# chmod +x /etc/rc.d/rc.local --rhel7要给执行权限,开机才能执行
创建yum的配置文件,写上本地yum源路径
# vi /etc/yum.repos.d/local.repo --此文件不存在,手动建立
[rhel7.1]
name=rhel7.1
baseurl=file:///yum/
enabled=1
gpgcheck=0
5,时间同步
# yum install ntp ntpdate -y --安装ntp时间同步相关软件包
# vi /etc/ntp.conf --确认配置文件里有下列的时间同步源(如果前面安装系统界面选择过,这里就有。如果没有可以手动加)
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
# systemctl enable ntpd --设置开机自动启动ntpd
# systemctl start ntpd --立即启动ntpd服务
# date --确认时间与现在时间一致
=============================================
openstack的RDO安装过程
1,配置openstack的rdo需要的yum源
# vi /etc/yum.repos.d/openstack.repo
[centos7]
name=centos7
baseurl=http://172.16.2.35/centos7
enabled=1
gpgcheck=0
[openstack-liberty]
name=openstack-liberty
baseurl=http://172.16.2.35/openstack-liberty
enabled=1
gpgcheck=0
2,对yum源进行更新,并做缓存
# yum clean all
# yum update -y
# yum makecache
3,重启系统
# reboot
4,安装packstack软件包
# yum install -y openstack-packstack
5,准备好上面步骤,最好再做个快照(vmware),或者克隆(kvm),防止后面实验出错,重做时比较方便
=======================================
rdo安装
# packstack --allinone
开始一键安装,但是很可能会出现各种错误,可以通过报错或者把报错贴到网上查看解决方法,解决完后,就不要直接再使用packstack --allinone来装了,可以使用安装的answer-file来再次安装
只要你开始安装过,会在当前目录产生一个answer-file,解决完问题,就使用类似下面的命令再次继续安装
# packstack --answer-file=packstack-answers-xxxxxxxx.xxxxx.txt (xxxxx代表你产生answer-file的时间)
最后报如下的信息就表示安装成功了
**** Installation completed successfully ******
Additional information:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 172.16.2.6. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://172.16.2.6/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* To use Nagios, browse to http://172.16.2.6/nagios username: nagiosadmin, password: 7a946484b3fe4513
* The installation log file is available at: /var/tmp/packstack/20151103-142840-rTtRpt/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20151103-142840-rTtRpt/manifests
===================================================
错误一:
ERROR : Error appeared during Puppet run: 172.16.2.6_nova.pp
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-nova-compute' returned 1: Error unpacking rpm package 1:libguestfs-1.28.1-1.18.el7.x86_64
You will find full trace in log /var/tmp/packstack/20151222-141952-xgfWGS/manifests/172.16.2.6_nova.pp.log
原因:是在我的yum源里的libguestfs-1.28.1-1.18.el7.x86_64.rpm源码包在下载时出现问题,导致下载大小不完整。
解决方法:
我在www.rpmfind.net里找到了对应版本的软件包,共享在笔记目录/arch/openstack_extra_soft/里
把它拷到你的openstack机器上,然后使用rpm安装
# rpm -ivh /libguestfs-1.28.1-1.18.el7.x86_64.rpm
安装完后,指定当前目录下的answer-file继续安装
# packstack --answer-file=packstack-answers-20151222-141952.txt
================================================================
安装完成后
[root@openstack ~]# cat /root/keystonerc_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin --图形登陆界面的用户名admin
export OS_PASSWORD=143acf3c84084b1a --图形登陆界面的admin用户密码
export OS_AUTH_URL=http://172.16.2.6:5000/v2.0
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_TENANT_NAME=admin
export OS_REGION_NAME=RegionOne
可以使用url路径地址http://172.16.2.6/dashboard来进行图形管理登录界面
用户名:admin
密码: --对应在上面的keystonerc_admin去找
登录上后,点 project -> compute -> images 里有一个默认的测试镜像cirros
在cirros后点launch,
名字:随意填写,
flavor:选择m1.tiny --这是选择云主机的大小规模(选择small的话需要最少20G空间,tiny只需要1G)
点这个instance后面的向下箭头的图标,在下拉菜单中选择console,就可以以console口来控制这个虚拟机instance
=======================================================
不用上面的cirros测试镜像,自己手动建立云主机镜像的方法
以rhel6.5为例
/share/soft/rhel-server-6.5-x86_64-dvd.iso
yum groupinstall Virtualization "Virtualization Client"
yum install libvirt
service libvirtd restart
mkdir /openstack-image
cd /openstack-image
qemu-img create -f qcow2 rhel65-openstack.img 5G
chown qemu:qemu /openstack-image -R
virt-install -n openstack-rhel65 -r 512 --cpu host -c /share/soft/rhel-server-6.5-x86_64-dvd.iso --disk path=/openstack-image/rhel65-openstack.img,device=disk,bus=virtio,size=5
安装这个虚拟机(分区,装包,root密码,时区等你随意选择),安装成功后,可以在里面touch一两个文件做标记方便测试,然后关闭此虚拟机
把/openstack-image/rhel65-openstack.img拷到openstack云计算的控制节点的/var/lib/glance/images/rhel6.5-openstack.img --此路径只是一个默认的镜像路么
# glance image-list --列出已经有的镜像,但是报下面的错误
You must provide a username via either --os-username or env[OS_USERNAME]
解决方法:
source /root/keystonerc_admin
再次# glance image-list --可以看到只有默认的cirros镜像
+--------------------------------------+--------+
| ID | Name |
+--------------------------------------+--------+
| f9b9c033-eb60-48ed-8025-d1318b68ff61 | cirros |
+--------------------------------------+--------+
用下面的命令把自己做的rhel65的镜像导入到openstack
# glance image-create --name=rhel65 --container-format=ovf --disk-format=qcow2 < /var/lib/glance/images/rhel6.5-openstack.img
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | 460fcfd25d08b340dd4c774dc78eb508 |
| container_format | ovf |
| created_at | 2014-11-10T11:59:00 |
| deleted | False |
| deleted_at | None |
| disk_format | qcow2 |
| id | 11ceee91-1e28-4fda-a268-ea6ae968d53f |
| is_public | True |
| min_disk | 0 |
| min_ram | 0 |
| name | rhel65 |
| owner | 9a87f7e33279423d8e9dface114ce8bd |
| protected | False |
| size | 1490944000 |
| status | active |
| updated_at | 2014-11-10T11:59:54 |
| virtual_size | None |
+------------------+--------------------------------------+
# glance image-list --再次list,可以看到你的镜像导入成功,
+--------------------------------------+--------+-------------+------------------+------------+--------+
| ID | Name | Disk Format | Container Format | Size | Status |
+--------------------------------------+--------+-------------+------------------+------------+--------+
| b03672f3-62a8-470d-a01d-e07a7699a1b7 | cirros | qcow2 | bare | 13147648 | active |
| 11ceee91-1e28-4fda-a268-ea6ae968d53f | rhel65 | qcow2 | ovf | 1490944000 | active |
+--------------------------------------+--------+-------------+------------------+------------+--------+
然后你就可以图形去使用rhel65这个镜像启动一个新的实例来测试了(记得flavor要选择m1.small,需要20G以上的空闲空间)
|
|