自由论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 998|回复: 0
打印 上一主题 下一主题

【学习笔记】云计算(二)

[复制链接]

85

主题

97

帖子

9829

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9829
跳转到指定楼层
楼主
发表于 2016-4-24 16:50:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
云计算
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

可以理解为:把任何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以上的空闲空间)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Prostar Inc.

GMT+8, 2024-11-22 20:31 , Processed in 0.050017 second(s), 10 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表