最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

5)善后处理。
  • 打上全部软件的最新补丁。
  • 隐藏无须让用户知晓的分区。
  • 配置好防火墙。
  • 设置好备份计划。
  • 对整台服务器做一次完整备份(操作:服务器管理器→工具→ Windows Server Backup:系统备份→一次性自定义备份→勾选“裸机恢复”项,其他关联项自动被选中)。
知识小贴士
  • 裸机恢复:当整个系统损坏(含硬盘损坏)时采用裸机恢复,用启动光盘启动→修复计算机→疑难解答→系统映像恢复,然后根据提示操作即可。
  • 启动系统盘写保护(采用 UWF 或者 Enhanced-Write-Filter 技术)。
2. 双机部署

双机部署与单机部署相比,多了机器间的同步配置、域控搭建等步骤。

1)安装域控。

在图 2 中的域控上安装 Windows Server 2012 R2 操作系统,取机器名 BaseDS,网卡设为固定 IP 地址,然后配置 AD DS,域名为 weisuan.com。创建 workmen 全局安全组,创建用户 workmanN(N=1~60),都加入 workmen 组。两台服务器分别命名为 Node1 和 Node2,都加入域。域控上的 workmen 组加入两台服务器的本地组“Remote Desktop Users”中。

2)配置“DFS复制”(只在 Node1 上操作)。

完成两台计算机间数据文件的双向同步,创建一个复制组,加入需要同步的目录。注意,对于 E:\Users 目录,子目录 TEMP、Administrator、Administrator.WEISUAN 不同步。只针对 E:、F:两个盘做同步策略,D:盘的虚拟机文件改动频繁,建议一天或半天同步一次,其他两个盘做成实时同步。

3)配置“网络负载平衡”(只在 Node1 上操作)。

在服务器管理器中,单击“工具→网络负载平衡管理器”。新建集群,加入 Node1 和 Node2 两台计算机,选择直连的网卡,属性有:名称=remotedesktop,集群操作模式=单播,端口规则=端口范围 3389—3389,筛选模式=多个主机,相关性=单一。

知识小贴士

单播——参与集群的全部机器的网卡配成相同Mac地址,如果机器只有一块网卡,那么这些机器之间无法通信,只能作为一个整体与外界通信。
多播——网卡的Mac地址各不相同,因此集群中的机器可以互相通信,对外时需要支持多播的路由器配合。

当机器有多块网卡时,建议选择单播。反之,选择多播。“单一”相关性,来自相同源地址的会话路由到相同的服务器上;“无”相关性,以会话为单位平均路由到各个服务器上;“网络”相关性,来自相同源地址的会话被路由到一个网段内的服务器上。

中型云计算平台的搭建以及解决方案(超详细)

本节我们来讲如何搭建中型的云计算解决方案,文中的软件选型和部署运维与搭建小型方案时大致相同,在文中不过多赘述了。大家可先阅读教程《如何搭建一个小型的云计算平台》。

需求分析

能满足 100~500 个用户日常办公的需要,每个用户分配一个账号,从而使其能在任何一台云终端上登录云端桌面,实现公司内部的移动办公。应用场所包括大型的阅览室、培训教室、中型公司、大型门柜业务等。

系统设计

我们继续在前面双机方案的基础上做纵向和横向扩展:首先,在纵向上提高单台机器的硬件配置,从而提高每台计算机的性能。

其次,在横向上添加更多的机器,比如每台机器能服务 80 个用户,那么 5 台机器就能服务 400 个用户。继续采用分布式存储并定期同步的策略,不引入集中存储设备,这样一来可以降低成本,二来可以简化系统架构。

对 3389 端口做负载均衡处理。中型方案的系统框图如图 1 所示。

中型方案系统框图
图 1 中型方案系统框图

为了增加可靠性,我们增加了一台域控,同时为了提高容量和磁盘性能,采用两块高速机械硬盘做成 RAID 0,并选购更好的固态盘。5 台机器的数据存储做成实时同步,用户登录时通过负载均衡技术被平摊到每台机器上,当某台机器故障时,该台机器上的用户被重新分配到其他机器上。

仍然采用 Windows Server 2012 R2 操作系统,利用操作系统自带的集群、分布式文件系统(DFS)、Hyper-V、备份等组件。

硬件选型

单台计算机的配置尽量参考表 1,可以自己组装,也可以购买类似配置的品牌计算机,但是目前还没有 SSD+HDD 混搭存储的商用计算机。

配件名称型号参数大致报价(元)
CPU英特尔至强E5-2620V22800
主板华硕 Z9PE-D16C/2L支持双路,最大 512GB内存3300
内存4 根金士顿 DDR3 1600 16G RECC64GB总容量5000
固态盘(系统)英特尔(Intel) S3500 系列 SATA 6Gbit/s 固态硬盘2.5英寸120G980
固态盘(数据)OCZ 25SAT3-512GSATA 6.0 GBit/s,100K IOPS4000
电源海韵(Seasonic )额定 660W P-660 电源 80PLUS 白金牌/全模组/支持双 CPU/支持 SLI/支持背线900
硬盘2 块西部数据(WD)迅猛龙 1TB 企业级硬盘(WD1000DHTZ)SATA6Gbit/s 10000 转 64M3000
NAS西部数据(WD) My Cloud EX4 系列 NAS 网络存储云存储 8T WDBWWD0080KBK-SESN6000
工控小主板*2 块 Intel DN2800MT再加 2GB 内存、32GBSSD2000
合计:27980

