1、节点角色

主机名 IP地址 角色
node1 192.168.xxx.xx1 Client
node2 192.168.xxx.xx2 MGS MGT MDS MDT
node3 192.168.xxx.xx3 OSS OST
node4 192.168.xxx.xx4 OSS OST

2、硬件配置

主机名 角色 磁盘 内存 备注
node1 Client 一块(20GB) 2GB
node2 MGS MGT MDS MDT 两块(25GB+20GB) 2GB 两块磁盘是系统盘加存储盘
node3 OSS OST 两块(25GB+20GB) 2GB 同上
node4 OSS OST 两块(25GB+20GB) 2GB 同上
[root@node2 lustre]# fdisk -l

磁盘 /dev/sda:26.8 GB, 26843545600 字节,52428800 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c5f94 设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 52428799 25164800 8e Linux LVM 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-root:23.6 GB, 23613931520 字节,46120960 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

3、软件版本

软件 版本
Lustre lustre-2.10.1

4、安装软件包

安装时注意:

  • 先关闭selinux和防火墙
  • 设置机器间的免密登录
  • 软件间的依赖关系、安装顺序
  • 软件版本一致
  • 系统内核和lustre版本一致

4.1、安装 e2fsprogs 相关包

yum -y --nogpgcheck install
....

下载地址:https://downloads.whamcloud.com/public/e2fsprogs/latest/el7/RPMS/x86_64/

4.2、安装 kernel 相关包

yum -y --nogpgcheck install
kernel-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-devel-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-headers-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-tools-libs-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-tools-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-tools-libs-devel-3.10.0-693.2.2.el7_lustre.x86_64.rpm

修改开机时默认使用的内核

grub2-set-default 'CentOS Linux (kernel-3.10.0-693.2.2.el7_lustre.x86_64) 7 (Core)'

下载地址:https://downloads.whamcloud.com/public/lustre/lustre-2.10.1/el7/server/RPMS/x86_64/

如何修改默认启动内核:https://blog.csdn.net/sinat_25606165/article/details/106693725

4.3、客户端安装

下载地址:https://downloads.whamcloud.com/public/lustre/lustre-2.10.1/el7/client/RPMS/x86_64/

yum -y --nogpgcheck install
lustre-client-2.10.1-1.el7.x86_64.rpm
lustre-client-dkms-2.10.1-1.el7.noarch.rpm
lustre-iokit-2.10.1-1.el7.x86_64.rpm
kmod-lustre-client-2.10.1-1.el7.x86_64.rpm
lustre-osd-ldiskfs-mount-2.10.1-1.el7.x86_64.rpm       
lustre-osd-zfs-mount-2.10.1-1.el7.x86_64.rpm 

执行 rpm -qa | grep lustre 查看是否安装成功。

安装完成后,需要重启机器。

重启后,执行如下命令,加载 lustre 模块。

[root@node1 ~]# cd /opt/lustre/
[root@node1 lustre]# modprobe lustre # 如果安装成功,则不会报错。

关闭后,需要在各个节点再次运行 modprobe lustre 命令。

4.4、服务器端安装

下载地址:https://downloads.whamcloud.com/public/lustre/lustre-2.10.1/el7/server/RPMS/x86_64/

yum -y --nogpgcheck install
libzpool2-0.7.1-1.el7.x86_64.rpm
libuutil1-0.7.1-1.el7.x86_64.rpm
libnvpair1-0.7.1-1.el7.x86_64.rpm
perf-3.10.0-693.2.2.el7_lustre.x86_64.rpm
python-perf-3.10.0-693.2.2.el7_lustre.x86_64.rpm
libzfs2-0.7.1-1.el7.x86_64.rpm
libzfs2-devel-0.7.1-1.el7.x86_64.rpm
spl-dkms-0.7.1-1.el7.noarch.rpm
spl-0.7.1-1.el7.x86_64.rpm
zfs-dkms-0.7.1-1.el7.noarch.rpm
zfs-0.7.1-1.el7.x86_64.rpm
kmod-lustre-2.10.1-1.el7.x86_64.rpm
lustre-osd-ldiskfs-mount-2.10.1-1.el7.x86_64.rpm
lustre-osd-zfs-mount-2.10.1-1.el7.x86_64.rpm
kmod-lustre-osd-ldiskfs-2.10.1-1.el7.x86_64.rpm
lustre-dkms-2.10.1-1.el7.noarch.rpm
lustre-iokit-2.10.1-1.el7.x86_64.rpm
lustre-2.10.1-1.el7.x86_64.rpm

安装 kmod-lustre-osd-zfs-2.10.1-1.el7.x86_64.rpm 中,会报如下错误,暂未解决,但不影响后期配置。

