思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD】FreeBSD14.4の設定変更(2)nfs/am-utils

今回は、ネットワーク周りの設定を変更しておきます【注*1

  • 小生の健忘禄、兼作業記録になっていますことをお詫び申し上げます🙇‍♂️ 

3. nfs設定

当初、"bsdconfig"を使って、NFSクライアントとサーバを有効化しようと思いましたが、手作業の方が速いと感じた為(*2)、手作業で設定することにしました😅。

(1)NFSクライアント設定
1.)/etc/rc.confの修正
root@FreeBSD14.4:# cd /etc ;
root@FreeBSD14.4:# vi /etc/rc.conf ;

下記の黄色字部分を追加します。

[..]
nis_client_enable="YES"         # We're an NIS client (or NO).
nis_client_flags=""             # Flags to ypbind (if enabled).
   
2.)再起動
root@FreeBSD14.4:# reboot ;
3,)他のホストへのnfs接続確認
root@FreeBSD14.4:# mkdir /mnt/nfs ;
root@FreeBSD14.4:# mount -t nfs main_sv://share/Replicate /mnt/nfs ;
 
(2)NFSサーバー設定
1.)/etc/rc.confの修正
root@FreeBSD14.4:# cd /etc ;
root@FreeBSD14.4:# vi /etc/rc.conf ;

下記の黄色字部分を追加します。

[..]
nis_client_enable="YES"         # We're an NIS client (or NO).
nis_client_flags=""             # Flags to ypbind (if enabled).
nfs_server_enable="YES"
rpcbind_enable="YES"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
   
2.)/etc/exportsの作成
root@FreeBSD14.4:# cd /etc ;
root@FreeBSD14.4:# vi /etc/exports ;

下記の黄色字部分を記載して作成。

/Home            -alldirs -maproot=0:10 -network 192.168.aaa.0/23 第3オクテットが[aaa][aaa+1]の範囲に許可を与えるので、ネットマスクは”/23(255.255.254.0)”
3.)再起動
root@FreeBSD14.4:# reboot ;
4.)他のホストからnfs接続確認
root@main_sv:# mount -t nfs FreeBSD14.42:/Home /mnt/nfs ;

 

 

4. am-utils

拙宅では、オートマウンターであるam-utilsを使って、各サーバーで同じディレクトリ構造に見えるように設定をしています。

”am-utils”も”pkg”でインストールすれば短時間で、簡単にインストールできますが😀、
”packageコレクション”と異なるオプション設定(*3)が必要になった時のために🤔、
時間はかかりますが、"portsコレクション"からインストールする事にしました😀。

(1)/usr/port/distfileのマウント

FreeBSDでは、portsビルドする際、ダウンロードしたソースファイルは”/usr/ports/distfiles”に保存されます。

portsビルドする度にソースファイルをローカルディスクに保存すると、ローカルディスク圧迫してしまいます😅。

また、ダウンロードに要する時間もかかつてしまいますし😵、時にはデッドリンクなっている事もあります😵。

そこで、拙宅ではソースファイルをFreeBSDのバージョンに関係なくメインファイルサーバー上のdistfilesディレクトリに集約し、am-utilsを用いて各FreeBSDマシンで共有させています😀。

まだ、am-utilsはまだインストール出来ていないので、usr/ports/distfilesにメインファイルサーバーのdistfilesディレクトリを静的にNFSマウントして作業を行います

root@FreeBSD14.4:# cd /usr/ports ; ディレクトリ移動。
root@FreeBSD14.4:# mv distfiles distfiles.local ; ローカルのdistfilesをリネーム。
root@FreeBSD14.4:# mkdir distfiles ; NFSマウント用ディレクトリを作成。
root@FreeBSD14.4:# mount -t nfs main_sv:/FreeBSD/distfiles /usr/ports/distfiles ; インファイルサーバーのdistfilesディレクトリを静的にNFSマウント。

 

(2)am-utilsのBuild
root@FreeBSD14.4:# cd /usr/ports/sysutils/am-utils ; portsコレクションに移動。

root@FreeBSD14.4:# make clean

; 他のマシンでも構築しているわけではありませんが、念のため、ディレクトリのお掃除をしておきます。
root@FreeBSD14.4:# make ; コンパイル。
root@FreeBSD14.4:# make install ; インストール。
(3)am-utilsの設定
1.)amd.confの作成
root@FreeBSD14.4:# cd /etc ;

/etcに移動

root@FreeBSD14.4:# vi /etc/amd.conf ; am-utilsのコンフィグレーションファイルを作成する。

 

下記の内容で”amd.conf”を作成します

#GLOBAL OPTIONS SECTION

[ global ]
print_pid =              yes
pid_file =               /var/run/amd.pid
auto_dir =               /tmp_mnt
#log_file =              /var/log/amd
log_file =               syslog
log_options =            all
dismount_interval =      300
plock =                  no
selectors_in_defaults =  yes
show_statfs_entries =    yes
full_os =                FreeBSD/14.4-RELEASE
os =                     FreeBSD
osver =                  14.5-RELEASE
cache_duration =         300

# DEFINE AN AMD MOUNT POINT
[ /home ]
map_type =               nis
map_name =               amd.home

[..]

 

 

 

 

 

 

 

 

 


パラメータfull_osの設定
パラメータos設定

パラメータosver 設定

 

マウントマップをNISから得る
NISマップ名

2.)rc.confの修正
root@FreeBSD14.4:# cd /etc ;

/etcに移動

root@FreeBSD14.4:# vi /etc/rc.conf ; rc.confの設定変更。

 

下記の黄色字部分を追加します。

[..] 

#
amd_enable="YES"
#

[..]

 

 

root@FreeBSD14.4:# reboot ;

rc.conf設定を反映させるために、再起動

(4)動作確認

再起動後、NISユーザーでログインします。 

NISユーザーの”ホームディレクトリ”と”共通ログインスクリプトが収められたディスク”が自動的にマウントされていますので、am-utilsは正常に動作しています😀。

am-utilsのインストールと設定が完了しました。

5. /usr/src、/usr/portsをメインファイルサーバーで一括管理

(1)/usr/src、/usr/portsのシンボリックリンク化

サーバーごとのパス関連設定を正規化するために、ローカルの/usr/src、/usr/portsを各サーバと同じように、シンボリックリンク化しておきます😀。

root@FreeBSD14.4:# cd /usr  

 

root@FreeBSD14.4:# mv ports ports.local    
root@FreeBSD14.4:# ln -s /share/share/ports .    
root@FreeBSD14.4:# mv src src.local    
root@FreeBSD14.4:# ln -s /share/share/src .    
 
(2)/usr/src、/usr/portsをメインファイルサーバーにコピー

ローカルの/usr/src、/usr/portsをメインファイルサーバー側にコピーしておきます😀。

root@FreeBSD14.4:#  rsync -avh /usr/ports.local/ /usr/ports/  

 

root@FreeBSD14.4:# rsync -avh /usr/src.local/ /usr/src/    
こうしておくことで2台目以降のインストールや、カーネル再構築ほかの手間と時間を減らすことが出来ます😀。

次回に続く

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*2:"bsdconfig"のスタートアップ設定項目が多すぎて、探すのに少々、手間を感じたので😅。。。

*3:例えば、libiconvの設定変更に伴う再コンパイルが必要になった時など。