oVirt对NFS存储问题进行故障排除

NFS存储问题进行故障排除

介绍

要将NFS存储域连接到oVirt环境,必须以特定方式配置NFS导出。此页面旨在概述配置NFS导出的核心要求,并帮助解决首次尝试将NFS存储域附加到oVirt环境时遇到的问题。

权限

原则上,用户vdsm(具有uid 36gid 36)必须具有对所有NFS导出的读取和写入权限。但是,系统管理程序主机上的某些守护程序(例如sanlock)使用其他uid,但也需要访问该目录。因此,所有传入的NFS请求都必须映射到上述uidgid。需要两个步骤来确保此映射:

  1. 更改导出目录的所有权,将directory_name替换为目录名:

  chown 36:36 directory_name

  1. / etc / exports的export上添加rw选项。

  / exports / directory_name *rw

  1. 设置导出目录的权限,用目录名替换directory_name:

  chmod 0755目录名

  1. NFS服务器必须实际上正在运行。

一种。确保nfsrpcbind服务在NFS服务器上运行,b。确保** showmount -e ****显示预期出口。

SELinux

  • 确保selinux不干扰NFS访问。
    •  

eb子-a

grep virt_use_nfs应该显示virt_use_nfs –>亮,如果没有,请执行setsebool virt_use_nfs 1来允许VM的NFS访问

    • 也可以使用“ setsebool -P virt_use_nfs 1”来使该设置在重启后保持不变。

明确测试oVirt是否已准备好使用NFS导出的最简单方法是:

  • 如果尚不存在,请在ovirt-engine主机上使用uid 36创建vdsm用户。
  • 使用su更改为vdsm用户-vdsm -s / bin / bash
  • 尝试使用以下命令格式将导出安装在临时目录(例如,/ tmpmnt)上:/ usr / bin / sudo -n / bin / mount -t nfs -o softnosharecachetimeo = 600retrans = 6 nfsvers = 3 服务器名:/导出路径 / tmpmnt
  • 如果安装成功,则尝试通过touch命令在其中创建文件,即touch / tmpmnt / tempfile

ISO

待办事项:更新到当前版本

发动机设置命令可以选择创建一个ISO域和导出。

  • 在oVirt 3.3之前,它始终会导出到整个网络。
  • 在3.4中,它提示用户输入ACL,默认值仍然是整个网络。
  • 在3.5中,它仍然提示用户,但默认值已更改为仅允许访问本地计算机。

ACL的格式只是/ etc / exports的格式-有关详细信息,请参见exports5)手册页。一些简单的例子:

  • 要允许访问3个主机host1,host2和host3,请输入:host1rwhost2rwhost3rw
  • 要允许访问整个Internet,请输入:*rw

如果使用最后一个示例,则必须确保采用其他方法(例如防火墙)来保护ISO域。配置此选项时,还应考虑保护ISO域免受可能要在主机上运行的不受信任的来宾的影响。

nfs检查程序

现在可以使用新的nfs-check脚本来测试oVirt是否已准备好使用NFS导出:

  • nfs-check.py是一个Python脚本,用于验证要与oVirt项目一起使用的nfs目标。一些操作包括:挂载nfs目标,将文件创建为vdsm:kvm,然后将其删除。
  • nfs-check.py可在vdsm源的vdsm / contrib /目录中找到
  • 通过\ 1在节点上运行它

 $ 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窗口大小参数大于虚拟机管理程序主机的wsizersize挂载选项。例如,使用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 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值