1、openstack虚拟化云计算平台详细安装流程报告单机Openstack虚拟化云计算平台详细安装流程报告1.写在前面的话Openstack到目前为止(201403),已经包含多个稳定版本(AH),最新的稳定版本是Havana版,我们现在使用的实验版本也是havana版本。由于openstack的版本相互之间差异比较大,组件的安装命令等也略有相同,所以在参考此文档时要注意区别openstack的版本。Openstack的各个组件相互之间是通过网络来进行互联互通,不同的组件理论上都可以部署在不同的节点上,可以通过一些的额外的步骤来提高openstack的可用性。基于我们的实验环境和现实情况,我们选
2、择了官网推荐的最经典的安装方式,因此阅读此文档的读者在阅读文档时,注意我们使用的安装方式不是openstack的唯一安装方式。2.Openstack架构2.1基础组件服务组件说明备注DashBoardHorizon提供WEB界面ComputerNova计算也就是虚拟机NetworkingNeutron提供给nova网络支持实验环境不需要安装Object StorageSwift提供对象存储实验环境不需要安装Block StorageCinder提供云硬盘给novaIdentity SserviceKeystone提供所有组件的认证Image ServiceGlance提供给nova镜像服务Te
3、lemetry ServiceCellometer监控cinder,neutron,nova,glance实验环境不需要安装Orchestration ServiceHeat与AWS cloud兼容实验环境不需要安装2.2组件对应关系 3.基础配置1.硬件配置情况介绍:机器CPU内存硬盘网卡其他虚拟机1单核E5500 Intel2。8G2G20G单网卡2.节点情况介绍:机器节点主机名IP地址操作系统用户名密码情况节点centos10。10.70。20CentOS6.5 basicServerroot/rootpassOpenstack/openstack3.网络情况介绍: 通过一台单独的交换机
4、进行网络访问,因此网络中有大量可用的10。10.70。XX段地址,可以分配给不同的虚拟机。实验环境的网络速度有限速,所以很多措施是节省网络代码,如果网络条件好,很多步骤可以省略或者替换。4。相关密码统计所属机器用户名密码用户名密码说明Centos的用户密码root/rootpassRoot用户的密码openstack/openstackOpenstack的用户名密码mySQL数据库服务器Root/mysqlrootOpenstack服务密码Nova/novaKeystone/keystoneGlance/glanceCinder/cinderOpenstack数据库密码Nova/novaKey
5、stone/keystoneGlance/glanceCinder/cinder4.基本的操作系统配置重要提醒在进行下面的所有操作时,必须要有root权限,如果root权限不好获取,可以通过sudo命令来获取。4.1基础网络设置1.将节点的IP设置成静态的IP地址。修改文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0需要注意的内容如下:DEVICE=eth0 网卡的名称HWADDR=00:1E:67:24:E7:31 Mac地址的名称TYPE=Ethernet 网络类型UUID=c6ee6fd1467b4f36bcdc307bc678191b ON
6、BOOT=yes这是随系统启动而启动的选项NM_CONTROLLED=no这是由系统的networkmanager来管理IP地址, 设置为NoBOOTPROTO=static设置网卡获取IP地址方式 有static,DHCP,bootp. 分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址IPADDR=10。10。70.20 如果设置网卡获得ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址NETMASK=255。255。255。0 子网掩码GATEWAY=10.10。70。211 网关地址ARPCHECK=noDNS1=10。10.70.2
7、11设置完成之后,重启网络: service network restart重要提醒1.有些教程中说ifcfg-eth0中的配置网关的GATEWAY关键字是 NETWORK,是不对的 ,实现发现如果设置错误,上不了外网。2.ARPCHECK=no的作用是解决错误:网络重启报错:Bringing up interface eth0: Determining if ip address 10.10.70.20 is already in use for device eth0.2.设置节点的网关修改对应网卡的网关的配置文件vi/etc/sysconfig/network修改以下内容NETWORKI
8、NG=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应) GATEWAY=10.10.70.211(设置本机连接的网关的IP地址。)设置完成之后,重启网络: service network restart3.设置节点的DNS修改对应网卡的DNS的配置文件vi/etc/resolv。conf 修改一下内容: nameserver10。10。70。211设置完成之后,重启网络: service network restart4.
9、设置节点的主机名IP对应关系1、修改文件:vi/etc/sysconfig/network 设置:HOSTNAME=centos 2、修改文件:vi etc/hosts在以前的内容上增加: 127.0.0。1 centos 10。10。70。20 centos重要提醒设置节点的主机名和IP对应关系时要注意,每个节点都要配置此项,而且每个节点都要配置整个网络中其他节点的IP和主机名的对应关系。这样做的目的是为了在整个网络中,可以通过主机名来访问其他的机器。 5.关闭节点的防火墙以及其他安全策略。1.重启网络运行以下命令 service NetworkManager stop service ne
10、twork start chkconfig NetworkManager off chkconfig network on2.关闭防火墙service iptables stopchkconfig iptables offservice ip6tables stopchkconfig ip6tables off3.关闭SELinuxsetenforce 0vi etc/sysconfig/selinux修改SELINUX=permissive重要提醒1. 获取当前 SELinux 运行状态#getenforce可能返回结果有三种:Enforcing、Permissive和Disabled。Di
11、sabled 代表 SELinux 被禁用,Permissive 代表仅记录安全警告但不阻止可疑行为,Enforcing 代表记录警告且阻止可疑行为。目前常见发行版中,RHEL 和 Fedora 默认设置为 Enforcing,其余的如 openSUSE 等为 Permissive。2. 改变 SELinux 运行状态setenforce Enforcing | Permissive | 1 | 0 该命令可以立刻改变 SELinux 运行状态,在 Enforcing 和 Permissive 之间切换,结果保持至关机。一个典型的用途是看看到底是不是 SELinux 导致某个服务或者程序无法运
12、行。若是在 setenforce 0 之后服务或者程序依然无法运行,那么就可以肯定不是 SELinux 导致的。若是想要永久变更系统 SELinux 运行环境,可以通过更改配置文件/etc/sysconfig/selinux实现。注意当从 Disabled 切换到 Permissive 或者 Enforcing 模式后需要重启计算机并为整个文件系统重新创建安全标签(touch /.autorelabel & reboot)。4.2时间同步服务器设置 因为是单节点所以可以省略掉4.3MySQL数据库设置1. 节点安装步骤:运行以下命令,安装mysql服务器和客户端 yum install y m
13、ysql mysqlserver MySQL-python启动MySQL服务 service mysqld start chkconfig mysqld on初始化MYSQL数据库 mysql_install_db mysql_secure_installation 重要提醒初始化MYSQL数据库的目的是为了删除mysql自带的测试数据库以及为mysql的root用户增加密码:实验环境的密码为:mysqlroot 4.4Openstack基础包下载设置在各个节点中,按照以下步骤安装: yum install http:/repos。fedorapeople.org/repos/openstac
14、k/openstackhavana/rdo-releasehavana-6。noarch.rpm -y yum install http:/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-68.noarch.rpm -y yum install openstack-utils -y yum install openstackselinux y yum upgrade y reboot重要提醒由于网络原因,可能会提示下载失败等问题,这是由于需要远程国外的网站下载资源,如果一旦碰到下载失败的情况,重复执行命令即可,linux会自动连续下载。E
15、rror: Cannot retrieve metalink for repository: epel. Please verify its path and try again修改/etc/yum.repos.d/epel.repo文件,做如下改动#baseurl=http:/download.fedoraproject.org/pub/epel/6/$basearchmirrorlist=https:/mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch变为baseurl=http:/download.fedorapro
16、ject.org/pub/epel/6/$basearch#mirrorlist=https:/mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch保存文件,再次执行即可5。5消息服务器设置在节点进行消息服务器的安装工作:1。安装消息服务器 yum install qpid-cpp-server memcached -y2。 修改/etc/qpidd.conf文件,将auth的选项设置no,来禁用qpidd的认证。auth=no3。启动消息服务器,并设置为自动启动。 service qpidd start chkconfig
17、 qpidd on5.配置用户权限服务Idenitity Service5。1用户权限服务的基本概念用户权限服务主要包含两个功能:用户管理:管理用户以及用户的权限。服务目录:通过服务终端提供相应的服务目录。主要涉及的名词有:用户(user):用户指的是使用openstack云服务的使用者,用户具有登录和使用资源的权限,用户隶属于租户。证书(Credentials):有且只有用户自己知道的一组数据,比如:密码,认证令牌等等认证(Authentication):确定一个用户身份的动作。令牌(token):组用来访问资源的随机数字,令牌中包含了访问资源的范围和权限等等。租户(tenant):租户可以
18、被理解为一个项目,团队或组织。你必须指定一个相应的租户(tenant)才可以申请OpenStack服务服务(Service):openstack的组件表现形式,提供了一个或者多个终端,用户可以通过访问终端来资源。 终端(Endpoint):通过网络访问服务的一种方式,通常是URL地址等。角色(Role):角色代表特定的租户中的用户操作权限5.2安装和配置用户权限服务 在节点中完成以下操作:1.在节点中安装keystone服务包 yum install openstack-keystone python-keystoneclient y2.用户权限服务通过数据库来存储基本信息.因此需要在数据库中
19、修改数据库的位置,本实验中使用了mysql数据,通过以下命令来修改数据库配置信息。 openstackconfig -set /etc/keystone/keystone。conf sql connection mysql:/keystone:keystonecentos/keystone3.通过openstackdb 命令来初始化数据库表,同时创建相应的数据库和用户。 openstack-db -init -service keystone password keystone4.使用openssl来生成认证令牌,用来使用用户权限服务和openstack的其他服务之间共享数据. ADMIN_T
20、OKEN=$(openssl rand hex 10) echo $ADMIN_TOKEN openstack-config -set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN 重要提醒 这个步骤里生成ADMIN_TOKEN,后面需要频繁的使用到,所以此时要记录下来。5.KeyStone使用了PKI令牌,执行下面的名来安装关键字和证书。 keystonemanage pki_setup -keystoneuser keystone -keystonegroup keystone chown R keystone:k
21、eystone /etc/keystone/* /var/log/keystone/keystone.log6.启动keystone的服务并设置为开机自启动. service openstackkeystone start&chkconfig openstack-keystone on5.3定义用户,租户,角色等 安装完用户权限服务之后,可以增加相应的角色,租户,用户等。1.设置环境变量 export OS_SERVICE_TOKEN=使用上面生成的ADMIN_TOKEN export OS_SERVICE_ENDPOINT=http:/centos:35357/v2.02.创建租户 keys
22、tone tenant-create -name=admin -description=Admin Tenant keystone tenantcreate name=service -description=Service Tenant3.创建用户 keystone usercreate name=admin -pass=admin -email=adminexample。com4.创建角色 keystone rolecreate -name=admin5.将用户添加到对应的角色中去。 keystone userrole-add -user=admin tenant=admin -role=
23、admin重要提醒如果keystone服务报错: The request you have made requires authentication. (HTTP 401)检查: 1. 检查环境变量是否设置1.检查AMDIN_PASS是不是没有替换,如果没有替换a.通过keystoneuser-password-update b.通过openstack-db -drop -service keystone 删除数据库重建5.4定义服务和端点在openstack中注册服务和终端,注册之前确保前面定义的OS_SERVICE_TOKEN可用.1.注册服务 keystone service-creat
24、e -name=keystone -type=identity -description=”Keystone Identity Service”执行完命令之后,记录下服务产生的ID。2.注册终端 keystone endpointcreate -serviceid=上面流程中注册服务产生的服务的ID publicurl=http:/centos:5000/v2.0 internalurl=http:/centos:5000/v2.0 -adminurl=http:/centos:35357/v2.06.配置镜像服务 镜像服务就是openstack用来存储服务器镜像的一个服务。镜像的存储位置可以
25、有几种配置方式,可以通过配置文件/etc/glance/glancecache.conf配置文件来进行修改。 在节点执行以下命令:1.安装镜像服务。yum install -y openstack-glance2.在配置文件中修改镜像服务所在的数据库信息. openstack-config -set /etc/glance/glanceapi.conf DEFAULT sql_connection mysql:/glance:glancecentos/glance openstack-config set /etc/glance/glanceregistry.conf DEFAULT sql_
26、connection mysql:/glance:glancecentos/glance3.通过openstack-db来初始化数据库,用户,表。openstackdb init -service glance -password glance4.创建glance用户,并添加到对用的角色上.keystone user-create -name=glance -pass=glance -email=glanceexample。comkeystone user-role-add -user=glance -tenant=service -role=admin重要提醒运行命令keystoneuser
27、-role-add-user=glance-tenant=service-role=admin后,通过keystone user-role-list查看不到glance的相关配置,不是配置错误,可以通过命令:keystone -os-tenant-name service -os-username glance -os-password glance user-role-list来查看 5.在配置文件中做一些修改,来保证镜像服务和用户权限服务结合。openstack-config -set /etc/glance/glanceapi.conf keystone_authtoken auth_u
28、ri http:/centos:5000openstack-config -set /etc/glance/glanceapi.conf keystone_authtoken auth_host centosopenstack-config -set /etc/glance/glanceapi.conf keystone_authtoken admin_tenant_name serviceopenstack-config set /etc/glance/glanceapi。conf keystone_authtoken admin_user glanceopenstackconfig -se
29、t /etc/glance/glanceapi。conf keystone_authtoken admin_password glanceopenstackconfig -set /etc/glance/glanceapi.conf paste_deploy flavor keystoneopenstack-config set /etc/glance/glanceregistry。conf keystone_authtoken auth_uri http:/centos:5000openstack-config -set /etc/glance/glance-registry.conf ke
30、ystone_authtoken auth_host centosopenstackconfig -set /etc/glance/glanceregistry.conf keystone_authtoken admin_tenant_name serviceopenstackconfig -set /etc/glance/glanceregistry.conf keystone_authtoken admin_user glanceopenstackconfig -set /etc/glance/glanceregistry.conf keystone_authtoken admin_password glanceopenstackconfig -set /etc/glance/glance-registry.conf paste_deploy flavor keystone6.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1