Ինչպես տեղադրել և կարգավորել GlusterFS-ը Ubuntu 22.04-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 12.10 (Quantal Quetzal)
  • Ubuntu 12.04 LTS (ճշգրիտ պանգոլին)
  • Ubuntu 11.10 (Oneiric Ocelot)

Այս էջում

  1. Պահանջներ
  2. Սկսել
  3. Տեղադրեք GlusterFS սերվերը
  4. Ստեղծեք GlusterFS պահոց
  5. Կարգավորեք GlusterFS ծավալը
  6. Թեստի կրկնօրինակում
  7. Եզրակացություն

GlusterFS-ը անվճար, բաց կոդով և ծրագրային ապահովմամբ սահմանված բաշխված պահեստ է, որը մշակվել է Gluster Inc-ի, այնուհետև Redhat-ի կողմից: Այն ապահովում է ինտերֆեյսներ օբյեկտների, բլոկի և ֆայլերի պահպանման համար և օգտագործվում է տվյալների մեծ ինտենսիվ աշխատանքի համար, ինչպիսիք են ամպային պահեստը, CDN-ն և մեդիա հոսքը: Այն կարող է մասշտաբավորվել կառուցվածքային ձևով՝ մի քանի petabytes տվյալներ պահելու համար: Այն աջակցում է բազմաթիվ արձանագրությունների, ինչպիսիք են NFS, SMB, CIFS, HTTP և FTP: Այն լիովին հարմար է տարբեր օգտագործման դեպքերի համար, որոնք պահանջում են մեծ քանակությամբ տվյալների մշակում:

Այս ձեռնարկում մենք կսովորենք, թե ինչպես կարգավորել Replicated GlusterFS Volume-ը Ubuntu 22.04-ում:

Պահանջներ

  • Երկու սերվեր, որոնք աշխատում են Ubuntu 22.04-ով, յուրաքանչյուրի վրա 2 ԳԲ արտաքին կոշտ սկավառակով:
  • 192.168.10.10 ստատիկ IP հասցեն կազմաձևված է հանգույց 1-ում, իսկ 192.168.10.11-ը կազմաձևված է հանգույց 2-ում:
  • Երկու սերվերների վրա էլ կազմաձևված է արմատային գաղտնաբառը:

Սկսել

Նախքան սկսելը, խորհուրդ է տրվում թարմացնել բոլոր համակարգի փաթեթները երկու սերվերների վրա: Դուք կարող եք թարմացնել դրանք՝ գործարկելով հետևյալ հրամանը երկու սերվերների վրա։

apt-get update -y
apt-get upgrade -y

Երբ համակարգի բոլոր փաթեթները թարմացվեն, վերագործարկեք դրանք՝ փոփոխությունները կիրառելու համար:

Հաջորդը, դուք նույնպես պետք է խմբագրեք /etc/hosts ֆայլը երկու սերվերների վրա և կարգավորեք հոսթի անվան լուծումը, որպեսզի յուրաքանչյուր սերվեր կարողանա հաղորդակցվել մյուսի հետ հոսթի անունով: Դուք կարող եք դա անել հետևյալ հրամանով.

nano /etc/hosts

Ավելացնել հետևյալ տողերը.

192.168.10.10 node1
192.168.10.11 node2

Պահպանեք և փակեք ֆայլը, երբ ավարտեք:

Տեղադրեք GlusterFS սերվերը

Լռելյայնորեն, GlusterFS-ը հասանելի է Ubuntu 22.04 լռելյայն պահոցում: Դուք կարող եք տեղադրել այն երկու սերվերների վրա՝ օգտագործելով հետևյալ հրամանը.

apt-get install glusterfs-server -y

Երբ GlusterFS փաթեթը տեղադրվի, գործարկեք GlusterFS ծառայությունը և միացրեք այն գործարկվելուց հետո հետևյալ հրամանով.

systemctl start glusterd
systemctl enable glusterd

Կարող եք նաև ստուգել GlusterFS ծառայության կարգավիճակը հետևյալ հրամանով.

systemctl status glusterd

Դուք պետք է տեսնեք հետևյալ ելքը.

