1. Lustre简介

Lustre 是一个具有高可用、高性能、可扩展的分布式文件系统。主要由 Manage Server、Meta Data Server 和 Data Server 组成。详细介绍可以参见 Lustre 官网 。

2. Lustre 安装

2.1 Server 端安装

安装 e2fsprogs :


yum --nogpgcheck --disablerepo=* --enablerepo=e2fsprogs-wc \
install e2fsprogs

安装 epel 源:


yum -y install epel-release

安装以下软件包:


yum install asciidoc audit-libs-devel automake bc binutils-devel bison device-mapper-devel elfutils-devel elfutils-libelf-devel expect flex gcc gcc-c++ git glib2 glib2-devel hmaccalc keyutils-libs-devel krb5-devel ksh ibattr-devel libblkid-devel libselinux-devel libtool libuuid-devel libyaml-devel lsscsi make ncurses-devel net-snmp-devel net-tools newt-devel numactl-devel parted patchutils pciutils-devel perl-ExtUtils-Embed pesign python-devel redhat-rpm-config rpm-build systemd-devel tcl tcl-devel tk tk-devel wget xmlto yum-utils zlib-devel linux-firmware -y

删除以下软件包:


yum remove kernel-tools-libs-3.10.0-693.21.1.el7.x86_64 kernel-tools-3.10.0-693.21.1.el7.x86_64 kernel-headers-3.10.0-693.21.1.el7.x86_64 kernel-debug-devel-3.10.0-693.21.1.el7.x86_64 -y

由于不同机器上安装的软件包版本可能不同,请根据自己机器上的软件包的具体版本来删除。

安装 Lustre Kernel 相关的东西:


yum --nogpgcheck --disablerepo=base,extras,updates \
--enablerepo=lustre-server install \
kernel \
kernel-devel \
kernel-headers \
kernel-tools \
kernel-tools-libs \
kernel-tools-libs-devel

生成 HostID


hid=`[ -f /etc/hostid ] && od -An -tx /etc/hostid|sed 's/ //g'`
[ "$hid" = `hostid` ] || genhostid

重启机器:


reboot

安装 LustreldiskfsZFS 相关的内核模块:


yum --nogpgcheck --enablerepo=lustre-server install \
kmod-lustre-osd-ldiskfs \
lustre-dkms \
lustre-osd-ldiskfs-mount \
lustre-osd-zfs-mount \
lustre \
lustre-resource-agents \
zfs

加载相关的内核模块:


modprobe -v zfs
modprobe -v lustre

2.2 Client 端安装

安装 Kernel 包:


VER="3.10.0-693.2.2.el7"
yum install \
kernel-$VER \
kernel-devel-$VER \
kernel-headers-$VER \
kernel-abi-whitelists-$VER \
kernel-tools-$VER \
kernel-tools-libs-$VER \
kernel-tools-libs-devel-$VER

VER 是内核版本。

重启机器:


reboot

安装 Lustre Client 相关软件包:


yum --nogpgcheck --enablerepo=lustre-client-2.10.0 install \
kmod-lustre-client \
lustre-client

加载内核模块:


modprobe -v lustre

3. Lustre 部署

Lustre 主要由 MGSMDSOSSClient 组成,本次部署方案为:

一个 MGS,两个 MDS,两个 OSS 和一个 Client 。

首先设置五台机器的 Host,每台的设置如下:


10.254.185.204 mds1
10.254.87.204 mds2
10.254.145.145 ost1
10.254.249.208 ost2
10.254.220.11 client1

在 mds1 上安装 MGS:

mkfs.lustre --mgs --reformat /dev/vdb

同时在 mds1 上安装一个 MDS:


mkfs.lustre --mdt --fsname=lustrefs --index=0 --servicenode=mds1@tcp0 --servicenode=mds2@tcp0 --reformat /dev/vdc

其中 fsname 指定了文件系统名称, index 表示 MDT 的序号,每个 MDT 或者 OST 的序号必须唯一。这里我们在两台机器上部署 MDS , 使用的是 active\active 模式,需要指定 MDS 的 servicenode。

挂载 MGSMDS :


mkdir -p /mnt/mgs
mkdir -p /mnt/mdt
mount -t lustre /dev/vdb /mnt/mgs
mount -t lustre /dev/vdc /mnt/mdt

在 mds2 上安装一个 MDS :


mkfs.lustre --mdt --fsname=lustrefs --index=1 --servicenode=mds1@tcp0 --servicenode=mds2@tcp0 --reformat /dev/vdc

挂载 MDS :


mkdir -p /mnt/mdt
mount -t lustre /dev/vdc /mnt/mdt

在 ost1 和 ost2 上分别创建一个 OSS :


mkfs.lustre --fsname=lustrefs --ost --reformat --index=0 --servicenode=ost1@tcp0 --servicenode=ost2@tcp0 --mgsnode=mds1@tcp0 /dev/vdb

