lustre文件系统环境搭建及测试

lustre文件系统环境搭建及测试,第1张

lustre文件系统环境搭建及测试 目录
  • 1、节点角色
  • 2、硬件配置
  • 3、软件版本
  • 4、安装软件包
    • 4.1、安装 e2fsprogs 相关包
    • 4.2、安装 kernel 相关包
    • 4.3、客户端安装
    • 4.4、服务器端安装
    • 4.5、配置
  • 5、启动与关闭
  • 6、测试
  • 7、问题
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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/589339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存