不计 NAS 和工控小主板,一台机器的价格在 2 万元以内;如果直接从美国进货,则每台机器可控制在 1.5 万元以内;如果购买品牌服务器,要达到相同的性能,价格在 3 万元以上。本配置单支持以后做纵向扩容:增加一块 CPU、增加内存、增加硬盘。

软件选型

软件选型与前面的“小型方案”相同。

部署与运维

与前面“小型方案”的“双机部署”大致相同,不过在配置 DFS 同步和集群时涉及 5 个节点。

大型云计算平台的搭建以及解决方案(超详细)

本节主要教大家如何搭建一个大型的云计算平台,读完之后你会对云计算有一个更加清晰的认识。

需求分析

能接入 500 台以上的云终端,可以满足大型公司内各类员工的办公需求。公司员工用各自的账号能在公司内部的任何云终端上登录自己的远程桌面,实现公司内部移动办公;同时,要求出差在外的员工也能安全访问远程桌面,公司安全管理部门能监控到外发的电子文档资料。对于一家大型公司来说,云终端用户的基本分类如表 1 所示。

序号用户类型特征常用操作
1访客非公司员工在公司内的公共场合,如会场、餐厅、休息室、大堂、接待室等使用计算机查询、上网、娱乐等
2合作伙伴授权访问、外部接人与特定的接口人交换信息等
3普通文员采用一般的轻量级的软件处理日常文字工作、生产调度等,涉及的信息重要级别低文字处理、收发邮件、上网、音视频娱乐、ERP 等
4重要文员涉及的信息安全级别高,如财务会计、人事档案、项目管理、工资福利等,要求用户间的隔离效果好、可用性高、数据安全性高等。业务软件操作、文件处理、收发邮件、上网、音视频娱乐、ERP 等。
5研发人员信息安全是关键,项目团队与外围必须绝对隔离,消耗较多的计算资源研发工具、文件处理、收发邮件、上网、音视频娱乐等。
6领导使用轻量级的软件,但是信息安全级别最高,应用可用性要求最高文字处理、审批、 收发邮件、上网、音视频娱乐、ERP 等。
7业务人员市场部、采购部、安全部门的员工,他们的共性屎要求信息绝对安全,可用性高。业务软件操作、文字处理、 收发邮件、上网、音视频娱乐、ERP 等。
8IT运维人员他们除运维外,还要对新技术、新方案做测试和评估运维软操作、测试评估、文字处理、收发邮件、上网、音视频娱乐等。

系统设计

1. 技术背景

根据用户在云端共享层次(参见《IT系统组成》教程)的不同,有如下几种实现技术。

1)共享信息和技术(Ⅰ 型)

这是最轻量级的,所有的人都用同一个账户登录,进入同一个用户环境,可运行同一个程序集中的程序,每个人的数据集对其他人可见。用户一退出,其计算痕迹全部被删除。本方法特别适用于公共场所,如图书馆的多媒体阅览室、教育培训机构的计算机室、智能会议室、查询终端等。

2)独占信息、共享技术(Ⅱ 型)

这是较轻量级的,即每个用户独占数据集和少量应用软件,共享硬件、系统软件(如操作系统)和大部分应用软件。这就是多用户系统,Linux 操作系统是一个典型的多用户系统,Windows 的远程桌面服务也是多用户系统。

多用户系统又存在以下两种实现方法:

  • RemoteApp 方式,即在本地创建快捷方式,指到云端的程序(程序安装在云端并在云端运行)。
  • 远程桌面方式,用户直接登录到云端并进入自己的用户环境。

这两种方法都要求事先在云端创建账号,并配置用户环境。在第一种方法中,当用户双击快捷方式时,会自动登录云端(账号和密码事先配置好),然后在云端计算。第二种方法是人工登录到云端桌面。

RemoteApp 方式可以实现“单一入口、分工计算”的目的,即若干台云端服务器可以分工计算,比如有的服务器运行办公软件,有的服务器运行多媒体软件,有的服务器运行游戏软件,有的服务器专门用于科学计算,等等,然后把这些程序都整合到用户的桌面上来。

为了实现这种“单一入口、分工计算”的目的,必须采用单点登录(用户集中认证)和家目录漫游。用户的桌面可以在本地,也可以在云端(专门用一台服务器存放桌面),桌面上的快捷方式可以由用户自己创建(但规定了可选择的程序集),也可以由系统管理员推送过来。当用户数达到几百、上千甚至上万时,采用 RemoteApp 方式较合适。

3)独占信息和应用软件,共享硬件和操作系统(Ⅲ 型)

