Lustre文件系统部署和应用探索
1. Lustre文件系统概述
2. Lustre文件系统部署
2.1 基本环境
2.1 基本环境
本篇博客将在KVM虚拟机中部署Lustre文件系统。
操作系统版本为CentOS6.5_x86_64。Lustre软件包版本在官方下载与内核版本2.6.32-431相对应的rpm(包括server和client)等全部的包。
实践思路为创建一个kvm模板主机,在该主机完成lustre文件系统软件包安装之后,然后克隆6个主机。
2.2 部署过程
2.2.1 模板主机配置
首先创建虚拟机node31
将下载的lustre文件系统的rpm包上传至node31,这些包包括:
lustre服务端软件包:
lustre客户端软件包:
lustre文件系统依赖包:
然后,执行rpm安装软件,操作如下:
#首先安装lustre文件系统依赖包,进入目录e2fsprogs-centos6.5,执行
rpm -ivh * --nodeps --force
#其次安装服务端软件包,进入目录lustre-server,执行
rpm -ivh kernel-* --nodeps --force
rpm -ivh lustre-* --nodeps --force
rpm -ivh perf-* --nodeps --force
rpm -ivh python-perf-* --nodeps --force
#然后安装客户端软件包,进入目录lustre-client,执行
rpm -ivh lustre-client-* --nodeps --force
rpm -ivh lustre-iokit-2.6.0-2.6.32_431.20.3.el6.x86_64.x86_64.rpm --nodeps --force
#最后,重启node31,执行
reboot
内核加载和网络配置
在node31的/etc/rc.local中追加:
modprobe lustre
modprobe ldiskfs
执行命令:
echo "options lnet networks=tcp0(eth0)" > /etc/modprobe.d/lustre.conf
重启主机
重启了node31之后,登陆node31执行unmae -a,可以发现操作系统内核已经变成:
Linux node31 2.6.32-431.20.3.el6_lustre.x86_64 #1 SMP Fri Jul 11 11:58:21 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux
上述过程完成了在kvm模板机node31中,完成了lustre文件系统部署。下面进行模板主机的克隆。执行命令:
for i in $(seq -w 2 6)
do
virt-clone -n node3$i -o node31 -f /mnt/data/vhosts/node3$i.img -m 00:00:00:80:00:3$i
done
注意:
- 本博客的虚拟机已经配置了开机自动获取固定IP,IP绑定了MAC地址
- 各节点之间已经配置了ssh互信
2.2.2 为主机添加磁盘
在2.2.1小节中,进行了部署lustre文件系统时,需要的主机和软件安装。下面进行磁盘添加。
lustre文件系统组件包括:MGS,MDS,OSS,三个部分均需要后端存储MGT,MDT,OST
本篇博客将MGS和MDS分开,因此其后端存储也不会在共享存储上。
创建虚拟磁盘
执行以下命令,创建8块1G大小的虚拟磁盘
for i in $(seq -w 01 08)
do
qemu-img create -f raw /mnt/data/vdisks/disk$i 1G
done
为主机添加磁盘
执行以下命令,为各个虚拟主机添加磁盘
#node31
virsh attach-disk node31 /mnt/data/vdisks/disk01 vdb --cache none
#node32
virsh attach-disk node32 /mnt/data/vdisks/disk01 vdb --cache none
#node33
virsh attach-disk node33 /mnt/data/vdisks/disk03 vdb --cache none
virsh attach-disk node33 /mnt/data/vdisks/disk04 vdc --cache none
#node34
virsh attach-disk node34 /mnt/data/vdisks/disk03 vdb --cache none
virsh attach-disk node34 /mnt/data/vdisks/disk04 vdc --cache none
#node35
virsh attach-disk node35 /mnt/data/vdisks/disk05 vdb --cache none
virsh attach-disk node35 /mnt/data/vdisks/disk06 vdc --cache none
#node36
virsh attach-disk node36 /mnt/data/vdisks/disk05 vdb --cache none
virsh attach-disk node36 /mnt/data/vdisks/disk06 vdc --cache none
其中,node31和node32共享磁盘disk01,node33和node34共享磁盘disk03,disk04,node35和node36共享磁盘disk05,disk06
至此,已经完成了lustre文件系统后端存储配置。下面将进行文件系统的创建和挂载
2.2.3 Lustre文件系统创建
MGS配置
在node31上,执行命令:
mkfs.lustre --fsname=mylustre --reformat --mgs --servicenode=192.168.80.31@tcp0 --servicenode=192.168.80.32@tcp0 /dev/vdb
--fsname 指定要创建的文件系统名称;
--mgs 指定node31作为MGS服务器;
--servicenode 指定备份容错节点;
--reformat 重新格式化,避免再次创建文件系统时报错
/dev/vdb 后端存储设备MGT;
创建挂载点:mkdir -p /mnt/mgs00
,同时在node32上创建
挂载MGT:mount.lustre /dev/vdb /mnt/mgs00
MDS配置
在node33上,执行命令:
#/dev/vdb
mkfs.lustre \
--fsname=mylustre \
--reformat --mdt \
--index=0 \
--mgsnode=192.168.80.31@tcp0:192.168.80.32@tcp0 \
--servicenode=192.168.80.33@tcp0 --servicenode=192.168.80.34@tcp0 \
/dev/vdb
#/dev/vdc
mkfs.lustre \
--fsname=mylustre \
--reformat --mdt \
--index=1 \
--mgsnode=192.168.80.31@tcp0:192.168.80.32@tcp0 \
--servicenode=192.168.80.33@tcp0 --servicenode=192.168.80.34@tcp0 \
/dev/vdc
创建挂载点:mkdir -p /mnt/mdt0{0,1}
,同时在node34上创建
挂载MDT:mount.lustre /dev/vdb /mnt/mdt00
;mount.lustre /dev/vdc /mnt/mdt01
OST配置
在node35上,执行命令:
#/dev/vdb
mkfs.lustre \
--fsname=mylustre \
--reformat --ost --index=0 \
--mgsnode=192.168.80.31@tcp0:192.168.80.32@tcp0 \
--servicenode=192.168.80.35@tcp0 --servicenode=192.168.80.36@tcp0 \
/dev/vdb
#/dev/vdc
mkfs.lustre \
--fsname=mylustre \
--reformat --ost --index=1 \
--mgsnode=192.168.80.31@tcp0:192.168.80.32@tcp0 \
--servicenode=192.168.80.35@tcp0 --servicenode=192.168.80.36@tcp0 \
/dev/vdc
创建挂载点:mkdir -p /mnt/ost0{0,1}
,同时在node36上创建
挂载OST:mount.lustre /dev/vdb /mnt/ost00
;mount.lustre /dev/vdc /mnt/ost01
客户端挂载
上述过程完成之后,Lustre文件部署基本完成。
在node31上创建挂载点,mkdir -p /mnt/lustre
挂载lustre文件系统,mount.lustre 192.168.80.31@tcp0:192.168.80.32@tcp0:/mylustre /mnt/lustre/
执行命令,查看文件系统状态,lfs df -h
3. Lustre文件系统管理
3.1 条带化分布
查看当前挂载目录的条带化分配,如下图
根据图上显示,所有在挂载节点创建的文件和目录,将会被分配到4个OST上
修改挂载目录分配到一个OST上,执行命令:lfs setstripe /mnt/lustre -c 1
;lfs setstipe /mnt/lustre/liwl01 -c 1
写入数据,进行测试:dd if=/dev/zero of=test.img bs=10M count=1
通过lfs getstipe查看到test.img分布在index为2的OST上,其磁盘占用已经更新到7%,表示test.img实际上仅分布在一个OST上
3.2 数据迁移
如下图,100M的test.img,刚开始分布在obdidx=1上,执行命令lfs migrate test.img --stripe-count=3
之后,通过lfs getstripe test.img
查看到,test.img已经被迁移至其他三个OST上
4. Lustre文件系统探索
Lustre文件系统部署和应用探索的更多相关文章
- lustre文件系统部署流程
# 1 准备工作### 1.1 添加以太网址添加以太网地址,使得gio017可以访问到需要安装的节点.修改gio017上的/etc/hosts,将需要批量操作的节点名以如下方式添加.```[gio01 ...
- FastDFS 分布式文件系统部署实战及基本使用
FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...
- GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)
GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...
- GlusterFS分布式文件系统部署
GlusterFS是一个可伸缩的网络文件系统,使用常见的现成的硬件,您可以创建大型分布式存储流媒体解决方案.数据分析.和其他数据相关的任务.GlusterFS是自由和开源软件. 详细参考官网:http ...
- CentOS7 GlusterFS文件系统部署
一.GlusterFS简介 GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点 ...
- FastDFS轻量级分布式文件系统部署
FastDFS介绍 FastDFS 是一个由 C 语言实现的开源轻量级分布式文件系统,作者余庆,支持 Linux.FreeBSD.AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合 ...
- NFS共享文件系统部署
1. 概述 本篇博客主要是介绍如何安装和使用NFS服务. 2. 安装软件包 首先确认系统是否已经安装相应的软件包,执行命:rpm -qa | egrep "rpcbind|nfs-utils ...
- FastDFS+Nginx分布式文件系统部署安装
安装: ##安装tracker.storage参考:http://www.cnblogs.com/zclzhao/p/5025229.html nginx代理设置参考:http://www.cnblo ...
- linux 创建虚拟块设备,制作文件系统并挂载,用于测试lustre
1.制作块文件 3 个 [root@localhost yaoxu]# [root@localhost yaoxu]# [root@localhost yaoxu]# 2.创建回环设备 [root@l ...
随机推荐
- [20180408]那些函数索引适合字段的查询.txt
[20180408]那些函数索引适合字段的查询.txt --//一般不主张建立函数索引,往往是开发的无知,使用trunc等函数,实际上一些函数也可以用于字段的查询.--//以前零碎的写过一些,放假看了 ...
- MIME 内容类型
MIME内容类型 https://www.iana.org/assignments/media-types/media-types.xhtml 媒体在各浏览器的支持情况: https://develo ...
- [SequenceFile_3] MapFile
0. 说明 MapFile 介绍 && 测试 1. 介绍 对 MapFile 的介绍如下: MapFile 是带有索引的 SequenceFile MapFile 是排序的 Seque ...
- Vim和Vi的常用命令
Vim 文本编辑器 1.Vim 和 Vi: 两者都是多模式编辑器: Vim 是 Vi 升级版,再兼容 Vi 所有指令的同时增加了一些新功能支持: 特点: 语法加亮:使用不同的颜色加亮代码: 多级撤销: ...
- account
Account Doc V3_ADD 1. 用户头像 用户头像今后会放在阿里云上,所以: dev: http(s)://pyserver.oss-cn-hangzhou.aliyuncs.com/DE ...
- 深入理解Java的堆内存和线程内存
我们都知道Java对象都是在堆中创建的(开启逃逸分析的情况除外),比如一个线程中有一段这样的代码: public class A{ public int xxx; } 通过A a = new A(); ...
- Appium1.9 之 Chromedriver安装方式
1.在 appium 官网上下载安装后,下载的是1.7.1的版本,安装之后是1.9.1最新版本. 2.appium安装之后,会发现涉及到 浏览器相关的业务时(我使用的是chrome)会提示 “No C ...
- Django-组件拾遗
Django的缓存机制 1.1 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候 ...
- Django之ORM查询
ORM 映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象图书管理系统的增删改查:代码如下:views ...
- [零基础学python]为什么要开设本栏目
这个栏目的名称叫做"零基础学Python". 如今网上已经有不少学习python的课程.当中也不乏精品.按理说,不缺少我这个基础类型的课程了.可是,我注意到一个问题.无论是课程还是 ...
# 1 准备工作### 1.1 添加以太网址添加以太网地址,使得gio017可以访问到需要安装的节点.修改gio017上的/etc/hosts,将需要批量操作的节点名以如下方式添加.```[gio01 ...
FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...
GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...
GlusterFS是一个可伸缩的网络文件系统,使用常见的现成的硬件,您可以创建大型分布式存储流媒体解决方案.数据分析.和其他数据相关的任务.GlusterFS是自由和开源软件. 详细参考官网:http ...
一.GlusterFS简介 GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点 ...
FastDFS介绍 FastDFS 是一个由 C 语言实现的开源轻量级分布式文件系统,作者余庆,支持 Linux.FreeBSD.AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合 ...
1. 概述 本篇博客主要是介绍如何安装和使用NFS服务. 2. 安装软件包 首先确认系统是否已经安装相应的软件包,执行命:rpm -qa | egrep "rpcbind|nfs-utils ...
安装: ##安装tracker.storage参考:http://www.cnblogs.com/zclzhao/p/5025229.html nginx代理设置参考:http://www.cnblo ...
1.制作块文件 3 个 [root@localhost yaoxu]# [root@localhost yaoxu]# [root@localhost yaoxu]# 2.创建回环设备 [root@l ...
[20180408]那些函数索引适合字段的查询.txt --//一般不主张建立函数索引,往往是开发的无知,使用trunc等函数,实际上一些函数也可以用于字段的查询.--//以前零碎的写过一些,放假看了 ...
MIME内容类型 https://www.iana.org/assignments/media-types/media-types.xhtml 媒体在各浏览器的支持情况: https://develo ...
0. 说明 MapFile 介绍 && 测试 1. 介绍 对 MapFile 的介绍如下: MapFile 是带有索引的 SequenceFile MapFile 是排序的 Seque ...
Vim 文本编辑器 1.Vim 和 Vi: 两者都是多模式编辑器: Vim 是 Vi 升级版,再兼容 Vi 所有指令的同时增加了一些新功能支持: 特点: 语法加亮:使用不同的颜色加亮代码: 多级撤销: ...
Account Doc V3_ADD 1. 用户头像 用户头像今后会放在阿里云上,所以: dev: http(s)://pyserver.oss-cn-hangzhou.aliyuncs.com/DE ...
我们都知道Java对象都是在堆中创建的(开启逃逸分析的情况除外),比如一个线程中有一段这样的代码: public class A{ public int xxx; } 通过A a = new A(); ...
1.在 appium 官网上下载安装后,下载的是1.7.1的版本,安装之后是1.9.1最新版本. 2.appium安装之后,会发现涉及到 浏览器相关的业务时(我使用的是chrome)会提示 “No C ...
Django的缓存机制 1.1 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候 ...
ORM 映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象图书管理系统的增删改查:代码如下:views ...
这个栏目的名称叫做"零基础学Python". 如今网上已经有不少学习python的课程.当中也不乏精品.按理说,不缺少我这个基础类型的课程了.可是,我注意到一个问题.无论是课程还是 ...