多台机器部署openstack

合集下载

⑨OpenStack高可用集群部署方案—CentOS8安装与配置Ceph集群

⑨OpenStack高可用集群部署方案—CentOS8安装与配置Ceph集群

⑨OpenStack高可用集群部署方案—CentOS8安装与配置Ceph集群CentOS8安装与配置Ceph Octopus版1. Ceph介绍1.1 为什么要用CephCeph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs),Ceph在存储的时候充分利用存储节点的计算能力,在存储每一个数据时都会通过计算得出该数据的位置,尽量的分布均衡。

目前也是OpenStack的主流后端存储,随着OpenStack在云计算领域的广泛使用,ceph也变得更加炙手可热。

国内目前使用ceph搭建分布式存储系统较为成功的企业有x-sky,深圳元核云,上海UCloud等三家企业。

分布式存储Ceph GFS HDFS Swift Lustre平台属性开源闭源开源开源开源系统架构去中心化架构中心化架构中心化架构去中心化架构中心化架构数据存储方式块、文件对象文件文件对象文件元数据节点数量多个1个1个(主备) 多个1个数据冗余多副本/纠删码多副本/纠删码多副本/纠删码多副本/纠删码无数据一致性强一致性最终一致性过程一致性弱一致性无分块大小4MB 64MB 128MB 视对象大小1MB适用场景频繁读写场景/IaaS 大文件连续读写大数据场景云的对象存储大型集群/超算1.2 Ceph架构介绍Ceph使用RADOS提供对象存储,通过librados封装库提供多种存储方式的文件和对象转换。

外层通过RGW(Object,有原生的API,而且也兼容Swift和S3的API,适合单客户端使用)、RBD(Block,支持精简配置、快照、克隆,适合多客户端有目录结构)、CephFS(File,Posix接口,支持快照,社会和更新变动少的数据,没有目录结构不能直接打开)将数据写入存储。

•高性能 a. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高 b.考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等 c. 能够支持上千个存储节点的规模,支持TB到PB级的数据•高可扩展性 a. 去中心化 b. 扩展灵活 c. 随着节点增加而线性增长•特性丰富 a. 支持三种存储接口:块存储、文件存储、对象存储 b. 支持自定义接口,支持多种语言驱动目前来说,ceph在开源社区还是比较热门的,但是更多的是应用于云计算的后端存储。

openstack的安装和部署

openstack的安装和部署

openstack的安装和部署1.什么是云计算1:什么是云计算?云计算是通过虚拟化技术去实现的,它是⼀种按量付费的模式!2:为什么要⽤云计算?⼩公司:1年,20⼈+,500w,招⼀个运维,15k,(10台*1.5w,托管IDC机房,8k/年,带宽 100M,5个公⽹ip, 10k/⽉), 买10台云主机,600*10=6000⼤公司:举⾏活动,加集群,把闲置时间出租,超卖(kvm)16G,kvm,64G(ksm),⾦牌⽤户(200w+/⽉)3:云计算有哪些功能?虚拟机的管理平台(计费)kvm:1000宿主机(agent),虚拟出2w虚拟机,虚拟机的详细情况:硬件资源,ip情况统计?虚拟机管理平台:每台虚拟机的管理,都⽤数据库来统计4:云计算的服务类型IAAS 基础设施即服务 ECS云主机⾃⼰部署环境,⾃⼰管理代码和数据infrastructure as an servicePAAS(docker) 平台即服务提供软件的运⾏环境,java ,python,go, c#,nodejs ⾃⼰管理代码和数据platfrom as an serviceSAAS 软件即服务企业邮箱,cdn,rdssoftware as an serviceopenstack实现的是云计算IAAS,开源的云计算平台,apache 2.0,阿⾥云(飞天云平台)2.openstack (soa架构)云平台(keystone认证服务,glance镜像服务,nova计算服务,neutron⽹络服务,cinder存储服务,horizon web界⾯)每个服务:数据库,消息队列,memcached缓存,时间同步⾸页/index.html秒杀/miaosha/index.html会员:/plus/index.html登录:/login/indexnginx+php +mysql(500张表)SOA(拆业务,把每⼀个功能都拆成⼀个独⽴的web服务,每⼀个独⽴的web服务,⾄少拥有⼀个集群)微服务架构:亿级⽤户开源的微服框架阿⾥开源的dubbospring boot⾃动化代码上线 Jenkins + gitlab ci⾃动化代码质量检查 sonarqube官⽹:openstack 版本A-Z 开头3.虚拟机规划controller:内存3G,cpu开启虚拟化,ip:10.0.0.11compute01:内存1G,cpu开启虚拟化(必开),ip:10.0.0.31host解析,[root@controller ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.0.0.11 controller10.0.0.31 computer1[root@controller ~]# scp -rp /etc/hosts 10.0.0.31 /etc/hosts4.配置yum源1.挂载光盘[root@computer1 ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only[root@controller ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only#查看(如果有内容代表挂载成功)[root@computer1 ~]# ll /mnttotal 686-rw-rw-r-- 1 root root 14 Nov 26 2018 CentOS_BuildTagdrwxr-xr-x 3 root root 2048 Nov 26 2018 EFI-rw-rw-r-- 1 root root 227 Aug 30 2017 EULA-rw-rw-r-- 1 root root 18009 Dec 10 2015 GPLdrwxr-xr-x 3 root root 2048 Nov 26 2018 imagesdrwxr-xr-x 2 root root 2048 Nov 26 2018 isolinuxdrwxr-xr-x 2 root root 2048 Nov 26 2018 LiveOSdrwxrwxr-x 2 root root 663552 Nov 26 2018 Packagesdrwxrwxr-x 2 root root 4096 Nov 26 2018 repodata-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7-r--r--r-- 1 root root 2883 Nov 26 2018 TRANS.TBL[root@controller ~]# scp -rp openstack_rpm.tar.gz 10.0.0.31:/optrz 上传openstack_rpm.tar.gz到/opt,并解压⽣成repo配置⽂件root@controller opt]# vim/etc/yum.repos.d/local.repo[local]name=localbaseurl=file:///mntgpgcheck=0[openstack]name=openstackbaseurl=file:///opt/repogpgcheck=0root@controller opt]#echo 'mount /dev/cdrom /mnt' >>/etc/rc.localroot@controller opt]# chmod +x /etc/rc.d/rc.local[root@controller opt]# scp -rp /etc/yum.repos.d/local.repo 10.0.0.31:/etc/yum.repos.d/local.repo [root@computer1 opt]# vim /etc/yum.repos.d/local.repo[root@computer1 opt]# echo 'mount /dev/cdrom /mnt' >>/etc/rc.local[root@computer1 opt]# chmod +x /etc/rc.d/rc.local#注意:两台都要配2.安装基础服务在所有节点上执⾏:a:时间同步[root@controller opt]# yum install -y chrony[root@computer1 opt]# yum install -y chrony#编辑控制节点配置⽂件[root@controller opt]# vim /etc/chrony.conf1.将 server iburst 改成server iburst另三⾏删掉2.将 #allow 192.168.0.0/1改成allow 10.0.0.0/24#重启服务[root@controller opt]# vim /etc/chrony.confsystemctl restart chronyd#编辑计算节点[root@computer1 opt]# vim /etc/chrony.conf将 server iburst 改成server 10.0.0.11 iburst另三⾏删掉[root@computer1 opt]# systemctl restart chronyd5.安装openstack客户端和openstack-selinux1.在所有节点上执⾏[root@control ~]# yum install python-openstackclient openstack-selinux -y[root@computer1 ~]# yum install python-openstackclient openstack-selinux -y查看官⽅⽂档6.安装数据库以及安全初始化2.仅控制节点执⾏:[root@control ~]# yum install mariadb mariadb-server python2-PyMySQL -y在官⽅⽂档上有https:///mitaka/zh_CN/install-guide-obs/environment-sql-database.html3.创建并编辑 /etc/f.d/f[root@control ~]# cat /etc/f.d/f[mysqld]bind-address = 10.0.0.11 # 值为控制节点的管理⽹络IP地址以使得其它节点可以通过管理⽹络访问数据库default-storage-engine = innodb #默认存储引擎innodb_file_per_table #为每个表独⽴表空间⽂件max_connections = 4096 #最⼤连接数collation-server = utf8_general_ci # 默认字符集character-set-server = utf84.启动mariadb 并加⼊开机⾃启[root@control ~]# systemctl start mariadb[root@control ~]# systemctl enable mariadb5. 为了保证数据库服务的安全性,运⾏[root@control ~]# mysql_secure_installation ⼀定要执⾏要不然后⾯时间同步会有坑脚本。