这是基于操作系统层面的虚拟机,也称为“容器”(常说的 VPS,即虚拟私有服务器)。每个 VPS 都拥有自己的 IP、根文件系统、用户认证系统,以及应用软件集,但是同一台物理机器上的 VPS 共享底层的操作系统内核,用户使用 VPS 就像使用一台单独的物理机器(但是涉及操作系统内核修改的操作是禁止的,比如我们经常会在 Linux 下重构内核,这在 VPS 中是不允许的)。

从整台物理机来看,由于内存中只有一个操作系统在运行,所以与全虚拟机相比,物理机能输出更大的有效计算能力,也能承载更多的“容器”,容器数量几乎多出一倍。另外,与上面两种方法相比,VPS 能达到更好的数据隔离效果。本技术方案特别适合个性化用户和要求数据隔离良好的应用,绝大多数 VPS 提供商都会采用。

4)虚拟机(Ⅳ 型)

虚拟机共享硬件和 Hypervisor 层(有的是操作系统,有的是虚拟层),独占操作系统、应用软件和信息。

与 Ⅲ 型相比,虚拟机具备更佳的隔离效果,用户透明度更高,远程用户几乎不能分辨自己使用的到底是虚拟机还是物理机,在物理机上能进行的操作在虚拟机里都能进行。但是由于一台物理机同时运行多个操作系统,所以资源浪费更大。对于一些要做深度开发的技术工程师(如程序开发员),建议给他们创建虚拟机,允许他们配置虚拟机硬件、安装操作系统、安装开发工具等。

5)物理机(Ⅴ 型)

这是最重量级的,即独占网络层以上的全部信息和技术,直接给用户分配物理机。用户通过远程管理卡连接到物理机,从而可以开关机、配置 BIOS 参数、安装操作系统、配置网络参数、安装应用软件等。物理机的隔离效果最佳,用户个人体验最佳,但是成本也最高。对于一个单位组织的IT工程师,建议给他们分配物理机。

2. 系统拓扑

根据公司用户分类和 IT 系统层次的不同,可制成表 2。

序号用户类型终端数桌面类型备注服务器
1访客100先 Ⅳ 型后Ⅰ型单独使用两台服务器,并与其他服务器在网络上隔离2 台
2合作伙伴100先 Ⅳ 型后SaaS型单独使用服务器,每个应该使用一台虚拟机来承载2 台
3普通文员350先 Ⅳ 型后 Ⅱ 型与本表序号 7 中的业务人员公用相同的物理机:10台
4重要文员80直接 Ⅳ 型虚拟机隔离
5研发人员250先 Ⅴ 型后 Ⅱ 型或先 Ⅳ 型后 Ⅱ 型研发部与其他部门先物理机隔离,然后各个项目间虚拟机隔离,人与人之间可采用容器隔离9 台
6领导20先 Ⅴ 型后 Ⅳ 型后 Ⅱ 型先与其他部门做物理机隔离,然后领导间做虚拟机隔离2 台
7业务人员400先 Ⅳ 型后 Ⅱ 型
8IT运维人员50V 型和 Ⅳ 型部门 Ⅴ 型,部门 Ⅳ 型5 台+若干台低配裸机

对表 2 解析如下:

1)公司领导的数据和应用特别重要,所以每个领导分配一台虚拟机,领导的虚拟机运行在专门的两台服务器上,两台物理服务器做成集群。

2)研发人员的重要程度等同于公司领导,他们具备大致相同的操作行为,所以也采用专门的物理服务器。但是同一个项目成员之间保密度不高,他们之间往往需要共享很多文档资料和源代码,并使用相同的开发工具,所以建议他们使用多用户远程桌面(先 Ⅳ 型后 Ⅱ 型)。

不同项目组之间应施行严格的隔离措施,即不同的项目组采用不同的虚拟机。如果一个项目足够大,超出了一台虚拟机的处理能力,那么可创建多台虚拟机,这些虚拟机之间通过 VLAN 互联。采用虚拟机而不是物理机的好处是,虚拟机迁移方便、可用性高。

3)业务人员面向的是公司的对外业务,涉及客户和提供商,他们积累的数据同样非常重要,对应用的可用性要求较高。所以,建议尽量使用专门的服务器,重要的职员使用单独的虚拟机,同一部门的职员使用虚拟机上的多用户桌面。如果某个部门内的职工人数很多,则可以分配多台虚拟机。

4)普通文员和重要文员使用专门的服务器,每个重要文员分配单独的虚拟机,普通文员采用虚拟机上的多用户桌面。当然,对于那些只维护应用的员工来说,也可以分配一台虚拟机。

5)IT 运维人员使用的软件比较杂,操作行为多变,需要经常模拟各种应用场景,所以直接给他们分配物理服务器是一个好主意。根据具体情况,可能一些运维人员还需分配多台服务器。

基于上述分析,最终我们设计的云计算方案框图如图 1 所示。

