以前有关NFS的文章,我们介绍的都是NFS的使用挂载等等。这篇文章我们介绍有关NFS作为存储使用。

既然本篇文章的主题是有关NFS的,我们还是先把NFS服务器搭建完毕。具体搭建过程可参考《烂泥:NFS存储与VSphere配合使用》,这篇文章。

在此有关NFS配置文件/etc/exports中的几个参数,我们需要先介绍下:

ro 该主机对该共享目录有只读权限。

rw 该主机对该共享目录有读写权限,需要配合no_root_squash参数使用。

root_squash 该参数为缺省参数,客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户即nobody用户不具有对目录具有创建和删除操作。

no_root_squash 客户机用root访问该共享文件夹时,不映射root用户。即具有root用户所有权限,具有对目录具有创建和删除操作。

all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户。

anonuid 将客户机上的用户映射成指定的本地用户ID的用户。

anongid 将客户机上的用户映射成属于指定的本地用户组ID。

sync 资料同步写入到内存与硬盘中。

async 资料会先暂存于内存中,而非直接写入硬盘。

Insecure 允许从这台机器过来的非授权访问。

因为NFS是做存储使用的,所以我们必须为共享文件配置读写以及root用户权限,同时考虑到数据的安全的问题,建议还需要配置同步权限。具体配置权限如下:

通过上图,我们可以看到NFS共享目录/nfs,具有root用户权限,同时具有可读写、同步的权限。而NFS共享目录/home/datasoft/soft/iso/目录,只具有可读权限。为什么会是这样,我们会在下面就行讲解。

我们现在先来测试下,NFS共享目录的权限。

登录KVM服务器挂载NFS共享目录。如下:

通过上图。我们可以看到NFS的/nfs目录挂载到KVM服务器的/nfs目录下,/home/datasoft/soft/iso/目录挂载到NFS的/nfs目录下。

cat /etc/fstab

192.168.1.11:/home/datasoft/soft/iso   /iso        nfs     defaults        0 0

下面我们开始测试各自挂载目录的权限,如下:

通过以上两张图可以看出,我们对在KVM服务器上对NFS共享目录/nfs的操作都会在NFS服务器上/nfs进行同步,而且我们也具有相应的读写、创建、删除权限。

通过上图我们可以看到,我们在KVM服务器上对NFS共享目录/home/datasoft/soft/iso/只具有读权限权限,而没有创建和删除权限。这个也可以和我们在设置的权限相对应。

注意NFS共享目录/home/datasoft/soft/iso/尽管有读写权限,但是因为没有加入no_root_squash参数,默认使用root_squash参数。尽管已经给出rw参数,但是由于不具有root用户权限,所以没有创建和删除权限。

以上有关NFS共享目录权限测试完毕后,我们现在就开始配置NFS与KVM进行集成。

有关KVM与NFS存储我们分为图形界面方式和命令行方式。

我们首先来介绍命令行方式,现在把KVM的VM的硬盘创建到NFS服务器上,通过如下命令:

qemu-img create -f qcow2 /nfs/nfs.img 20G

ifconfig eth0|grep "inet addr"|awk '{print $2}'|cut -d: -f2

创建完毕后,我们现在登陆NFS服务器查看刚刚生成的文件。如下:

通过上图我们可以看到,现在KVM的VM硬盘已经存在NFS服务器上。

现在我们开始创建VM,使用如下命令:

virt-install -n nfs -r 2048 --os-type=linux --vcpus=1 -c /iso/CentOS-6.5-i386-minimal.iso --disk path=/nfs/nfs.img,format=qcow2,bus=ide --boot cdrom,menu=on -b br0 --vnc --vnclisten=0.0.0.0 --vncport=5993

但是此时会发现系统,提示如下的错误信息:

ERROR 内部错误 Process exited while reading console log output: char device redirected to /dev/pts/1

qemu-kvm: -drive file=/nfs/nfs.img,if=none,id=drive-ide0-0-0,format=qcow2,cache=none: could not open disk image /nfs/nfs.img: Permission denied

经过多次实验,如果把VM的硬盘文件权限修改为777,就不会报错。如下:

但是这种方法你可以看到,这对VM的安全性很低的。

经过查询资料发现,我们只需要把/etc/libvirt/qemu.conf文件中有关用户和用户组的注释去掉即可,这样就不需要修改有关VM的配置。qemu.conf 是libvirt对QEMU的驱动的配置文件,包括VNC、SPICE等和连接它们时采用的权限认证方式的配置,也包括内存大页、SELinux、Cgroups等相关配置。

如下:vi /etc/libvirt/qemu.conf

修改完毕后要重启qemu。如下:

/etc/init.d/libvirtd restart

然后再次创建虚拟机,如下:

系统没有报错,说明现在可以正式安装VM。

现在通过VNC客户端,进行系统安装,如下:

以上是有关命令行下的配置,说实话命令行下配置还是比较简单的。下面我来介绍下如何在图形界面下使用NFS存储,图形界面下需要建立相应的存储池。

注意为了更好的实验效果,我现在把KVM服务器上所有关NFS挂载已经卸载。

启动KVM虚拟机管理virt-manager,如下:

现在我们为KVM创建存储池,如下:

在这个界面中,类型一定要注意,选择netfs:网络导出的目录。

在这个界面中“目标路径”填写KVM服务器中你需要挂载点。我现在需要把NFS的镜像文件权限挂载到/iso目录下。