openstack安装配置文档

openstack安装配置文档

openstack(kilo版)安装配置文档写在前面:本文档所有指令在拷贝的时候注意空格和换行,由于文档的排版原因可能会出现自动换行等误差。

一、实验环境物理机器上的3台虚拟机分别模拟控制节点、网络节点、计算节点。

采用VMware虚拟机管理软件,首先建立一个模板,在上面安装第五部分所涉及到的基本组件,分别克隆出3台虚拟机作为控制、网络、计算节点。

虚拟机操作系统为Ubuntu 14.04.3,openstack版本为kilo版。

所需各部分组件均采用apt-get自动安装。

二、openstack的两种常用上网方式1、在官方文档的三个网卡基础上,我们使用第四个网卡上网(NAT 方式或桥接方式均可)。

另外三个网卡采用host-only方式。

2、使用管理网络上网。

本文采用第二种方式对网络进行配置,即将管理网络根据自己的网络环境配置成可上网的IP地址段(NAT和host-only均可)。

由于对第一种方式进行尝试时最终会遇到ping不通外网的情况,所以不建议尝试。

具体可见/thread-13508-1-1.html三、各节点的网络配置各节点建立好以后,根据openstack-install-guide-apt-kilo官方文档对各节点进行网络配置。

本例采用OpenStack Networking (neutron)方式进行网络配置。

使用OpenStack网络(neutron)的架构样例中,需要一个控制节点、一个网络节点以及至少一个计算节点。

控制节点包含一个在管理网络上的网络接口。

网络节点在包含一个在管理网络上的网络接口,一个在实例隧道网络上的网络接口和一个在外部网络上的网络接口。

计算节点包含一个在管理网络上的网络接口和一个在实例隧道网络上的接口。

所以此时需要在虚拟机管理界面添加虚拟网络,由于采用第二部分提到的第二种方式(即管理网络上网),所以网络分配如下:◆管理网络使用 192.168.109.0/24 带有网关 192.168.109.2◆实例隧道网络使用 10.0.1.0/24 无网关◆外部通道网络使用192.168.109.0/24 带有网关192.168.109.2首先需要配置管理网络采用NAT方式上网:VMware默认VMnet8为NAT模式,打开系统的网络适配器设置,可以看到VMnet8的网络配置信息,如下图:这个ip地址,因个人而异,也就是说不同网络,不同环境,这个ip变化的概率是很大的。

基于OpenStack企业私有云的设计与部署

基于OpenStack企业私有云的设计与部署

基于OpenStack企业私有云的设计与部署Design and Deployment of OpenStack EnterprisePrivate Cloud摘要为了解决传统数据中心经常需要采购服务器、网络、存储、负载均衡、安全设备等大量的网络设备,资源利用率不高,动化程度比较低等问题,提出了部署企业私有云的方案。

应用目前比较成熟的主流的开源云技术——OpenStack,设计与部署基于OpenStack的企业私有云。

本文详细介绍了虚拟化技术以及如何使用OpenStack的主要组件搭建私有云平台,为此设计了一套基于OpenStack构建企业私有云的方案。

通过尝试从添加ceph存储后端、网络设计、负载均衡、动态迁移、数据库备份计划等方面对私有云进行设计与部署,深入了解构建企业私有云所应该具备哪些条件。

最后从部署地过程中掌握私有云的知识,提出对私有云的发展看法和建议。

关键词:云计算;虚拟化;OpenStack;私有云AbstractIn order to solve the problems that traditional data centers often need to purchase a large number of equipment such as servers, networks, storage, load balancing, and security equipment, the source utilization rate is not high, and the degree of automation is relatively low. A solution for deploying an enterprise private cloud is proposed. Design and deploy an enterprise private cloud based on OpenStack using the relatively mature mainstream open source cloud technology-OpenStack. This article details the virtualization technology and how to use the main components of OpenStack to build a private cloud platform. For this purpose, I designed a set of solutions to build an enterprise private cloud based on OpenStack. By trying to design and deploy a private cloud from the aspects of adding ceph storage backend, network design, load balancing, dynamic migration, database backup plan, etc., we have an in-depth understanding of what conditions should be in place to build an enterprise private cloud.And from the deployment process to master the private cloud knowledge, the development of private cloud views and Suggestions.Keywords:CloudComputing;Virtualization;OpenStack;PrivateCloud;Designanddeployment目录第一章绪论 (1)1.1课题背景和意义 (1)1.2企业私有云现状 (2)1.2.1国外现状 (2)1.2.2国内现状 (2)1.2.3现有的搭建私有云技术 (2)1.3章节安排 (3)第二章虚拟化技术与OpenStack的介绍 (4)2.1云计算 (4)2.1.1云计算的基本概念 (4)2.1.2云计算的分类及特点 (4)2.2虚拟化技术 (5)2.2.1什么是虚拟化 (5)2.2.2虚拟化的特点和分类 (5)2.3OpenStack (6)2.3.1OpenStack背景 (6)2.3.2OpenStack各个组件 (6)2.4本章小结 (8)第三章OpenStack企业私有云设计与部署 (9)3.1部署高可用平台准备 (9)3.1.1硬件资源准备 (9)3.1.2OpenStack环境准备 (10)3.2MariaDB Galeria集群 (11)3.2.1安装与配置MariaDB (12)3.3HAProxy (13)3.3.1HAProxy性能 (13)3.3.2HAProxy配置 (13)3.4部署Keystone (14)3.4.1Keystone的配置 (15)3.4.1.1安装Keyston e与修改配置文件 (15)3.4.1.2创建域,项目,用户和角色结果 (16)3.5部署Glance镜像服务 (17)3.5.1配置Glance (18)3.5.2启动Glance服务、测试镜像 (18)3.5.2.1启动Glance服务 (18)3.5.2.2镜像测试 (19)3.6控制节点配置Nova集群 (19)3.6.1Nova(计算资源) (19)3.6.1.1Nova的基本概念和特点 (19)3.6.1.2Nova架构包括以下主要组件 (20)3.6.2部署Nova节点 (20)3.6.2.1控制节点Nova部署 (20)3.6.2.2Nova部署在计算节点 (21)3.7Neutron部署 (22)3.7.2控制节点Neutron部署 (23)3.7.1计算节点Neutron部署 (23)3.8Horizon集群 (24)3.8.1Horizon部署 (24)3.9 Cinder集群 (25)3.9.1控制节点部署 (25)3.9.2存储节点部署 (26)3.10 Ceph集群 (26)3.10.1各个节点安装Ceph (27)3.10.2创建Ceph集群 (27)3.10.3 OpenStack集成Ceph (27)3.10.3.1Glance集成Ceph (28)3.10.3.2Cinder集成Ceph (28)3.10.3.3 Nova集成Ceph (29)3.11热迁移 (30)3.11.1热迁移配置 (30)3.12本章小结 (31)第四章私有云平台测试 (32)4.1测试环境与测试方案 (32)4.1.1测试环境 (32)4.1.2测试方案 (32)4.1.3测试结果 (32)4.2本章小结 (34)第五章总结与展望 (35)5.1工作总结 (35)5.2展望 (36)第一章绪论1.1课题背景和意义在大数据的时代,传统的企业数据中心需要负荷的应用越来越多。

