Windows挂载Gluster复制卷


本地挂载测试
mount -t glusterfs 127.0.0.1:/gv1 /mnt
[[email protected] mnt]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  817M   16G   5% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   7% /boot
/dev/sdb1             5.0G   33M  5.0G   1% /storage/brick1
127.0.0.1:/gv1         10G   65M   10G   1% /mnt

1、windows2012 R2挂载、添加NFS客户端

[[email protected] mnt]# ifconfig eth0|grep "inet addr"  #gluster IP地址
          inet addr:192.168.120.128  Bcast:192.168.120.255  Mask:255.255.255.0

2、cmd 下 mount 192.168.120.128:/gv1 Z:

成功挂载,打开我的点脑,你即可在你网络位置看到 Z:盘了

解释:gv1为共享的目录、Z为挂载的网络盘符

3、取消挂载:

直接在 我的电脑 里面鼠标点击取消映射网络驱动器 Z:

或者: win+R->cmd

输入: umount X:

(umount -a 取消所有网络驱动器)

4、修改windows对nfs分区只读属性

Windows NFS客户端使用mount命令挂载NFS服务之后,文件系统对Win只读,无法写入文件,无法新建文件夹,此时使用mount命令可以查看到如下状态:

可以看到UID=-2由于在存储设备上共享出来的NFS文件系统归属于root权限,并且无法修改该所属用户,而Windows通过UID=-2的用户去写,肯定写不进去。

解决办法就是让Win在挂载NFS的时候将UID和GID改成0即可:打开注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default,增加两项:AnonymousUid,AnonymousGid,如图:

重新启动计算机,重新mount即可。此时就能在win7下对nfs文件系统进行读写操作了,跟本地磁盘一样。

查看mount属性,如下:

mount命令在win下的具体用法如下:

打开网络磁盘、默认多了个.trashcan、这个文件默认linux是没有的、这是Gluster的回收站、这是3.7版本的功能

Trashcan

暂时保存删除的数据,可指定删除的时间段,避免误删文件

Trash translator for GlusterFS

在这里主要介绍一下trash translator的功能,Trash translator为从glusterfs卷里面删除的文件提供一个临时存放的地方,就是相当于为删除的文件提供一个回收站,可以帮助用户获取和恢复临时被删除的数据。每个块都会保留一个隐藏的目录.trash,它将会被用于存放被从各个块删除的文件。这个translator以后还会增强功能来支持被删除文件的恢复。

回收站的目录名应该是可配置的。trash translator也会被用于内部操作比如自卷的自修复以及再平衡。trash translator是设计来拦截unlink(文件删除),truncate(文件压缩),ftruncate(文件夹压缩),rmdir(目录删除)等操作,将目标文件在trash目录中做一份拷贝,然后在原文件上执行相应的操作。

在删除的操作过程中,trash translator将会拦截到unlink调用,然后检查是否和排除模式相匹配(eliminate pattern),如果要操作的文件和排除模式匹配,那么这个translator则继续向下执行unlink调用,直接删除文件,而不会把它保存到.trash目录下面。

然而,如果要操作的文件和排除模式不匹配,文件执行stat操作,成功之后,trash translator将会在.trash目录下面建立相同的路径作为文件的路径。

truncate和ftruncate操作是压缩或者扩大一个文件的大小到一个固定的值。唯一的区别就是在truncate操作下,我们提供文件路径名然而在ftruncate情况下我们使用文件描述符。因此,ftruncate可以处理已经打开的文件。

当trash translator拦截到一个truncate/ftruncate调用,一个新的文件将会在trash中建立,原来文件的内容也通过使用readv和writev函数调用拷贝到新的文件中。一旦所有内容被拷贝晚,trash translator将会继续在原文件上执行truncate调用。

保存在trash目录中的文件都是有时间戳的,为了保持版本,以防同一个文件被一次又一次的执行truncated/deleted操作。

时间: 2024-08-27 15:32:12

Windows挂载Gluster复制卷的相关文章

GlusterFS复制卷修复功能测试分析--brick文件丢失

0.测试环境 GlusterFS 3.6.4/3.6.7/3.6.9 CentOS 6.7/7.1 1.测试用例及结果一 假设A.B副本主机,C客户机,C挂载到A. 先通过C在卷中创建1到99文件. 测试一: A上删除 rm -f 2*,A执行heal full,看是否恢复,如果不行,再在B上执行heal full,A上看文件是否恢复.操作期间不要在C上ls. A上删除 rm -f 3*,只在C上ls,C上看是否有3*,A上看是否恢复. 测试二: A上删除 rm -f 4*,同时删除对应gfid

