日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

分布式文件系统之MooseFS----管理优化

發(fā)布時間:2024/4/14 windows 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式文件系统之MooseFS----管理优化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ?接著上篇博文,上篇博文是講如何部署 MooseFS 的,部署完畢之后就要涉及到后續(xù)的使用了。在使用過程中,肯定會遇到一些故障和性能瓶頸。此時,我們就需要去操心 MooseFS 的管理、維護和優(yōu)化工作了。

? ? ? ?本篇就圍繞上面提到的三個方面,介紹 MooseFS 更深入的一些知識。


一、高級功能

1、副本

? ? ? ?副本,在MFS中也被稱為目標(Goal),它是指文件被復制的份數(shù),設定目標值后可以通過mfsgetgoal命令來證實,也可以通過mfssetgoal命令來改變設定。

1 2 3 4 5 6 7 8 9 10 11 [root@mfs-client?~]#?cd?/mfsdata/ [root@mfs-client?mfsdata]#?dd?if=/dev/zero?of=/mfsdata/test.file?bs=1M?count=200? 200+0?records?in? 200+0?records?out? 209715200?bytes?(210?MB)?copied,?9.1094?s,?23.0?MB/s? [root@mfs-client?mfsdata]#?mfsgetgoal?test.file? test.file:?1? [root@mfs-client?mfsdata]#?mfssetgoal?3?test.file? test.file:?3? [root@mfs-client?mfsdata]#?mfsgetgoal?test.file? test.file:?3

補充:

用mfsgetgoal –r和mfssetgoal –r同樣的操作可以對整個樹形目錄遞歸操作

1 2 3 4 5 6 7 8 9 10 11 12 13 [root@mfs-client?mfsdata]#?mkdir?dir/dir1/dir2/dir3?-p? [root@mfs-client?mfsdata]#?touch?dir/file1? [root@mfs-client?mfsdata]#?touch?dir/dir1/file2? [root@mfs-client?mfsdata]#?touch?dir/dir1/dir2/file3 [root@mfs-client?mfsdata]#?mfsgetgoal?-r?dir? dir:? files?with?goal?1?:?3? directories?with?goal?1?:?4 [root@mfs-client?mfsdata]#?mfssetgoal?-r?3?dir? dir:? inodes?with?goal?changed:?7? inodes?with?goal?not?changed:?0? inodes?with?permission?denied:?0

? ? ? ?實際的拷貝份數(shù)可以通過mfscheckfile 和 mfsfileinfo 命令來證實,例如:

1 2 3 4 5 6 7 8 9 10 11 12 13 [root@mfs-client?mfsdata]#?mfscheckfile?test.file? test.file:? chunks?with?1?copy:?4? [root@mfs-client?mfsdata]#?mfsfileinfo?test.file? test.file:? chunk?0:?00000000000000D2_00000001?/?(id:210?ver:1)? copy?1:?172.16.100.6:9422? chunk?1:?00000000000000D3_00000001?/?(id:211?ver:1)? copy?1:?172.16.100.7:9422? chunk?2:?00000000000000D4_00000001?/?(id:212?ver:1)? copy?1:?172.16.100.6:9422? chunk?3:?00000000000000D5_00000001?/?(id:213?ver:1)? copy?1:?172.16.100.7:9422

? ? ? ?需要注意的是,一個包含數(shù)據(jù)的零長度的文件,盡管沒有設置為非零的目標(the non-zero goal),但是在使用命令查詢時將返回一個空值

1 2 3 4 5 [root@mfs-client?mfsdata]#?touch?a? [root@mfs-client?mfsdata]#?mfscheckfile?a? a:? [root@mfs-client?mfsdata]#?mfsfileinfo?a? a:


2、回收

? ? ? ?一個刪除文件能夠存放在一個“垃圾箱”的時間就是一個隔離時間,這個時間可以用 mfsgettrashtime 命令來驗證,也可以用 mfssettrashtime 命令來設置。例如:

1 2 3 4 5 6 [root@mfs-client?mfsdata]#?mfsgettrashtime?test.file? test.file:?86400 [root@mfs-client?mfsdata]#?mfssettrashtime?0?test.file? test.file:?0 $?mfsgettrashtime?/mnt/mfs-test/test1 /mnt/mfs-test/test1:?0

這些工具也有個遞歸選項-r,可以對整個目錄樹操作,例如:

1 2 3 4 5 6 7 8 9 10 11 12 13 [root@mfs-client?mfsdata]#?mfsgettrashtime?-r?dir? dir:? files?with?trashtime?86400?:?3? directories?with?trashtime?86400?:?4? [root@mfs-client?mfsdata]#?mfssettrashtime?-r?0?dir? dir:? inodes?with?trashtime?changed:?7? inodes?with?trashtime?not?changed:?0? inodes?with?permission?denied:?0? [root@mfs-client?mfsdata]#?mfsgettrashtime?-r?dir? dir:? files?with?trashtime?0?:?3? directories?with?trashtime?0?:?4

? ? ? ?時間的單位是秒(有用的值有:1小時是3600秒,24 – 86400秒,1 – 604800秒)。就像文件被存儲的份數(shù)一樣, 為一個目錄 設定存放時間是要被新創(chuàng)建的文件和目錄所繼承的。數(shù)字0意味著一個文件被刪除后, 將立即被徹底刪除,在想回收是不可能的
? ? ? ?刪除文件可以通過一個單獨安裝 MFSMETA 文件系統(tǒng)。特別是它包含目錄 / trash (包含任然可以被還原的被刪除文件的信息)和 / trash/undel (用于獲取文件)。只有管理員有權限訪問MFSMETA(用戶的uid 0,通常是root)。

? ? ? ?在開始mfsmount進程時,用一個-m或-o mfsmeta的選項,這樣可以掛接一個輔助的文件系統(tǒng)MFSMETA,這么做的目的是對于意外的從MooseFS卷上刪除文件或者是為了釋放磁盤空間而移動的文件而又此文件又過去了垃圾文件存放期的恢復,例如:

1 mfsmount?-m?/mnt/mfsmeta

需要注意的是,如果要決定掛載mfsmeta,那么一定要在 mfsmaster 的 mfsexports.cfg 文件中加入如下條目:

1 *???????????????????????.???????rw

原文件中有此條目,只要將其前的#去掉就可以了。

否則,你再進行掛載mfsmeta的時候,會報如下錯誤:

1 mfsmaster?register?error:?Permission?denied

下面將演示此操作:

1 2 $?mfssettrashtime?3600?/mnt/mfs-test/test1 /mnt/mfs-test/test1:?3600

? ? ? ?從“垃圾箱”中刪除文件結果是釋放之前被它站用的空間(刪除有延遲,數(shù)據(jù)被異步刪除)。在這種被從“垃圾箱”刪除的情況下,該文件是不可能恢復了。
? ? ? ?可以通過mfssetgoal工具來改變文件的拷貝數(shù),也可以通過mfssettrashtime工具來改變存儲在“垃圾箱”中的時間。
? ? ? ?在 MFSMETA 的目錄里,除了trash和trash/undel兩個目錄外,還有第三個目錄reserved,該目錄內(nèi)有已經(jīng)刪除的文件,但卻有一直打開著。在用戶關閉了這些被打開的文件后,reserved目錄中的文件將被刪除,文件的數(shù)據(jù)也將被立即刪除。在reserved目錄中文件的命名方法同trash目錄中的一樣,但是不能有其他功能的操作。


3、快照

? ? ? ?MooseFS系統(tǒng)的另一個特征是利用mfsmakesnapshot工具給文件或者是目錄樹做快照,例如:

1 $?mfsmakesnapshot?source?...?destination

