利用Linux主机创建NFS服务
Posted dingdingfish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Linux主机创建NFS服务相关的知识,希望对你有一定的参考价值。
创建2个Linux主机,一个作为NFS Server,一个作为Linux Client。用户使用oracle(UID和GID均设为54321),文件系统大小为1T。
主机 | IP地址 |
---|---|
NFS Server | 10.0.0.173 |
NFS Client | 10.0.0.223 |
NFS Server端的配置
创建oracle用户:
groupadd -g 54321 oinstall
useradd -u 54321 -g oinstall oracle
查看:
# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall)
为NFS Server上分配1T的块存储,建立文件系统,并挂载,为NFS Client使用:
fdisk /dev/sdb
mkfs -t ext4 /dev/sdb1
mkdir /fs4db
mount /dev/sdb1 /fs4db
查看状态:
[opc@nfs-server ~]$ df -H /fs4db
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 1.1T 75M 1.1T 1% /fs4db
[opc@nfs-server ~]$ sudo blkid /dev/sdb1
/dev/sdb1: UUID="d4ccffc9-5cdd-40a0-a62f-190b25649b02" TYPE="ext4"
修改文件系统权限:
chown oracle:oinstall /fs4db
参考文档,配置NFS Server。
yum install nfs-utils -y
echo '/fs4db *(all_squash,anonuid=54321,anongid=54321,rw,sync)' >> /etc/exports
systemctl start nfs-server
查看:
[root@nfs-server opc]# cat /etc/exports
/fs4db *(all_squash,anonuid=54321,anongid=54321,rw)
[root@nfs-server opc]# exportfs -v
/fs4db <world>(sync,wdelay,hide,no_subtree_check,anonuid=54321,anongid=54321,sec=sys,ro,secure,root_squash,all_squash)
[root@nfs-server opc]# showmount -e
Export list for nfs-server:
/fs4db *
[root@nfssrv opc]# showmount -e 10.0.0.173
Export list for 10.0.0.173:
/fs4db *
[root@nfs-server opc]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 35361 status
100024 1 tcp 40073 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 50678 nlockmgr
100021 3 udp 50678 nlockmgr
100021 4 udp 50678 nlockmgr
100021 1 tcp 36961 nlockmgr
100021 3 tcp 36961 nlockmgr
100021 4 tcp 36961 nlockmgr
在文件/etc/sysconfig/nfs
中可以查看到NFS监听的端口,据此配置防火墙,开放对应端口。
但是,虽然后续mount命令成功,但showmount命令仍不正常。参照这个帖子,就完全正常了。补充的命令如下:
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --reload
-- verify
semanage port -l | grep 2049
netstat -tulpen | grep 2049
NFS Client端的设置
创建oracle用户,其uid和gid与NFS Server一致:
groupadd -g 54321 oinstall
useradd -u 54321 -g oinstall oracle
安装NFS包:
yum install nfs-utils -y
创建挂载目录并赋权:
mkdir -p /u02/app/oracle/oradata
chown -R oracle:oinstall /u02/app/oracle/oradata
挂载:
[root@nfs-client ~]# mount -t nfs -o rw,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,vers=4,timeo=600 10.0.0.173:/fs4db /u02/app/oracle/oradata/
也可以将以下内容加入到/etc/fstab:
10.0.0.173:/fs4db /u02/app/oracle/oradata/ nfs rw,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,vers=4,timeo=600 0 0
查看:
[root@nfs-client opc]# df /u02/app/oracle/oradata
Filesystem 1K-blocks Used Available Use% Mounted on
10.0.0.173:/fs4db 1055845376 2098176 1000044544 1% /u02/app/oracle/oradata
-- 显示所有已挂载的文件系统,其协议是NFS4,dNFS支持的协议包括NFSv3, NFSv4, NFSv4.1, pNFS
[root@nfs-client opc]# mount
10.0.0.173:/fs4db on /u02/app/oracle/oradata type nfs4 (rw,nosuid,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.0.223,local_lock=none,addr=10.0.0.173)
...
[root@nfs-client opc]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
[root@nfsclt opc]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/fs4db *
参考
- https://docs.oracle.com/en/operating-systems/oracle-linux/7/fsadmin/ol7-sharedfs.html#ol7-about-nfs
- https://stackoverflow.com/questions/7878707/how-to-unmount-a-busy-device
- https://docs.oracle.com/en/database/oracle/oracle-database/19/ssdbi/about-direct-nfs-client-mounts-to-nfs-storage-devices.html
以上是关于利用Linux主机创建NFS服务的主要内容,如果未能解决你的问题,请参考以下文章