? glusterd.service - GlusterFS, a clustered file-system server
     Loaded: loaded (/lib/systemd/system/glusterd.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-11-05 04:10:13 UTC; 7s ago
       Docs: man:glusterd(8)
    Process: 92014 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCC>
   Main PID: 92015 (glusterd)
      Tasks: 9 (limit: 4579)
     Memory: 7.1M
        CPU: 2.260s
     CGroup: /system.slice/glusterd.service
             ??92015 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO

Nov 05 04:10:11 ubuntu2204 systemd[1]: Starting GlusterFS, a clustered file-system server...
Nov 05 04:10:13 ubuntu2204 systemd[1]: Started GlusterFS, a clustered file-system server.

Ավարտելուց հետո կարող եք անցնել հաջորդ քայլին:

Ստեղծեք GlusterFS պահոց

GlusterFS պահեստ ստեղծելու համար ձեզ հարկավոր է արտաքին կոշտ սկավառակ երկու սերվերների վրա: Դուք նաև պետք է միջնորմ ստեղծեք արտաքին կոշտ սկավառակի վրա (/dev/sdb) երկու սերվերների վրա:

/dev/sdb-ում նոր բաժին ստեղծելու համար գործարկեք հետևյալ հրամանը.

fdisk /dev/sdb

Դուք պետք է տեսնեք հետևյալ ելքը.

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x06091fe8.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-4194303, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303): 

Created a new partition 1 of type 'Linux' and of size 2 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Հաջորդը, ձևաչափեք բաժանումը հետևյալ հրամանով.

mkfs.xfs /dev/sdb1

Դուք պետք է տեսնեք հետևյալ ելքը.

meta-data=/dev/sdb1              isize=512    agcount=4, agsize=131008 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=4096   blocks=524032, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Հաջորդը, ստեղծեք գրացուցակ GlusterFS պահեստավորման համար երկու սերվերների վրա հետևյալ հրամանով.

mkdir /glustervolume

Հաջորդը, տեղադրեք սկավառակը /dev/sdb1 գրացուցակի վրա /glustervolume:

mount.xfs /dev/sdb1 /glustervolume

Հաջորդը, խմբագրեք /etc/fstab ֆայլը և դարձրեք ամրացումը վերաբեռնման ընթացքում.

nano /etc/fstab

Ավելացնել հետևյալ տողը.

/dev/sdb1 /glustervolume xfs defaults 0 0

Պահպանեք և փակեք ֆայլը, այնուհետև գործարկեք հետևյալ հրամանը՝ փոփոխությունները կիրառելու համար.

mount -a

Այժմ կարող եք ստուգել տեղադրված գրացուցակը հետևյալ հրամանով.

df -h

Դուք պետք է տեսնեք հետևյալ ելքը.

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           393M  1.1M  392M   1% /run
/dev/sda2        79G  8.6G   67G  12% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           393M  4.0K  393M   1% /run/user/0
/dev/sdb1       2.0G   35M  2.0G   2% /glustervolume

Կարգավորեք GlusterFS ծավալը

Նախ, դուք պետք է ստեղծեք վստահելի պահեստային լողավազան՝ ավելացնելով node2-ը node1-ին: Դա անելու համար գործարկեք հետևյալ հրամանը node1-ում.

gluster peer probe node2

Դուք կարող եք ստուգել ավելացված պահեստային լողավազանը հետևյալ հրամանով.

gluster pool list

Դուք պետք է ստանաք հետևյալ արդյունքը.

UUID					Hostname 	State
52245177-ce2e-4217-8da5-2ee7a33dcf46	node2    	Connected 
b6da6e83-b1ea-46de-8904-1c5345b1c229	localhost	Connected 

Հաջորդը, երկու հանգույցների վրա ստեղծեք աղյուսային գրացուցակ հետևյալ հրամանով.

mkdir /glustervolume/vol1

Հաջորդը, ստեղծեք vol1 անունով հատոր երկու կրկնօրինակներով.

gluster volume create vol1 replica 2 node1:/glustervolume/vol1 node2:/glustervolume/vol1

Հաջորդը, սկսեք ծավալը, օգտագործելով հետևյալ հրամանը.

gluster volume start vol1

Ստեղծված ծավալի կարգավիճակը կարող եք ստուգել հետևյալ հրամանով.

gluster volume status

Դուք պետք է ստանաք հետևյալ արդյունքը.