执行 rpm -qa | grep lustre 查看是否安装成功。

安装完成后,需要重启。

重启后,执行如下命令,加载 lustre 和 ldiskfs 模块。

[root@node2 lustre]# cd /opt/lustre/
[root@node2 lustre]# modprobe lustre
[root@node2 lustre]# modprobe ldiskfs # 其他两个节点执行同样操作
[root@node3 lustre]# ....
[root@node4 lustre]# ....

4.5、配置

以上均执行完毕,进行配置。

在块设备上创建 MGS\MDT 组合文件系统。在 MDS 节点上运行:

# 这里的 /dev/sdb 就是新增的 20GB 的磁盘空间。新增磁盘后,执行 `fdisk -l` ,能找到即成功。
# 添加 --reformat 项是因为:
# mkfs.lustre FATAL: Device /dev/sdb was previously formatted for lustre. Use --reformat to reformat it, or tunefs.lustre to modify.
[root@node2 ~]# mkfs.lustre --reformat --fsname=lustrefs --mgs --mdt --index=0 /dev/sdb
Failed to initialize ZFS library: 256 Permanent disk data:
Target: lustrefs:MDT0000
Index: 0
Lustre FS: lustrefs
Mount type: ldiskfs
Flags: 0x65
(MDT MGS first_time update )
Persistent mount opts: user_xattr,errors=remount-ro
Parameters: device size = 20480MB
formatting backing filesystem ldiskfs on /dev/sdb
target name lustrefs:MDT0000
4k blocks 5242880
options -J size=819 -I 1024 -i 2560 -q -O dirdata,uninit_bg,^extents,dir_nlink,quota,huge_file,flex_bg -E lazy_journal_init -F
mkfs_cmd = mke2fs -j -b 4096 -L lustrefs:MDT0000 -J size=819 -I 1024 -i 2560 -q -O dirdata,uninit_bg,^extents,dir_nlink,quota,huge_file,flex_bg -E lazy_journal_init -F /dev/sdb 5242880
Writing CONFIGS/mountdata

在块设备上装入 MGS\MDT 组合文件系统。在 MDS 节点上运行:

[root@node2 mnt]# mount.lustre /dev/sdb /mnt/mdt/
Failed to initialize ZFS library: 256
mount.lustre: increased /sys/block/sdb/queue/max_sectors_kb from 512 to 4096 [root@node2 lustre]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 899M 0 899M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.5M 903M 2% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/mapper/centos-root 22G 8.2G 14G 38% /
/dev/sda1 1014M 197M 818M 20% /boot
tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb 12G 2.3M 11G 1% /mnt/mdt

本例中,OSTs(ost0和ost1)在不同 OSSs(oss0和oss1)节点上创建。

在 oss0 上创建 ost0:

# 这里是 node2 的 IP 地址
# 为增加调试日志的可读性,并更方便为多个接口调试配置,建议使用 IP 地址
[root@node3 ~]# mkfs.lustre --reformat --fsname=lustrefs --mgsnode=192.168.xxx.xx2@tcp --ost --index=0 /dev/sdb
Failed to initialize ZFS library: 256 Permanent disk data:
Target: lustrefs:OST0000
Index: 0
Lustre FS: lustrefs
Mount type: ldiskfs
Flags: 0x62
(OST first_time update )
Persistent mount opts: ,errors=remount-ro
Parameters: mgsnode=192.168.xxx.xx2@tcp device size = 20480MB
formatting backing filesystem ldiskfs on /dev/sdb
target name lustrefs:OST0000
4k blocks 5242880
options -J size=400 -I 512 -i 69905 -q -O extents,uninit_bg,dir_nlink,quota,huge_file,flex_bg -G 256 -E resize="4290772992",lazy_journal_init -F
mkfs_cmd = mke2fs -j -b 4096 -L lustrefs:OST0000 -J size=400 -I 512 -i 69905 -q -O extents,uninit_bg,dir_nlink,quota,huge_file,flex_bg -G 256 -E resize="4290772992",lazy_journal_init -F /dev/sdb 5242880
Writing CONFIGS/mountdata

在 OSS 上,载入 ost0,在 oss0 上运行:

[root@node3 mnt]# mkdir ost0

[root@node3 mnt]# mount.lustre /dev/sdb /mnt/ost0
Failed to initialize ZFS library: 256
mount.lustre: increased /sys/block/sdb/queue/max_sectors_kb from 512 to 4096 [root@node3 lustre]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 899M 0 899M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.5M 903M 2% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/mapper/centos-root 22G 8.2G 14G 38% /
/dev/sda1 1014M 197M 818M 20% /boot
tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb 20G 1.1M 19G 1% /mnt/ost1

