{"id":155,"date":"2011-03-06T14:03:44","date_gmt":"2011-03-06T05:03:44","guid":{"rendered":"http:\/\/www.furelo.jp\/wordpress\/?p=155"},"modified":"2011-03-06T15:28:23","modified_gmt":"2011-03-06T06:28:23","slug":"glusterfs%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%bf%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%82%92%e6%a7%8b%e7%af%89","status":"publish","type":"post","link":"http:\/\/www.furelo.jp\/wordpress\/2011\/03\/06\/glusterfs%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%bf%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%82%92%e6%a7%8b%e7%af%89\/","title":{"rendered":"GlusterFS\u3067\u30af\u30e9\u30b9\u30bf\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u69cb\u7bc9"},"content":{"rendered":"\u4ee5\u524d\u3001\u30af\u30e9\u30b9\u30bf\u30b9\u30c8\u30ec\u30fc\u30b8\u3067\u3042\u308bGlusterFS\u3092\u3001Maildir\u5f62\u5f0f\u306e\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u4f7f\u3048\u306a\u3044\u304b\u8abf\u3079\u3066\u3044\u305f\u304c\u30011000Base-T\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u74b0\u5883\u3067\u306f\u3001\u30b7\u30b9\u30c6\u30e0\u30b3\u30fc\u30eb\u306b\u975e\u5e38\u306b\u6642\u9593\u304c\u304b\u304b\u308b(\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u306a\u3044)\u3053\u3068\u304c\u5206\u304b\u308a\u3001\u3042\u304d\u3089\u3081\u305f\u3002\r\n\r\n\u3057\u304b\u3057\u306a\u304c\u3089\u3001\u5c11\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u3057\u304b\u306a\u3044 VM\u30a4\u30e1\u30fc\u30b8\u306e\u4fdd\u5b58\u7528\u306b\u306f\u554f\u984c\u306a\u3044\u3068\u601d\u308f\u308c\u308b\u3002\u307e\u305fGlusterFS v3.1.2\u304b\u3089\u3001Gluster\u306eNFS\u9818\u57df\u3092XenServer\u3067\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3089\u3057\u3044\u3002\r\n\r\n\u305d\u3053\u3067\u3001XenServer\u4e0a\u306eVM (OpenSUSE)\u3067GlusterFS\u3092\u52d5\u4f5c\u3055\u305b\u3001\u305d\u308c\u3092XenServer\u306eSR (Storage Repository)\u3068\u3057\u3066\u5229\u7528\u3057\u305f\u3044\u3068\u601d\u3046\u3002\r\n\u203b\u7121\u99c4\u304c\u591a\u3044\u3051\u3069\u3001VM\u4e0a\u3067\u69cb\u7bc9\u3057\u3066\u304a\u3051\u3070\u30ce\u30fc\u30c9\u306e\u8ffd\u52a0\u304c\u697d\u306a\u306e\u3067\u3002\r\n\u203b\u8a66\u3057\u3066\u4f7f\u3044\u7269\u306b\u306a\u3089\u306a\u3044\u7a0b\u9045\u3051\u308c\u3070\u3001XenServer\u4e0a\u306b\u76f4\u63a5GlusterFS\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3053\u3068\u306b\u3059\u308b\u3002\r\n\r\n\u203b\u306a\u304a\u3001Oracle VM Server for x86 2.2.1\u3067\u8a66\u3057\u3066\u3044\u308b\u65b9\u304c\u3044\u307e\u3057\u305f\u306e\u3067\u3001\u305d\u308c\u3092\u53c2\u8003\u306b\u3057\u307e\u3059\u3002\r\n<a href=\"http:\/\/nkjmkzk.net\/?p=1691\">http:\/\/nkjmkzk.net\/?p=1691<\/a>\r\n\r\n\r\n\r\n\u958b\u767a\u7528\u30c4\u30fc\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n[code]\r\n# zypper install autoconf automake libtool gcc make flex bison readline-devel\r\n[\/code]\r\n\r\nGlusterFS\u306e\u30bd\u30fc\u30b9\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\r\n[code]\r\n# cd \/usr\/local\/src\r\n# wget http:\/\/download.gluster.com\/pub\/gluster\/glusterfs\/3.1\/LATEST\/glusterfs-3.1.2.tar.gz\r\n# tar zxvf glusterfs-3.1.2.tar.gz\r\n[\/code]\r\n\r\n\r\n\u30b3\u30f3\u30d1\u30a4\u30eb\r\n[code]\r\n# cd glusterfs-3.1.2\r\n# .\/configure\r\n\uff5e\uff5e\uff5e\u7565\uff5e\uff5e\uff5e\r\nGlusterFS configure summary\r\n===========================\r\nFUSE client        : yes\r\nInfiniband verbs   : no\r\nepoll IO multiplex : yes\r\nargp-standalone    : no\r\nfusermount         : no\r\nreadline           : yes\r\n\r\n# make\r\n# make install\r\n\t\u203b\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u3001\/usr\/local\/ \u4ee5\u4e0b\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u308b\u3002\r\n[\/code]\r\n\r\n\r\nldconfig\u30b3\u30de\u30f3\u30c9\u3067\u5171\u6709\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4f5c\u308a\u76f4\u3059\u3002\r\n[code]\r\n# \/sbin\/ldconfig\r\n# \/usr\/local\/sbin\/glusterfs &#8211;version\r\nglusterfs 3.1.2 built on Mar  6 2011 15:26:49\r\nRepository revision: v3.1.1-64-gf2a067c\r\nCopyright (c) 2006-2010 Gluster Inc. &lt;http:\/\/www.gluster.com&gt;\r\nGlusterFS comes with ABSOLUTELY NO WARRANTY.\r\nYou may redistribute copies of GlusterFS under the terms of the GNU Affero General Public License.\r\n[\/code]\r\n\r\n\r\n\u5f15\u304d\u7d9a\u304d\u521d\u671f\u8a2d\u5b9a\u3092\u884c\u3046\u3002\r\n\u5404\u30b5\u30fc\u30d0\u3067\u3001\u4ee5\u4e0b\u306e\u30c7\u30fc\u30e2\u30f3\u304c\u8d77\u52d5\u3055\u308c\u308b\u3088\u3046\u306b\u3057\u3066\u304a\u304f\r\n[code]\r\n\t\u203b\u306a\u305c\u304b\u8d77\u52d5\u3057\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u306b\u4ee5\u4e0b\u306e\u4fee\u6b63\u3092\u884c\u3063\u305f\u3002\r\n# diff -u \/tmp\/glusterd  glusterd\r\n&#8212; \/tmp\/glusterd       2011-03-06 11:44:37.077995074 +0900\r\n+++ glusterd    2011-03-06 11:43:23.375896074 +0900\r\n@@ -24,7 +24,8 @@\r\n start()\r\n {\r\n        echo -n $&quot;Starting $BASE:&quot;\r\n&#8211;       startproc $GLUSTERD\r\n+       $GLUSTERD\r\n+       # startproc $GLUSTERD\r\n        return $?\r\n }\r\n\r\n\r\n# \/sbin\/chkconfig glusterd on\r\n# \/etc\/init.d\/glusterd start\r\n\r\n# vi \/etc\/hosts\r\n192.168.11.102  gluster1.furelo.jp gluster1\r\n192.168.11.103  gluster2.furelo.jp gluster2\r\n[\/code]\r\n\r\n\r\n\u5404\u30b5\u30fc\u30d0\u9593\u306epeer\u3092\u5f35\u308b\u3002(\u7247\u65b9\u5411\u306bpeer\u3092\u5f35\u308b\u3060\u3051\u3067\u826f\u3044\u3002\u81ea\u8eab\u3068\u306epeer\u306f\u4e0d\u8981\u3002)\r\n[code]\r\n[gluster1]# \/usr\/local\/sbin\/gluster peer probe gluster2.furelo.jp\r\nProbe successful\r\n[\/code]\r\n\r\n\r\npeer\u72b6\u6cc1\u3092\u78ba\u8a8d\u3059\u308b\u3002\r\n[code]\r\n# \/usr\/local\/sbin\/gluster peer status\r\nNumber of Peers: 1\r\n\r\nHostname: gluster2.furelo.jp\r\nUuid: 7ecd445c-601a-4cc7-bd48-568f97d3ee14\r\nState: Peer in Cluster (Connected)\r\n[\/code]\r\n\r\n\r\n\u5404\u30b5\u30fc\u30d0\u3067\u3001GlusterFS\u304c\u5229\u7528\u3059\u308b\u9818\u57df(BRICK)\u3092\u4f5c\u6210\u3059\u308b\u3002\r\n[code]\r\n# mkdir \/var\/brick\r\n# mkdir \/var\/brick\/backup\r\n\t\u203b\u4efb\u610f\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092BRICK\u306b\u6307\u5b9a\u3067\u304d\u308b\u304c\u3001\u4eca\u56de\u306f\u3001\/var\/brick \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5927\u5bb9\u91cf\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u3092\u30de\u30a6\u30f3\u30c8\u3057\u3001\u3053\u306e\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u5404\u7528\u9014\u3067\u5229\u7528\u3059\u308b\u3053\u3068\u306b\u3059\u308b\u3002\r\n[\/code]\r\n\r\n\r\n\u4efb\u610f\u306e\u4e00\u53f0\u3067\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u3001\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u9818\u57df\u3092RAID1\u69cb\u6210\u306b\u3059\u308b\u3002\r\n[code]\r\n# \/usr\/local\/sbin\/gluster volume create BACKUP_VOL \\\r\n replica 2 \\\r\n transport tcp \\\r\n gluster1.furelo.jp:\/var\/brick\/backup \\\r\n gluster2.furelo.jp:\/var\/brick\/backup\r\n\r\n# \/usr\/local\/sbin\/gluster volume info\r\n# \/usr\/local\/sbin\/gluster volume start BACKUP_VOL\r\n# \/usr\/local\/sbin\/gluster volume info\r\n[\/code]\r\n\r\n\u5404\u30b5\u30fc\u30d0\u3067glusterfs \u3092fuse\u3067\u30de\u30a6\u30f3\u30c8\u3059\u308b\u3002\r\n[code]\r\n# mount -t glusterfs localhost:BACKUP_VOL \/var\/backup\r\n\r\n\u203b\u3082\u3057\u3001NFS\u3067\u30de\u30a6\u30f3\u30c8\u3059\u308b\u5834\u5408\u3001Gluster\u306eNFS\u6a5f\u80fd\u304cTCP\u306e\u307f\u306e\u30b5\u30dd\u30fc\u30c8\u306a\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u69d8\u306b\u884c\u3046\u3002\r\n# mount -t nfs -o mountproto=tcp localhost:\/BACKUP_VOL \/var\/backup\r\n[\/code]\r\n\r\n\r\n\u8a8d\u8b58\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3059\u308b\u3002\r\n[code]\r\n# df -k\r\nFilesystem           1K-blocks      Used Available Use% Mounted on\r\n\/dev\/mapper\/system-root\r\n                       6631976   2277552   4017528  37% \/\r\ndevtmpfs                509812       108    509704   1% \/dev\r\ntmpfs                   524464         4    524460   1% \/dev\/shm\r\n\/dev\/xvda1               69410     23664     42162  36% \/boot\r\n\/dev\/xvdb1           516054864   1565272 488275532   1% \/var\/brick\r\nlocalhost:BACKUP_VOL 412843904    203136 391669632   1% \/var\/backup\r\n[\/code]\r\n\r\n\u203b\u306a\u304a\u3001\u65e2\u5b58\u30c7\u30fc\u30bf\u304c\u3042\u308b\u5834\u5408\u3001self-heal\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u540c\u671f\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308b\u3002\r\n\u203bself-heal\u6a5f\u80fd\u3092\u4f7f\u3046\u306b\u306f\u3001\u4e00\u5ea6\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308c\u3070\u3044\u3044\u3002\r\n[code]\r\n# du \/var\/backup\/\r\n[\/code]\r\n\r\n\r\n\u554f\u984c\u306a\u3051\u308c\u3070\u3001\u8d77\u52d5\u6642\u306b\u81ea\u52d5\u30de\u30a6\u30f3\u30c8\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3002\r\n[code]\r\n# vi \/etc\/hosts\r\n\t\u203bGlusterFS\u3067\u30de\u30a6\u30f3\u30c8\u3059\u308b\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u69d8\u306a\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3059\u308b\r\nlocalhost:BACKUP_VOL \/var\/backup  glusterfs  acl,user_xattr,_netdev  3 0\r\n\r\n\t\u203bNFS\u3067\u30de\u30a6\u30f3\u30c8\u3059\u308b\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u69d8\u306a\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3059\u308b\u3002\r\nlocalhost:\/BACKUP_VOL \/var\/backup nfs  _netdev,mountproto=tcp,rsize=8192,wsize=8192  3 0\r\n[\/code]\r\n\r\n\r\nNFS\u3084CIFS\u306e\u5834\u5408\u3060\u3068\u3001\u5c02\u7528\u306b\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8 S05nfs \u3084 S04cifs \u304c\u3042\u308b\u306e\u3067\u81ea\u52d5\u30de\u30a6\u30f3\u30c8\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u306a\u306e\u3060\u304c\u3001\r\nGlusterFS\u306e\u69d8\u306a\u3001\u305d\u306e\u4ed6\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u3064\u3044\u3066\u306f\u8003\u616e\u3055\u308c\u3066\u306a\u3044\u3088\u3046\u3060\u3002\r\n\u9069\u5f53\u306b\u4ee5\u4e0b\u306e\u69d8\u306b\u884c\u3063\u305f\u3002\r\n[code]\r\n # vi \/etc\/init.d\/after.local\r\n\/bin\/mount -a -t nfs\r\n\/bin\/mount -a -t glusterfs\r\n\r\n# chmod a+x \/etc\/init.d\/after.local\r\n[\/code]\r\n\r\n\r\n\u3057\u304b\u3057\u3001NFS\u306e\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u30de\u30a6\u30f3\u30c8\u3055\u308c\u306a\u304b\u3063\u305f\u3002\r\nGlusterFS\u3067\u306f\u554f\u984c\u306a\u304b\u3063\u305f\u306e\u3067\u3001GlusterFS\u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u3001\u539f\u56e0\u306f\u8abf\u3079\u3066\u306a\u3044\u3002\r\n[code]\r\nMaster Resource Control: Running \/etc\/init.d\/after.local\r\nmount.nfs: mounting localhost:\/BACKUP_VOL failed, reason given by server:\r\n  No such file or directorydone\r\n[\/code]\r\n\r\n\r\n\r\n\u203b\u306a\u304a\u3001\u4e00\u5ea6\u4f5c\u3063\u305f\u30dc\u30ea\u30e5\u30fc\u30e0\u8a2d\u5b9a\u3092\u524a\u9664\u3057\u305f\u3044\u5834\u5408\u4ee5\u4e0b\u306e\u69d8\u306b\u884c\u3046\u3002\r\n[code]\r\n# \/usr\/local\/sbin\/gluster volume stop BACKUP_VOL\r\n# \/usr\/local\/sbin\/gluster volume delete BACKUP_VOL\r\n[\/code]\r\n","protected":false},"excerpt":{"rendered":"<p>\u4ee5\u524d\u3001\u30af\u30e9\u30b9\u30bf\u30b9\u30c8\u30ec\u30fc\u30b8\u3067\u3042\u308bGlusterFS\u3092\u3001Maildir\u5f62\u5f0f\u306e\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u4f7f\u3048\u306a\u3044\u304b\u8abf\u3079\u3066\u3044\u305f\u304c\u30011000Base-T\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u74b0\u5883\u3067\u306f\u3001\u30b7\u30b9\u30c6\u30e0\u30b3\u30fc\u30eb\u306b\u975e\u5e38\u306b\u6642\u9593\u304c\u304b\u304b\u308b(\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u306a\u3044)\u3053\u3068\u304c\u5206\u304b\u308a &hellip; <a href=\"http:\/\/www.furelo.jp\/wordpress\/2011\/03\/06\/glusterfs%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%bf%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%82%92%e6%a7%8b%e7%af%89\/\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[8,5],"_links":{"self":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts\/155"}],"collection":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/comments?post=155"}],"version-history":[{"count":3,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts\/155\/revisions"}],"predecessor-version":[{"id":158,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/posts\/155\/revisions\/158"}],"wp:attachment":[{"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/categories?post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.furelo.jp\/wordpress\/wp-json\/wp\/v2\/tags?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}