我们采用 OpenStack 云计算管理工具和 Mariants 公司的 Fuel 自动部署工具。在图 1 中,每个组承载一定数目的虚拟机,这些虚拟机可能被分割成不同的 VLAN,同一台虚拟机允许在它归属的组内“漂移”,但不能跨越组边界。所以我们采用的网络拓扑为基于 VLAN 的 Neutron,它支持网卡绑定、虚拟交换机(OVS)和 Murano,允许对租户进行隔离。

大型云计算方案框图
图 1 大型云计算方案框图

3. 网络设计

网络设计如图 2 所示。

网络设计
图 2 网络设计

网络设计(续)
图 2 网络设计(续)

我们采用了 5 张网络平面,从上至下分别是公司内部网(或业务网)、管理网、存储网、Fuel 网和 Ceph 内网。其中,公司内部网相当于公司的传统 IT 系统网络,分配给员工使用的虚拟机和一些应用服务器(如网站、邮箱等)都属于这张网;而管理网、存储网、Fuel 网和 Ceph 内网组成 OpenStack 相关网络部分,OpenStack 的作用就是管理虚拟机,是手段。

在图 2 中,由 Ceph 内网支撑的立方体代表 OSD 服务器,由 Fuel 网支撑的立方体代表 OpenStack 中的控制和计算服务器,贯穿公司内部或者由其支撑的立方体代表虚拟机和应用服务器。

一个立方体的支撑网络平面和贯穿网络平面代表一台服务器同时处于几个网络平面中,如图 2 中的 OpenStack 服务器同时处于 3 个网络平面。各个网络平面的作用如表 3 所示。

网络名称作用网络参数
公司内部网云终端用户、虚拟机之间、应用服务器之间的通信包,以及与公司外部的交换数据包B 类地址 +VLAN,172.16.0.1/16,服务器和虚拟机采用固定 IP,终端采用动态 IP
管理网承载 OpenStack 各组件间的通信包、管理员的管理数据包192.168.1.1/24,固定 IP
存储网中央存储与服务器、虚拟机的存储数据包192.168.2.1/24,固定 IP
Fuel 网服务器自动安装操作系统的数据包192.168.3.1/24,固定 IP
Ceph 内网Ceph 内部各个节点之间同步数据包192.168.4.1/24,固定 IP

本大型方案决定采用 OpenStack 构建基础平台,全部的集群具备横向扩充的特征,对于 OpenStack 我们做如下设计。

在云端存在 8 个集群,其中管理集群用来运行 OpenStack 服务(但不包含业务计算节点),所以管理集群本身的虚拟机不纳入 OpenStack 中管理。而每个集群上的虚拟机不允许“漂移”到其他集群,所以我们采用 HA 对全部机器进行分组,同时只采用一个 Region 和一个 Cell。之所以要采用 Cell,是为了以后扩展,如图 3 所示。

采用Cell
图 3 采用 Cell

为了便于区分和记忆,直接采用集群的名字作为 HA 分组的属性,属于同一个 HA 组的机器最好分布在不同的机柜,每个机柜一般都有各自的供电、网络、避雷和冷却等设施,这样就能最大限度地保证同一个 HA 内的机器不会同时损坏。分组情况如表 4 所示。

序号HA 分组属性对应的集群机器数目
1guest访客群2
2partner合作伙伴群2
3office办公集群10
4development开发集群9
5leader领导集群2
6support运维集群5
7base基础服务集群6

加上管理群等,差不多有 45 台机器,全部采用 2U 的机架式服务器,安装在 3 个机柜中,要求每个分组的机器分散到尽量多的机柜中,如图 4 所示。

机柜布局
图 4 机柜布局

管理群中有 3 台服务器,每台服务器上运行 3 台虚拟机,第一台虚拟机运行 Keystone 和 Horizon 服务,第二台虚拟机运行父 Cell 中的 4 个服务,第三台虚拟机运行子 Cell 中的几个控制服务(AMQP、Database、Nova-cells、Nova-scheduler、Nova-network),通过负载均衡器把任务平均调度给 3 台服务器。

一共 9 台虚拟机,分成 3 组,每组 3 台虚拟机中运行相同的服务,共同承担由负载均衡器分配过来的任务。

系统架构图中的基础服务集群包括 DNS、域控、DHCP、局域网接入认证、单点登录、IT 设备监控、用户上网行为管理、病毒特征库、补丁中心、入侵检测、VPN 等。

4. 存储设计

中央存储部分保存公司与办公相关的数据,所以科学设计中央存储非常关键,必须从容量、性能、可靠性等方面仔细斟酌。本案例的存储需求说明如表 5 所示。

需求项备注
1. 预算多少?200 万元只包括存储服务器
2. 业务类型是什么?云桌面移动办公私有云
3. 访问存储的应用软件?HypevisorKVM
4. 存储的数据类型?大文件
5. 容量偏好还是性能偏好?性能偏好
6. 初始数据量多少?1.5 TB
7. 数据增长率多少?7GB/天
8. 主机请求 IOPS 多少?600001500个用户,每个用户 40 个 IOPS。由于存在写惩罚,所以磁盘实际 IOPS 在 100 000 以上
9. 吞吐(带宽)多少?1 Gbit/s