Status of volume: vol1
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick node1:/glustervolume/vol1               49152     0          Y       7198 
Brick node2:/glustervolume/vol1               49152     0          Y       13214
Self-heal Daemon on localhost               N/A       N/A        Y       6121 
Self-heal Daemon on node2                   N/A       N/A        Y       12768
 
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks

Այժմ կարող եք ստուգել ստեղծված ծավալի մասին տեղեկատվությունը հետևյալ հրամանի միջոցով.

gluster volume info vol1

Դուք պետք է ստանաք հետևյալ արդյունքը.

Volume Name: vol1
Type: Replicate
Volume ID: a1023sd6d-81rt-12a2-bc4e-a4gd156c5331
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/glustervolume/vol1
Brick2: node2:/glustervolume/vol1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off

Հաջորդը, տեղադրեք ստեղծված ծավալը /opt գրացուցակում երկու հանգույցների վրա՝ խմբագրելով /etc/fstab ֆայլը, որպեսզի ձեր ծավալը հասանելի լինի սերվերի բեռնումից հետո:

nano /etc/fstab

Ավելացնել հետևյալ տողը.

localhost:/vol1 /opt glusterfs defaults,_netdev 0 0

Պահպանեք և փակեք ֆայլը, երբ ավարտեք: Այնուհետև գործարկեք հետևյալ հրամանը՝ փոփոխությունները կիրառելու համար.

mount -a

Թեստի կրկնօրինակում

Ձեր GlusterFS սերվերն այժմ տեղադրված և կազմաձևված է: Այժմ, ժամանակն է փորձարկել կրկնօրինակումը երկու հանգույցների միջև:

Նախ, node1-ում ստեղծեք երկու ֆայլ.

touch /opt/test1 /opt/test2

Այժմ գնացեք node2 և գործարկեք հետևյալ հրամանը.

ls -l /opt/

Դուք պետք է տեսնեք նույն ֆայլերը, որոնք ստեղծել եք node1-ում.

total 0
-rw-r--r-- 1 root root 0 Nov  7 13:42 file1
-rw-r--r-- 1 root root 0 Nov  7 13:42 file2

Այժմ դադարեցրեք GlusterFS ծառայությունը node2-ում հետևյալ հրամանով.

service glusterd stop

Հաջորդը, գնացեք հանգույց 1 և ստուգեք հասակակիցների կարգավիճակը.

gluster peer status

Դուք պետք է տեսնեք, որ հանգույց2-ն անջատված է.

Number of Peers: 1

Hostname: node2
Uuid: a134f146-1220-3avd-d3f6-1c2554a87sa1
State: Peer in Cluster (Disconnected)

Կարող եք նաև ստուգել ձայնի կարգավիճակը հետևյալ հրամանով.

gluster volume status

Դուք պետք է տեսնեք հետևյալ ելքը.

Status of volume: vol1
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick node1:/glustervolume/vol1               49152     0          Y       7987 
Self-heal Daemon on localhost               N/A       N/A        Y       8010 
 
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks

Հաջորդը, ստեղծեք երկու այլ ֆայլ node1-ում.

touch /opt/test3 /opt/test4

Այժմ անցեք node2 և սկսեք GlusterFS ծառայությունը հետևյալ հրամանով.

service glusterd start

Այժմ ստուգեք /opt գրացուցակը node2-ում:

ls -l /opt/

Դուք պետք է տեսնեք, որ node1-ի բոլոր ֆայլերը կրկնօրինակվել են և այժմ հասանելի են:

total 0
-rw-r--r-- 1 root root 0 Nov  7 13:42 test1
-rw-r--r-- 1 root root 0 Nov  7 13:42 test2
-rw-r--r-- 1 root root 0 Nov  7 13:44 test3
-rw-r--r-- 1 root root 0 Nov  7 13:44 test4

Եզրակացություն

Շնորհավորում եմ: դուք հաջողությամբ տեղադրեցիք և կազմաձևեցիք երկու հանգույցից բաղկացած Replicated Glusterfs սերվերը Ubuntu 22.04 սերվերի վրա: Լրացուցիչ տեղեկությունների համար կարդացեք GlusterFS փաստաթղթային էջը։ Ազատորեն հարցրեք ինձ, եթե ունեք հարցեր: