জবাবদিহি দিয়ে গ্লাস্টারএফএস ভলিউম তৈরি করুন এবং মাউন্ট করুন


16

আমি 4 টি মেশিনে ভলিউম তৈরি করতে এবং মাউন্ট করতে গ্লাস্টারএফ ব্যবহার করছি। বলুন উদাহরণস্বরূপ, মেশিন বলা হয় 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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.