方案选型时,对以下几方面加以关注。

  • 多副本存储。
  • 万兆网络:万兆交换机、多网卡绑定。
  • 分布式系统:每个节点都能单独提供服务。
  • 多采用 SSD。
  • 消除单点故障。

综上所述,我们决定采用 Ceph 来构建存储子系统。Ceph 发展很快,目前已能在生产环境中使用。它对外能提供 3 种存储服务,分别如下。

  • 对象存储服务(Object):有原生的 API,而且也兼容 Swift 和 S3 的 API。
  • 块存储服务(Block):支持精简配置、快照、克隆等。
  • 文件存储服务(File System):Posix 标准接口,支持快照。

Ceph 的优点如下。

  • 高扩展性:使用普通 X86 服务器,支持上千台存储节点和数 PB 级的数据量。
  • 高可靠性:不存在单点故障,多数据副本,自动管理,自动修复。
  • 高性能:数据分布均衡,并行化程度高。对于对象存储和块存储,不需要元数据服务器,因此不存在瓶颈通道(短板)。

Ceph的架构如图 5 所示。

外界可以通过以下四条途径访问 Ceph:

  • 通过文件存储服务接口,如 NFS。
  • 通过块存储服务,如 iSCSI。
  • 通过对象存储服务,如 OpenStack 的 Swift 就是采用 RESTfull 调用方式访问 Ceph 的。
  • 采用编程函数库编写应用软件来访问 Ceph。

我们设计的集中存储方案逻辑框图如图 6 所示。

img
图 5 Ceph 架构

集中存储方案逻辑框图
图 6 集中存储方案逻辑框图

在这个方案中,我们采用了 6 台存储节点、3 台监控节点、2 台文件系统元数据节点。其中,最关键的是运行对象存储守护进程(OSD 进程)的节点,Ceph 官方建议采用通用的服务器,比如惠普、戴尔品牌的机器都可以。

如果用不到 Ceph 的文件存储服务(如 NFS),那么元数据服务器(MDS)可以不要。客户端通过网络访问 Ceph 中的数据,负载被平均分配到全部的存储节点上,因此并没有瓶颈。访问数据的输入/输出通路如图 7 所示。

访问数据的输入/输出通路
图 7 访问数据的输入/输出通路

在整个输入/输出通路上,带宽是由最慢的部件决定的。在这些部件中,内存的速度是最快的,“短板”必在硬盘、输入/输出控制卡、网卡、交换机中,下面分别加以阐述。

1)硬盘:

混合使用固态硬盘(SSD)和多块机械硬盘(HDD)。固态硬盘性能高、容量小,机械硬盘性能低、容量大,混合使用大致可以达到固态硬盘的性能和机械硬盘的容量。当然,还需要软件的配合才能发挥其最大的优势。在 Ceph 方案中,固态硬盘做日志盘,多块机械硬盘做数据盘,多块硬盘做成 JBOD 或者 RAD0。

表 6 所示是截至发稿前一些硬盘的 IOPS 和吞吐统计值。

磁盘类型容量IOPS顺序读写吞吐
ATA 5400RPM≤4TB55~85115~120MB/S
SATA 7200RPM≤4TB75~100140~170MB/S
SAS10000RPM≤1.2TB125~150115~190MB/S
SAS15000RPM≤600GB175~210120~210MB/S
SATA SSD≤800GB5000~120000300~550MB/S
mSATA SSD≤500GB≈18000300~530MB/S
PCI~E SSD≤3.2TB120000~9608000300~2800MB/S

ATA 5400RPM 的硬盘在笔记本、移动硬盘产品中多见。

SAS 硬盘在传统服务器中用得较多,但是其价格高、容量小的缺陷注定其将逐渐退出市场。

SATA 7200RPM 目前是主流,尤其是台式机用得最普遍,结合 SSD 硬盘,做成混合存储方案,越来越得到重视。

相比 PCI-E SSD,SATA SSD 用得更普遍,尽管 PCI-E SSD 具备卓越的 IOPS 和巨量吞吐,但是其动辄上万元的价格使绝大多数消费者望而却步。

总结:SATA 7200RPM 的机械盘 +SATA SSD 混合存储方案是将来两三年内的流行方案。

2)I/O 控制卡

硬盘控制器一般集成在主板上的南桥芯片中,尤其是台式机,很少需要额外添加硬盘控制卡。但是有时需要接入太多的硬盘或者需要更高的吞吐或者支持阵列,这时就要额外购买硬盘控制卡,并插入主板的 PCI-E 插槽中。无论是独立的控制卡还是集成到南桥芯片中,输入/输出控制芯片都至关重要(见表 7)。

