बनाने और Ansible के साथ GlusterFS मात्रा माउंट


16

मैं 4 मशीनों में वॉल्यूम बनाने और माउंट करने के लिए GlusterFS का उपयोग कर रहा हूं। कहते हैं, उदाहरण के लिए मशीनों कहा जाता है machine1, machine2, machine3और machine4

मेरे साथियों को पहले ही सफलतापूर्वक जांचा जा चुका है।

मैंने अपना वॉल्यूम बनाने के लिए निम्न कमांड का उपयोग किया है:

sudo gluster volume create ssl replica 2 transport tcp machine1:/srv/gluster/ssl machine2:/srv/gluster/ssl machine3:/srv/gluster/ssl machine4:/srv/gluster/ssl force

मैं इसके बाद वॉल्यूम शुरू करता हूं:

sudo gluster volume start ssl

मैंने /myproject/sslनिम्नलिखित कमांड का उपयोग करके डायरेक्टरी को माउंट किया है :

sudo mount -t glusterfs machine1:/ssl /myproject/ssl

जब प्रत्येक मशीन पर घुड़सवार किया जाता है, तो सब कुछ अपेक्षित रूप से काम करता है और /myproject/sslनिर्देशिका में सभी मशीनों में डेटा साझा होता है।

सवाल यह है कि पृथ्वी पर मैं इसे कैसे करूं?

यहाँ उन दो आदेशों को अंजाम देने का मेरा प्रयास है:

- name: Configure Gluster volume.
  gluster_volume:
    state: present
    name: "{{ gluster.brick_name }}"
    brick: "{{ gluster.brick_dir }}"
    replicas: 2
    cluster: "{{ groups.glusterssl | join(',') }}"
    host: "{{ inventory_hostname }}"
    force: yes
  become: true
  become_user: root
  become_method: sudo
  run_once: true
  ignore_errors: true

- name: Ensure Gluster volume is mounted.
  mount:
    name: "{{ gluster.brick_name }}"
    src: "{{ inventory_hostname }}:/{{ gluster.brick_name }}"
    fstype: glusterfs
    opts: "defaults,_netdev"
    state: mounted
  become: true
  become_user: root
  become_method: sudo

पहले से ही किसी पिछले कार्य में सफल होने पर सहकर्मी की जांच के बावजूद, Configure Gluster volumeकार्य विफल रहता है:

fatal: [machine3]: FAILED! => 
  {"changed": false, 
   "failed": true, 
   "invocation": {
     "module_args": {
       "brick": "/srv/gluster/ssl",
       "bricks": "/srv/gluster/ssl", 
       "cluster": ["machine1", "machine2", "machine3", "machine4"],
       "directory": null, 
       "force": true, 
       "host": "machine3", 
       "name": "ssl", 
       "options": {}, 
       "quota": null, 
       "rebalance": false, 
       "replicas": 2, 
       "start_on_create": true, 
       "state": "present", 
       "stripes": null, 
       "transport": "tcp"}, 
     "module_name": "gluster_volume"}, 
   "msg": "failed to probe peer machine1 on machine3"}

यदि मैं इस अनंतिम कार्य को पहले शेल कमांड के साथ प्रतिस्थापित करता हूं जो मैंने सुझाया था, सब कुछ ठीक काम करता है, लेकिन फिर इसके Ensure Gluster volume is mountedसाथ विफल रहता है:

fatal: [machine3]: FAILED! => 
  {"changed": false, 
   "failed": true, 
   "invocation": {
     "module_args": {
       "dump": null, 
       "fstab": "/etc/fstab", 
       "fstype": "glusterfs", 
       "name": "ssl", "opts": 
       "defaults,_netdev", 
       "passno": null, "src": 
       "machine3:/ssl", 
       "state": "mounted"}, 
     "module_name": "mount"}, 
   "msg": "Error mounting ssl: Mount failed. Please check the log file for more details.\n"}

प्रासंगिक लॉग आउटपुट है:

[2016-10-17 09:10:25.602431] E [MSGID: 114058] [client-handshake.c:1524:client_query_portmap
_cbk] 2-ssl-client-3: failed to get the port number for remote subvolume. Please run 'gluster volume status' on server to see if brick process is running.
[2016-10-17 09:10:25.602480] I [MSGID: 114018] [client.c:2042:client_rpc_notify] 2-ssl-client-3: disconnected from ssl-client-3. Client process will keep trying to connect to glusterd until brick's port is available
[2016-10-17 09:10:25.602500] E [MSGID: 108006] [afr-common.c:3880:afr_notify] 2-ssl-replicate-1: All subvolumes are down. Going offline until atleast one of them comes back up.
[2016-10-17 09:10:25.616402] I [fuse-bridge.c:5137:fuse_graph_setup] 0-fuse: switched to graph 2

तो, वॉल्यूम को अंसिबल कार्य द्वारा शुरू नहीं किया जाता है।

मेरा प्रश्न, अनिवार्य रूप से, मैं कैसे बनाऊं, माउंट करूं और उसी तरह से वॉल्यूम बढ़ाऊं, जैसा कि मैंने ऊपर उल्लिखित 3 कमांडों के साथ किया था?


6
यकीन नहीं होता कि आपने कभी इसका पता लगाया है या नहीं, लेकिन ग्लस्टरएफएस के लिए मेरी एक एंसिबल भूमिका साझा करना चाहता था जो आपको सही दिशा में ले जाए। github.com/mrlesmithjr/ansible-glusterfs
mrlesmithjr

जवाबों:


2

आपको वॉल्यूम को इसके साथ शुरू करना चाहिए state: started:

- name: Configure Gluster volume.
  gluster_volume:
    state: started
    name: "{{ gluster.brick_name }}"
    brick: "{{ gluster.brick_dir }}"
    replicas: 2
    cluster: "{{ groups.glusterssl | join(',') }}"
    host: "{{ inventory_hostname }}"
    force: yes
  become: true
  become_user: root
  become_method: sudo
  run_once: true
  ignore_errors: true
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.