Windows掛載Gluster復制卷




本地掛載測試 mount
-t glusterfs 127.0.0.1:/gv1 /mnt [root@gluster1 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客戶端

[root@gluster1 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操作。
Volume Options(選項) 

gluster volume set <VOLNAME> features.trash <on / off>

此命令可用於啟用卷中的Trash translator,如果設置為on,則在卷啟動命令期間,將在卷內的每個brick塊中創建.trashcan目錄。默認情況下,translator在卷啟動期間加載,但仍然不起作用。在此選項的幫助下禁用垃圾桶將不會從卷中刪除垃圾郵件目錄或甚至其內容。

gluster volume set <VOLNAME> features.trash-dir <name>

此命令用於將垃圾目錄重新配置為用戶指定的名稱。參數是有效的目錄名稱。目錄將在這個名字下面的每個brick內創建。如果用戶沒有指定,translator將創建默認名稱為“.trashcan”的垃圾桶目錄。只有當Trash translator開啟時才可使用。

 

使用樣例給現有卷啟用trashcan
[root@gluster1 /]# gluster volume info
 
Volume Name: gv1
Type: Distribute
Volume ID: 58bf037f-5b56-4cf6-8dab-9e9944800b61
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: gluster1:/storage/brick1
Brick2: mystorage2:/storage/brick1
Options Reconfigured:
features.trash: on
performance.readdir-ahead: on

[root@gluster1 /]# gluster volume set gv1 features.trash on
volume set: success

進入到掛載目錄進行刪除操作
[root@gluster1 /]# cd /mnt/
[root@gluster1 mnt]# ls
aa  bb  cc  ddd
[root@gluster1 mnt]# rm -rf cc

查看目錄發現有帶時間戳的文件
[root@gluster1 mnt]# ls -la
total 12
drwxr-xr-x   4 root root 4096 May 21 06:03 .
dr-xr-xr-x. 23 root root 4096 May 20 17:23 ..
-rwxr-xr-x   1 root root    0 May 20 00:36 aa
-rwxr-xr-x   1 root root    0 May 20 00:36 bb
-rwxr-xr-x   1 root root    0 May 20 00:36 ddd
drwsr-sr-x   3 root root 4096 May 20 23:22 .trashcan
[root@gluster1 mnt]# cd .trashcan/
[root@gluster1 .trashcan]# ls
cc_2017-05-20_152214  internal_op

 


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM