openstack虚拟机做存储分区问题的解决方案之一

openstack实例存储分区的构建方案


     对于在openstack的实例中做存储,不管是做cinder还是swift首先就是要解决分区问题。今天在openstack的实例中构建swift存储是就就遇到这样的问题。对于分区我们可以使用一下的几种方案:

  1. 构建共享存储,或者做iscsi存储服务器等

  2. 使用实例自带的硬盘进行分区

  3. 使用回环设备作为服务器的存储设备

  4. 在本地的服务器中构建swift使用openstack的云硬盘将其挂载至所需的实例中。(还未做测试,只是一种方案)

所用的文件系统官方推荐使用xfs。

接下来就是具体的实施过程:

      第一条命令:if=/dev/zero表示空输入,即自动填充0of= /srv/swift-disk表示输出到指定文件;bs=1024表示同时设置读入/输出的块大小(字节),即每次读入/输出1024字节的数据块;count=0表示拷贝0个块,块大小由bs指定;seek=15000000从输出文件开头跳过15000000个块后再开始复制。第一条命令的结果是创建了一个15000000*1024字节大小的文件(约15GB,未自动填充0),为创建回环设备做准备,这里我的实例总共为30G,因此分这么大。用户可以根据自己的实际情况进行设定。 

      第二条命令:.xfs表示创建的是XFS格式的回环设备;-i size=1024,当数据小于1024KB时,写入inode中,当数据大于1024KB时,写入block中,默认值为256KB;还可以考虑设置 -l size=128m,可显著提升XFS文件系统删除文件、拷贝文件等操作的速度,但需要大内存的支持,默认值的是10m。第二条命令的结果是在上述文件的基础上创建了XFS回环设备。


1. 创建存储文件夹。

# mkdir /srv/

2.在所创建的存储文件夹中创建我们上面所说的XFS文件格式,来构建回环设备

# dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=15000000
# mkfs.xfs -f -i size=1024 /srv/swift-disk

3.将所创建好的回环设备写入开机挂载当中,使其进行开机自动挂载。

#vi  /etc/fstab
#/srv/swift-disk /srv/node/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0

4.创建回环设备的挂载点,并对其进行挂载。

# mkdir -p /srv/node/sda4 
# mount /srv/node/sda4

5.添加挂载文件的所属用户和所属组为root

# chown -R root:root /srv/node

这里需要说的一点就是dd命令。关键是要对dd命令进行学习。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章