openstack安装部署管理中常见问题解决方法(openstack-l

openstack安装部署管理中常见问题解决方法(openstack-l

一、网络问题-network更多网络原理机制可以参考《OpenStack云平台的网络模式及其工作机制》。

1.1、控制节点与网络控制器区别OpenStack平台中有两种类型的物理节点,控制节点和计算节点。

控制节点包括网络控制、调度管理、api服务、存储卷管理、数据库管理、身份管理和镜像管理等,计算节点主要提供nova-compute服务。

控制节点的服务可以分开在多个节点,我们把提供nova-network服务的节点称为网络控制器。

1.2、OpenStack中nova-network的作用OpenStack的网络由nova-network(网络控制器)管理,它会创建虚拟网络,使主机之间以及与外部网络互相访问。

OpenStack的API服务器通过消息队列分发nova-network提供的命令,这些命令之后会被nova-network处理,主要的操作有:分配ip地址、配置虚拟网络和通信。

1.3、OpenStack中Flat与FlatDHCP区别Flat(扁平):所有实例桥接到同一个虚拟网络,需要手动设置网桥。

FlatDHCP:与Flat(扁平)管理模式类似,这种网络所有实例桥接到同一个虚拟网络,扁平拓扑。

不同的是,正如名字的区别,实例的ip提供dhcp获取(nova-network节点提供dhcp服务),而且可以自动帮助建立网桥。

1.4、OpenStack中Flat与vLAN区别在两种Flat模式里,网络控制器扮演默认网关的角色,实例都被分配了公共的IP地址(扁平式结构,都在一个桥接网络里)。

vLAN模式功能丰富,很适合提供给企业内部部署使用。

但是,需要支持vLAN的switches 来连接,而且相对比较复杂,在小范围实验中常采用FlatDHCP模式。

1.5、OpenStack中网络流向是怎样的,都经过网络控制器吗多节点时,网络控制器与计算节点分别在不同主机,普通部署方式下(不是multi_host),只有nova-network控制网络,而它仅仅在控制节点运行。

自动化kolla-ansible部署centos7.9+openstack-train-超。。。

自动化kolla-ansible部署centos7.9+openstack-train-超。。。

⾃动化kolla-ansible部署centos7.9+openstack-train-超。

⾃动化kolla-ansible部署centos7.9+openstack-train-超融合⾼可⽤架构欢迎加QQ群:1026880196 进⾏交流学习环境说明:1. 满⾜⼀台电脑⼀个⽹卡的环境进⾏模拟测试,由于配置较低,这⾥只涉及常规测试,不做更深⼊开展。

2.如果你是物理机,可以准备2个物理⽹卡,⼀个作为管理⽹接⼝,⼀个作为浮动⽹接⼝(实例上外⽹的需要,这⾥需要交换机⽀持dhcp功能,可以⾃动获取ip地址)。

3.根据环境需要注意⼀下参数修改:nova_compute_virt_type: "kvm"vim /etc/kolla/config/nova/nova-compute.conf[libvirt]inject_password=truecpu_mode=host-passthroughvirt_type = kvm1. PC台式电脑硬件配置2. 虚拟软件配置3. 节点信息 # 三台融合控制/计算/存储node1 CPU:4核内存:8GB 系统盘SSD 200GB*1数据盘SSD 300GB*1管理⽹:ens33 192.168.1.20/24浮动⽹:ens34 dhcp ( BOOTPROTO=dhcp )node2 CPU:4核内存:8GB 系统盘SSD 200GB*1数据盘SSD 300GB*1管理⽹:ens33 192.168.1.21/24浮动⽹:ens34 dhcp ( BOOTPROTO=dhcp )node3 CPU:4核内存:8GB 系统盘SSD 200GB*1数据盘SSD 300GB*1管理⽹:ens33 192.168.1.22/24浮动⽹:ens34 dhcp ( BOOTPROTO=dhcp )1. 系统版本CentOS-7-x86_64-Minimal-2009.iso(CentOS 7.9 64位)2. 语⾔英⽂=标准安装3. 分区/boot 1000M /swap 4096M 其余/5. ⽹卡信息6. 系统基本环境#注意每个节点都要执⾏1. 安装常⽤软件包yum install gcc vim wget net-tools ntpdate git -y2. 关闭防⽕墙systemctl stop firewalld.servicesystemctl disable firewalld.servicefirewall-cmd --state3. 关闭selinuxsed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/configsed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/configgrep --color=auto '^SELINUX' /etc/selinux/configsetenforce 04. 主机名:echo "192.168.1.20 node1192.168.1.21 node2192.168.1.22 node3">>/etc/hosts5. ssh免密验证#只在node1下操作,其它节点不执⾏ssh-keygenssh-copy-id root@node1ssh-copy-id root@node2ssh-copy-id root@node36. 修改sshsed -i 's/#ClientAliveInterval 0/ClientAliveInterval 60/g' /etc/ssh/sshd_configsed -i 's/#ClientAliveCountMax 3/ClientAliveCountMax 60/g' /etc/ssh/sshd_configsystemctl daemon-reload && systemctl restart sshd && systemctl status sshd9. 安装epel源yum makecacheyum install -y epel-release10. 使⽤清华pypi源11. 安装安装python-pipyum install python-pip -ypip install --upgrade "pip < 21.0"pip install pbr12. 升级系统软件包yum update -y13. 重启系统reboot7. 时间同步 #注意每个节点都要执⾏1. 安装chrony服务yum -y install chrony2. 配置chrony⽂件cp /etc/chrony.conf{,.bak}echo "server iburstserver iburstserver iburststratumweight 0driftfile /var/lib/chrony/driftrtcsyncmakestep 103bindcmdaddress 127.0.0.1bindcmdaddress ::1keyfile /etc/chrony.keyscommandkey 1generatecommandkeynoclientloglogchange 0.5logdir /var/log/chrony">/etc/chrony.conf3. 启动服务systemctl enable chronyd && systemctl restart chronyd && systemctl status chronyd4. chrony同步源chronyc sources -vntpdate hwclock -w5. 配置定时任务crontab -e0 */1 * * * ntpdate > /dev/null2>&1; /sbin/hwclock -w0 */1 * * * ntpdate > /dev/null2>&1; /sbin/hwclock -w8. 安装配置# node1下操作1. 安装依赖软件包yum install python2-devel libffi-devel openssl-devel libselinux-python -yyum remove docker docker-common docker-selinux docker-engine -yyum install yum-utils device-mapper-persistent-data lvm2 -y2. 安装ansibleyum install -y "ansible < 2.9.19"3. 配置ansible.cfg⽂件sed -i 's/#host_key_checking = False/host_key_checking = True/g' /etc/ansible/ansible.cfgsed -i 's/#pipelining = False/pipelining = True/g' /etc/ansible/ansible.cfgsed -i 's/#forks = 5/forks = 100/g' /etc/ansible/ansible.cfg4. 安装 kolla-ansiblepip install kolla-ansible==9.3.1 --ignore-installed PyYAML5. 安装docker-ceyum install docker-ce -y6. kolla-ansible配置⽂件到当前环境mkdir -p /etc/kollachown $USER:$USER /etc/kollacp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kollacp /usr/share/kolla-ansible/ansible/inventory/* .7. 修改docker配置⽂件配置国内阿⾥云地址,docker推送地址mkdir /etc/docker/cat >> /etc/docker/daemon.json << EOF{"registry-mirrors": ["https://","","https://"]}EOF8. 开启 Docker 的共享挂载功能mkdir -p /etc/systemd/system/docker.service.dcat >> /etc/systemd/system/docker.service.d/kolla.conf << EOF[Service]MountFlags=sharedEOF9. 设置docker服务启动systemctl daemon-reload && systemctl enable docker && systemctl restart docker&& systemctl status docker1. 配置清单vim /root/multinode修改如下:[control]node1node2node3[network]node1node2node3[compute]node1node2node3[storage]node1node2node3[monitoring]node1node2node3[deployment]node1node2node32. 配置globals.yml⽂件,开启需要的⽂件vim /etc/kolla/globals.yml修改如下:kolla_base_distro: "centos"kolla_install_type: "source"openstack_release: "train"node_custom_config: "/etc/kolla/config"kolla_internal_vip_address: "192.168.1.19"#docker_registry: ":4000"docker_namespace: "kolla"network_interface: "ens33"neutron_external_interface: "ens34"neutron_plugin_agent: "openvswitch"neutron_tenant_network_types: "vxlan,vlan,flat"keepalived_virtual_router_id: "56"openstack_logging_debug: "True"enable_ceph: "yes"enable_ceph_dashboard: "{{ enable_ceph | bool }}"enable_chrony: "yes"enable_cinder: "yes"enable_cinder_backup: "yes"enable_ceph_dashboard: "{{ enable_ceph | bool }}"enable_heat: "no"enable_neutron_dvr: "yes"enable_neutron_agent_ha: "yes"enable_neutron_provider_networks: "yes"enable_nova_ssh: "yes"glance_backend_ceph: "yes"cinder_backend_ceph: "{{ enable_ceph }}"cinder_backup_driver: "ceph"nova_backend_ceph: "{{ enable_ceph }}"nova_compute_virt_type: "qemu"nova_console: "novnc"3. ⽣成随机密码kolla-genpwd4. 修改界⾯登陆密码为123456sed -i 's/^keystone_admin_password.*/keystone_admin_password: 123456/' /etc/kolla/passwords.yml 5. 准备后端存储# node1-3都需要执⾏#格式化mkfs.ext4 /dev/sdb数据盘准备ceph的标签parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_FOO1 1 -16. 设置nova配置⽂件mkdir /etc/kolla/configmkdir /etc/kolla/config/novacat >> /etc/kolla/config/nova/nova-compute.conf << EOF[libvirt]virt_type = qemucpu_mode = noneEOF7. 创建虚拟机界⾯禁⽌默认创建新卷.mkdir /etc/kolla/config/horizon/cat >> /etc/kolla/config/horizon/custom_local_settings << EOFLAUNCH_INSTANCE_DEFAULTS = {'create_volume': False,}EOF8. 创建ceph.confcat >> /etc/kolla/config/ceph.conf << EOF[global]osd pool default size = 3osd pool default min size = 2mon_clock_drift_allowed = 2osd_pool_default_pg_num = 8osd_pool_default_pgp_num = 8mon clock drift warn backoff = 30EOF1. 引导各节点依赖kolla-ansible -i ./multinode bootstrap-servers2. 检查ansible -i multinode all -m pingkolla-ansible -i ./multinode prechecks3. 部署kolla-ansible -i ./multinode deploy4. 部署完成后⽣成rc⽂件kolla-ansible -i ./multinode post-deploy5. 拷贝admin-openrc.sh⽂件cp /etc/kolla/admin-openrc.sh ./chmod +x admin-openrc.shsource admin-openrc.sh6. 安装openstack 包cd /etc/yum.repos.d/yum install centos-release-openstack-train -yyum makecache fastyum install python-openstackclient -ycd7. 编辑初始化脚本vim /usr/share/kolla-ansible/init-runonceEXT_NET_CIDR=EXT N ET C IDR:−′192.168.1.0/24′EXT N ET R ANGE={EXT_NET_RANGE:-'start=192.168.1.200,end=192.168.1.254'}EXT_NET_GATEWAY=${EXT_NET_GATEWAY:-'192.168.1.1'}8. 执⾏#这⾥需要执⾏pip install kolla-ansible==9.3.1 --ignore-installed PyYAML 不然报错依赖pip install kolla-ansible==9.3.1 --ignore-installed PyYAMLsh /usr/share/kolla-ansible/init-runonce11. 镜像上传#node1上执⾏1. 镜像下载mkdir /root/qcow2cd /root/qcow2#百度云盘链接:https:///s/1WK_VbWb-f9boOL2-QahIng提取码:2021#linux 默认22端⼝ root cloud5566@MM123#windows 默认56221端⼝ administrator cloud5566@MM123#其它镜像需要开通会员才能上传⼤于4G的⽂件...........2. 格式转换yum -y install qemu-imgqemu-img convert CentOS7.8_x86_64bit.qcow2 CentOS7.8_x86_64bit.raw3. 镜像上传source /root/admin-openrc.shopenstack image create "CentOS 7.8 64位" --file CentOS7.8_x86_64bit.raw --disk-format raw --container-format bare --property hw_qemu_guest_agent=yes --property os_type=linux --public 4. 查看镜像是否成功openstack image list12. 准备⼯作1. 安全组全部放⾏13. 创建实例测试13. 后端ceph存储状态查看docker exec -it ceph_mon ceph --versiondocker exec -it ceph_mon ceph -sdocker exec -it ceph_mon ceph -wdocker exec -it ceph_mon ceph dfdocker exec -it ceph_mon ceph osd treedocker exec -it ceph_mon ceph osd perf14. 卸载openstack集群环境1.卸载openstackkolla-ansible destroy -i /root/multinode --include-images --yes-i-really-really-mean-it2.所有节点重启系统reboot3.所有节点硬盘格式化dmsetup remove_allmkfs.ext4 /dev/sdb4.所有节点重新打ceph标签parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_BS_FOO1 1 -115. 如果集群设备意外关机,导致数据库集群挂掉。

FusionSphere-OpenStack部署配置指南

FusionSphere-OpenStack部署配置指南
节点之间不允许共享,计算节点需要部署compute角色
AZ间不允许共享,每套blockstorage-driver对接一套存储,默认部署 一套blockstorage-driver 使用FusionStorage分布式存储服务时需要部署,默认每个节点都部 署
AZ间不允许共享,每个AZ都需要部署swift,默认部署3个实例
OpenStack部署方案2 - 3Controller
Sys-server controller
auth zookeeper
image router measure database Sys-client compute Blockstorag e driver
FM VM
baremetal rabbitMQ
在WEB UI的配置界面选择配置网络
配置物理网络
系统默认创建一个物理网络,系统平面默认承载在该物理网络上,用户 可根据实际情况新增物理网络
第22页
配置物理网络 (2/3)
配置物理网络和网口的映射关系
第23页
配置物理网络(3/3)
配置系统平面和物理网络的对应关系
external_api和external_om默认承载在默认的物理网络上,用户可 根据 实际情况调整:
第6页
角色介绍 (2/2)
database:提供OpenStack管理数据存储服务 mongodb:提供OpenStack采样数据存储服务 zookeeper:提供分布式集群服务 rabbitMQ:提供分布式通信服务 baremetal :提供裸机管理服务 loadbalancer:提供网络负载均衡能力 sys-client:提供配置代理和组件状态监控的能力
swift
host3

openstack网络模块详解

openstack网络模块详解

更加深入:Security Group Layer
• iptables -nvL
更加深入:br-int & br-tun
• 由Openvswitch实现 • Openvswitch是一个virutal switch, 支持Open Flow协议,当然也有 一些硬件Switch也支持Open Flow协议,他们都可以被统一的 Controller管理,从而实现物理机和虚拟机的网络联通。
架构
• neutron分成多个模块分布在三个节点上。
• Controller节点:
• neutron-server,用于接受API请求创建网络,子网,路由器等,然而创建的这些东 西仅仅是一些数据结构在数据库里面
• Network节点:
• neutron-l3-agent,用于创建和管理虚拟路由器,当neutron-server将路由器的数据结 构创建好,它是做具体的事情的,真正的调用命令行将虚拟路由器,路由表, namespace,iptables规则全部创建好 • neutron-dhcp-agent,用于创建和管理虚拟DHCP Server,每个虚拟网络都会有一个 DHCP Server,这个DHCP Server为这个虚拟网络里面的虚拟机提供IP • neutron-openvswith-plugin-agent,这个是用于创建虚拟的L2的switch的,在Network 节点上,Router和DHCP Server都会连接到二层的switch上
更加深入:Security Group Layer
1)filter表主要处理过滤功能的 INPUT链:过滤所有目标地址是本机的数据包 FORWARD链:过滤所有路过本机的数据包 OUTPUT链:过滤所有由本机产生的数据包 2)nat表主要处理网络地址转换,可以进行SNAT(改变数据包的 源地址),DNAT(改变数据包的目标地址) PREROUTING链:可以再数据包到达防火墙时改变目标地址 OUTPUT链:可以改变本地产生的数据包的目标地址 POSTROUTING链:在数据包离开防火墙时改变数据包的源地址 3)mangle表修改数据包: 包含PREROUTING链,INPUT链,FORWARD链,OUTPUT链, POSTROUTING链 这里mangle不做过多操作 还有一个表示raw表的,不常用的 优先级raw-->mangle-->nat-->filter raw最高,filter最低 iptables默认操作的是filter表

