kuroの覚え書き

96の個人的覚え書き

AlmaLinux8.7に移行

新しいサーバマシンが導入されたため、環境をセットアップする。
これまでサーバはCentOS7を並列クラスタ、データベース用に使用し、AlphaFold2用GPUサーバに限ってUbuntu20.04をインストールしていた。
CentOS7のサポート期限が来年ということで、5年はあまり環境をいじらず使いたいので、バージョンを上げたいのだが、CentOS8はすでにサポートを切られてしまった。
そもそもCentOSの存在意義が変わってしまったので、いっそ他のディストリビューションに移行しようと思う。
候補としてUbuntuも考えたが、あんまり安定志向でないし、yumからaptに移るのもなんだかなあ、というわけでやめた。
RHELにすりゃいいっちゃあいいが、サブスクで使うならそもそもハードウェアもAWSでいいんじゃん、ってなわけで却下。
となるとRPM系でいくならOpenSUSE、Rocky Linux、AlmaLinux辺りだろう。で、今回AlmaLinuxを採用することにした。
バージョンはすでに9系まで行っているが、安定志向なので、あえての8系にとどめておくことにする。

  • サーバの構成

INSPUR NF3280A6 (AMD EPYC 7413 24C/48T)
memory: 256G
storage: 64TB RAID5

INSPUR NF3180A6 (AMD EPYC 7413 24C/48T)
memory: 256G
storage: 480 G SSD

INSPUR NF3180A6 (AMD EPYC 7413 24C/48T)
memory: 256G
storage: 480 G SSD

NF3280A6をヘッドノード兼用とした3ノードクラスタ。ネットワークは10Gイーサネットで構築。

  • OSのインストール

インストールは普通にDVDに焼いたインストーラで実施。(AlmaLinux 8.7)
ヘッドノードはサーバー版(GUI)をインストール。計算ノードは最小インストールを選択。
インストーラーはCentOS7のときと何ら変わっていないので間違いようがない。
RAIDの構成は別途必要。

klab.kuro.jp(仮)

  • ネットワーク構成
IPv4         hostname
10.0.1.90    k1-inspur-a6
10.0.1.89    k2-inspur-a6
10.0.1.88    k3-inspur-a6
  • NFSサーバ・NISサーバをインストール

ヘッドノードはHDDでRAIDを組んでおり、ファイルサーバも兼ねてもらう。
NISはRHEL8系では非推奨だが、ジョブスケジューラを使ったクラスタを構築する上で、設定が容易なので、当面はこれを使用することにする。
一般ユーザもこのヘッドノードサーバのみに作成する。

## SELINUXを無効化しておく
# nano /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
## 下行を変更
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

## 再起動して変更を有効にする
# reboot

# NFS サーバーの設定
# dnf -y install nfs-utils rpcbind
# nano /etc/idmapd.conf

## 5行目:コメント解除して自ドメイン名に変更
Domain = klab.kuro.jp

## NFS 共有に設定
# nano /etc/exports

/usr/local 10.0.1.0/24(rw,no_root_squash)
/home 10.0.1.0/24(rw,no_root_squash)

# systemctl enable --now rpcbind nfs-server 

## FirewalldにNFSサービスを許可
# firewall-cmd --add-service=nfs --permanent
# firewall-cmd --reload

## Ypserv をインストールして NIS サーバーを設定
# dnf -y install ypserv
# ypdomainname klab.kuro.jp
# nano /etc/sysconfig/network

NISDOMAIN=klab.kuro.jp
YPSERV_ARGS="-p 944"
YPXFRD_ARGS="-p 945"    #NIS関連サービスのポートを固定

## アクセス許可する NIS クライアントの範囲を指定
# nano /var/yp/securenets

255.0.0.0       127.0.0.0
255.255.255.0   10.0.1.0