输入/输出控制芯片芯片JBOD回写缓存备注
HP P420iQlogic不支持1Gbit/s
LSI 3081E-RLSI SAS 1068EPCI-E,3Gbit/s
华硕 P8B-C 集成,LSI SAS 9211-8iLSI SAS 2008支持PCI-E 2.0,6Gbit/s,30万IOPS,吞吐 6000MB/s,8口,支持电池供电保护数据
LSI Logic LSI00345 9300-8iLSI SAS 3008支持PCI-E 3.0,SAS 12Gbit/s,SATA 6Gbit/s,百万计 IOPS,吞吐 6000 MB/s,8 口,支持电池供电保护数据
MegalRAID SAS 9631-8iLSI SAS 3108支持PCI-E 3.0,每端口 12Gbit/s,百万计 IOPS,吞吐 6000MB/s,8口,1GB缓存,双核,支持电池供电保护数据
戴尔 H710LSI SAS2208不支持
超微主板集成LSI SAS2208支持
HP H220 LSI00345 9300-8iLSI SAS 3108支持PCI-E 3.0,6Gbit/s,60万IOPS,8口,支持电池供电保护数据

从表 7 中可以看出,输入/输出控制芯片几乎被 LSI 公司垄断。如果购买独立的 I/O 控制卡,建议芯片版本在 2008 以上。本方案中购买的是 LSI SAS 3008 芯片组产品,为以后预留足够的纵向扩展空间。

3)内存

在 I/O 通路上,内存的速度是最快的,所以在速度上没有特别的要求(当然,在执行指令的通路上,内存又会成为“短板”)。但是内存的稳定性至关重要,内存的稳定性要求不能出错,即使出错了,也还能纠正错误。因此,强烈建议采用具备纠错功能的 ECC 内存、多通道内存、DDR Ⅲ 代内存、服务器内存,当然内存容量越大越好。

4)网卡和交换机

网络很容易成为输入/输出通路上的瓶颈,可以肯定,如果采用单块千兆网卡或者千兆及以下的交换机,那么理论上网络的吞吐是 100 兆字节(约等于 1000/10),实验数据大概在 60 兆左右。表 6 中列出的最慢硬盘,其吞吐也在百兆以上。因此,组建 Ceph 存储时建议采用当时最快的网卡和网络设备。

比如 2014 年有万兆网卡和交换机,万兆网络理论吞吐是 1000MB,实验数据也在 600MB 以上,超过除 PCI-E 固态盘外的所有类型的硬盘吞吐。如果还嫌慢,就捆绑多块万兆网卡平摊流量,比如采用 n 块,那么理论吞吐就是 n×1000MB 了。注意,网卡的稳定性也很重要,所以要购买大品牌网卡,可能价格会贵很多,但是收益也很明显(减少一次数据丢失就赚了)。

Ceph 中的监控程序(MON)建议运行在单独的计算机上,至少三台。MON 监视整个存储集群的运行状态,记录 PG(对象的位置信息)和 OSD 日志,因此运行 MON 的计算机配置要求不高,采用一般配置(如 7GHz 的 CPU、16GB 内存、500GB 硬盘)即可。

硬件选型

1. 计算节点

各种集群中的服务器的主要任务是运行虚拟机,因此对 CPU 和内存比较敏感。基础服务集群中的计算机统一采用物理机直接安装法(不采用虚拟机),以便提高基础服务的快速响应能力,这部分机器对硬件配置要求不高,但是对可靠性要求很高,具体如表 8 所示。

配件名称型号参数大致报价(元)
CPUIntel 至强 E5-2620V26核,2.1GHZ。购买2个5600
主板华硕 Z9PE-D16C/2L支持双路,最大512GB内存3300
内存8 根金士顿 DDR3 1600 16G RECC128GB 总容量10000
固态盘(系统)英特尔(Intel)S3500系列SATA 6Gbit/s 固态硬盘 2.5英寸 120G980
电源航嘉HK700-12UEP950
合计:20830
2. 控制节点

控制节点包括网络基础服务节点和 OpenStack 控制节点,其中网络基础服务节点有 3 个,OpenStack 控制节点有 3 个。

网络基础服务包括 DHCP、DNS、AD、RADIUS、IDS、CA、打印服务、NTPD 等,关乎整个系统的可用性,因此机器要求稳定可靠,性能倒在其次。

网络基础服务节点硬件配置如表 9 所示。

配件名称型号参数大致报价(元)
主板超微MBD-AISAI-2750F-O集成 C2750 CPU(8 核,2.4GHZ),4个千兆网口,1个IPMI口,MINI-ITX2800
内存2根金士顿 DDR31600 8G RECC1200
固态盘(系统)Intel DC S3500120G1000
电源台达电源适配器主动 PFC 大功率 DCI2V 12.5A 额定 150W150
合计:5150

注意:系统做成只读的,可变数据放在 Ceph 中。

OpenStack 控制节点对计算资源没有特别偏好,要求 CPU、内存、网络和硬盘配备均衡,硬盘侧重于速度。OpenStack 控制节点硬件配置如表 10 所示。

配件名称型号参数大致报价(元)
CPUIntel Xeon E7-48076核心12线程,1.86GHz, LGA15673300
主板华硕 Z9PE-D16C/2L支持双路,最大512GB 内存3300
内存4 根金士顿 DDR3 1600 16G RECC64GB总容量5000
周态盘(系统)英特尔(Intel) S3700 系列SATA6Gbit/s固 态硬盘 2.5 英寸 100G1700
电源安钛克 TP 650C650W, 80PLUS 金牌700
合计:13500
3. Fuel 节点