OpenStacknewton部署

OpenStacknewton部署

OpenStacknewton部署一、环境共需要2台主机安装cento7.2关闭防火墙(控制节点和计算节点都做)关闭elinu某/etc/yconfig/elinu某SELINU某=diabledetenforce0关闭iptable ytemctltartfirewalld.erviceytemctltopfirewalld.erviceytemctl diablefirewalld.ervice下面的表格给出了需要密码的服务列表以及它们的关系:密码名称描述密码名称ADMIN_PASSCEILOMETER_DBPASSCEILOMETER_PASSCINDER_DBPASSCINDER_PA SSDASH_DBPASSDEMO_PASSGLANCE_DBPASSGLANCE_PASSHEAT_DBPASSHEAT_DO MAIN_PASSHEAT_PASSKEYSTONE_DBPASSNEUTRON_DBPASSNEUTRON_PASSNOVA_ DBPASSNOVA_PASSRABBIT_PASSSWIFT_PASSadmin用户密码描述数据库密码(不能使用变量)数据库的root密码Telemetry服务的数据库密码Telemetry服务的ceilometer用户密码块设备存储服务的数据库密码块设备存储服务的cinder密码Databaepawordforthedahboarddemo用户的密码镜像服务的数据库密码镜像服务的glance用户密码Orchetration服务的数据库密码Orchetration域的密码Orchetration服务中``heat``用户的密码认证服务的数据库密码网络服务的数据库密码网络服务的neutron用户密码计算服务的数据库密码计算服务中``nova``用户的密码RabbitMQ的guet用户密码对象存储服务用户``wift``的密码1.控制节点服务器控制节点共配置2块网卡eth1:192.168.100.181eth2:不设置ip为trunk模式添加/etc/hot设置NTP服务#yumintallchrony编辑/etc/chrony.confallow192.168.100.0/24允许192.168.100.0网段访问启动NTP服务#ytemctlenablechronyd.ervice#ytemctltartchronyd.ervice安装opentack源及软件包yumintallcento-releae-opentack-newtonyumupgradeyumintallpython-opentackclientyumintallopentack-elinu某yumintallmariadbmariadb-erverpython2-PyMySQLyumintallrabbitmq-erveryumintallopentack-nova-apiopentack-nova-conductoropentack-nova-conoleopentack-neutron-linu某bridgeebtableipetyumintallopentack-dahboard开启nova用户的登录权限.uermod-/bin/bahnova生成秘钥(各个计算节点执行)控制节点也需要互信u–nova/ur/bin/h-keygen-tra/ur/bin/h-keygen-tda所有计算节点均配置cat<<EOF>~/.h/configHot某StrictHotKeyCheckingnoUerKnownHotFile=/dev/nullEOFcpid_da.pub192.168.100.181:/var/lib/nova/.h/id_da.pub3cpid_r a.pub192.168.100.181:/var/lib/nova/.h/id_ra.pub3controller (192.168.100.181):catid_da.pubid_da.pub2id_ra.pubid_ra.pub2id_ra.pub3id_da.pub 3>authorized_keychmod644authorized_key修改权限chownnova:nova/var/lib/nova/.h/id_ra/var/lib/nova/.h/authori zed_key数据库配置[myqld]bind-addre=192.168.100.181default-torage-engine=innodbinnodb_file_per_tablema某_connection=4096 collation-erver=utf8_general_cicharacter-et-erver=utf8启动mariadb#ytemctlenablemariadb.ervice#ytemctltartmariadb.ervic为了保证数据库服务的安全性,运行``myql_ecure_intallation``脚本。

