{"id":6447,"date":"2016-12-02T21:49:45","date_gmt":"2016-12-02T12:49:45","guid":{"rendered":"https:\/\/www.taruki.com\/wp\/?p=6447"},"modified":"2016-12-02T21:49:46","modified_gmt":"2016-12-02T12:49:46","slug":"zookeeper%e3%81%a8sheepdog%e3%81%aestorage-cluster%e3%82%92ansible%e3%81%a7%e4%b8%80%e6%b0%97%e3%81%ab%e6%a7%8b%e7%af%89","status":"publish","type":"post","link":"https:\/\/www.taruki.com\/wp\/?p=6447","title":{"rendered":"zookeeper\u3068sheepdog\u306eStorage Cluster\u3092ansible\u3067\u4e00\u6c17\u306b\u69cb\u7bc9"},"content":{"rendered":"<p>10GbE\u74b0\u5883\u304c\u51fa\u6765\u305f\u306e\u3067\u3001debian jessie\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u904a\u3073\u3068ansible\u306e\u52c9\u5f37\u3082\u517c\u306d\u3066sheepdog Cluster\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\nPlayBook\u306f\u3001\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002myid\u306feth0\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u305fIP\u30a2\u30c9\u30ec\u30b9\u306e\u7b2c4\u30aa\u30af\u30c6\u30c3\u30c8\u304b\u3089\u81ea\u52d5\u751f\u6210\u3057\u3066\u304f\u308c\u307e\u3059\u3002<br \/>\n<PRE><br \/>\n&#8212;<br \/>\n&#8211; hosts: sd_cluster<br \/>\n  user: root<br \/>\n  tasks:<br \/>\n  &#8211; name: install sheepdog packages<br \/>\n    apt: pkg={{item}} state=present update_cache=yes<br \/>\n    with_items:<br \/>\n      &#8211; zookeeper<br \/>\n      &#8211; sheepdog<br \/>\n      &#8211; qemu-utils<br \/>\n      &#8211; zookeeper-bin<br \/>\n      &#8211; zookeeperd<br \/>\n  &#8211; name: copy zoo.cfg<br \/>\n    copy: src=~\/playbooks\/zoo.cfg dest=\/etc\/zookeeper\/conf\/zoo.cfg backup=yes<br \/>\n  &#8211; name: copy sheepdog conf<br \/>\n    copy: src=~\/playbooks\/sheepdog dest=\/etc\/default\/sheepdog backup=yes<br \/>\n  &#8211; name: set cluster id from host ip address<br \/>\n    shell: echo {{ ansible_eth0.ipv4.address }} |cut -d. -f 4 >\/etc\/zookeeper\/conf\/myid<br \/>\n  &#8211; name: create directory<br \/>\n    command: mkdir -p \/srv\/sheepdog<br \/>\n<\/PRE><br \/>\nsheepdog\u306f\u4eee\u60f3\u30de\u30b7\u30f3\u4e0a\u306b\u4f5c\u3063\u305f\u306e\u3067\u3001\u30e9\u30a4\u30d6\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u3057\u3084\u3059\u304f\u3059\u308b\u305f\u3081\u306b\u3001\u7269\u7406\u30de\u30b7\u30f3\u306eport 7000\u3092\u4eee\u60f3\u30de\u30b7\u30f3\u306eport 7000\u306b\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3057\u307e\u3059\u3002<br \/>\n\u3053\u3046\u3059\u308c\u3070\u3001KVM\u304b\u3089\u306f\u30ed\u30fc\u30ab\u30eb\u30b5\u30fc\u30d0\u30fc\u3067\u52d5\u3044\u3066\u3044\u308bsheepdog\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3044\u308b\u3088\u3046\u306b\u898b\u3048\u307e\u3059\u3002<br \/>\n\/etc\/iptables\/iptables.rule<br \/>\n<PRE><br \/>\n*nat<br \/>\n:PREROUTING ACCEPT [0:0]<br \/>\n:OUTPUT ACCEPT [0:0]<br \/>\n:POSTROUTING ACCEPT [0:0]<br \/>\n-A OUTPUT -m addrtype &#8211;src-type LOCAL &#8211;dst-type LOCAL -p tcp &#8211;dport 7000 -j DNAT &#8211;to-destination 192.168.24.51:7000<br \/>\n-A POSTROUTING -m addrtype &#8211;src-type LOCAL &#8211;dst-type UNICAST -j MASQUERADE<br \/>\nCOMMIT<br \/>\n<\/PRE><br \/>\n\/etc\/sysctl.d\/routelocal.conf\u306b\u3066\u30ed\u30fc\u30ab\u30eb\u304b\u3089\u5916\u90e8\u3078\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u8a31\u53ef<br \/>\n<PRE><br \/>\nnet.ipv4.conf.all.route_localnet=1<br \/>\n<\/PRE><br \/>\n\u4f5c\u3063\u3066\u307f\u305f\u306e\u306f3node\u306eCluster\u3067\u3059\u304c\u3001\u3073\u3063\u304f\u308a\u3059\u308b\u307b\u3069\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u60aa\u3044\u3002\u7279\u306bSheepdog\u306eCPU\u4f7f\u7528\u7387\u304c\u51c4\u304f\u3066\u3001Sequential Read\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c100MB\/Sec\u3050\u3089\u3044\u3057\u304b\u51fa\u306a\u3044\u306e\u306f\u3001\u591a\u5206node\u6570\u304c\u5c11\u306a\u3059\u304e\u308b\u306e\u3068\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u4e00\u90e8\u304cCPU\u306e\u4f4e\u901f\u306aNAS\u4e0a\u3067\u52d5\u304b\u3057\u3066\u3044\u308b\u306e\u304c\u539f\u56e0\u3060\u3068\u601d\u3046\u3002Passmark2000\u7a0b\u5ea6\u306eCPU\u80fd\u529b\u3060\u3068\u5b9f\u7528\u306b\u306f\u307b\u3069\u9060\u3044\u3068\u601d\u3063\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>10GbE\u74b0\u5883\u304c\u51fa\u6765\u305f\u306e\u3067\u3001debian jessie\u306e\u30b5\u30fc\u30d0\u30fc\u306b\u904a\u3073\u3068ansible\u306e\u52c9\u5f37\u3082\u517c\u306d\u3066sheepdog Cluster\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002 PlayBook\u306f\u3001\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002myid\u306feth0\u306b\u5272\u308a\u5f53\u3066\u3089\u308c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[24],"tags":[74,50,71,49,72,69,73],"class_list":["post-6447","post","type-post","status-publish","format-standard","hentry","category-pc","tag-ansible","tag-debian","tag-kvm","tag-linux","tag-sheepdog","tag-storage","tag-zookeeper"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6447"}],"version-history":[{"count":0,"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/6447\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.taruki.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}