一、前言

昨天又装了一遍OpenStack。码农这项工作就如同人生,永远有你想不到的意外在等着你,时而是惊喜时而是悲伤。在装的过程中倒是很顺利,只是在安装完成之后碰到了两个之前没有碰到的问题,这里记录下来以供需要之人查阅。

二、Q1 网络问题

由于管理网络需要访问互联网且虚拟机同样需要访问互联网,所以管理网络和external网络考虑能不能放到同一个网段去。我本身对网络这块不是很熟悉,之前我考虑同一个服务器不同网卡如果配置同一个网段势必会造成只有一个网卡能起作用,因为数据只可能从一个网口出去。网上也查阅了相关资料,都说理论上可以,但是这种场合最好只出现在负载均衡等情况下,想来是有道理的。

但是对于我这个爱折腾的人来说,什么东西都要亲自试过了我才能确定,而且我考虑虚拟机访问外部网络网卡是指定好的,这样应当不会造成冲突,于是在安装好之后就开始实验。

网络配置情况是这样的:管理网络采用外部网络192.168.10.0/24,虚拟机网络无需多言,外部网络也采用192.168.10.0/24网段,即从交换机直接接了两根线到主节点上。

安装好OpenStack后修改/etc/neutron/plugins/ml2/ml2_conf.ini文件,将外部网络配置到主节点的第三块网卡(具体参考OpenStack(企业私有云)万里长征第四步——DevStack整体安装规划及使用)。而后在OpenStack中采用上述文章中的方式创建外部网络,结果居然成功了。

说明将管理网络和外部网络配置成同一个网段的方案是可行的,但是此处需要注意的是在创建external网络的时候需要设置一下地址池,选择一个网段,防止IP冲突。

三、Q2 虚拟机存储位置问题

新的服务器配置比较高,有两块固态硬盘,剩下的为机械硬盘,这样就考虑两块固态硬盘做RAID 0用于安装操作系统,其余硬盘做RAID 5用于存放数据(但是由于固态硬盘还没有完全到货,有几台全部为机械硬盘,即只做了一个RAID)。在安装前我心里就一惊,之前我没有碰到过这种方案,因为OpenStack势必是把虚拟机、镜像等数据存放在操作系统目录中的,这样几百G的固态硬盘显然是不可能够用的。

安装完之后,果然如我所设想,在创建虚拟机的时候由于OpenStack的策略,使得虚拟机全部部署到了不包含固态硬盘的服务器上,这是因为NOVA的filter Scheduler,在创建虚拟机的时候会根据各种条件对计算节点进行打分,而后根据权重算出最有节点去部署,当然包含固态硬盘的服务器由于硬盘太小,所以分数太低而无法部署虚拟机。

码农的职责就是无论碰到的是惊喜或者忧伤都要迎难而上,既然这样那就尝试着能不能把包含固态硬盘服务器的虚拟机存储位置改到机械硬盘上。

于是在简单的搜索之后开始尝试。首先查到了虚拟即存放位置存储在/etc/nova/nova.conf文件的下面两行信息中。

instances_path = /opt/stack/data/nova/instances
state_path = /opt/stack/data/nova

这就容易了,我只需要将机械硬盘创建分区、格式化,而后挂载到一个新目录,并修改上述虚拟机存储位置就好了嘛。

3.1 创建分区、格式化及自动挂载

显示所有硬盘及所属分区情况

sudo fdisk -lu

通过此命令可以看到服务器中包含哪些硬盘,以及是否创建分区等。

对硬盘进行分区

sudo fdisk /dev/sdb

查看第一步中需要分区的硬盘,执行上述命令,将/dev/sdb替换为你要分区的硬盘。

硬盘格式化

sudo mkfs -t ext4 /dev/sdb

同样将/dev/sdb替换为你要分区的硬盘,上述命令将分好区的硬盘格式化为ext4格式。

挂载硬盘分区

sudo mount -t ext4 /dev/sdb /devdata

同样将/dev/sdb替换为你要分区的硬盘,并将/devdata替换为想要挂载的地方并创建该目录,此命令将 /dev/sdb 分区挂载到目录 /devdata。

在终端窗口中输入如下命令查看挂载情况:

sudo df -lh

配置硬盘在系统启动时自动挂载

1、首先查看需要自动挂载硬盘的UUID

ls -all /dev/disk/by-uuid

2、在文件 /etc/fstab 中加入如下配置:

# /devdata was on /dev/sdb
UUID=37eaa526-5d96-4237-8468-603df5216ce9 /devdata ext4 defaults 0 3

将上述UUID后的值替换为1中查看到的硬盘对应的UUID号,将/devdata替换为你的挂载目录。

3.2 迁移虚拟机存储位置