## NIS ドメインに属するホストを登録 (サーバー/クライアント)
# nano /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.0.1.90 k1-inspur-a6.klab.kuro.jp k1-inspur-a6
10.0.1.89 k2-inspur-a6.klab.kuro.jp k2-inspur-a6
10.0.1.88 k3-inspur-a6.klab.kuro.jp k3-inspur-a6

# systemctl enable --now rpcbind ypserv ypxfrd yppasswdd nis-domainname

## NIS データベース更新
# /usr/lib64/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS
servers.  k1-inspur-a6. klab.kuro.jp is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a <control D>.
        next host to add:  k1-inspur-a6.klab.kuro.jp
        next host to add:  # Ctrl + D キーを入力
The current list of NIS servers looks like this:

k1-inspur-a6. klab.kuro.jp

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/srv.world/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory '/var/yp/klab.kuro.jp'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory '/var/yp/klab.kuro.jp'

k1-inspur-a6. klab.kuro.jp has been set up as a NIS master server.

Now you can run ypinit -s k1-inspur-a6.klab.kuro.jp on all slave server.

## [/etc/hosts] へ登録した新規ホストをNISデータベースへ反映する
# cd /var/yp
# make 

## Firewalldに許可設定
# nano /etc/sysconfig/yppasswdd
## 該当行に追記
YPPASSWDD_ARGS="--port 950"

# systemctl restart rpcbind ypserv ypxfrd yppasswdd
# firewall-cmd --add-service=rpc-bind --permanent 
# firewall-cmd --add-port={944-951/tcp,944-951/udp} --permanent 
# firewall-cmd --reload 

計算ノードにNFSNISクライアントをインストールする

## NFSクライアントをインストール・設定
# dnf -y install nfs-utils

# nano /etc/idmapd.conf
## 5行目:コメント解除して自ドメイン名に変更
Domain = klab.kuro.jp

## 起動時にマウントするように設定
# nano /etc/fstab

/dev/mapper/almalinux-root /                       xfs     defaults        0 0
UUID=****************** /boot                   xfs     defaults        0 0
UUID=*************         /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/almalinux-home /home                   xfs     defaults        0 0
/dev/mapper/almalinux-swap none                    swap    defaults        0 0
## 以下に追記
k1-inspur-a6:/usr/local        /usr/local	nfs     defaults        0 0
k1-inspur-a6:/home             /home           nfs     defaults        0 0

## マウントポイントへのアクセス時に、動的に NFS 共有をマウントする
# dnf -y install autofs

# nano /etc/auto.master
## 最終行に追記
 /-    /etc/auto.mount

# nano /etc/auto.mount
## 新規作成 : [マウントポイント] [オプション] [ロケーション]
 /home -fstype=nfs,rw k1-inspur-a6:/home

## NISクライアントのインストールと設定
# dnf -y install ypbind rpcbind oddjob-mkhomedir
# ypdomainname klab.kuro.jp
# nano /etc/sysconfig/network

NISDOMAIN= klab.kuro.jp

# nano /etc/yp.conf
## 最終行に追記
# [domain (NIS ドメイン) server (NIS サーバー)]
domain klab.kuro.jp server k1-inspur-a6. klab.kuro.jp

# authselect select nis --force 
Backup stored at /var/lib/authselect/backups/2019-10-17-01-18-26.zBmEkS
Profile "nis" was selected.
The following nsswitch maps are overwritten by the profile:
- aliases
- automount
- ethers
- group
- hosts
- initgroups
- netgroup
- networks
- passwd
- protocols
- publickey
- rpc
- services
- shadow

Make sure that NIS service is configured and enabled. See NIS documentation for more information.

# systemctl enable --now rpcbind ypbind nis-domainname oddjobd 
# exit
  • Slurmのインストール

NF3280A6 (k1-inspur-a6)を管理ノード、ジョブ投入ノード兼計算ノードとし、
NF3180A6 (k2-inspur-a6、k3-inspur-a6)を計算ノードとする。

続く。