基于滴滴云搭建 Lustre 分布式文件系统
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
安装 Lustre
、ldiskfs
、 ZFS
相关的内核模块:
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
主要由 MGS
、MDS
、OSS
和 Client
组成,本次部署方案为:
一个 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。
挂载 MGS
和 MDS
:
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。
基于滴滴云搭建 Lustre 分布式文件系统相关推荐
- 基于滴滴云搭建 Lustre
1. Lustre简介 Lustre 是一个具有高可用.高性能.可扩展的分布式文件系统.主要由 Manage Server.Meta Data Server 和 Data Server 组成.详细介绍 ...
- 基于滴滴云搭建微信小程序
微信小程序自 2017 年推出以来,以其轻量级级特性,为传统移动互联网格局带来了极大的震动.相对于传统 APP,小程序无需下载,即扫即用,用完即走,极大的节省了手机的空间,提高了用户使用的便利性. 本 ...
- 基于滴滴云搭建安全稳定的 Memcached 服务器
介绍 Memcached 是一种内存 cache 系统,通过将一些高频使用和最近经常访问的信息储存在内存中,可以明显地优化访问后端数据库的性能. 直观上来看,借助于 Memcached 组件,可以大量 ...
- 基于滴滴云搭建 Ceph 开发环境
相关依赖包安装 安装依赖包 yum install libtool gcc gcc-c++ libuuid-devel keyutils-libs-devel libblkid-devel redha ...
- 基于滴滴云服务器搭建 Consul 集群
前言 Consul 是什么 Consul 是用 Go 开发的分布式服务协调管理的工具,它提供了服务发现,健康检查,Key/Value 存储等功能,并且支持跨数据中心的功能. Consul 基本概念 A ...
- 云存储及其分布式文件系统
转自: https://www.cnblogs.com/langren1992/p/5432517.html 随着信息化程度的不断提高,全球数据日益膨胀.面对当前PB级的海量数据存储需求,传统的存储系 ...
- 阿里云搭建完全分布式
阿里云搭建完全分布式 文章目录 阿里云搭建完全分布式 1. 三台改主机名 2.三台修改hosts文件 ping不通 4. 配置 ssh 免密登录 4.1 在 master 生成公钥 4.2 将 pub ...
- 如何搭建GFS分布式文件系统
如何搭建GFS分布式文件系统 什么是文件系统 文件系统的组成部分 文件系统作用 文件系统的使用 分布式文件系统GFS GFS简介 GFS组成 GFS的特点 GFS专业术语 GFS模块化和堆栈式架构 G ...
- 基于阿里云搭建的适合初创企业的轻量级架构--架构总结
----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变.快速部署.持续集成并可以适应多种情况的架构便显得尤为重 ...
最新文章
- DELPHI replace into 语句的语法错误 解决方法
- 题目1170:找最小数
- 认证模式之Basic模式
- 面向切面编程AOP的最佳入门示例
- 【Python】Jupyter Notebook 配置路径
- 电脑编程学习_零基础到底是否可以学习电脑编程?答案扎心了!
- mysql 导入gtid_开启gtid导入报错
- mysql iso 时间_mysql 中 时间和日期函数
- git branch看不到分支_Git简介及基本用法
- apache配置cgi出错_Apache配置实现cgi-阿里云开发者社区
- STM32:红外遥控接收模块
- MySQL数据文件的组织
- 构筑“数据连接器”,腾讯云大数据推出“开源开放”战略
- 南方电网两栖机器人_南方电网首个作业级水下机器人落户海南 为海底电缆“护驾”...
- Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量
- 已知一个靶点,如何获取旗下相关的生物实验,临床试验,以及上市药物数据.
- Discuz!论坛教程之修改admin.php防止直接恶意访问
- Zotero的MDPI参考文献标注模板资源,导入直接使用。
- 1049:晶晶赴约会
- Python量化投资——七行python代码生成K线图(最后有干货)