我将机械硬盘直接挂载到了/data目录,满心欢喜的以为将存储位置修改成/data之后即可搞定,然而一切高兴的太早,无论我怎么操作(又是将原始目录中的内容copy到/data下,又是修改/data的所属用户)在OpenStack中始终无法查看虚拟机,甚至整个OpenStack几乎崩溃。

这让我很是着急,难道白辛苦一天又要从头开始吗,于是机智如我怎能不立即想到将机械硬盘直接挂载到/opt/stack/data/nova下而不去修改nova.conf配置,这样应该就能直接解决问题了吧,说干就干。在简单折腾之后直接成功了。So Easy。

当然此步需要注意两点:

  1. 挂载完成之后需要在/opt/stack/data/nova目录中创建instances目录,否则会报找不到目录的错误。
  2. 修改此目录的权限为stack,此目录权限可能会改成root。

所以最好是先将/opt/stack/data/nova中的内容拷至其他目录进行备份,待挂载后再粘贴回来。当然最好的方式是先进行挂载操作,再安装OpenStack。

四、总结

以上便是此次部署中碰到并解决的两个实际问题,此次安装整体较顺利,相对于去年安装Cloudera的过程,不知道要好了多少倍。大概经历了一年之后,各方面都变化不少吧。

OpenStack(企业私有云)万里长征第六步——OpenStack网络及虚拟机存储位置的更多相关文章

  1. OpenStack 企业私有云的若干需求(4):混合云支持 (Hybrid Cloud Support)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  2. OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  3. OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV

    自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...

  4. OpenStack 企业私有云的若干需求(10):OpenStack 的前景和钱景

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  5. OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  6. OpenStack 企业私有云的若干需求(5):主流硬件支持、云快速交付 和 SLA 保证

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  7. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  8. OpenStack 企业私有云的若干需求(6):大规模扩展性支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  9. OpenStack 企业私有云的若干需求(9): 云管理平台 CMP

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  10. OpenStack企业私有云新需求(1):Nova 虚机支持 GPU

    作者:Sammy Liu 刘世民 本系列会介绍OpenStack 企业私有云的几个需求: GPU 支持 自动扩展(Auto-scaling)支持 混合云(Hybrid cloud)支持 物理机(Bar ...

随机推荐

  1. View学习(一)-DecorView,measureSpec与LayoutParams

    这段时间在学习android中view的工作原理与自定义View的相关内容,所以未来这这几篇博客都总结一下相关的知识吧. 首先我们要了解和熟悉两个概念,DecorView 与 MeasureSpec. ...

  2. Django学习(四)---Admin配置

    1)Admin: admin是django自带的功能强大的自动化数据管理界面 被授权的用户可以直接在Admin中管理数据库(增.删.改.查) Django提供了许多针对Admin的定制功能 2)配置A ...

  3. python中函数的定义,调用,全局变量,局部变量,函数的嵌套使用-初级篇

    函数的基本概述 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,可以思考一下如果有某个功能的代码是在多个地方使用的是否可以只写一次?此时的代码该如何定义.先观察以下的案例: ...

  4. USB的四种传输类型与端点

    1.事务 在介绍USB传输类型之前,请允许我先简答介绍一下USB事务. 事务一般由令牌包.数据包(可选).握手包组成. 令牌包:用来启动一个事务,总是由主机发送. 数据包:可以从主机到设备,也可以由设 ...

  5. 号称精通Java的你,是否真的名副其实

    慎用精通 随着猎头行业的兴盛,一些应聘者往往可以从猎头那得到一些注意事项和过往经验.比如,在简历中切不可随意用上"精通"二字,尤其对于刚入职场的小伙伴. 因为,对于应聘者写上精通和 ...

  6. SLAM中的优化理论(一)—— 线性最小二乘

    最近想写一篇系列博客比较系统的解释一下 SLAM 中运用到的优化理论相关内容,包括线性最小二乘.非线性最小二乘.最小二乘工具的使用.最大似然与最小二 乘的关系以及矩阵的稀疏性等内容.一方面是督促自己对 ...

  7. SpringMVC源码情操陶冶-AbstractHandlerExceptionResolver

    springmvc支持服务端在处理业务逻辑过程中出现异常的时候可以配置相应的ModelAndView对象返回给客户端,本文介绍springmvc默认的几种HandlerExceptionResolve ...

  8. 【SignalR学习系列】4. SignalR广播程序

    创建项目 创建一个空的 Web 项目,并在 Nuget 里面添加 SignalR,jQuery UI 包,添加以后项目里包含了 jQuery,jQuery.UI ,和 SignalR 的脚本. 服务端 ...

  9. 构建 MariaDB Galera Cluster 分布式数据库集群(二)

    MariaDB的安装 构建 MariaDB Galera Cluster之前,首先安装MariaDB,本文使用的版本是10.1 1.环境准备 主机: MariaDB01(192.168.56.102) ...

  10. HDU1036 Average is not Fast Enough!

    Problem Description A relay is a race for two or more teams of runners. Each member of a team runs o ...