glusterfs复制卷的创建以及glusterfs的常用命令

一.           安装glusterfs服务端 1.  到阿里云取epel源,和官方的yum源才能安装.(本次把几个个yum源放到附件) yuminstall glusterfs-server装完即可 启动glusterd [[email protected]]# systemctl start glusterd [[email protected]]# ps -ef | grep gluster root      4732    1  0 16:22 ?        00:00:0

ubuntu下安装vmware-tools 实现linux与windows的互相复制与粘贴

http://lpy999.blog.163.com/blog/static/117372061201352401516325/ 这里主要解决的问题是如实现linux系统与windows系统之间能够方便快捷的实现复制粘贴, 就像ctrl+c 与ctrl+v一样方便. 系统环境: RHEL5,winxp或ubuntu12.04(linux)  ,  win7系统 以下指令都是在超级用户的执行权限下执行的. 要解决这个问题,只需要在ubuntu安装一个vmware-tools的工具就可以了. 1.打

Windows挂载NFS文件系统

主机 操作系统 IP地址 软件包 NFS主机 Centos7.2 192.168.190.128 nfs-utils.rpcbind Windows Client Windows server 2008 192.168.190.129 网络文件系统 注:以下实验均关闭防火墙以及其它安全机制 NFS主机操作: # 使用yum安装nfs-utils和管理工具rpcbind [[email protected] ~]# yum -y install nfs-utilsrpcbind # 建立共享文件夹

Ring3下绕过Windows写时复制机制实现全局EAT钩子

在注入到某进程中对Ntdll下EAT钩子的时候作用域仅仅只是当前进程,可是明明所有进程的Ntdll模块全是映射的同一个啊.原来Windows支持一种机制,允许两个或两个以上的进程共享同一块存储器.不过操作系统会给共享的存储页指定写时复制属性,当有个进程想修改一个共享页面时,操作系统会从内存中找到一个闲置页面并将修改的页面内容复制到这个闲置页面上,再将虚拟地址空间和这个新的页面映射上.那么只需在下钩前先想办法消掉页面的写时复制属性,再hook ntdll的时候就能在Ring3下实现类似Ring0钩

Windows 2012 SYSVOL复制失败的处理

题外话:晓原理.知架构.查日志是排错的三件法宝 今天在DC1上新建并链接了一个组策略对像,在客户端刷新时,却报下面的错误: "处理组策略失败.Windows无法应用组策略对象LDAP-."如下图所示: 于是在客户端用\\domain.com访问,发现\\domain.com\SYSVOL\domain.com\policies下面没有上面报错的组策略对象. 这是怎么一回事呢,ping domain.com发现地址解析到了DC2的IP,于是我访问编辑组策略的DC1,发现上面是有这个对象的

4.ubuntu实现linux与windows的互相复制与粘贴

为了能够在linux和windows之间直接进行互相复制粘贴,给出下面的解决办法. 系统环境: ubuntu12.04(linux), win7系统 以下指令都是在超级用户的执行权限下执行的. 要解决这个问题,只需要在ubuntu安装一个vmware-tools的工具就可以了. 1.打开虚拟机的菜单"vm" 里面的下拉框中会有一个vmware tools工具的安装选项. 点击之后,在ubuntu的桌面下会出现vmware...tar.gz的文件,(home/usrname/) 2.将此

Ubuntu下使用sshfs挂载远程目录到本地(和Windows挂载盘一样)

访问局域网中其他Ubuntu机器,在不同机器间跳来跳去,很是麻烦,如果能够把远程目录映射到本地无疑会大大方面使用,就像Windows下的网络映射盘一样.在Linux的世界无疑也会有这种机制和方式,最近在使用的过程中选择了sshfs这个工具来达到把远程目录映射到本地的功能. SSHFS可在本地安装的文件系统中,通过SSH获得所有加密的通信优势.使用sshfs可以把远程目录直接映射到本地,无需修改远程机器的设置,仅要求有ssh连接的权限(ssh都没有的话,还能干啥?) 官网地址: http://fu

Linux下挂载LVM遇到卷组同名的解决方法

参考此文解决:http://www.hackbase.com/tech/2011-04-29/63525.html 下面是引用此文的内容: 周末朋友的服务器硬盘出问题了,让IDC的人挂了个IDE硬盘把系统安装好,然后再挂上以前的SATA硬盘,想把数据倒腾出来,结果哥们发现他搞不定,给我打电话求助.我远程上去看了下,发现2块盘系统做的都是LVM分区格式8e,不是ext3的83,难怪他不会挂载,而且还有个问题就是卷组都是默认安装的同一个名字VolGroup00. [[email protected]