对NFS存储问题进行故障排除
介绍
要将NFS存储域连接到oVirt环境,必须以特定方式配置NFS导出。此页面旨在概述配置NFS导出的核心要求,并帮助解决首次尝试将NFS存储域附加到oVirt环境时遇到的问题。
权限
原则上,用户vdsm(具有uid 36和gid 36)必须具有对所有NFS导出的读取和写入权限。但是,系统管理程序主机上的某些守护程序(例如sanlock)使用其他uid,但也需要访问该目录。因此,所有传入的NFS请求都必须映射到上述uid和gid。需要两个步骤来确保此映射:
#chown 36:36 directory_name
#/ exports / directory_name *(rw)
#chmod 0755目录名
一种。确保nfs和rpcbind服务在NFS服务器上运行,b。确保** showmount -e ****显示预期出口。
SELinux
eb子-a |
grep virt_use_nfs应该显示virt_use_nfs –>亮,如果没有,请执行setsebool virt_use_nfs 1来允许VM的NFS访问 |
明确测试oVirt是否已准备好使用NFS导出的最简单方法是:
ISO域
待办事项:更新到当前版本
该发动机设置命令可以选择创建一个ISO域和导出。
ACL的格式只是/ etc / exports的格式-有关详细信息,请参见exports(5)手册页。一些简单的例子:
如果使用最后一个示例,则必须确保采用其他方法(例如防火墙)来保护ISO域。配置此选项时,还应考虑保护ISO域免受可能要在主机上运行的不受信任的来宾的影响。
nfs检查程序
现在可以使用新的nfs-check脚本来测试oVirt是否已准备好使用NFS导出:
$ git clone http://gerrit.ovirt.org/p/vdsm.git $ cd vdsm / contrib $ python nfs-check.py myNFSServer:/ nfsTarget
设置NFS服务器
Debian挤压
TODO:更新到当前的Debian
#> groupadd kvm -g 36
#> useradd vdsm -u 36 -g kvm
# mkdir /storage
#> chmod 0755 /storage
#> chown 36:36 /storage/
#> cat /etc/exports
/storage *(rw)
#>/etc/init.d/nfs-kernel-server restart
Fedora 26或更高
#> groupadd kvm -g 36
#> useradd vdsm -u 36 -g kvm
# mkdir /storage
# chmod 0755 /storage
# chown 36:36 /storage/
# yum -y install nfs-utils
# cat /etc/exports
/storage *(rw)
# systemctl start rpcbind.service
# systemctl start nfs-server.service
# Relevant only for NFS v3
# systemctl start nfs-lock.service
# systemctl enable rpcbind.service
# systemctl enable nfs-server.service
# Relevant only for NFS v3
# systemctl enable nfs-lock.service
基于RHEL7的发行版
#> groupadd kvm -g 36
#> useradd vdsm -u 36 -g kvm
# mkdir /storage
# chmod 0755 /storage
# chown 36:36 /storage/
# cat /etc/exports
/storage *(rw)
# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server
已知问题的解决方法
TODO:较新的受支持版本的更新
NFS锁定
通常,任何发行版的NFS服务器都可以直接使用。使用较旧的NFS服务器或在Internet上遵循不同的调整建议可能会导致配置错误,从而导致锁定/冻结/死机。经验法则是始终确保服务器的tcp窗口大小参数大于虚拟机管理程序主机的wsize和rsize挂载选项。例如,使用Fedora 19作为管理程序节点,这些参数设置为1 MB。
# df
...
10.10.30.253:/var/nas3/ovirt on /rhev/data-center/mnt/10.10.30.253:_var_nas3_ovirt type nfs (...,rsize=1048576,wsize=1048576,...)
...
在这种情况下,最好在/etc/sysctl.conf中将NFS服务器上的tcp窗口参数设置为至少4 MB。
# cat /etc/sysctl.conf
net.ipv4.tcp_mem=4096 65536 4194304
net.ipv4.tcp_rmem=4096 65536 4194304
net.ipv4.tcp_wmem=4096 65536 4194304
net.core.rmem_max=8388608
net.core.wmem_max=8388608
要为正在运行的服务器激活这些设置,请使用
# sysctl -p