Fuel 节点侧重于输入/输出通路带宽,即配备高速的网络、磁盘、内存,合理的硬件配置如表 11 所示。

配件名称型号参数大致报价(元)
CPUIntel Xeon E5-2620V2LGA2011/2.1GHz/15M, 6 核2900
主板华硕 Z9PE-D16C/2L支持双路,最大512GB内存3300
内存2 根金士顿 DDR3 1600 16GB RECC32GB总容量2500
固态盘(系统)英特尔S3700系列200G, SATA3,企业级2890
电源安钛克TP 650C650W,80PLUS金牌700
合计:12290
4. 存储节点之OSD

Ceph 中央存储采用 6 台机器,三份备份模式,提供 96TB 的有效存储容量,物理磁盘容量为 288TB。单台计算机的配置参考如表 12 所示,可以自己组装,也可以购买类似配置的品牌计算机。

配件名称型号参数大致报价(元)
CPUIntel Xeon E3-12354 核 8 线程,3.2GHz1600
主板P9D-MH-10G-DUAL2 个万兆网口,2 个千兆网 口,集成 LSI 2308 磁盘卡,8 个 SAS 口,6 个 SATA 口4000
内存6 根金士顿 DDR3 1600 8G RECC48GB 总容量3600
固态盘(系统)Intel/英特尔DC S3500 120G1000
固态盘(日志)OCZ RVD3-FHPX4-240G240GB,IOPS=130000,吞吐:读 1000MB/S,写 900MB/S3500
电源酷冷至尊白金龙影 1000W (RS-A00-SPPA)80PLUS 白金牌/全模组/支持双 CPU/支持 SLI/支持背线/12 个 SATA1900
硬盘(SAS)8 块 4TB WD4001FYYG32TB20000
硬盘(SATA)4 块 4TB WD4000FYYZ16TB10000
合计:45740

根据 Ceph 部署经验值,一个 OSD 进程需要 1GHz 的 CPU 频率,1TB 的存储需要 1GB 内存,所以对本配置,一台计算机大约运行 12 个 OSD 进程(4×3.2),每个 OSD 进程大约分配 4GB 内存,并分别负责一块机械硬盘。240GB 的固态盘分为 12 个区,每个区 20GB,存放 OSD 进程的日志。

5. 存储节点之MON

存储节点配置之 MON 配置如表 13 所示。

配件名称型号参数大致报价(元)
主板超微 MBD-A1SAI-2750F-O集成 C2750 CPU ( 8 核,2.4GHz ), 4 个千兆网口,1个 IPMI 口,MINI-ITX2800
内存2 根金士顿 DDR3 1600 8G RECC16GB 总容量1200
固态盘(系统)Intel DC S3500 120G1000
固态盘(数据)Intel DC S3500 480G240GB,IOPS=130 000,吞吐:读 lOOOMB/s,写 900MB/S4000
电源台达电源适配器主动 PFC 大功率DC 12V 12.5A 额定 150W150
合计:9150

本配置方案采用了服务器版的凌动 CPU C2750,超微的这块小主板相当于嵌入式主板,运行稳定可靠、功耗低,整台计算机的功耗在 40W 以内。

软件选型

应用层软件先不做考虑,我们主要是针对系统层,同时遵循开源软件优先、类型尽量单一、结构尽量简单的原则,最终选定的软件如表 14 所示。

软件类型软件选型备注
宿主操作系统CentOS 7.2X86_64最小化安装
云管理平台OpenStack Newton2016 年是 M 版,马上就放出 N 版了
存储Ceph实现对象存储、块设备和分布式文件系统
虚拟机KVM
来宾操作系统Windows Server 2012 R2域控、远程桌面会话
Windows 10办公
CentOS 7.2开发、运行中间件等
局域网接入认证FreeRADIUS
入侵检测Snort易学、易用
上网行为管理Squid
VPNOpenVPN
单点登录OpenlD也可以采用耶鲁大学的 CAS
IT设备监控Zabbix
消息队列RabbitMQ
SQL数据库MariaDB/MySQL-Galera
部署工具Mirantis Fuel自动化部署 OpenStack
HA工具HAProxy、Pacemaker

之所以选择 64 位的 CentOS 7.2,理由如下:它采用 Linux 内核 3.15 版,默认采用 XFS 文件系统(一个单文件系统容量可达 500TB),完美支持 Docker 容器,无缝衔接 Windows AD 域,还有其他众多的适合云计算的特征。

部署

整个系统的部署主要涉及 4 个部分,分别是 Ceph 的部署、OpenStack 的部署、基础服务集群的部署,以及虚拟机里的应用部署。这里只对前 3 部分做概括性介绍,应用部署不在本教程的讨论范围之内。

最著名的自动化部署 OpenStack 的工具有以下几个。

