OpenStack环境搭建

这一步有两个选择:

  1. 一种就是正统的真实搭建,所有都按生产环境来部署,费时费力。
  2. 还有一种就是官方推荐的一键安装DevStack,直接安装最新的版本,体验最新的特性。

至于如何选择,就看需求。当时我选择了DevStack,因为本身只是去实现个功能,这个就完全满足了。安装有点费时,默认会安装在 /opt/stack/ 下面,里面还有个devstack的目录,一般在这里启动,停止DevStack。官方没有自带重启 DevStack 的各种服务,不过高手自在民间,于是有外国有人写了重启的脚本。Restarting DevStack
所有的都OK了,然后访问服务器地址,就能看到Horizon了,账号admin,密码在服务器启动的时候,最后的地方会有提示,当然也就是你安装DevStack的时候输入的。

卷加密

环境OK了,接下来研究卷加密。google了下LVM加密相关的内容,发现了Linux下面用cryptsetup就能够实现卷加密的功能,这个可以通过apt-get来获取,只有几百KB。它把LVM加密过后必须要输入正确的密码才能mount使用,否者就无法挂载,自然也就不能查看里面的内容。操作的对象为LVM,所以需要事先创建好LVM,如何创建LVM看这里

cryptsetup LUKS加密步骤如下(假设LVM名为:lvm1, VG名为:vgtest):

大专栏  Archives: 2013/6>
1
2
cryptsetup luksFormat /dev/vgtest/lvm1

解密,并使用:

1
2
3
4
5
6
7
cryptsetup luksOpen /dev/vgtest/lvm1 encryptLVM
#回车后,要求输入刚才加密时设置的密码,正确则会创建一个Device-Mapper文件,/dev/mapper/encryptLVM,错误则无法生成,也就无法挂载使用。
#格式化系统,并挂载使用
mkfs.ext3 /dev/mapper/encryptLVM
mkdir /mnt/crypt
mount /dev/mapper/encryptLVM /mnt/crypt

卸载设备:

1
2
umount /mnt/crypt
cryptsetup luksClose /dev/mapper/encryptLVM

如果要再使用的话,只需要再luksOpen,然后mount就可以了,不需要再luksFormat了。

整合到DevStack

加密和解密过程发生在LVM的attach和detach过程中,所以只需要在/nova/virt/libvirt/volume.py中的相关部分加上cryptsetup的加密,解密和关闭操作就可以实现LVM加密的功能,这部分就看个人怎么实现了。具体的实现代码可参考Add encryption support for volumes


Archives: 2013/6的更多相关文章

  1. [Erlang 0122] Erlang Resources 2014年1月~6月资讯合集

    虽然忙,有些事还是要抽时间做; Erlang Resources 小站 2014年1月~6月资讯合集,方便检索.      小站地址: http://site.douban.com/204209/   ...

  2. RSA大会播报 – 2014最佳安全博客提名(国外篇)

    最佳企业安全博客提名:     Juniper(网络厂商,不用多介绍):http://forums.juniper.net/t5/Security-Mobility-Now/bg-p/networki ...

  3. ModSecurity web application firewall (WAF) Research

    catalog . 引言 . OWASP ModSecurity Core Rule Set (CRS) Project . Installation mod_security for Apache ...

  4. java 图像灰度化与二值化

    转载:http://www.chinasb.org/archives/2013/01/5053.shtml 1: package org.chinasb.client; 2: 3: import ja ...

  5. html5手机常见问题与工具分享

    mobileTech A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 ...

  6. mobileTech

    A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 工具类网站 HTML ...

  7. SQL中的连接可以分为内连接,外连接,以及交叉连接 。

    SQL中的连接可以分为内连接,外连接,以及交叉连接 . 1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例, ...

  8. [转载] TLS协议分析 与 现代加密通信协议设计

    https://blog.helong.info/blog/2015/09/06/tls-protocol-analysis-and-crypto-protocol-design/?from=time ...

  9. 'NSInteger' (aka 'long') to 'int32

    怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32 ...

随机推荐

  1. udp和tcp通信

    一.参考文档 1.从UDP的”连接性”说起–告知你不为人知的UDP 2.Linux UDP通信例子

  2. 深入分析Java反射(五)-类实例化和类加载

    前提 其实在前面写过的<深入分析Java反射(一)-核心类库和方法>已经介绍过通过类名或者java.lang.Class实例去实例化一个对象,在<浅析Java中的资源加载>中也 ...

  3. 编程作业1.1——sklearn机器学习算法系列之LinearRegression线性回归

    知识点 scikit-learn 对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析. 我们也可以使用scikit-learn的线性回归函数,而不是从头开始实现这些算法. 我们将scik ...

  4. LeetCode Input Initial Code

    说明 LeetCode提供的样本输入,显示上是数组Array,而后台的实际测试用例则是树TreeNode,链表ListNode等. 如果你是在页面手撸代码直接提交的,那没什么影响. 如果你是在本地ID ...

  5. UML-如何画SSD?

    1.SSD来自哪里?答:用例文本 2.如何为系统事件和操作命名? 3.SSD中的哪些需要放到词汇表中? SSD元素包含 1).操作名称 2).参数 3).返回数据 这些元素,必须要简洁.但别人可能不太 ...

  6. 实例说明 PeekMessage与GetMessage的区别

    PeekMessage与GetMessage的对比相同点:PeekMessage函数与GetMessage函数都用于查看应用程序消息队列,有消息时将队列中 的消息派发出去. 不同点:无论应用程序消息队 ...

  7. 60年前美国军方的这个编程原则,造就了多少伟大的框架--KISS原则

    摘自:https://kb.cnblogs.com/page/654057/ 作者: 贺卓凡  来源: ImportSource  发布时间: 2020-01-23 19:52  阅读: 2324 次 ...

  8. Insulator|enhancer|LCR|EKLF|CTCF|调控基因印记| A-USF|HATs|ChIP|Chip-seq|PAGE|

    表观遗传学 转录因子 基本转录因子:TFIID.A.B.F.E.H. Pol II… 基转录因子具有稳定作用 组织特异性转录因子:GATA.EKLF.Bcl11A… 特异性是在特定组织中的细胞中时与细 ...

  9. JavaSE--类加载器

    参考:http://www.importnew.com/6581.html Java 编译器会为虚拟机转换源指令.虚拟机代码存储在以 .class 为扩展名的类文件中,每个类文件都包含某个类或者接口的 ...

  10. POJ 3585 Accumulation Degree【换根DP】

    传送门:http://poj.org/problem?id=3585 题意:给定一张无根图,给定每条边的容量,随便取一点使得从这个点出发作为源点,发出的流量最大,并且输出这个最大的流量. 思路:最近开 ...