注意,在 ost2 上创建时需要指定 index 的值为 1。

在两台机器上分别挂载:


mkdir -p /mnt/ost
mount -t lustre /dev/vdb /mnt/ost

最后在 client1 上挂载我们创建的 Lustrefs:


mount -t lustre  mds1@tcp0:mds2@tcp0:/lustrefs /mnt/

查看是否挂载成功:


[root@client1 mnt]# df -ht lustre
文件系统                                        容量  已用  可用 已用% 挂载点
10.254.185.204@tcp:10.254.87.204@tcp:/lustrefs   20G   66M   19G    1% /mnt

可以看到成功挂载了 Lustrefs。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2374695/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31559758/viewspace-2374695/

基于滴滴云搭建 Lustre相关推荐

  1. 基于滴滴云搭建 Lustre 分布式文件系统

    1. Lustre简介 Lustre 是一个具有高可用.高性能.可扩展的分布式文件系统.主要由 Manage Server.Meta Data Server 和 Data Server 组成.详细介绍 ...

  2. 基于滴滴云搭建微信小程序

    微信小程序自 2017 年推出以来,以其轻量级级特性,为传统移动互联网格局带来了极大的震动.相对于传统 APP,小程序无需下载,即扫即用,用完即走,极大的节省了手机的空间,提高了用户使用的便利性. 本 ...

  3. 基于滴滴云搭建安全稳定的 Memcached 服务器

    介绍 Memcached 是一种内存 cache 系统,通过将一些高频使用和最近经常访问的信息储存在内存中,可以明显地优化访问后端数据库的性能. 直观上来看,借助于 Memcached 组件,可以大量 ...

  4. 基于滴滴云搭建 Ceph 开发环境

    相关依赖包安装 安装依赖包 yum install libtool gcc gcc-c++ libuuid-devel keyutils-libs-devel libblkid-devel redha ...

  5. 基于滴滴云服务器搭建 Consul 集群

    前言 Consul 是什么 Consul 是用 Go 开发的分布式服务协调管理的工具,它提供了服务发现,健康检查,Key/Value 存储等功能,并且支持跨数据中心的功能. Consul 基本概念 A ...

  6. 基于阿里云搭建的适合初创企业的轻量级架构--架构总结

    ----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重 ...

  7. 如何基于阿里云搭建适合初创企业的轻量级架构?

    ----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重 ...

  8. 如何将项目发布到阿里云_尚硅谷基于阿里云搭建数据仓库(实时)项目视频发布...

    11月,尚大发布了基于阿里云搭建数据仓库离线项目视频,不少爱学习的小伙伴表示,对实时项目视频翘首以盼,听了大海哥的课,腰不酸了,腿不疼了,一口气从头听到尾还不过瘾,沉迷于学习无法自拔-- 说曹操,大海 ...

  9. 挑战一个人搭建一套完整直播系统5:基于阿里云搭建外网直播系统

    本节将来介绍如何基于阿里云搭建一个真正的外网直播系统,其实平台的搭建在前面已经做了介绍,这里的区别是在云平台上重新搭建系统,这里采用了阿里云服务器ECS来实现(可以免费使用薅羊毛),选择的系统为ubu ...

最新文章

  1. [异常解决] android studio检测不到手机的解决办法——ADB驱动自己安装
  2. vue拦截器实现统一token,并兼容IE9验证
  3. IOS之提示control may reach end of non-void function
  4. docker centos ssh
  5. netstat命令详解
  6. powerDesigner修改mysql建表语句
  7. java 实现打印机_JAVA实现连接本地打印机并打印文件的实现代码
  8. mysql 增加分区_MySql数据分区操作之新增分区操作
  9. 用 Python 给自己的头像加一个小国旗或者小月饼
  10. css定位“十字架“之水平垂直居中
  11. 程序员下班为什么不关电脑?
  12. C语言:输入一个整数 求它是几位数
  13. Uncaught ReferenceError: regeneratorRuntime is not defined 解决方法
  14. Java面试错题集1
  15. Unity学生作业:太阳地球月亮自转和公转
  16. 怎么抠图人像?抠图其实很重要
  17. 如何在vue引入UE Editor
  18. linux服务器禁ping
  19. 100-days: Five
  20. blender快捷键(持续更新)

热门文章

  1. wave2lip训练
  2. 零基础实操 | Python实现数字转人民币(大写汉字)源代码
  3. BIM建模助手【有求必应】,你提功能需求,我们来开发
  4. 首版次高端软件的申报材料?
  5. C语言项目实战:《中国象棋》零基础项目,210 行源代码示例
  6. 3.2百度EasyDL文本--- 调用API
  7. 顶得住?还是顶不住?不是一道选择题!
  8. Ubuntu 16.04下搭建intel NCS 2开发环境OpenVINO
  9. QQLite 插件开发 之 Sqlite 保存配置
  10. springboot+小程序软件工程课程思政微平台的设计与实现毕业设计源码271113