標籤:mina reader 檔案的 模式比對 software stat cmd 解釋 避免
本地掛載測試mount -t glusterfs 127.0.0.1:/gv1 /mnt[[email protected] mnt]# df -hFilesystem 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/brick1127.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操作。
Windows掛載Gluster複製卷