“主机名”中填写NFS服务器。

“源路径”中填写NFS共享的目录。

这个界面是我们用来存储镜像文件的存储池。下面创建VM硬盘的存储池,利用上边同样的方法,如下:

VM硬盘的存储池创建完毕后,此时并没有创建VM的硬盘文件。现在开始创建VM的硬盘文件,如下:

VM的硬盘文件创建完毕后,我们就可以新建虚拟机。如下:

在ISO镜像中,我们可以选择在前面创建的镜像文件存储池。

在VM的硬盘我们,可以选择前面创建的硬盘文件。

启动VM,开始进行安装系统。

现在看看KVM服务器上NFS挂载情况。如下:

df –h

通过上图我们可以发现,其实命令行和图形界面配置的都是一样的。

以上就是有关,NFS作为存储与KVM进行集成时的相关配置方法以及注意点。

本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/1553125

烂泥:NFS做存储与KVM集成相关推荐

  1. 基于NFS共享存储实现kvm虚拟主机动态迁移

    所有主机关闭防火墙与selinux [root@localhost ~]# iptables -F [root@localhost ~]# systemctl stop firewalld [root ...

  2. nfs服务器_Kubernetes集群下部署NFS持久存储

    NFS是网络文件系统Network File System的缩写,NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地的文件系统中,而在本地的系统中来看,那个远程主机的目录就好像是自己的一 ...

  3. Linux架构之NFS共享存储1

    第35章 NFS共享存储 35.1 NFS基本概述 NFS是Network File System的缩写及网络文件系统.NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. 常见的文件 ...

  4. kubernetes部署nfs持久存储(静态和动态)

    kubernetes部署nfs持久存储(静态和动态) NFS简介 NFS是网络文件系统Network File System的缩写,NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地的文 ...

  5. 基于iscsi存储的kvm动态迁移(V2V)

    实验环境:Centos7.7 实验拓扑: 实验目的:完成基于iscsi存储的kvm迁移 三台虚拟机 2台计算节点 1台iscis存储网络配置: 业务网 192.168.100.0 心跳网 172.16 ...

  6. 基于ISCSI共享存储的KVM高可用群集配置

    实验目的:运行的虚拟机可以在线平滑迁移,不会终端虚拟机运行的业务 高可用架构:pacemaker+corosync 并由pcs进行管理 系统环境:三台机器都是最新的centos7.4 所需组件: DL ...

  7. 能做存储的超级计算机——任宇翔和以色列团队的创业故事

     能做存储的超级计算机--任宇翔和以色列团队的创业故事 大企业之所以获得成功,是因为它们认真听取了消费者的建议.但矛盾的是,它们之所以在后来遭遇失败,也是同样的原因.这也成为创新者面临的窘境--以 ...

  8. linux 后端存储,配置NFS网络存储作为cinder的后端存储

    安装cinder和nfs yum install -y openstack-cinder yum install cifs-utils 在controller节点配置nfs [[email prote ...

  9. Linux YUM扩展NFS共享存储服务(配置图解)

    NFS共享存储服务 一.YUM 1.YUM (Yellow dog Updater Modified) 2.软件仓库的提供方法 3.RPM软件包的来源 4.构建CentOS 7 软件仓库 5.在软件仓 ...

最新文章

  1. 三种序列化方式性能比较
  2. 图解负载均衡 LVS、Nginx及HAProxy--云平台技术栈14
  3. 大数据分布式集群搭建(插曲)
  4. Java自学路线总结,已Get腾讯Offer
  5. 论坛答疑SQL(二)
  6. 子域名查询DNS记录查询
  7. 修复Net4.0在IE11下doPostBack无效的问题
  8. 价值5000的三网免挂码支付系统
  9. request.path 值危险
  10. Java实现按分数排名,同分同名次
  11. 清洁机器人--屏幕显示LCD方案接口说明概述
  12. 快狗打车CTO沈剑:怕什么技术无穷尽?进一寸有一寸的欢喜
  13. json嵌套字典数据获取
  14. linux中shell的小括号、大括号的用法区别
  15. 龙芯笔记本走出国门的困惑
  16. js中offset、client、scroll【总结】
  17. 相机模型-鱼眼模型/鱼眼镜头标定基本原理及实现(2)
  18. sqli-labs(23-28a)
  19. 帮你修复损坏的RAR文件
  20. Samtec技术前沿 | 信号发生器 - 可靠性的关键所在

热门文章

  1. i css svg,如何设置 CSS 背景图中的 SVG 的颜色
  2. java正则表达式tab_Linux下如何使用grep命令查找带有tab(退格)的字符
  3. python移除字符串中指定元素_Python – 从作为另一个元素的子串的字符串列表中删除任何元素...
  4. wpf textbox能扫描不能手输_3D扫描仪性能怎么样 3D扫描仪价格介绍【详解】
  5. python alter_GitHub - sealter/LearnPython: 以撸代码的形式学习Python
  6. 午睡太久为什么浑身无力
  7. c语言socket段错误,(Qtcpsocket)退出程序时提示段错误的解决
  8. axure插件怎么用_CAD插件不会用怎么行?CAD插件大全合集,超实用绘图软件,高效...
  9. linux cat 重定向,Linux命令(cp mv cat和重定向)(示例代码)
  10. pytorch optim.SGD