? ? ? ?Mfsmakesnapshot 是在一次執(zhí)行中整合了一個或是一組文件的拷貝,而且任何修改這些文件的源文件都不會影響到源文件的快照, 就是說任何對源文件的操作,例如寫入源文件,將不會修改副本(或反之亦然)。
? ? ? ?文件快照可以用mfsappendchunks,就像MooseFS1.5中的mfssnapshot一樣,,作為選擇,二者都可以用。例如:

1 $?mfsappendchunks?destination-file?source-file?...

? ? ? ?當有多個源文件時,它們的快照被加入到同一個目標文件中(每個chunk的最大量是chunk)。五、額外的屬性文件或目錄的額外的屬性(noowner, noattrcache, noentrycache),可以被mfsgeteattr,mfsseteattr,mfsdeleattr工具檢查,設置,刪除,其行為類似mfsgetgoal/mfssetgoal or或者是mfsgettrashtime/mfssettrashtime,詳細可見命令手冊。


二、綜合測試

1、破壞性測試

?a、模擬MFS各角色宕機測試

?b、mfs 災難與恢復各種場景測試


2、性能測試

? ? ? ?針對 MooseFS 的性能測試,我這邊也沒有詳細去做。通過偉大的互聯(lián)網(wǎng),我找到了幾位前輩,針對 MooseFS 所做的詳細性能測試,這里我就貼出來展示一下。

1、基準測試情況:
隨機讀

隨機寫

順序讀

順序寫


小文件性能測試情況:

? ? ? ? 如果想看更多有關 MooseFS 性能方面的測試報告,可以去參考如下鏈接:

? ? ? ? http://blog.liuts.com/post/203/? ? ? ? ??MooseFS性能圖表[原創(chuàng)]



三、監(jiān)控

1、mfs內(nèi)置的監(jiān)控工具mfscgiserv

? ? ? ?針對 Moosefs 每個組件的監(jiān)控,Moosefs自帶了一個監(jiān)控工具 mfscgiserv,它是一個 python 編寫的 web 監(jiān)控頁面,監(jiān)聽端口為9425。該監(jiān)控頁面為我們提供了 Master Server、Metalogger Server、Chunk Servers以及所有Client掛載的狀態(tài)信息及相關性能指標圖示。

? ? ? ?在我們安裝好 Master Server 時,它就已經(jīng)默認安裝上了,我們可以在/usr/local/mfs/share/mfscgi/ ?目錄下看到這個監(jiān)控頁面的文件。

1 2 3 4 5 6 7 8 9 [root@mfs-master-1?mfs]#?ll?/usr/local/mfs/share/mfscgi/?????????#?這個?mfscgi?目錄里面存放的是master圖形監(jiān)控界面的程序 total?136? -rwxr-xr-x.?1?root?root?1881?Dec?29?00:10?chart.cgi? -rw-r--r--.?1?root?root?270?Dec?29?00:10?err.gif? -rw-r--r--.?1?root?root?562?Dec?29?00:10?favicon.ico? -rw-r--r--.?1?root?root?510?Dec?29?00:10?index.html? -rw-r--r--.?1?root?root?3555?Dec?29?00:10?logomini.png? -rwxr-xr-x.?1?root?root?107456?Dec?29?00:10?mfs.cgi? -rw-r--r--.?1?root?root?5845?Dec?29?00:10?mfs.css

? ? ? ?我們可以通過執(zhí)行如下命令啟動該監(jiān)控程序。

1 /moosefs_install_path/sbin/mfscgiserv?start

? ? ? ?啟動完畢之后,我們可以通過訪問http://IP:9425來訪問該監(jiān)控頁面。

? ? ? ?下面,我列出啟動 mfscgiserv 監(jiān)控工具的操作:

1 2 3 4 5 6 7 8 9 10 11 12 [root@mfs-master-1?mfs]#?/usr/local/mfs/sbin/mfscgiserv?start???#?啟動mfs圖形控制臺? lockfile?created?and?locked? starting?simple?cgi?server?(host:?any?,?port:?9425?,?rootpath:?/usr/local/mfs-1.6.27/share/mfscgi) [root@mfs-master-1?mfs]#?netstat?-lantup|grep?9425? tcp?0?0?0.0.0.0:9425?0.0.0.0:*?LISTEN?7940/python? tcp?0?0?172.16.100.1:9425?172.16.100.100:50693?ESTABLISHED?7940/python? tcp?0?0?172.16.100.1:9425?172.16.100.100:50692?ESTABLISHED?7940/python? [root@mfs-master-1?mfs]#?lsof?-i?tcp:9425? COMMAND?PID?USER?FD?TYPE?DEVICE?SIZE/OFF?NODE?NAME? python?7940?root?3u?IPv4?27066?0t0?TCP?*:9425?(LISTEN)? python?7940?root?7u?IPv4?27136?0t0?TCP?172.16.100.1:9425->172.16.100.100:50693?(ESTABLISHED)? python?7940?root?8u?IPv4?27124?0t0?TCP?172.16.100.1:9425->172.16.100.100:50692?(ESTABLISHED)

下面是訪問的頁面:


2、使用zabbix監(jiān)控mfs

1、監(jiān)控要點

? ? ? ? 根據(jù) MooseFS 中各個組件的特點,我們所需要監(jiān)控的要點主要有如下幾點:

? ? ? ? a、Master Server的9420、9421端口,Chunk Server 的9422端口

? ? ? ? b、Chunk Server 的磁盤空間

2、實施步驟

? ? ? ? 通過在各個組件的對應服務器上部署好zabbix監(jiān)控的代理端,然后分別添加端口監(jiān)控和磁盤監(jiān)控即可!


? ? ? ? 操作過程略!


八、維護

1、常用管理命令

1 2 3 4 5 6 7 8 mfsgetgoal??????????????#?獲取mfs目錄、文件的副本數(shù) mfssetgoal??????????????#?設置mfs目錄、文件的副本數(shù) mfscheckfile????????????#?查看副本數(shù)簡單 mfsfileinfo?????????????#?查看詳細的副本數(shù),chunks/分片 mfsdirinfo??????????????#?以數(shù)量的方法顯示mfsfileinfo mfsgettrashtime?????????#?獲取垃圾箱的定隔時間 mfssettrashtime?????????#?設置垃圾箱的定隔時間(和memcached類) mfsmakesnapshot?????????#?快照


2、可能存在的問題

A、mfscgiserv的訪問安全問題

? ? ? ?mfscgiserv只是一個非常簡單的HTTP服務器,只用來編寫運行MooseFS CGI腳本。它不支持任何的附加功能,比如HTTP認證。如果公司出于對監(jiān)控界面的安全訪問需求,我們可以使用功能豐富的HTTP服務器,比如apache、nginx等。在使用這些更強大的HTTP服務器時,我們只需要將CGI和其它數(shù)據(jù)文件(index.html、mfs.cgi、chart.cgi、mfs.css、logomini.png、err.gif)存放到選擇的站點根目錄下。我們可以創(chuàng)建一個新的虛擬機,來設定特定的主機名和端口來進行訪問。


B、Master Server 的單點問題

? ? ? ?Master server的單點問題,在前面介紹 MooseFS 的優(yōu)缺點時已經(jīng)提到過了。由于官方提供的解決方案,在恢復的時候還是需要一定時間的,因此我們建議使用第三方的高可用方案(heartbeat+drbd+moosefs)來解決 Master Server 的單點問題。


3、性能瓶頸的解決辦法

? ? ? ?由于 MooseFS 的高可擴展性,因此我們可以很輕松的通過增加 Chunk Server 的磁盤容量或增加 Chunk Server 的數(shù)量來動態(tài)擴展整個文件系統(tǒng)的存儲量和吞吐量,這些操作絲毫不會影響到在線業(yè)務。


4、安全開啟/停止MFS集群

1、啟動 MooseFS 集群

