Ubuntu 24.04
Sponsored Link

GlusterFS : GlusterFS + SMB2024/05/01

 
SMB प्रोटोकॉल को सक्षम करने के लिए GlusterFS वॉल्यूम कॉन्फ़िगर करें।
उदाहरण के लिए, यहां दिए गए लिंक के उदाहरण की तरह SMB सेटिंग को Gluster वॉल्यूम [vol_distributed] पर कॉन्फ़िगर करें।
[1] GlusterFS क्लस्टर में एक नोड पर SMB सेटिंग सक्षम करने के लिए GlusterFS कॉन्फ़िगर करें।
root@node01:~#
apt -y install samba samba-vfs-modules-extra ctdb
# लक्ष्य Gluster volume को रोकें और सेटिंग्स बदलें

root@node01:~#
gluster volume stop vol_distributed

Stopping volume will make its data inaccessible. Do you want to continue? (y/n)
y

volume stop: vol_distributed: success
root@node01:~#
gluster volume set vol_distributed user.smb enable

volume set: success
root@node01:~#
gluster volume set vol_distributed performance.write-behind off

volume set: success
root@node01:~#
gluster volume set vol_distributed group samba

volume set: success
root@node01:~#
vi /var/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
# पंक्ति 25 : लक्ष्य Gluster volume नाम में बदलें

META="
vol_distributed
"
root@node01:~#
vi /var/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
# पंक्ति 13 : लक्ष्य ग्लस्टर वॉल्यूम नाम में बदलें

META="
vol_distributed
"
# Gluster volume प्रारंभ करें

root@node01:~#
gluster volume start vol_distributed

volume start: vol_distributed: success
# उपरोक्त सेटिंग्स के साथ, निम्नलिखित माउंटिंग स्वचालित रूप से की जाती है

root@node01:~#
df -h /gluster/lock

Filesystem                             Size  Used Avail Use% Mounted on
node01.srv.world:/vol_distributed.tcp   55G   13G   40G  25% /gluster/lock

root@node01:~#
tail -1 /etc/fstab

node01.srv.world:/vol_distributed /gluster/lock glusterfs _netdev,transport=tcp,xlator-option=*client*.ping-timeout=10 0 0

root@node01:~#
vi /etc/ctdb/nodes
# नया निर्माण
# लक्ष्य Gluster वॉल्यूम को कॉन्फ़िगर करने वाले सभी नोड्स लिखें

10.0.0.51
10.0.0.52
root@node01:~#
vi /etc/ctdb/public_addresses
# नया निर्माण
# SMB एक्सेस के लिए वर्चुअल आईपी एड्रेस सेट करें
# [enp1s0] का अर्थ है नेटवर्क इंटरफ़ेस नाम ⇒ अपने परिवेश में बदलें

10.0.0.59/24 enp1s0
root@node01:~#
systemctl enable --now ctdb
# स्थिति की पुष्टि करें

root@node01:~#
ctdb status

Number of nodes:2
pnn:0 10.0.0.51        OK (THIS NODE)
pnn:1 10.0.0.52        DISCONNECTED|UNHEALTHY|INACTIVE
Generation:959750112
Size:1
hash:0 lmaster:0
Recovery mode:NORMAL (0)
Leader:0

root@node01:~#
ctdb ip

Public IPs on node 0
10.0.0.59 0
[2] सांबा कॉन्फ़िगर करें।
उदाहरण के लिए, एक साझा फ़ोल्डर बनाएं जिसे [smbgroup] समूह के उपयोगकर्ता केवल साझा फ़ोल्डर [smbshare] तक पहुंच सकें और उन्हें उपयोगकर्ता प्रमाणीकरण की भी आवश्यकता हो।
# GlusterFS नेटिव के साथ Gluster वॉल्यूम माउंट करें और SMB एक्सेस के लिए एक साझा फ़ोल्डर बनाएं

root@node01:~#
mount -t glusterfs node01.srv.world:/vol_distributed /mnt

root@node01:~#
mkdir /mnt/smbshare

root@node01:~#
groupadd smbgroup

