一、前言

昨天又装了一遍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. hasOwnProperty的用法

    判断一个属性倒底是在原型中,还是在实例中 hasOwnProperty() 来个栗子 function Person(){ }; Person.prototype.name = "hezhi ...

  2. vijos1056题解

    题目: 桌面上放了N个平行于坐标轴的矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积. 在翻题目时,偶然发现了这道标号为WA的题目. 原来,以前我把一中培训的代码发了上去,却WA了4个点, ...

  3. str-字符串功能介绍

    叨逼叨:字符串的各个功能修改不是本身,本身不变,会产生新的值,需要赋值给新的变量来接收 以下 "举例" 是解释每个功能的实例   "举例"下一行是pycharm ...

  4. Unity3D文件读取

    Resources: 是作为一个Unity3D的保留文件夹出现的,也就是如果你新建的文件夹的名字叫Resources,那么里面的内容在打包时都会被无条件的打到发布包中.它的特点简单总结一下就是: 只读 ...

  5. MongoDB数据库索引

    前面的话 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录.这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查 ...

  6. hibernate之映射文件VS映射注解

    前言 对于java开发者而言,注解应该不是一个陌生的概念,早在JavaSE阶段,例如@Override标记重写父类方法或实现接口方法,@Test标记单元测试方法,所以我们可以简单地把它理解为一种有特殊 ...

  7. serv-u中如何映射网络驱动器

    用一台机器作服务器,但硬盘空间不足,想通过影射网络驱动器来实现ftp的空间扩容! 如何映射网络硬盘或文件? 首先打开我的电脑--工具选项--映射网络驱动器: 如图示: 在文件夹输入映射路径:\\XXX ...

  8. 手机摄像头扫描识别车牌号,移动端车牌识别sdk

    一.移动端车牌识别应用背景 (技术交流:18701686857  QQ:283870550) 随着经济水平的不断提高,汽车数量的不断激增为汽车管理带来了不小的难度.路边违章停车的现象越来越频繁.现在, ...

  9. Java虚拟机--垃圾收集

    Java虚拟机 1. JVM运行时数据区域 参考书籍:<深入理解Java虚拟机:JVM高级特性与最佳实践,第二版> 资料参考:http://blog.csdn.net/nms312/art ...

  10. (转)Sublime Text2 快捷键汇总

    场景:最近在编写项目中越发的感觉到一个得心应手的编辑器是多么的重要,而sublime,无疑是让我用着最舒服,最有感觉的编辑器了! 1 快捷键总结 一个好的编辑器,能大大提高编程的效率.如果能熟知软件的 ...