安全的啟動 MooseFS 集群(避免任何讀或寫的錯誤數(shù)據(jù)或類似的問題)的步驟如下:
? ? ? ?1、啟動 mfsmaster 進程
? ? ? ?2、啟動所有的 mfschunkserver 進程
? ? ? ?3、啟動 mfsmetalogger 進程(如果配置了mfsmetalogger)
? ? ? ?4、當所有的 chunkservers 連接到 MooseFS master 后,任何數(shù)目的客戶端可以利用 mfsmount 去掛載被 export 的文件系統(tǒng)。(可以通過檢查 master 的日志或是 CGI 監(jiān)控頁面來查看是否所有的chunkserver 被連接)。


2、停止 MooseFS 集群

安全的停止 MooseFS 集群的步驟如下:
? ? ? ?1、在所有的客戶端卸載MooseFS 文件系統(tǒng)(用umount命令或者是其它等效的命令)
? ? ? ?2、用?mfschunkserver –s命令停止chunkserver進程
? ? ? ?3、用 mfsmetalogger –s命令停止metalogger進程
? ? ? ?4、用 mfsmaster –s命令停止master進程


5、增加塊設備(會自動平均)

? ? ? ? 針對增加塊設備的情況,其實就是說針對chunk server 有變化(增加或減少)的情況。

? ? ? ? 為了增加一個案例說明,這里就以 UC 在使用 MooseFS 中遇到的一個問題為案例,講解新增加 chunk server 時,MooseFS集群發(fā)生的變化,其實也就是 Master Server 發(fā)生的變化。


? ? ? ? UC在使用 MooseFS 集群的過程中,有次一臺 Chunk Server 掛了,于是就涉及到了后期的恢復問題。在問題Chunk Server修復之后,就從新加入到了集群當中。此時,新增加的 chunk server 啟動之后會向 Master 匯報 Chunk 的信息,Master接收到 Chunk 信息之后會逐個檢查 Chunk_id是否存在。如果不存在,就表示該chunk_id其實已經(jīng)刪除了(chunk_id過期),然后會調(diào)用chunk_new()創(chuàng)建該chunk,并設置lockedio屬性為7天后。這些操作都是屬于內(nèi)存操作,并且Master是單線程的進程,并不存在全局鎖,因此不會導致 Master 阻塞無響應。因此,針對增加chunk server的情況,是不會對MooseFS集群產(chǎn)生什么大的影響的。

? ? ? ? 以上就是新增加 Chunk Server 后的,MooseFS 集群中 Master Server 的變化。而針對各個Chunk Server,Master Server會重新去調(diào)整塊文件的磁盤空間,然后全部重新動態(tài)分配塊文件。如果遇到空間不夠的磁盤,Master Server會自動調(diào)整塊文件的分布,從不夠的磁盤里動態(tài)的把塊服務移動到有大的磁盤塊服務器里

? ? ? ? 當然,如果按照上面的情況這次就不會是故障了,因此并不會對 MooseFS 集群產(chǎn)生什么大的影響。由于他們當時因為資源緊張,就把 Master Server 放到了虛擬機上,而虛擬機的磁盤是掛載的iscsi磁盤。并且他們的MooseFS使用的版本并不是最新的1.6.27,而是1.6.19。在1.6.19版本中,會把chunk的匯報過程寫入磁盤,這樣就導致了幾十萬條的磁盤寫入,由于磁盤是前面提到的網(wǎng)絡盤,就最終釀成了 Master Server 恢復時無響應幾十分鐘。

? ? ? ? ?因此,我們在生產(chǎn)環(huán)境中,針對Master Server的選型一定不能使用虛擬機,而是使用大內(nèi)存量的物理機。











本文轉自 aaao 51CTO博客,原文鏈接:http://blog.51cto.com/nolinux/1602616,如需轉載請自行聯(lián)系原作者

總結

以上是生活随笔為你收集整理的分布式文件系统之MooseFS----管理优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。