root@node01:~#
chgrp smbgroup /mnt/smbshare

root@node01:~#
chmod 770 /mnt/smbshare

root@node01:~#
umount /mnt

root@node01:~#
vi /etc/samba/smb.conf
[global]
        # [global] अनुभाग में जोड़ें
        clustering = yes
        kernel share modes = no
        kernel oplocks = no
        map archive = no
        map hidden = no
        map read only = no
        map system = no
        store dos attributes = yes
        .....
        .....

# अंतिम पंक्ति : निम्नलिखित 9 पंक्तियाँ स्वचालित रूप से कॉन्फ़िगर की गई हैं
[gluster-vol_distributed]
comment = For samba share of volume vol_distributed
vfs objects = glusterfs
glusterfs:volume = vol_distributed
glusterfs:logfile = /var/log/samba/glusterfs-vol_distributed.%M.log
glusterfs:loglevel = 7
path = /
read only = no
kernel share modes = no
# इस प्रकार जोड़ें
writable = yes
valid users = @smbgroup
force group = smbgroup
force create mode = 770
force directory mode = 770
inherit permissions = yes

root@node01:~#
systemctl restart smb
# सांबा उपयोगकर्ता जोड़ें

root@node01:~#
useradd ubuntu

root@node01:~#
smbpasswd -a ubuntu

New SMB password:    
# कोई भी SMB पासवर्ड सेट करें

Retype new SMB password:
Added user debian.
root@node01:~#
usermod -aG smbgroup ubuntu

[3] सत्यापित करें कि यह किसी भी Linux क्लाइंट कंप्यूटर से SMB के साथ लक्ष्य शेयर तक पहुंच सकता है।
नीचे दिए गए उदाहरण Linux क्लाइंट पर हैं लेकिन सामान्य तरीके से Windows क्लाइंट से एक्सेस करना संभव है।
# [smbclient] से सत्यापित करें

root@client:~#
smbclient //node01.srv.world/gluster-vol_distributed -U ubuntu

Password for [WORKGROUP\ubuntu]:
Try "help" to get a list of possible commands.

# साझा फ़ोल्डर में जाने के लिए व्यवहार्य सत्यापित करें
smb: \> cd smbshare

smb: \smbshare\> mkdir testdir
smb: \smbshare\> ls
  .                                   D        0  Wed May  1 08:12:24 2024
  ..                                  D        0  Wed May  1 07:57:33 2024
  testdir                             D        0  Wed May  1 08:12:24 2024

                57438280 blocks of size 1024. 41535212 blocks available

smb: \smbshare\> exit

# [mount] से सत्यापित करें
# [10.0.0.59] के लिए, यह [1] अनुभाग में सेट किया गया वर्चुअल आईपी एड्रेस है

root@client:~#
mount -t cifs -o vers=3.0,username=ubuntu //10.0.0.59/gluster-vol_distributed /mnt

Password for ubuntu@//10.0.0.59/gluster-vol_distributed:
root@client:~#
df -hT

Filesystem                          Type   Size  Used Avail Use% Mounted on
tmpfs                               tmpfs  392M  1.5M  391M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   ext4    28G  6.2G   20G  24% /
tmpfs                               tmpfs  2.0G     0  2.0G   0% /dev/shm
tmpfs                               tmpfs  5.0M     0  5.0M   0% /run/lock
/dev/vda2                           ext4   2.0G   95M  1.7G   6% /boot
tmpfs                               tmpfs  392M   12K  392M   1% /run/user/0
//10.0.0.59/gluster-vol_distributed cifs    55G   16G   40G  28% /mnt

root@client:~#
touch /mnt/smbshare/testfile.txt

root@client:~#
ll /mnt/smbshare

total 12
drwxr-xr-x 2 root root 0 May  1 08:14 ./
drwxr-xr-x 2 root root 0 May  1 07:57 ../
drwxr-xr-x 2 root root 0 May  1 08:12 testdir/
-rwxr-xr-x 1 root root 0 May  1 08:14 testfile.txt*
मिलान सामग्री