在 oss1 上创建 ost1:

[root@node4 mnt]# mkfs.lustre --reformat --fsname=lustrefs --mgsnode=192.168.xxx.xx2@tcp --ost --index=1 /dev/sdb

在 OSS 上,载入 ost1,在 oss1 上运行:

[root@node4 mnt]# mount.lustre /dev/sdb /mnt/ost1

在客户端上挂载 Lustre 文件系统,在客户端节点运行:

[root@node1 mnt]# mkdir /mnt/lustre
[root@node1 mnt]# mount.lustre 192.168.xxx.xx2@tcp:/lustrefs /mnt/lustre

5、启动与关闭

启动文件系统,各组件按如下顺序启动:

挂载MGT --> 挂载MDT --> 挂载OST(s) --> 挂载Client

按如下顺序关闭,文件系统将完全关闭:

Client --> MDS --> MGS --> OST(s)

umount -a -t lustre
其中,`-a -t lustre`不是文件系统名称,指代的是卸载 `/etc/mtab` 所有条目中的 lustre 类型。

6、测试

确认文件系统已成功启动,并正常工作。

运行如下命令,创建一个全为字符 0 的文件来验证写入功能:

# 执行 `dd --help` 查看 dd 命令用法
[root@node1 mnt]# dd if=/dev/zero of=/mnt/lustre/test.img bs=1M count=4500
记录了4500+0 的读入
记录了4500+0 的写出
4718592000字节(4.7 GB)已复制,11.3127 秒,417 MB/秒 [root@node2 mnt]# ....
[root@node3 mnt]# ....
[root@node4 mnt]# ....

运行如下命令,查看每个 OST 和 MDT 的空间使用情况:

[root@node1 ~]# lfs df -h
UUID bytes Used Available Use% Mounted on
lustrefs-MDT0000_UUID 11.1G 2.3M 10.1G 0% /mnt/lustre[MDT:0]
lustrefs-OST0000_UUID 19.3G 1.2M 18.3G 0% /mnt/lustre[OST:0]
lustrefs-OST0001_UUID 19.3G 1.2M 18.3G 0% /mnt/lustre[OST:1] filesystem_summary: 38.5G 2.4M 36.5G 0% /mnt/lustre

测试创建、删除目录:

# 执行 `lfs --list-commands` 查看 lfs 命令用法
# 创建一个目录,由 mdt0 提供服务
[root@node1 ~]# lfs mkdir -i 0 /mnt/lustre/test
[root@node1 ~]# cd /mnt/lustre/
[root@node1 lustre]# ls
test # 删除该目录
[root@node1 ~]# lfs rm_entry /mnt/lustre/test
[root@node1 ~]# ll /mnt/lustre/
总用量 0

使用 lfs setstripe 创建文件,并指定文件布局:

# 文件条带大小为4MB
[root@node1 ~]# lfs setstripe -S 4M /mnt/lustre/test.txt [root@node1 ~]# ll /mnt/lustre/
总用量 0
-rw-r--r-- 1 root root 0 4月 8 11:32 test.txt [root@node1 ~]# lfs getstripe /mnt/lustre/test.txt
/mnt/lustre/test.txt
lmm_stripe_count: 1
lmm_stripe_size: 4194304
lmm_pattern: 1
lmm_layout_gen: 0
lmm_stripe_offset: 0
obdidx objid objid group
0 66 0x42 0

7、问题

问题一:安装 spl-dkms-0.7.1-1.el7.noarch.rpm,出现要求 dkms 大于 2.2.0.2,如果直接 yum 安装会出现 没有可用软件包。此时需要先执行 yum install -y epel-release,再安装 dkms。

参考:

https://blog.csdn.net/spring_color/article/details/79301167

https://doc.lustre.org/lustre_manual.xhtml#configuringlustre

https://blog.csdn.net/tengh/article/details/9567763?utm_medium=distribute.pc_relevant_download.none-task-blog-2defaultBlogCommendFromBaidudefault-2.nonecase&dist_request_id=1328760.199.16171701704387499&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-2defaultBlogCommendFromBaidudefault-2.nonecas

https://mp.weixin.qq.com/s/eJknjD6JCdKkrUeVnDGEjg

