高性能分散ストレージ光沢

序文

近年では、高い性能を備えた分散ストレージのために、高可用性ストレージ市場に提供しています。光沢、CephFS商用製品、より人気のあるオープンソースの分散ストレージソフトウェアに加えて、GlusterFSは、典型的な代表です。

1.はじめに

光沢はオープン、分散並列ファイルシステムソフトウェアプラットフォーム、拡張性の高い、高パフォーマンス、高可用性特性です。光沢構成オブジェクトは、POSIX準拠は、それが数百PBデータ記憶空間をサポートするグローバル一貫性大規模な高性能コンピューティング・システムの名前空間を提供し、数百GB / sおよびTB / sの同時集約帯域幅の数をサポートすることです。

1.1環境のアーキテクチャ

高性能分散ストレージ光沢
MGS(管理サーバー、管理サーバー)、すべての設定情報光沢MGSファイルストレージクラスタと他の光沢のコンポーネントに情報を提供します。
MDS(メタデータサーバ、メタデータサーバ)、MDSは、クライアントに利用可能なメタデータ、各MDS管理のLustreファイルシステムとディレクトリ名になります。
OSS(オブジェクトストレージサーバー、オブジェクト・ストレージ・サーバー)、OSSは、クライアントデータアクセスサービスを格納するために使用されます。

1.2ネットワーク計画

高性能分散ストレージ光沢

2.環境の準備

注:すべてのホストに対して次の操作を行います

1.ホスト名を設定します

hostnamectl set-hostname node1

2. firewalldとSELinuxをオフにします

systemctl stop firewalld  && systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

3.一時的YUMソースを作成します。

cat >/tmp/lustre-repo.conf <<EOF
[lustre-server]
name=lustre-server
baseurl=https://downloads.whamcloud.com/public/lustre/latest-release/el7/server
gpgcheck=0

[lustre-client]
name=lustre-client
baseurl=https://downloads.whamcloud.com/public/lustre/latest-release/el7/client
gpgcheck=0

[e2fsprogs-wc]
name=e2fsprogs-wc
baseurl=https://downloads.whamcloud.com/public/e2fsprogs/latest/el7
gpgcheck=0
EOF

4.インストールキット関連

yum install yum-utils createrepo perl linux-firmware -y

事前パッケージがローカルにダウンロードされています

mkdir -p /var/www/html/repo
cd /var/www/html/repo
reposync -c /tmp/lustre-repo.conf -n \
-r lustre-server \
-r lustre-client \
-r e2fsprogs-wc

6.ローカル光沢のyumのソースを作成します。

cd /var/www/html/repo
for i in e2fsprogs-wc lustre-client lustre-server; do
(cd $i && createrepo .)
done

7.ローカルソースプロファイル光沢を作成します。

cat > /etc/yum.repos.d/CentOS-lustre.repo <<EOF
[lustre-server]
name=lustre-server
baseurl=file:///var/www/html/repo/lustre-server/
enabled=0
gpgcheck=0

[lustre-client]
name=lustre-client
baseurl=file:///var/www/html/repo/lustre-client/
enabled=0
gpgcheck=0

[e2fsprogs-wc]
name=e2fsprogs-wc
baseurl=file:///var/www/html/repo/e2fsprogs-wc/
enabled=0
gpgcheck=0
EOF

8.レポを確認

yum repolist all

2.サーバーの構成

注:すべてのホストサーバーについて以下を実行してください。

1. efs2progsをインストールします。

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

2.コア競合パッケージをアンインストールします

yum remove selinux-policy-targeted -y

3.インストールしたカーネルをアップグレード

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

4.リブート

reboot

kmodパッケージと光沢ldiskfs 5.インストール

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

6.カーネルにロードされた光沢

modprobe -v lustre
modprobe -v ldiskfs
echo 'options lnet networks=tcp0(ens1f1)' > /etc/modprobe.d/lustre.conf
depmod -a

3.クライアントの設定

注意:唯一のクライアントホスト上で動作

光沢クライアントホストクライアントソフトウェアのインストール、光沢とカーネルをアップグレードする必要はありませんが、インストールすることができ、直接光沢、クライアント
1にkmodをインストールします。

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

2.ロード光沢パラメータ

echo ' options lnet networks=tcp0(ens1f1)' > /etc/modprobe.d/lustre.conf
depmod -a
modprobe lustre