OpenStack部署运维方案

OpenStack部署运维方案

OpenStack 部署运维方案目录1.OpenStack 简介 (3)2.Openstack私有云平台概况 (4)3.OpenStack 部署方案 (6)4.OpenStack 各组件配置 (8)5.OpenStack 底层依赖软件版本、配置以及性能调优 (14)6.运维经验 (17)本文介绍了基于OpenStack 开发的云计算管理平台,以及在开发、运营、维护过程中遇到的问题和经验分享。

作为大型互联网公司,IT 基础架构需要支撑包括生产、开发、测试、管理等多方面的需要,而且需求和请求的变化几乎每天都存在,需要内部的IT 基础架构能够足够灵活和健壮来满足各部门和团队的实际需要。

1.OpenStack 简介OpenStack 是一个开源的IaaS 实现,它由一些相互关联的子项目组成,主要包括计算、存储、网络。

OpenStack 兼容一部分AWS 接口,同时为了提供更强大的功能,也提供OpenStack 风格的接口(RESTFul API)。

和其他开源IaaS 相比,架构上松耦合、高可扩展、分布式、纯Python 实现,以及友好活跃的社区使其大受欢迎。

OpenStack 的主要子项目有:• Compute(Nova)提供计算虚拟化服务,是OpenStack 的核心,负责管理和创建虚拟机。

