一、前言

昨天又装了一遍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. Linux 压缩 与解压命令

    tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...

  2. (转载)java基础:关于java流与文件操作

    原文摘自: http://www.blogjava.net/haizhige/archive/2008/08/03/219668.html 1.描述:流是字节数据或字符数据序列. Java采用输入流对 ...

  3. Java自学手记——servlet3.0新特性

    servlet3.0出来已经很久了,但市场上尚未普遍应用,servlet3.0有三个比较重要的新特性:使用注解来代替配置文件,异步处理以及上传组件支持. 支持servlet3.0的要求:MyEclip ...

  4. Mac之OS系统下搭建JavaEE环境 <三> 之Eclipse 与 IntelliJ IDEA 的安装配置

    三.Eclipse 与 IntelliJ IDEA 的安装配置 1.Eclipse的安装配置 1 下载eclipse 到官网 https://www.eclipse.org/downloads/ecl ...

  5. "HK"日常之制作一只QQ刷屏

    刷屏器是什么?可以吃吗?如果可以吃它好吃吗? um. 刷屏器就是可以定时发生信息的东西 刷屏器可以应用于很多方面,例如别人不理你了或者在QQ斗图的时候.警告:本教程仅作为学习研究,禁止其他用途!--- ...

  6. 【.net 深呼吸】监听剪贴板更新(针对Vista之后系统)

    针对 XP 及以前的监视剪贴板更改的方法就不讲了,因为 XP 已严重过时.本篇老周介绍的方法面向 Vista 以上的系统. 在托管应用程序中监听剪贴板更新行为必须用到 Win 32 API ,具体做法 ...

  7. HTML中使用JavaScript的三种方式及优缺点

      1.内部js: 在直接在页面的<script></script>标签内写js代码 优点:相对于使用行内js,内部js代码较为集中,与页面结构的实现代码耦合度较低,比较便于维 ...

  8. (转)MySql数据库索引原理(总结性)

    本文引用文章如链接: http://www.codinglabs.org/html/theory-of-mysql-index.html#more-100 参考书籍:Mysql技术内幕 本文主要是阐述 ...

  9. LeetCode-Minimum Path Sum[dp]

    Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...

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

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