nfs をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&size(10){過去記事 [[NIS/NFSv3]] [[NIS/NFSv4]]};
nfsサーバになってストレージを他の(Linux)マシンと共有させ...
/dev/sda は /(system disk) と /apps(アプリ共有部分) をも...
/dev/sdb は /home(ホームディレクトリ共有部分) として用意...
そしてnfsクライアントには nfs4_setfacl/getfacl でaclを敷...
ここで同時にnisサーバで auto.master や auto.home 提供して...
なので、nfs サーバで/homeや/appsは /nfs/home、/nfs/apps ...
まずは
#code(nonumber){{
[root@nfs ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[root@nfs ~]# yum -y install nfs-utils
[root@nfs ~]# systemctl enable nfs-server --now
[root@nfs ~]# firewall-cmd --add-service=nfs --add-servic...
[root@nfs ~]# firewall-cmd --reload
}}
そしてストレージ(/home)の調整を行います.
#code(nonumber){{
[root@nfs ~]# mkdir /nfs/home /nfs/apps -p
[root@nfs ~]# echo "LABEL=home /nfs/home xfs defaults 0 0...
[root@nfs ~]# df -h / /nfs/home
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 14G 2.9G 11G 21% /
/dev/sdb1 16G 147M 16G 1% /nfs/home
[root@nfs ~]#
[root@nfs ~]# vi /etc/exports
/nfs 192.168.0.0/255.255.255.0(rw,sync,fsid=0,no_...
/nfs/home 192.168.0.0/255.255.255.0(rw,sync,nohide,no_...
/nfs/apps 192.168.0.0/255.255.255.0(rw,sync,nohide,no_...
[root@nfs ~]# exportfs -avr
}}
nisのauto.masterとauto.homeは下記のようにします
#code(nonumber){{
[root@nis ~]# cat /etc/auto.master
/- auto.home --timeout=60
[root@nis ~]# cat /etc/auto.home
/home nfs:/home
/apps nfs:/apps
[root@nis ~]#
}}
***auto.master/auto.home を使わないないで nfsノードにログ...
nfs の bindオプション を使います.
#code(nonumber){{
[root@nfs ~]# mount --bind /nfs/home /home
[root@nfs ~]# mount --bind /nfs/apps /apps
[root@nfs ~]# echo "/nfs/home /home none bind 0 0" >> /et...
[root@nfs ~]# echo "/nfs/apps /apps none bind 0 0" >> /et...
[root@nfs ~]# semanage fcontext -a -t home_root_t /nfs/home
[root@nfs ~]# restorecon -R /nfs/home
}}
***smb共有 [#tbdcdf08]
nfsで共有された場所をsmbで供出することは可能.
ただ場合によっては遅くなるとかの症状があるとのこと.
一応出来る. ただ問題が発生する可能性もあるよとのこと.
#code(nonumber){{
[root@nfs ~]# cat /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[home]
path = /home/
browseable = yes
read only = no
inherit acls = Yes
[root@nfs ~]# systemctl enable smb && systemctl start smb
[root@nfs ~]# smbpasswd -a userA
[root@nfs ~]# firewall-cmd --add-service=samba --permanent
[root@nfs ~]# firewall-cmd --reload
[root@nfs ~]# setsebool -P samba_enable_home_dirs 1
[root@nfs ~]# setsebool -P samba_share_nfs on
}}
***ファイルロックとか [#s6609199]
問題点としてあるのがファイルロック機構がNFS由来とsmb由来...
片方を使うようにできれば大変宜しいみたい.
nfsで統一なら、windows10にはnfsクライアント機能があるよう...
&size(10){ただuid/gidのマッピングが面倒でしょうか};
smbで統一なら、計算ノードのmountをcifs mountにすれば解決...
https://wiki.centos.org/TipsAndTricks/WindowsShares
***nfsで染める [#q9f5559d]
windowsクライアントマシンが nfs プロトコルを喋ればいい. ...
昔HummingbirdからNFS Maestroとかでwindows向けNFSクライア...
[コントロール パネル]->[すべてのコントロール パネル項目]-...
&ref(2021y06m07d_140017720.png,nolink);
これで「mount」「rpcinfo」コマンドが使えます
使い方は同じで「コマンドプロンプト」を立ち上げて下記のよ...
#code(nonumber){{
mount nfs:/home S:
(管理者権限は不要. 一般ユーザで実行可能)
}}
マウントポイント先がドライブ名になることに留意.
&color(red){*};nfsサーバにおける/etc/exportsフォーマット...
一応これでnfs mountは出来ましたが、大事なのはユーザマッピ...
windows側のアカウントとnfs側のアカウントが下記のような関...
|>|BGCOLOR(BLUE):&COLOR(WHITE){windows};|>|BGCOLOR(GREEN)...
|BGCOLOR(YELLOW):ユーザ名|BGCOLOR(yellow):グループ名|BGCO...
|Administrator|BUILTIN\Administrators|0|0|
|illya|Users|1000|1000|
|saber|Users|1001|1000|
ならwindows10の「%SystemRoot%\system32\drivers\etc\group...
#code(nonumber){{
BUILTIN\Administrators:x:0:root
Users:x:1000:illya,saber
}}
そして「%SystemRoot%\system32\drivers\etc\passwd」も作成...
#code(nonumber){{
Administrator:x:0:0:root:/root:/bin/bash
illya:x:1000:1001:illya:/home/illya:/bin/bash
saber:x:1001:1001:saber:/home/saber:/bin/bash
}}
「メモ帳」アプリを「管理者として実行」にて起動させ、該当...
作成後一旦再起動して、面倒だが再度mount操作を行えばアクセ...
groupとpasswdファイルをwindows側に用意できれば便利かもし...
あとmacOSにはこのようなマッピング機能がない模様. なのでヘ...
***smb/cifsで染める [#wba81691]
windwos/macOSクライアントに手を加えず、smb/cifsプロトコル...
***nfsでacl [#a0501526]
ローカルなストレージデバイスならACLはsetfaclで行えますが...
#code(nonumber){{
[root@nfs-client ~]# mount |grep apps
nfs-rockylinux:/apps on /apps type nfs4 (rw,relatime,vers...
[root@nfs-client ~]# id saber
uid=1000(saber) gid=1000(saber) groups=1000(saber)
[root@nfs-client ~]# setfacl -m user:saber:rwx /apps/cryo
setfacl: /apps/cryo: Operation not supported
[root@nfs-client ~]#
}}
っでnfs mountしたボリュームに ACL を掛けるには「nfs4-acl-...
ただ要件としては
-nfsv4でnfs mount
-nfsサーバ側でnfs-idmapd.serviceが動いている事
&size(10){(厳密には/etc/idmapd.confのDomain値が同じである...
-nfs serverとclientで同じ認証系を使っている事
&size(10){(同じnis/ldap/adを参照している事. もし異なって...
&size(10){(nfsサーバにアカウントは不要って思うのだが、こ...
#code(nonumber){{
[root@nfs-client ~]# dnf install nfs4-acl-tools
}}
RHEL7系,RHEL8系,REHL9系にもあるみたい. &size(10){ubuntu20...
っで使い方.
nfsマウント先の「/apps/cryo」にユーザsaberのみ書き込み権...
#code(nonumber){{
[root@nfs-client ~]# ls -ld /apps/cryo/
drwxr-xr-x. 2 root root 6 Feb 13 03:22 /apps/cryo/
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]# id saber
uid=1000(saber) gid=1000(saber) groups=1000(saber)
[root@nfs-client ~]# nfs4_setfacl -a A::1000:RWX /apps/cr...
[root@nfs-client ~]# ls -ld /apps/cryo/
drwxr-xr-x+ 2 root root 6 Feb 13 03:22 /apps/cryo/
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::1000:rwaDxtcy <-- 値1000はuid. これ...
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]#
}}
確認として
#code(nonumber){{
[saber@nfs-client ~]$ touch /apps/cryo/sample
[saber@nfs-client ~]$ mkdir /apps/cryo/data-sample
[saber@nfs-client ~]$ ls -l /apps/cryo/
total 0
drwxr-xr-x. 2 saber saber 6 Feb 13 04:53 data-sample
-rw-r--r--. 1 saber saber 0 Feb 13 04:53 sample
[saber@nfs-client ~]$
(他のユーザでは)
[illya@nfs-client ~]$ id illya
uid=1001(illya) gid=1001(illya) groups=1001(illya)
[illya@nfs-client ~]$ touch /apps/cryo/sample2
touch: cannot touch '/apps/cryo/sample2': Permission denied
[illya@nfs-client ~]$ mkdir /apps/cryo/data-sample2
mkdir: cannot create directory ‘/apps/cryo/data-sample2’:...
[illya@nfs-client ~]$
}}
なんか/etc/idmapd.confのdomain定義なしで、uidベースで設定...
外し方. 「-x」を使います. 引数はnfs4_getfacl の値を参照し...
#code(nonumber){{
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::1000:rwaDxtcy
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]# nfs4_setfacl -x A::1000:rwaDxtcy /ap...
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]# ls -l /apps/cryo/
total 0
drwxr-xr-x. 2 saber saber 6 Feb 13 04:53 data-sample
-rw-r--r--. 1 saber saber 0 Feb 13 04:53 sample
[root@nfs-client ~]#
}}
当然ながら権限を外しても既に作ったファイルの所有者情報は...
終了行:
&size(10){過去記事 [[NIS/NFSv3]] [[NIS/NFSv4]]};
nfsサーバになってストレージを他の(Linux)マシンと共有させ...
/dev/sda は /(system disk) と /apps(アプリ共有部分) をも...
/dev/sdb は /home(ホームディレクトリ共有部分) として用意...
そしてnfsクライアントには nfs4_setfacl/getfacl でaclを敷...
ここで同時にnisサーバで auto.master や auto.home 提供して...
なので、nfs サーバで/homeや/appsは /nfs/home、/nfs/apps ...
まずは
#code(nonumber){{
[root@nfs ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[root@nfs ~]# yum -y install nfs-utils
[root@nfs ~]# systemctl enable nfs-server --now
[root@nfs ~]# firewall-cmd --add-service=nfs --add-servic...
[root@nfs ~]# firewall-cmd --reload
}}
そしてストレージ(/home)の調整を行います.
#code(nonumber){{
[root@nfs ~]# mkdir /nfs/home /nfs/apps -p
[root@nfs ~]# echo "LABEL=home /nfs/home xfs defaults 0 0...
[root@nfs ~]# df -h / /nfs/home
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 14G 2.9G 11G 21% /
/dev/sdb1 16G 147M 16G 1% /nfs/home
[root@nfs ~]#
[root@nfs ~]# vi /etc/exports
/nfs 192.168.0.0/255.255.255.0(rw,sync,fsid=0,no_...
/nfs/home 192.168.0.0/255.255.255.0(rw,sync,nohide,no_...
/nfs/apps 192.168.0.0/255.255.255.0(rw,sync,nohide,no_...
[root@nfs ~]# exportfs -avr
}}
nisのauto.masterとauto.homeは下記のようにします
#code(nonumber){{
[root@nis ~]# cat /etc/auto.master
/- auto.home --timeout=60
[root@nis ~]# cat /etc/auto.home
/home nfs:/home
/apps nfs:/apps
[root@nis ~]#
}}
***auto.master/auto.home を使わないないで nfsノードにログ...
nfs の bindオプション を使います.
#code(nonumber){{
[root@nfs ~]# mount --bind /nfs/home /home
[root@nfs ~]# mount --bind /nfs/apps /apps
[root@nfs ~]# echo "/nfs/home /home none bind 0 0" >> /et...
[root@nfs ~]# echo "/nfs/apps /apps none bind 0 0" >> /et...
[root@nfs ~]# semanage fcontext -a -t home_root_t /nfs/home
[root@nfs ~]# restorecon -R /nfs/home
}}
***smb共有 [#tbdcdf08]
nfsで共有された場所をsmbで供出することは可能.
ただ場合によっては遅くなるとかの症状があるとのこと.
一応出来る. ただ問題が発生する可能性もあるよとのこと.
#code(nonumber){{
[root@nfs ~]# cat /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[home]
path = /home/
browseable = yes
read only = no
inherit acls = Yes
[root@nfs ~]# systemctl enable smb && systemctl start smb
[root@nfs ~]# smbpasswd -a userA
[root@nfs ~]# firewall-cmd --add-service=samba --permanent
[root@nfs ~]# firewall-cmd --reload
[root@nfs ~]# setsebool -P samba_enable_home_dirs 1
[root@nfs ~]# setsebool -P samba_share_nfs on
}}
***ファイルロックとか [#s6609199]
問題点としてあるのがファイルロック機構がNFS由来とsmb由来...
片方を使うようにできれば大変宜しいみたい.
nfsで統一なら、windows10にはnfsクライアント機能があるよう...
&size(10){ただuid/gidのマッピングが面倒でしょうか};
smbで統一なら、計算ノードのmountをcifs mountにすれば解決...
https://wiki.centos.org/TipsAndTricks/WindowsShares
***nfsで染める [#q9f5559d]
windowsクライアントマシンが nfs プロトコルを喋ればいい. ...
昔HummingbirdからNFS Maestroとかでwindows向けNFSクライア...
[コントロール パネル]->[すべてのコントロール パネル項目]-...
&ref(2021y06m07d_140017720.png,nolink);
これで「mount」「rpcinfo」コマンドが使えます
使い方は同じで「コマンドプロンプト」を立ち上げて下記のよ...
#code(nonumber){{
mount nfs:/home S:
(管理者権限は不要. 一般ユーザで実行可能)
}}
マウントポイント先がドライブ名になることに留意.
&color(red){*};nfsサーバにおける/etc/exportsフォーマット...
一応これでnfs mountは出来ましたが、大事なのはユーザマッピ...
windows側のアカウントとnfs側のアカウントが下記のような関...
|>|BGCOLOR(BLUE):&COLOR(WHITE){windows};|>|BGCOLOR(GREEN)...
|BGCOLOR(YELLOW):ユーザ名|BGCOLOR(yellow):グループ名|BGCO...
|Administrator|BUILTIN\Administrators|0|0|
|illya|Users|1000|1000|
|saber|Users|1001|1000|
ならwindows10の「%SystemRoot%\system32\drivers\etc\group...
#code(nonumber){{
BUILTIN\Administrators:x:0:root
Users:x:1000:illya,saber
}}
そして「%SystemRoot%\system32\drivers\etc\passwd」も作成...
#code(nonumber){{
Administrator:x:0:0:root:/root:/bin/bash
illya:x:1000:1001:illya:/home/illya:/bin/bash
saber:x:1001:1001:saber:/home/saber:/bin/bash
}}
「メモ帳」アプリを「管理者として実行」にて起動させ、該当...
作成後一旦再起動して、面倒だが再度mount操作を行えばアクセ...
groupとpasswdファイルをwindows側に用意できれば便利かもし...
あとmacOSにはこのようなマッピング機能がない模様. なのでヘ...
***smb/cifsで染める [#wba81691]
windwos/macOSクライアントに手を加えず、smb/cifsプロトコル...
***nfsでacl [#a0501526]
ローカルなストレージデバイスならACLはsetfaclで行えますが...
#code(nonumber){{
[root@nfs-client ~]# mount |grep apps
nfs-rockylinux:/apps on /apps type nfs4 (rw,relatime,vers...
[root@nfs-client ~]# id saber
uid=1000(saber) gid=1000(saber) groups=1000(saber)
[root@nfs-client ~]# setfacl -m user:saber:rwx /apps/cryo
setfacl: /apps/cryo: Operation not supported
[root@nfs-client ~]#
}}
っでnfs mountしたボリュームに ACL を掛けるには「nfs4-acl-...
ただ要件としては
-nfsv4でnfs mount
-nfsサーバ側でnfs-idmapd.serviceが動いている事
&size(10){(厳密には/etc/idmapd.confのDomain値が同じである...
-nfs serverとclientで同じ認証系を使っている事
&size(10){(同じnis/ldap/adを参照している事. もし異なって...
&size(10){(nfsサーバにアカウントは不要って思うのだが、こ...
#code(nonumber){{
[root@nfs-client ~]# dnf install nfs4-acl-tools
}}
RHEL7系,RHEL8系,REHL9系にもあるみたい. &size(10){ubuntu20...
っで使い方.
nfsマウント先の「/apps/cryo」にユーザsaberのみ書き込み権...
#code(nonumber){{
[root@nfs-client ~]# ls -ld /apps/cryo/
drwxr-xr-x. 2 root root 6 Feb 13 03:22 /apps/cryo/
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]# id saber
uid=1000(saber) gid=1000(saber) groups=1000(saber)
[root@nfs-client ~]# nfs4_setfacl -a A::1000:RWX /apps/cr...
[root@nfs-client ~]# ls -ld /apps/cryo/
drwxr-xr-x+ 2 root root 6 Feb 13 03:22 /apps/cryo/
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::1000:rwaDxtcy <-- 値1000はuid. これ...
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]#
}}
確認として
#code(nonumber){{
[saber@nfs-client ~]$ touch /apps/cryo/sample
[saber@nfs-client ~]$ mkdir /apps/cryo/data-sample
[saber@nfs-client ~]$ ls -l /apps/cryo/
total 0
drwxr-xr-x. 2 saber saber 6 Feb 13 04:53 data-sample
-rw-r--r--. 1 saber saber 0 Feb 13 04:53 sample
[saber@nfs-client ~]$
(他のユーザでは)
[illya@nfs-client ~]$ id illya
uid=1001(illya) gid=1001(illya) groups=1001(illya)
[illya@nfs-client ~]$ touch /apps/cryo/sample2
touch: cannot touch '/apps/cryo/sample2': Permission denied
[illya@nfs-client ~]$ mkdir /apps/cryo/data-sample2
mkdir: cannot create directory ‘/apps/cryo/data-sample2’:...
[illya@nfs-client ~]$
}}
なんか/etc/idmapd.confのdomain定義なしで、uidベースで設定...
外し方. 「-x」を使います. 引数はnfs4_getfacl の値を参照し...
#code(nonumber){{
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::1000:rwaDxtcy
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]# nfs4_setfacl -x A::1000:rwaDxtcy /ap...
[root@nfs-client ~]# nfs4_getfacl /apps/cryo/
# file: /apps/cryo/
A::OWNER@:rwaDxtTcCy
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
[root@nfs-client ~]# ls -l /apps/cryo/
total 0
drwxr-xr-x. 2 saber saber 6 Feb 13 04:53 data-sample
-rw-r--r--. 1 saber saber 0 Feb 13 04:53 sample
[root@nfs-client ~]#
}}
当然ながら権限を外しても既に作ったファイルの所有者情報は...
ページ名:
1