CentOS-7 安装Lustre-2.10.1文件系统

2023-05-16

注:原创文章,转载请注明出处
一、文档说明
Lustre 是一种强大的平行 分布式文件系统 ,通常用于HPC行业。 主要组建包括:元数据服务器(Metadataservers, MDSs)、对象存储服务器(objectstorage servers, OSSs)和客户端。其中MDSs提供元数据服务,MGS管理服务器提供Lustre文件系统配置信息,OSS对象存储服务器expose块设备提供数据。
目前网上关于lustre的搭建文档比较少,且大多数文档是1.×版本或者是英文的文档,本篇文档基于centos7.4和最新的lustre2.10.1进行搭建整理,希望对大家有帮助
二、环境准备
1. 准备4台虚拟机,内存>=2G,硬盘>=20G,配置主机名和IP地址
centos1 192.168.11.148 (MDT)
centos2 192.168.11.149 (OST)
centos3 192.168.11.150 (OST)
centos4 192.168.11.151 (client)
2. 每台机器都需要关闭selinux和防火墙(如果会配置防火墙, 4台都要开启防火墙:988,1021,1022,1023端口
[root@centos1 ~]# systemctl stop firewalld
[root@centos1 ~]# systemctl disable firewalld
[root@centos1 ~]# sed -i -e "s/enabled/disabled/" /etc/sysconfig/selinux && reboot
3. 配置4台机器免密登录(这里不再赘述,以下是我的配置)
[root@centos1 ~]# cat /etc/hosts
192.168.11.148 centos1
192.168.11.149 centos2
192.168.11.150 centos3
192.168.11.151 centos4
[root@centos1 ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCns/OqLy8ISef8eg9MAbLU8ic0zAvmoCYe5vAuiMj2HmtOjpA3zKqxGuoj3Uklrn+4mqmKWBiPq0q6NDwdPJD2c2sV+2Fd3HUIiz7POH+Co13VClBb9hH/v4Y69Qx3tOOuAxakaBfZu0QrBSi2X4xy2fNlECAcUR4M8s4DANNq8Pl2GN1kG2zIA3bQH1bjqZkKNEk0zOvEX5RIeCzIZ7cVPhqZSz6BBo+bJ1+Ct5w8yjzw1uBAqsTHAg4fhyf7uQ54j7qOB4crLA3T9djDNqQHq4tCG2wFN+GO+cTZAb7m1boQZUh+kbyZmeg5eof9zkyB93LYejVySZcjvCHQjI1 root@centos1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCf4b9FiAoHmj/TEbkiXJDy8VQl5Fi9nDOkll983kcmju35Yk3bB/mYivKJebQVOfmsis98Xa0RCOm8p/ZMzSqCecflV//IRQFt9o8iFNAXfvo2dkonL+lu07d/lDGRnzcGGu5TCR7WZ9l1h1822P1KsAXH9HTzZO/tZ3BIxCCemqXgYerx8b2CPBFIrLE6OutnqJY9lj9TZMsWZ6d2KD7FtKEl1h88lu+wcI4ZnMEkV9JG10CDPQKzZX1hz58YLudxn7yJkIF7Ot41x1yKOFficaoo25kNdclOb+wbu2rV3WuSZ8lbOVLjR6t4PAiETEe5NvhAbAnR3RqLWQFKkHh root@centos2
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8omJRBfKVy/zXL5N9ISCfGyAQOFxZ182JMv2DmhdYnrBoMgaIxyDg3zT1S0XVMTHB8IcjuWSVNkb2EQzlQ3mA1KV73COEKPX5R1pyi8m+LGgj0WHBw22gw6Tki+8xxXSyOc357/6sGHhmMxzGzIsvoobQWbdl8ZYwP14JHM+T4Lu6iucxjhbmA5Gz0WOg04Lzn9Rpc0xKEOL8fwFEAnIDbuwtBGhbeD1MX1OI/CFmfPkpEZW/c4hlnPWBmPbOrNJjO4sLljxvc8NJFvoPfYSQFFjn1sBd9+UrYWM0hiTVtV/G9NMBJuz+CohTiUp/BCW7C2YBQvJqtGyDD9JaqnV root@centos3
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmSPlKKHdqoAjdBCabO+QqvxsdW2/JXUN69Wb4i2YnO+65+UEgW/8P8BhDWt2MbWbMiFfcxYX/CPBonFVDUA+N8N6e9lQIQ2fCqHlZOoaJiSSyfN2nebojK0Ta839AMekAZRZqZhiHDZmdKGcUWDSfVDpCa1Bg3POQE8JQU9U+C4Zugw4P4C1DCczvDoBL7eEiSa8gVWXh2FmTzgNg/4QvLOiBOwjDoFLhGs/ByWWbFD5Qe1Y98RQ6M2Z07JQ8mplql9zutI8OwIdM/1cvkpQpY6AYY62e7XstGz5Ws8JS+gESpirmJRnDybPY2clEoRrC9PpSSV+tbOrzuUt03Cz root@centos4
以上配置,每台机器都一样,才能主机互信
4. 每台机器都配置yum源并升级
[root@centos1 ~]# cd /etc/yum.repos.d/
[root@centos1 yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
[root@centos1 yum.repos.d]# wget http://mirrors.aliyun.com/repo/epel-7.repo
[root@centos1 yum.repos.d]# curl -O https://www.watters.ws/rpms/lustre/lustre-2.10.1/server/e2fsprogs.repo
[root@centos1 yum.repos.d]# curl -O https://www.watters.ws/rpms/lustre/lustre-2.10.1/server/lustre.repo
[root@centos1 yum.repos.d]# curl -O https://www.watters.ws/rpms/lustre/lustre-2.10.1/client/lustre-client.repo (此源是为配置lustre客户端使用)
[root@centos1 yum.repos.d]# yum clean all && yum repolist && yum update
5. lustre软件包下载
lustre的软件包可以直接从官网下载( http://downloads.whamcloud.com/public/lustre/)。官网提供的包非常多非常乱,但是版本、角色还是分的挺清楚的,需要根据不同的服务器角色去下载相应的源码包。配合yum一起使用,就能很快的安装。
MDT 需要下载的源码包
kernel-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-debuginfo-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-debuginfo-common-x86_64-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-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kernel-tools-debuginfo-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-libs-devel-3.10.0-693.2.2.el7_lustre.x86_64.rpm
kmod-lustre-2.10.1-1.el7.x86_64.rpm
kmod-lustre-osd-ldiskfs-2.10.1-1.el7.x86_64.rpm
kmod-lustre-osd-zfs-2.10.1-1.el7.x86_64.rpm
kmod-lustre-tests-2.10.1-1.el7.x86_64.rpm
libnvpair1-0.7.1-1.el7.x86_64.rpm
libuutil1-0.7.1-1.el7.x86_64.rpm
libzfs2-0.7.1-1.el7.x86_64.rpm
libzfs2-devel-0.7.1-1.el7.x86_64.rpm
libzpool2-0.7.1-1.el7.x86_64.rpm
lustre-2.10.1-1.el7.x86_64.rpm
lustre-debuginfo-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-osd-ldiskfs-mount-2.10.1-1.el7.x86_64.rpm
lustre-osd-zfs-mount-2.10.1-1.el7.x86_64.rpm
lustre-resource-agents-2.10.1-1.el7.x86_64.rpm
lustre-tests-2.10.1-1.el7.x86_64.rpm
perf-3.10.0-693.2.2.el7_lustre.x86_64.rpm
perf-debuginfo-3.10.0-693.2.2.el7_lustre.x86_64.rpm
python-perf-3.10.0-693.2.2.el7_lustre.x86_64.rpm
python-perf-debuginfo-3.10.0-693.2.2.el7_lustre.x86_64.rpm
sha256sum
spl-0.7.1-1.el7.x86_64.rpm
spl-dkms-0.7.1-1.el7.noarch.rpm
zfs-0.7.1-1.el7.x86_64.rpm
zfs-dkms-0.7.1-1.el7.noarch.rpm

zfs-test-0.7.1-1.el7.x86_64.rpm

OST需要下载的源码包

kmod-lustre-2.10.1-1.el7.x86_64.rpm
kmod-lustre-osd-ldiskfs-2.10.1-1.el7.x86_64.rpm
kmod-lustre-osd-zfs-2.10.1-1.el7.x86_64.rpm
kmod-lustre-tests-2.10.1-1.el7.x86_64.rpm
libnvpair1-0.7.1-1.el7.x86_64.rpm
libuutil1-0.7.1-1.el7.x86_64.rpm
libzfs2-0.7.1-1.el7.x86_64.rpm
libzfs2-devel-0.7.1-1.el7.x86_64.rpm
libzpool2-0.7.1-1.el7.x86_64.rpm
lustre-2.10.1-1.el7.x86_64.rpm
lustre-debuginfo-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-osd-ldiskfs-mount-2.10.1-1.el7.x86_64.rpm
lustre-osd-zfs-mount-2.10.1-1.el7.x86_64.rpm
lustre-resource-agents-2.10.1-1.el7.x86_64.rpm
lustre-tests-2.10.1-1.el7.x86_64.rpm
sha256sum
spl-0.7.1-1.el7.x86_64.rpm
spl-dkms-0.7.1-1.el7.noarch.rpm
zfs-0.7.1-1.el7.x86_64.rpm
zfs-dkms-0.7.1-1.el7.noarch.rpm


client需要下载的源码包
kmod-lustre-client-2.10.1-1.el7.x86_64.rpm
kmod-lustre-client-tests-2.10.1-1.el7.x86_64.rpm
lustre-client-2.10.1-1.el7.x86_64.rpm
lustre-client-debuginfo-2.10.1-1.el7.x86_64.rpm
lustre-client-dkms-2.10.1-1.el7.noarch.rpm
lustre-client-tests-2.10.1-1.el7.x86_64.rpm
lustre-iokit-2.10.1-1.el7.x86_64.rpm
三、lustre安装
服务端安装(1台MDT和2台OST)
[root@centos1 ~]# mkdir /opt/lustre
[root@centos1 ~]# cd /opt/lustre/
下载上述源码包
[root@centos1 lustre]# ls
kmod-lustre-2.10.1-1.el7.x86_64.rpm
lustre-osd-ldiskfs-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
........
使用yum安装源码包及其相关依赖
[root@centos1 lustre]# yum -y install kernel-3.10.0-693.2.2.el7_lustre.x86_64.rpm
........
注:每个角色下的源码包都要全部安装
安装完毕重启一下
[root@centos1 lustre]# reboot
加载lustre和ldiskfs模块
[root@centos1 lustre]# modprobe lustre
[root@centos1 lustre]# modprobe ldiskfs
安装客户端(client)
[root@centos4 ~]# mkdir /opt/lustre
[root@centos4 ~]# cd /opt/lustre/
下载上述源码包
[root@centos4 lustre]# yum -y install lustre-client-2.10.1-1.el7.x86_64.rpm

........

注:每个角色下的源码包要全部安装

安装完毕重启一下
[root@centos4 lustre]# reboot
加载lustre模块
[root@centos6 lustre]# modprobe lustre
四、lustre配置
Lustre是基于内核的分布式文件系统,而不是像其它一些用户态的分布式文件系统那样直接建立在ext3或者是ext4之上。Lustre需要对磁盘进行格式化,并且在格式化的过程中进行参数配置。这里分别给前3台机器添加一块20G硬盘作为测试用,添加的硬盘显示为/dev/sdb ,最后一台机器作为客户端
1. 在MDS服务器(192.168.11.148)上执行以下操作
[root@centos1 lustre]# mkfs.lustre --fsname=lustrefs --mgs --mdt --index=0 /dev/sdb
参数解释:
fsname指定的是创建lustre时的文件系统名
mgs指定该机器为元数据服务器,即该机器为mds
mdt指定/dev/sdb为元数据实际数据存储位置
至于index则指定该mgs的索引号,mgs可以设置主备模式,但mdt需要在主备mds之间共享
[root@centos1 lustre]# mount.lustre /dev/sdb /mnt/mdt
2. 在两台OST服务器(192.168.11.149/150)上执行以下操作
[root@centos2 lustre]# mkfs.lustre --fsname=lustrefs --mgsnode=192.168.11.148@tcp --ost --index=0 /dev/sdb
参数解释:
fsname不多说
mgsnode指定oss请求元数据节点,并指明访问协议tcp
ost指定/dev/sdb为存储数据的实际位置
index这个参数可以看到两个节点是不一样的
//整个系统的实际容量是两台OST的/dev/sdb的容量
[root@centos2 lustre]# mount.lustre /dev/sdb /mnt/ost0
[root@centos3 lustre]# mount.lustre /dev/sdb /mnt/ost1
查看一下容量
[root@centos2 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root 37G 4.1G 33G 11% /
devtmpfs 907M 0 907M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.4M 912M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 1014M 235M 780M 24% /boot
/dev/sdb 20G 46M 19G 1% /mnt/ost0
tmpfs 184M 0 184M 0% /run/user/0
3.客户端(192.168.11.151)挂载
[root@centos4 lustre]# mount.lustre 192.168.11.148@tcp:/lustrefs /mnt/lustre
查看系统容量
[root@centos4 lustre]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root xfs 37G 4.2G 33G 12% /
devtmpfs devtmpfs 910M 0 910M 0% /dev
tmpfs tmpfs 920M 0 920M 0% /dev/shm
tmpfs tmpfs 920M 8.4M 912M 1% /run
tmpfs tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 186M 829M 19% /boot
192.168.11.148@tcp:/lustrefs lustre 39G 91M 37G 1% /mnt/lustre
tmpfs tmpfs 184M 0 184M 0% /run/user/0
可以看到客户端挂载后,可用容量为两台OST的/dev/sdb的总容量
4. 测试
客户端测试:
[root@centos4 lustre]# dd if=/dev/zero of=/mnt/test.img bs=1M count=4500
记录了4500+0 的读入
记录了4500+0 的写出
4718592000字节(4.7 GB)已复制,7.40257 秒,637 MB/秒
其中一台OST服务器测试
[root@centos2 lustre]# dd if=/dev/zero of=/tmp/test.img bs=1M count=4500
记录了4500+0 的读入
记录了4500+0 的写出
4718592000字节(4.7 GB)已复制,6.74598 秒,699 MB/秒
MDT上测试
[root@centos1 lustre]# dd if=/dev/zero of=/tmp/test.img bs=1M count=4500
记录了4500+0 的读入
记录了4500+0 的写出
4718592000字节(4.7 GB)已复制,7.06079 秒,668 MB/秒
一台普通电脑PC测试
shown@localhost ~ $ dd if=/dev/zero of=/tmp/test.img bs=1M count=4500
记录了4500+0 的读入
记录了4500+0 的写出
4718592000 bytes (4.7 GB, 4.4 GiB) copied, 43.889 s, 108 MB/s
可以看出lustre是相当的快
五、番外篇
lustre文件系统非常快,但它没有很好的数据冗余保护机制,部分节点宕机的话很容易造成数据丢失。
推荐一个提高lustre系统数据安全性的架构,即底层直接配置两个lustre系统,数据一式两份,这样子的架构是一个成本比较低的提高lustre数据安全性的方案。并且我所知道的是已经有不少朋友都是这么设计的。不过这样做需要花费成本的地方在于数据如何正确的同步(此方案未经论证)
六、参考资料
http://www.blogchong.com/?mod=pad&act=view&id=27
https://www.watters.ws/mediawiki/index.php/Lustre_Install_Notes
http://www.weiruoyu.cn/?p=524
https://jira.hpdd.intel.com/browse/LU-9801?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&showAll=true
https://dev.uabgrid.uab.edu/wiki/LustreQuickStart
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS-7 安装Lustre-2.10.1文件系统 的相关文章

随机推荐

  • Ubuntu 基本使用和Bash编程基础

    Ubuntu基本使用 sudo 申请权限 linux 包管理工具 yum apt apt install XXX apt remove XXX apt autoremove XXX 常用指令 cd 进入目录 ls 查看文件 以点为开头的文件
  • CentOS7如何操作防火墙

    CentOS7中如何操作防火墙 查看防火墙状态 xff1a 命令 xff1a systemctl status firewalld service test 64 test1 systemctl status firewalld servi
  • ROS进二阶学习笔记(1) TF 学习笔记1:TF介绍 + tf工具

    ROS进二阶学习笔记 xff08 1 xff09 TF 学习笔记1 TF介绍 43 tf工具 Ref http wiki ros org tf Tutorials Learning tf gt gt Ref http wiki ros or
  • RGB颜色对照表

    修改字体颜色 xff0c 大小使用示例如下 xff1a lt font color 61 FFB6C1 size 61 5 face 61 34 隶书 34 gt color 61 FFB6C1 size 61 72 face 61 34
  • 顿悟系列-JS对象键值修改,删除

    在Angular开发中 xff0c 遇到了JS对象键值对的知识实际运用 xff0c 不常见 xff0c 但实用 假设我们需要把 var a 61 a 34 张三 34 b 34 24 34 c 34 帅哥 34 a这个对象的键值全部改变自己
  • OVN简介

    作者简介 xff1a 郑敏先 xff0c 就职于诺云系统 xff08 上海 xff09 有限公司 工作地点为南京的诺云研发中心 担任解决方案工程师 本人博客为 xff1a http blog csdn net zhengmx100 一 为什
  • Windows 实现 读取 HDFS 上 文件内容

    前几天一直在搞HDFS文件的下载与上传 xff0c 但是在集群内部可以 xff0c 在集群外部却出现了错误 xff0c 照说 xff0c HDFS的保密协议应该没那么高吧 xff0c 不解中 后来才发现自己网上找的代码 xff0c 却并未理
  • 图像地点场景类型识别(PlaceCNN)实践

    从图像中判断图像场景所处的地点类型 xff0c 是图像理解的一种常见任务 本质上场景类别标注数据足够的情况下 xff0c 它可以属于图像分类的一种 xff0c 因此直接利用现有成熟的网络架构如ResNet就可以实现较高精度的图像涉及场所的识
  • 【2021最新】Keras自定义Loss函数+接受输入+KerasTensor天坑解决方法

    文章目录 自定义函数 43 输入方法第一个错误第二个错误 自定义函数 43 输入方法 环境配置 xff1a Tensorflow2 4 xff0c keras2 4 3 Keras自定义Loss函数 xff0c 增加输入的方法 xff0c
  • 从零使用OpenCV快速实现简单车牌识别系统

    从零使用OpenCV快速实现简单车牌识别系统 这篇文章献给所有第一次听说车牌识别ANPR但需要短时间实现的苦逼同学们 最近的小学期实训做的是一个车牌识别系统 xff0c 说实话真不知道学校怎么想的 xff0c 虽然说图像处理也算的上是数字媒
  • SUMO交通仿真-核心概念和基础知识速览

    文章目录 sumo环境变量设置注意事项路网配置JOSM对地图进行 96 清洗 96 交通需求建模route amp trip输入数据方法流量路由分配 检测线圈车辆属性设置速度分布 特殊设置驾驶员状态事故仿真 仿真运行设置sumocfg 输出
  • Haar分类器原理1——矩形特征与积分图

    引言 Haar分类器又称Viola Jones识别器 xff0c 是Viola和Jones分别在2001年的 Rapid Object Detection using a Boosted Cascade of Simple Features
  • window打开服务的dos命令

    微软系统必备的dos命令 开始 gt 运行 输入以下命令 xff0c 或者win 43 R xff0c 输入以下命令 1 gpedit msc 组策略 2 sndrec32 录音机 3 Nslookup IP地址侦测器 4 explorer
  • 如何在windows server 2003服务器上创建web服务器和ftp服务器

    将xp客户机和server2003设置为同一网段VMnet1上 配置web服务器的IP地址 配置xp客户机的IP地址 检测xp客户机和web服务器是否互通 将文件解压缩到d盘 xff0c 查看到三个文件夹 安装web服务组件 打开开始 管理
  • Kali Linux 2020.3如何安装中文输入法

    安装ibus拼音输入法 sudo apt get install ibus ibus pinyin 设置ibus为首选默认输入法 im config 输入法配置的重要提示信息 xff0c 点击OK即可 是否确认更改设置输入法 xff0c 点
  • Markdown编辑器

    Markdown编辑器 按照Markdown编辑器的使用环境 xff0c 可以将它们归纳为三类 平台集成工具 xff1a 各大在线博客 社区平台自带的写作工具 xff0c 比如CSDN 博客园 简书等 独立软件类 xff1a 下载到自己机器
  • devstack安装OpenStack Pike版本 (OVN+VLAN)

    控制节点配置文件 Sample DevStack local conf This sample file is intended to be used for your typical DevStack environment that 3
  • Fiddler抓包Java请求遇到的问题(一)

    Fiddler 解决无法监听 Java 的 HttpUrlConnection 请求 官网 https www telerik com fiddler Q JavaTraffic jre DproxySet 61 true DproxyHo
  • Win10系统正确设置MTU值加快WIFI速度的方法

    MTU是Maximum Transmission Unit缩写 xff0c 中文名 xff1a 最大传输单元 工具 原料 硬件 xff1a 电脑 操作系统 xff1a Windows 10 方法 步骤 第一步 xff1a 查询自己电脑的MT
  • CentOS-7 安装Lustre-2.10.1文件系统

    注 xff1a 原创文章 xff0c 转载请注明出处 一 文档说明 Lustre 是一种强大的平行 分布式文件系统 xff0c 通常用于HPC行业 主要组建包括 xff1a 元数据服务器 Metadataservers xff0c MDSs