它被设计成方便扩展,支持多种虚拟化技术,并且可以部署在标准硬件上。

• Object Storage(Swift)提供对象存储服务,是一个分布式,可扩展,多副本的存储系统。

• Block Storage(Cinder),提供块存储服务,为OpenStack 的虚拟机提供持久的块级存储设备。

支持多种存储后端,包括Ceph,EMC 等。

• Networking(Neutron)提供网络虚拟化服务,是一个可拔插,可扩展,API 驱动的服务。

• Dashboard 提供了一个图形控制台服务,让用户方便地访问,使用和维护OpenStack 中的资源。

openstack组成

openstack组成

openstack组成OpenStack既是⼀个社区,也是⼀个项⽬和⼀个开源软件,提供开放源码软件,建⽴公共和私有云,它提供了⼀个部署云的操作平台或⼯具集,其宗旨在于:帮助组织运⾏为虚拟计算或存储服务的云,为公有云、私有云,也为⼤云、⼩云提供可扩展的、灵活的云计算。

OpenStackd开源项⽬由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。

OpenStack提供了⼀个操作平台,或⼯具包,⽤于编排云。

下⾯列出Openstack的详细构架图Openstack的⽹络拓扑结构图整个OpenStack是由控制节点,计算节点,⽹络节点,存储节点四⼤部分组成。

(这四个节点也可以安装在⼀台机器上,单机部署)其中:控制节点负责对其余节点的控制,包含虚拟机建⽴,迁移,⽹络分配,存储分配等等计算节点负责虚拟机运⾏⽹络节点负责对外⽹络与内⽹络之间的通信存储节点负责对虚拟机的额外存储管理等等控制节点架构:控制节点包括以下服务管理⽀持服务基础管理服务扩展管理服务1)管理⽀持服务包含MySQL与Qpid两个服务MySQL:数据库作为基础/扩展服务产⽣的数据存放的地⽅Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统⼀的消息通信服务2)基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使⽤MySQL作为统⼀的数据库Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导⼊,格式,以及制作相应的模板Nova:计算管理服务,提供了对计算节点的Nova的管理,使⽤Nova-API进⾏通信Neutron:⽹络管理服务,提供了对⽹络节点的⽹络拓扑管理,同时提供Neutron在Horizon的管理⾯板Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard3)扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理⾯板Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理⾯板Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理⾯板Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决⾃动收缩,负载均衡等⾼级特性。

在Ubuntu上安装和配置OpenStack Nova

在Ubuntu上安装和配置OpenStack Nova

OpenStack是由Rackspace 和NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于Amazon EC2 和S3 的云基础架构服务(Infrastructure as a Service, IaaS)。

OpenStack包含两个主要模块:Nova 和Swift,前者是NASA 开发的虚拟服务器部署和业务计算模块;后者是Rackspack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。

OpenStack 是开源项目,除了有Rackspace 和NASA 的大力支持外,后面还有包括Dell、Citrix、Cisco、Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台Eucalyptus 的态势。

OpenStack是Python 2.6 写的,CentOS 5.6 上默认的是Python 2.4 的环境并且还有很多依赖关系不容易升级到2.6,所以在Ubuntu 上安装会简单一些,而且Ubuntu 是OpenStack 的官方首选系统,文档都是按Ubuntu 写的,所以这里VPSee采用最新的Ubuntu 11.04 Server 64bit 版本来安装和配置OpenStack Nova. 如果对其他类似的开源云计算平台感兴趣的话可以看看:在CentOS上安装和配置OpenNebula.配置网络在安装完基本的Ubuntu 11.04 Server 系统后升级和更新整个系统,安装完bridge-utils包后重启系统:$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get install bridge-utils$ sudo reboot配置网桥:$ sudo vi /etc/network/interfacesauto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 172.16.39.111netmask 255.255.254.0gateway 172.16.38.1auto br100iface br100 inet staticbridge_ports eth1bridge_stp offbridge_maxwait 0bridge_fd 0address 192.168.0.1netmask 255.255.0.0broadcast 192.168.255.255安装NTP 服务OpenStack Nova 需要NTP 服务器来保持所有节点服务器(Cloud Compute)的时间同步,所以需要在前端控制服务器(Cloud Controller)上安装NTP 服务器,然后在节点服务器上安装NTP 客户端保持与前端的同步:$ sudo apt-get install ntp$ sudo vi /etc/ntp.confserver 127.127.1.0fudge 127.127.1.0 stratum 10$ sudo /etc/init.d/ntp restart安装和配置 MySQL 数据库OpenStack Nova 需要数据库的支持,这里选用 MySQL(当然也可以用其他的数据库,比如 PostgreSQL 等):$ sudo apt-get install mysql-server修改 MySQL 绑定地址,以便其他的节点服务器也能访问这个数据库:$ sudo vi /etc/mysql/f...#bind-address = 127.0.0.1bind-address = 0.0.0.0...$ sudo /etc/init.d/mysql restart创建一个名为 nova 的数据库,并设置 root 从任何 IP 访问的权限和密码:$ sudomysql -uroot -ppassword -e 'CREATE DATABASE nova;'$ sudomysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON *.* TO \'root'@'%' WITH GRANT OPTION;"$ sudomysql -uroot -ppassword -e "SET PASSWORD FOR \'root'@'%' = PASSWORD('password');"安装 Glance 镜像服务Glance 是个镜像服务器,用来给 OpenStack Nova 提供操作系统镜像(image)服务,提供可选择的操作系统模版(镜像)。