4.ファイルシステムの光沢を作成します。

構成説明:
--fsname:などsgfsとして、光沢指定されたファイルシステム名を生成した後、将来のクライアントは192.168.100.1@tcp0 -tマウント使用しています:192.168.100.2@tcp0:/ sgfs /家庭マウントします。BR /> - MGS:MGSパーティション指定
--mgt:MGT指定されたパーティション
--ost:OST指定されたパーティション
--servicenode = ServiceNodeIP @ tcp0:指定されたノードは、InfiniBandなど、サービスノードを引き継ぐために失敗した場合ネットワーク、tcp0を交換する必要がo2ib
--index:指定されたインデックス、することはできません同じ
確立MGSとMGT(注:MGSは、サーバーのホストノード1上で実行されます)

mkdir -p /data/mdt
mkfs.lustre --fsname=lufs --mgs --mdt --index=0 --servicenode=10.10.201.61@tcp0 --reformat /dev/sdb
mount -t lustre /dev/sdb /data/mdt/

OST1を確立する(注:OSSはサーバーのホストノード2上で実行されます)

mkdir /data/ost1 –p
mkfs.lustre --fsname=sgfs --mgsnode=10.10.201.61@tcp0 --servicenode=10.10.201.62@tcp0 --servicenode=10.10.201.63@tcp0 --ost --reformat --index=1 /dev/sdb
mount -t lustre /dev/sdb /data/ost1/

OST2を確立する(注:OSSはサーバーのホストノード3で実行)

mkdir /data/ost2 -p
mkfs.lustre --fsname=sgfs --mgsnode=10.10.201.61@tcp0 --servicenode=10.10.201.63@tcp0 --servicenode=10.10.201.62@tcp0 --ost --reformat --index=2 /dev/sdb
mount -t lustre /dev/sdb /data/ost2/

5.クライアントがアクセスをマウント

クライアントがアクセスをマウントし、マウントするディレクトリを作成します。(注:クライアントのホストノード4で実行)

mkdir /lustre/sgfs/
mount.lustre 10.10.201.61@tcp0:/sgfs /lustre/sgfs/

マウントに失敗した場合は、ネットワーク接続が利用可能LCTLコマンドとビューのシステムログを確認しています。

lctl ping 10.10.201.61@tcp0

マウント成功かどうかを確認するには

df -ht lustre

6.よくある質問処理

1つのエラー:

[root@node1 ~]# modprobe -v lustre
insmod /lib/modules/3.10.0-957.10.1.el7_lustre.x86_64/extra/lustre/net/libcfs.ko 
insmod /lib/modules/3.10.0-957.10.1.el7_lustre.x86_64/extra/lustre/net/lnet.ko 
insmod /lib/modules/3.10.0-957.10.1.el7_lustre.x86_64/extra/lustre/fs/obdclass.ko 
insmod /lib/modules/3.10.0-957.10.1.el7_lustre.x86_64/extra/lustre/fs/ptlrpc.ko 
modprobe: ERROR: could not insert 'lustre': Cannot allocate memory

原因:サーバーに2つのCPUを持って次のように、メモリを挿入していないCPUは、パフォーマンスがあります

[root@node2 ~]# numactl -H
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 20 21 22 23 24 25 26 27 28 29
node 0 size: 0 MB
node 0 free: 0 MB
node 1 cpus: 10 11 12 13 14 15 16 17 18 19 30 31 32 33 34 35 36 37 38 39
node 1 size: 32654 MB
node 1 free: 30680 MB
node distances:
node   0   1 
  0:  10  20 
  1:  20  10

後のメモリチューニングの状態を再プラグ

[root@node1 ~]# numactl -H
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 20 21 22 23 24 25 26 27 28 29
node 0 size: 16270 MB
node 0 free: 15480 MB
node 1 cpus: 10 11 12 13 14 15 16 17 18 19 30 31 32 33 34 35 36 37 38 39
node 1 size: 16384 MB
node 1 free: 15504 MB
node distances:
node   0   1 
  0:  10  21 
  1:  21  10

リファレンス・ソリューション:
https://jira.whamcloud.com/browse/LU-11163

ようこそスキャンコードの質問は、オンラインで答えることができます。共有仮想化、コンテナ、DevOpsチームと定期的に他の関連コンテンツ
高性能分散ストレージ光沢

おすすめ

転載: blog.51cto.com/9099998/2445847