openstack实例存储分区的构建方案
对于在openstack的实例中做存储,不管是做cinder还是swift首先就是要解决分区问题。今天在openstack的实例中构建swift存储是就就遇到这样的问题。对于分区我们可以使用一下的几种方案:
- 构建共享存储,或者做iscsi存储服务器等
- 使用实例自带的硬盘进行分区
- 使用回环设备作为服务器的存储设备
- 在本地的服务器中构建swift使用openstack的云硬盘将其挂载至所需的实例中。(还未做测试,只是一种方案)
所用的文件系统官方推荐使用xfs。
接下来就是具体的实施过程:
第一条命令:if=/dev/zero表示空输入,即自动填充0;of= /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/swift-disk
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 xfsloop,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命令进行学习。