lustre文件系统环境搭建及测试的更多相关文章

  1. Centos7下GlusterFS 分布式文件系统环境搭建

    Centos7下 GlusterFS 环境搭建准备工作glusterfs-3.6.9.tar.gzuserspace-rcu-master.zip三台服务器:192.168.133.53.192.16 ...

  2. Lustre文件系统测试——obdfilter-survey测试

    Lustre文件系统测试--obdfilter-survey测试 介绍 该测试主要是在lustre文件系统工作环境下进行,将直接在ost上生成工作负载模拟并行文件访问,可准确检测盘阵在lustre文件 ...

  3. 【转载】基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之一)——介绍、安装准备、安装、config文件以及运行脚本介绍

    基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之一)--介绍.安装准备.安装.config文件以及运行脚本介绍 其他 2018-0 ...

  4. 【转载】]基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程 介绍、安装准备、安装、config文件以及运行脚本介绍

    https://www.codetd.com/article/1137423 <版权声明:本文为博主原创文章,未经博主允许不得转载> 本次利用SPECCPU2006测试工具来进行Intel ...

  5. Linux搭建FastFDFS文件管理系统搭建,部署及上传材料

    昨天下午花了三四个小时在Linux centos 6 上搭建了一个分布式文件系统.纯粹是搭建来做自己的文件备份.所以把一些自己在其中遇到的一些问题给总结出来,免得更多人走错路. FastDFS 的一些 ...

  6. 使用XAMPP和DVWA在Windows7上搭建渗透测试环境

    前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...

  7. 使用WampServer和DVWA在Windows10上搭建渗透测试环境

    前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...

  8. Tensorflow object detection API ——环境搭建与测试

    1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...

  9. centos平台基于snort、barnyard2以及base的IDS(入侵检测系统)的搭建与测试及所遇问题汇总

    centos平台基于snort.barnyard2以及base的IDS(入侵检测系统)的搭建与测试及所遇问题汇总 原创 2016年12月19日 01:20:03 标签: centos / snort  ...

随机推荐

  1. 苏黎世财经对话区块链专家,NGK如何利用时间价值实现自身的垂直扩张?

    近日,苏黎世财经日报联合法兰西金融等多家知名媒体,专访了NGK. 苏黎世财经日报专栏记者玛科尔德表示,随着NGK DeFi的明星代币BGV登上去中心化金融的舞台,它千倍的收益率让生态投资者趋之若鹜. ...

  2. PAUL ADAMS ARCHITECT:爱丁堡的房屋价值创历史新高

    近日,英国知名房产公司保罗·亚当斯公司根据一组调查报告表示,今年第三季度,爱丁堡的房价再创历史新高,并向大家分析了原因. 保罗·亚当斯公司(公司编号:07635831)是英国一家著名的房地产公司,总部 ...

  3. Docker Tips: 关于/var/run/docker.sock

    本文转载自Docker Tips: 关于/var/run/docker.sock 导语 你可能已经运行过docker hub上的container并且注意到其中的一些需要绑定挂载(mount)/var ...

  4. AttributeError: 'function' object has no attribute 'as_view'

    我的描述:当我启用jwt_required来进行token验证的时候,我提示错误; 解决方案: 修改前代码: 修改后代码: 多看书.多多了解.多看看世界...

  5. 我ssh框架遇到报错及处理方式

    Exception encountered during context initialization - cancelling refresh attempt 修改hbm.xml后遇到的问题,错误可 ...

  6. 如何用Eggjs从零开始开发一个项目(3)

    上一篇中我们编写了用户注册登录.登录的代码,学习了如何进行用户的认证(JWT),如何安全地存储用的密码(hash).这一篇我们有以下2个任务: 获取token中的数据: 通过model来同步数据库. ...

  7. Manjaro安装后简单配置

    一个相见恨晚的 Linux 操作系统 Manjaro 到底有多受欢迎? DistroWatch是一个包含了各种Linux发行版及其他自由/开放源代码的类Unix操作系统. (如OpenSolaris. ...

  8. POJ-1511(Dijkstra+优先队列优化+向前星)

    Invitation Cards POJ-1511 从这道题我还是发现了很多的问题,首先就是快速输入输出,这里的ios::---这一行必须先放在main函数第一行,也就是输入最开始的前面,否则系统疯狂 ...

  9. 解决:layUI数据表格+简单查询

    解决:layUI数据表格+简单查询 最近在用layui写项目,在做到用户查询时,发现在layui框架里只有数据表格,不能增加查询.于是自己摸索了一下,写个笔记记录一下. 我想要的效果: 1.定义查询栏 ...

  10. C#使用OpenCV剪切图像中的圆形和矩形

    前言 本文主要介绍如何使用OpenCV剪切图像中的圆形和矩形. 准备工作 首先创建一个Wpf项目--WpfOpenCV,这里版本使用Framework4.7.2. 然后使用Nuget搜索[Emgu.C ...