目标
使用虚拟机搭建Lustre系统,体验学习Lustre文件系统。具体来说,该文件系统有四个节点,一个mds节点,两个oss节点,一个client节点;下图展示了该系统的全貌。
背景
- 虚拟机镜像使用
CentOS-7-x86_64-DVD-1511.iso
,该镜像的官方下载地址请点击 这里。 - 使用VMware ESXi虚拟化平台管理虚拟机
- 每个虚拟机分配两块磁盘,一块用于操作系统的安装,另一块用于Lustre文件系统存储
- 需要同时起五个虚拟机(有一个用于本地repo功能),所以尽量选用一个高性能的宿主机
- 支持LDISKFS和ZFS
注意
使用VMware Workstation,或者Virtual Box等虚拟机管理软件也可以。本文以VMware ESXi为例做演示。
安装配置虚拟机
首先完成一台虚拟机的安装,然后在该虚拟机上针对Lustre系统做一些基础配置,最后关闭该虚拟机,使用VMware ESXi的 导出OVF模板
功能(其他虚拟机管理软件也有类似功能)导出该虚拟机的示例模板。最终利用虚拟机模板再创建四个虚拟机,用于构建Lustre文件系统。
虚拟机安装
根据宿主机的性能安排虚拟机的硬件配置,不确定的配置使用默认值即可;需要注意的是给虚拟机分配两块磁盘,在本例中,系统盘分配20G,Lustre存储盘分配16G。
加载 CentOS-7-x86_64-DVD-1511.iso
镜像,上电后选择 minimal
安装方式安装即可。
简单配置虚拟机
- 查看Linux版本
[root@repo ~]# uname -a Linux repo 3.10.0-693.11.6.el7_lustre.x86_64 #1 SMP Wed Jan 31 20:03:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
- 安装一些基础包
yum groupinstall “Development Tools” -y yum install epel-release quilt libselinux-devel python-docutils xmlto asciidoc elfutils-libelf-devel elfutils-devel zlib-devel rng-tools binutils-devel python-devel sg3_utils newt-devel perl-ExtUtils-Embed audit-libs-devel lsof hmaccalc -y
- 关闭SELINUX(Lustre不支持SELINUX)
Set SELINUX=disabled in /etc/sysconfig/selinux
- 关闭防火墙,或者添加iptables规则
systemctl stop firewalld.service systemctl disable firewalld.service # iptables -A IN_public_allow -m state --state NEW -m tcp -p tcp --dport 988 -j ACCEPT
导出虚拟机模板
正常关闭该虚拟机后,导出该虚拟机模板。
获得五个虚拟机
利用虚拟机模板,使用 部署OVF模板
功能创建四个虚拟机作为Lustre文件系统的四个节点。
使用 hostnamectl set-hostname mds/oss1/oss2/client1
命令设置这四个节点的主机名,便于分辨。起始的虚拟机作为repo主机(主机名设置为repo),为这四个节点提供Lustre repo功能。
构建本地Lustre repo库
该小节严格遵循 Using YUM to Manage Local Software Provisioning 的步骤来完成本地repo库的搭建。基本原理就是在repo主机上起一个web服务器,把从官方源上拷贝过来的Lustre安装包放到web服务目录中;mds/oss1/oss2/client1这四个节点安装Lustre时就可以直接使用repo主机的web服务提供的repo了,从而更方便地统一部署安装Lustre了。
创建repo定义
本例使用了2.10.3版本(注意,该版本有bug,建议使用最新版本),从 官方repo 中选择目标版本,将目标版本的URL分别填到对应的baseurl变量中,可以排除掉用于debug功能的rpm包从而减小安装。
[root@repo ~]# cat lustre-repo.conf [lustre-server] name=lustre-server baseurl=https://downloads.hpdd.intel.com/public/lustre/lustre-2.10.3/el7/server exclude=*debuginfo* gpgcheck=0 [lustre-client] name=lustre-client baseurl=https://downloads.hpdd.intel.com/public/lustre/lustre-2.10.3/el7/client exclude=*debuginfo* gpgcheck=0 [e2fsprogs-wc] name=e2fsprogs-wc baseurl=https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el7 exclude=*debuginfo* gpgcheck=0
同步源到本地
使用 reposync
命令将官方源中的包同步到本地(repo主机),目标目录是 /var/www/html/repo
,即Apache服务器的默认目录。
mkdir -p /var/www/html/repo cd /var/www/html/repo reposync -c ~/lustre-repo.conf -n \ -r lustre-server \ -r lustre-client \ -r e2fsprogs-wc
创建repo元数据
创建本地repo的元数据:
cd /var/www/html/repo for i in e2fsprogs-wc lustre-client lustre-server; do (cd $i && createrepo .) done
创建repo访问文件
该文件定义了repo主机提供的本地源服务,其中 192.168.199.143
是repo主机的IP地址,确保Lustre文件系统的四个节点都可以访问到该地址。
[root@repo ~]# cat lustre.repo [lustre-server] name=lustre-server baseurl=http://192.168.199.143/repo/lustre-server enabled=0 gpgcheck=0 proxy=_none_ [lustre-client] name=lustre-client baseurl=http://192.168.199.143/repo/lustre-client enabled=0 gpgcheck=0 [e2fsprogs-wc] name=e2fsprogs-wc baseurl=http://192.168.199.143/repo/e2fsprogs-wc enabled=0 gpgcheck=0
- 在repo主机上
service httpd start
启动web服务,关闭防火墙或开放80端口,使web服务可用 - 将该
lustre.repo
文件拷贝到mds/oss1/oss2/client1这四个节点的/etc/yum.repos.d/
目录中 - 可在mds/oss1/oss2/client1四节点中使用
curl
命令验证本地repo的可用性
搭建Lustre
至此,准备工作完成,可以开始Lustre的安装了。
mds/oss1/oss2三节点安装
在mds/oss1/oss2这三个节点上执行以下命令,完成Lustre服务端的软件包安装和模块插入。
[root@mds ~]# yum --nogpgcheck --disablerepo=* --enablerepo=e2fsprogs-wc install e2fsprogs -y [root@mds ~]# yum -y install epel-release [root@mds ~]# yum install http://download.zfsonlinux.org/epel/zfs-release.el7_3.noarch.rpm [root@mds ~]# yum upgrade linux-firmware dracut -y # 升级冲突包 [root@mds ~]# yum upgrade xfsprogs kmod kexec-tools -y # 升级冲突包 [root@mds ~]# yum --nogpgcheck --disablerepo=base,extras,updates --enablerepo=lustre-server install kernel kernel-devel kernel-headers kernel-tools kernel-tools-libs kernel-tools-libs-devel -y [root@mds ~]# hid=`[ -f /etc/hostid ] && od -An -tx /etc/hostid|sed 's/ //g'` [ "$hid" = `hostid` ] || genhostid [root@mds ~]# reboot [root@mds ~]# 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 -y [root@mds ~]# modprobe -v zfs [root@mds ~]# modprobe -v lustre
具体插入的内核模块可参看以下输出:
[root@mds ~]# modprobe -v zfs insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/spl.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/znvpair.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/zcommon.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/icp.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/zavl.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/zunicode.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/zfs.ko.xz [root@mds ~]# modprobe -v lustre insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/libcfs.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/lnet.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/obdclass.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/ptlrpc.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/fld.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/fid.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/lov.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/mdc.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/lmv.ko.xz insmod /lib/modules/3.10.0-693.11.6.el7_lustre.x86_64/extra/lustre.ko.xz
troubleshooting
在上述命令中有对某些包的升级操作,主要原因是它们的版本太低,所以需要升级。
[root@mds ~]# yum --nogpgcheck --disablerepo=base,extras,updates --enablerepo=lustre-server install kernel kernel-devel kernel-headers kernel-tools kernel-tools-libs kernel-tools-libs-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * epel: mirrors.ustc.edu.cn Package matching kernel-headers-3.10.0-693.11.6.el7_lustre.x86_64 already installed. Checking for update. Resolving Dependencies --> Running transaction check ---> Package kernel.x86_64 0:3.10.0-693.11.6.el7_lustre will be installed ---> Package kernel-devel.x86_64 0:3.10.0-693.11.6.el7_lustre will be installed ---> Package kernel-tools.x86_64 0:3.10.0-327.el7 will be updated ---> Package kernel-tools.x86_64 0:3.10.0-693.11.6.el7_lustre will be an update ---> Package kernel-tools-libs.x86_64 0:3.10.0-327.el7 will be updated ---> Package kernel-tools-libs.x86_64 0:3.10.0-693.11.6.el7_lustre will be an update ---> Package kernel-tools-libs-devel.x86_64 0:3.10.0-693.11.6.el7_lustre will be installed --> Processing Conflict: kernel-3.10.0-693.11.6.el7_lustre.x86_64 conflicts xfsprogs Processing Conflict: kernel-3.10.0-693.11.6.el7_lustre.x86_64 conflicts kmod Processing Conflict: kernel-3.10.0-693.11.6.el7_lustre.x86_64 conflicts kexec-tools Finished Dependency Resolution Error: kernel conflicts with xfsprogs-3.2.2-2.el7.x86_64 Error: kernel conflicts with kexec-tools-2.0.7-38.el7.x86_64 Error: kernel conflicts with kmod-20-5.el7.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest [root@mds ~]# rpm -qa |grep xfsprogs xfsprogs-3.2.2-2.el7.x86_64
诸如此类的:
[root@mds ~]# yum --nogpgcheck --disablerepo=base,extras,updates \ > --enablerepo=lustre-server install \ > kernel \ > kernel-devel \ > kernel-headers \ > kernel-tools \ > kernel-tools-libs \ > kernel-tools-libs-devel Loaded plugins: fastestmirror lustre-server | 2.9 kB 00:00:00 zfs | 2.9 kB 00:00:00 (1/2): lustre-server/primary_db | 499 kB 00:00:00 (2/2): zfs/x86_64/primary_db | 86 kB 00:00:02 Loading mirror speeds from cached hostfile * epel: mirrors.aliyun.com Package matching kernel-headers-3.10.0-693.11.6.el7_lustre.x86_64 already installed. Checking for update. Resolving Dependencies --> Running transaction check ---> Package kernel.x86_64 0:3.10.0-693.11.6.el7_lustre will be installed --> Processing Dependency: linux-firmware >= 20170606-55 for package: kernel-3.10.0-693.11.6.el7_lustre.x86_64 --> Processing Dependency: dracut >= 033-502 for package: kernel-3.10.0-693.11.6.el7_lustre.x86_64 ---> Package kernel-devel.x86_64 0:3.10.0-693.11.6.el7_lustre will be installed ---> Package kernel-tools.x86_64 0:3.10.0-327.el7 will be updated ---> Package kernel-tools.x86_64 0:3.10.0-693.11.6.el7_lustre will be an update ---> Package kernel-tools-libs.x86_64 0:3.10.0-327.el7 will be updated ---> Package kernel-tools-libs.x86_64 0:3.10.0-693.11.6.el7_lustre will be an update ---> Package kernel-tools-libs-devel.x86_64 0:3.10.0-693.11.6.el7_lustre will be installed --> Processing Conflict: kernel-3.10.0-693.11.6.el7_lustre.x86_64 conflicts xfsprogs Processing Conflict: kernel-3.10.0-693.11.6.el7_lustre.x86_64 conflicts kmod Processing Conflict: kernel-3.10.0-693.11.6.el7_lustre.x86_64 conflicts kexec-tools Finished Dependency Resolution Error: Package: kernel-3.10.0-693.11.6.el7_lustre.x86_64 (lustre-server) Requires: linux-firmware >= 20170606-55 Installed: linux-firmware-20150904-43.git6ebf5d5.el7.noarch (@anaconda) linux-firmware = 20150904-43.git6ebf5d5.el7 Error: Package: kernel-3.10.0-693.11.6.el7_lustre.x86_64 (lustre-server) Requires: dracut >= 033-502 Installed: dracut-033-359.el7.x86_64 (@anaconda) dracut = 033-359.el7 Error: kernel conflicts with xfsprogs-3.2.2-2.el7.x86_64 Error: kernel conflicts with kexec-tools-2.0.7-38.el7.x86_64 Error: kernel conflicts with kmod-20-5.el7.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest [root@mds ~]#
client1节点安装
在client1节点执行以下命令,完成Lustre客户端的软件包安装和模块插入。
[root@client1 ~]# yum install kernel kernel-devel kernel-headers kernel-abi-whitelists kernel-tools kernel-tools-libs kernel-tools-libs-devel -y [root@client1 ~]# reboot [root@client1 ~]# yum install epel-release [root@client1 ~]# yum --nogpgcheck --enablerepo=lustre-client install lustre-client-dkms lustre-client -y [root@client1 ~]# modprobe -v lustre insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/libcfs.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/lnet.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/obdclass.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/ptlrpc.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/lov.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/fid.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/mdc.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/fld.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/lmv.ko.xz insmod /lib/modules/3.10.0-862.3.2.el7.x86_64/extra/lustre.ko.xz
配置mds
终于可以配置mds了,将之前添加的第二块盘(/dev/sdb)作为Lustre的存储盘,格式化为lustre格式。
[root@mds ~]# mkfs.lustre --fsname=lustrefs --mgs --mdt --index=0 /dev/sdb 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: checking for existing Lustre data: not found device size = 16384MB formatting backing filesystem ldiskfs on /dev/sdb target name lustrefs:MDT0000 4k blocks 4194304 options -J size=655 -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=655 -I 1024 -i 2560 -q -O dirdata,uninit_bg,^extents,dir_nlink,quota,huge_file,flex_bg -E lazy_journal_init -F /dev/sdb 4194304 Writing CONFIGS/mountdata
最后创建挂载点,挂载该盘。
[root@mds ~]# mkdir /mnt/mdt [root@mds ~]# mount -t lustre /dev/sdb /mnt/mdt mount.lustre: increased /sys/block/sdb/queue/max_sectors_kb from 512 to 4096
配置oss1
在oss1节点将第二块盘作为ost类型的存储盘,其中 192.168.199.138
为mds节点的IP。
[root@oss1 ~]# mkfs.lustre --fsname=lustrefs --mgsnode=192.168.199.138@tcp0 --ost --index=0 /dev/sdb 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.199.138@tcp checking for existing Lustre data: not found device size = 16384MB formatting backing filesystem ldiskfs on /dev/sdb target name lustrefs:OST0000 4k blocks 4194304 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 4194304 Writing CONFIGS/mountdata [root@oss1 ~]#
最后创建挂载点,挂载sdb。
[root@oss1 ~]# mkdir /mnt/ost0 [root@oss1 ~]# mount -t lustre /dev/sdb /mnt/ost0/ mount.lustre: increased /sys/block/sdb/queue/max_sectors_kb from 512 to 4096
配置oss2
同理,oss2的配置与oss1一样。
[root@oss2 ~]# mkfs.lustre --fsname=lustrefs --mgsnode=192.168.199.138@tcp0 --ost --index=1 /dev/sdb Permanent disk data: Target: lustrefs:OST0001 Index: 1 Lustre FS: lustrefs Mount type: ldiskfs Flags: 0x62 (OST first_time update ) Persistent mount opts: ,errors=remount-ro Parameters: mgsnode=192.168.199.138@tcp checking for existing Lustre data: not found device size = 16384MB formatting backing filesystem ldiskfs on /dev/sdb target name lustrefs:OST0001 4k blocks 4194304 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:OST0001 -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 4194304 Writing CONFIGS/mountdata [root@oss2 ~]# mkdir /mnt/ost1 [root@oss2 ~]# mount -t lustre /dev/sdb /mnt/ost1 mount.lustre: increased /sys/block/sdb/queue/max_sectors_kb from 512 to 4096 [root@oss2 ~]#
配置client1
在client1节点创建挂载点,挂载Lustre文件系统。
[root@client1 ~]# mkdir /lustre [root@client1 ~]# mount -t lustre 192.168.199.138@tcp0:/lustrefs /lustre/
验证Lustre
在client1节点可以查看Lustre文件系统的所有磁盘情况。
[root@client1 ~]# lfs df -h UUID bytes Used Available Use% Mounted on lustrefs-MDT0000_UUID 8.9G 46.2M 8.0G 1% /lustre[MDT:0] lustrefs-OST0000_UUID 15.4G 45.1M 14.5G 0% /lustre[OST:0] lustrefs-OST0001_UUID 15.4G 45.1M 14.5G 0% /lustre[OST:1] filesystem_summary: 30.7G 90.3M 29.0G 0% /lustre [root@client1 ~]#
简单测试
试了一下写入速度,同样的128M写入10次,在client1节点本地可达到118MB/s,写入到Lustre文件系统速度在12.1MB/s;当然这肯定不能作为结论,因为毕竟只是一次在虚拟机上的尝试安装,没有考虑网络、磁盘和其他硬件性能等。
另外,不小心发现了Lustre 2.10.3版本的bug,从上图可以看出查看 /lustre 目录时报错了。查了一下,原来是个已知bug,并且在2.10.4上已经修复了。具体bug信息可以查看 RHEL/CentOS 7.5 prevent listing Lustre directory contents。
关于DKMS
Using_DKMS 上提到需要安装DKMS的相关开发包(见下面的yum命令),才可以支持DKMS。
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 \ libattr-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
但本例中,没有执行上述命令,依然有DKMS存在,再具体了没有深入研究;具体输出可查看下面,mds/oss1/oss2输出相同,四节点都没有升级内核(可能与这有关?)。
mds输出
[root@mds ~]# dkms status;rpm -qa |grep dkms lustre, 2.10.3, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed spl, 0.7.9, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed zfs, 0.7.9, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed dkms-2.6.1-1.el7.noarch spl-dkms-0.7.9-1.el7_3.noarch lustre-dkms-2.10.3-1.el7.noarch zfs-dkms-0.7.9-1.el7_3.noarch [root@mds ~]#
oss1输出
[root@oss1 ~]# dkms status;rpm -qa |grep dkms lustre, 2.10.3, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed spl, 0.7.9, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed zfs, 0.7.9, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed dkms-2.6.1-1.el7.noarch spl-dkms-0.7.9-1.el7_3.noarch lustre-dkms-2.10.3-1.el7.noarch zfs-dkms-0.7.9-1.el7_3.noarch
oss2输出
[root@oss2 ~]# dkms status;rpm -qa |grep dkms lustre, 2.10.3, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed spl, 0.7.9, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed zfs, 0.7.9, 3.10.0-693.11.6.el7_lustre.x86_64, x86_64: installed dkms-2.6.1-1.el7.noarch spl-dkms-0.7.9-1.el7_3.noarch lustre-dkms-2.10.3-1.el7.noarch zfs-dkms-0.7.9-1.el7_3.noarch
client1输出
[root@client1 ~]# dkms status;rpm -qa |grep dkms lustre-client, 2.10.3, 3.10.0-862.3.2.el7.x86_64, x86_64: installed dkms-2.6.1-1.el7.noarch lustre-client-dkms-2.10.3-1.el7.noarch
参考资料
- Creating a Lustre Test System from Source with Virtual Machines : 讲解了虚拟机源码安装Lustre的简要步骤,虽然使用的Lustre、Linux版本较低,但参考价值很大
- Installing the Lustre Software : 很全面很具体的安装部署文档,参考价值很大
- Lustre* Software Release 2.x Manual : 官方手册,大而全,可翻阅
唉,这些我好像在我爸的旧书堆里看到过,他也考了个啥网络工程师,可这证书上的灰有5毫米厚了,他现在竟然是。。。。。中学信息老师
赞Liked by 1 person
请问在创建repo定义后的同步源到本地时,kernel和kernel-debuginfo这两个总是下载不下来,请问这是什么情况?可以通过15814625870@163.com
赞赞