kolla多节点部署openstack

kolla多节点部署openstack

kolla多节点部署openstackkolla 介绍简介kolla 的使命是为 openstack 云平台提供⽣产级别的、开箱即⽤的交付能⼒。

kolla 的基本思想是⼀切皆容器,将所有服务基于 Docker 运⾏,并且保证⼀个容器只跑⼀个服务(进程),做到最⼩粒度的运⾏ docker。

kolla 要实现 openetack 部署总体上分为两步,第⼀步是制作 docker 镜像,第⼆步是编排部署。

因此,kolla 项⽬⼜被分为两个⼩项⽬:kolla、kolla-ansible 。

kolla 的优势 kolla 的优势主要得益于容器技术:得益于成熟的部署⼯具 ansible 和 docker,部署快速且稳定。

⼀个容器只跑⼀个服务,所以能将 openstack 服务控制到很⼩的粒度。

可以以组件为单位进⾏升级和回滚,例如升级 nova 组件,使⽤ kolla-ansible -i /path/to/inventory -t nova 命令即可。

kolla 采⽤⼀切皆容器的基本思想,所以只需操作系统与 docker 兼容,从⽽规避了很多安装包依赖冲突的问题。

⽬前 kolla 项⽬在社区内的热度相对较⾼,社区⽀持更好。

kolla 的缺点完全依赖于 docker ,docker 的不稳定性会给整个环境带来巨⼤的灾难,不过⽬前 docker 已经问题很少了。

使⽤ kolla 部署好云平台后,给开发的 debug 和运维的故障排查会带来更多的复杂度,这个问题也可能通过写⼀个简单的 client 解决。

环境配置与需求硬件配置:三台 8C16G50G 服务器每台服务器两块⽹卡第⼀台服务器额外挂载⼀块 500G 磁盘操作系统:Ubuntu 18.04.2 LTS 操作系统内核版本 4.15.0-45-generic节点规划:三台服务器做⾼可⽤,部署 API 服务第⼀台服务器做为部署节点,部署 ansible、kolla-ansible、私有registry、apt源等剩余两台服务器复⽤,均作为计算节点和⽹络节点⾼可⽤注意事项:如⽆特殊说明,命令默认在部署节点执⾏设置主机名与 host 解析(该步骤需在所有节点上执⾏)使⽤ hostnamectl 设置主机名hostnamectl set-hostname --static server-xx配置 host 解析cat << EOF >> /etc/hosts172.20.xx.31 server-31172.20.xx.32 server-32172.20.xx.33 server-33172.20.xx.31 dev.registry.ioEOF其中,dev.registry.io 是私有 registry 的域名。

OpenStack高可用集群实施案例

OpenStack高可用集群实施案例

OpenStack高可用集群实施案例1. 规划与部署本次分享提炼自我们在某企业部署OpenStack高可用集群的实际案例,初期平台面向公网给部分部门提供虚拟化基础设施,但仍属于私有云。

其中我借鉴了以往操作比如oVirt(RHEV)、VMWare、Citrix 等项目的经验。

考虑到时间关系,本次内容将以方法为主,减少细节描述。

还有本次涉及到的工具多以开源形式呈现,尽量不涉及到产品,以方便大家集成或开发。

架构简图可参考如下,稍后我们会就其中细节进行讲解。

两个架构图的区别在于控制节点的高可用方式。

因为客户网络环境复杂,为了节省部署时间与减少返工率,我们需要在去现场之前准备好以下三种安装方式:l PXE LiveCDl 定制系统安装盘l 安装包与安装脚本第一种方式即在用户网络环境下使用现场人员笔记本或者客户服务器启动PXE服务,配置好系统架构(服务器MAC地址、网络配置、存储配置、对应的OpenStack模块与角色、定制包、系统微调与优化措施等),然后开始全自动安装,功能与Mirantis类似,但对网络要求低很多。

第二种方式既是采用定制的系统安装盘,里面需要准备尽可能多的存储设备与网络设备的驱动,以尽可能适配客户服务器与实施人员的自带存储设备。

第三种方式作为前两种方式的替补选项,主要是因为某些客户环境中安装非标系统需要走很多流程,我们提前让客户准备好操作系统,再到现场安装。

如果给你准备的系统是RHEL、SUSE或者其他标准Linux 系统的倒还好,如果他有情怀地花了一两天给你现编译上了Gentoo甚至给你准备了一台小机,那就没办法了(开玩笑,尚未遇到过这样的客户,在进厂之前要把基本环境沟通清楚)。

另外,它也可以作为以上两种安装方式失败后的最佳选项。

这几种方式也不能说孰优孰劣,从效率上来说我推荐第一种,但针对难以定制的商业虚拟化我们就只能采取手动安装的方式了。

题外话:很多所谓“5分钟装完IaaS”的“神话”都不把服务器从启动到改BIOS配BMC/IPMI的时间算进去。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档