1)Mirantis 公司的 Fuel

Mirantis 是一家专门围绕 OpenStack 推广和运维的公司,其发布的开源自动化部署工具 Fuel 非常强大,囊括了安装操作系统、高可靠性高计算(HA)、安装 OpenStack 和运维监控等,而且实现了 CLI 界面和基于 Web 的 GUI。官方网站为 https://www.mirantis.com

2)Puppet 公司的 puppetlabs-OpenStack

老牌经典,不过功能相对 Fuel 要弱。其他比较强大的工具都是基于它开发出来的。从 https://github.com/puppetlabs/puppetlabs-openstack 网站可以下载其文档和脚本。

3)红帽公司主导的 PackStack

基于 Puppet 开发,目前只支持 RedHat/CentOS 操作系统,支持多节点部署 OpenStack。项目网站为 https://github.com/stackforge/packstack

4)OpenStack 社区的 Devstack

这算是最早的一套从源码安装 OpenStack 的自动化脚本,适合搭建开发或者实验的 OpenStack 环境,不适合在生产环境中使用。项目网站为 https://github.com/openstack-dev/devstack

1. 准备工作

Ceph 存储系统中的各个节点的名字和 IP 分配如表 15 所示。

主机名IP地址节点类型备注
monl192.168.4.11MONIP地址范围是192.16&4.11〜20
monl2192.168.4.12
monl3192.168.4.13
mdsl192.168.4.21MDSIP地址范围是192.16&4.21〜30
mds2192.168.4.22
osdl192.168.4.31OSDIP地址范围是192.168.4.31〜100
osd2192.168.4.32
osd3192.168.4.33
osd4192.168.4.34OSDIP地址范围是192.168.4.31〜100
osd5192.16&4.35
osd6192.168.4.36
osd7192.168.4.37
osd8192.16&4.38
adml192.168.4.10ADM管理控制台,IP地址范围是192.168.4.6-10

单台 OSD 节点上的硬盘文件如表 16 所示。

设备文件分区大小作用
/dev/sda/这是固态盘/
/dev/sda18GB交换区
/dev/sda232GB根分区
/dev/sda378GB系统数据分区
/dev/sdb/这是固态盘/
/dev/sdb5~/dev/sdbl6每个20GB,共12个日志分区
/dev/sdc4TBOSD数据区
/dev/sdd4TBOSD数据区
/dev/sde4TBOSD数据区
/dev/sdf4TBOSD数据区
/dev/sdg4TBOSD数据区
/dev/sdh4TBOSD数据区
/dev/sdi4TBOSD数据区
/dev/sdj4TBOSD数据区
/dev/sdk4TBOSD数据区
/dev/sdl4TBOSD数据区
/dev/sdm4TBOSD数据区
/dev/sdn4TBOSD数据区

每个 4TB 的硬盘对应一个 20GB 的日志分区。

计算节点 120GB 的固态盘分成三个分区,即根分区 32GB、数据分区和交换分区 8GB。控制节点做同样的分区规划,Fuel 分区无须人工规划,在安装 Mirantis Fuel 时自动完成。

2. 具体部署

我们采用 Fuel 来部署 OpenStack,按照下面的任务列表进行部署。

1)部署 Fuel 主机

从 Mirantis 官网下载最新的 Fuel 的 ISO 镜像文件并做成启动介质(USB 盘或光盘),启动计算机,在开始安装界面上按 Tab 键并修改 shomenu=yes,这样在 Fuel 安装过程中会跳出一个设置界面,可以设置如下参数:

  • 为每块网卡设置动态或静态 IP 地址。
  • 设置静态和动态 IP 地址池。
  • 设置时钟同步。
  • 设置操作系统的 root 密码,修改管理用户 admin 的密码。
  • 设置 DNS 参数。
  • PXE 参数。

注意,事先记下各块网卡的 Mac 地址和链接的网络,这样配置时就不会搞乱。安装时人工干预不多,几乎是自动完成的,但是时间有点长,大概需要 20 多分钟。安装完成后打开网站http://ip:8000 输入 admin 用户和密码登录可视化的管理界面(默认密码是 admin)。

2)部署其他主机

其他节点机全部设置成从网卡启动,并开机,这些机器都会自动安装操作系统。一会儿 Fuel 就会检测到这些节点,并把数目显示在靠近右上角的地方,比如 X 个全部节点,Y 个未分配节点。

3)部署 OpenStack

首先新建一个 OpenStack 环境,如图 8 所示(一个 OpenStack 环境包含控制节点、计算节点和存储)。在新建 OpenStack 环境的过程中指定如下参数。

OpenStack环境
图 8 OpenStack环境

  • 名称和操作系统类型、OpenStack 版本:weisuan,Newton on CentOS 7.2。
  • 选择部署模式:带 HA 的多点模式。
  • 选择虚拟机软件:KVM。
  • 选择网络拓扑类型:Neutron VLAN。
  • 选择存储后端类型:Cinder 块存储和 Glance 对象存储都选择 Ceph。

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

e2ec54.png)

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