## 🌐 معرفی فایلسیستم توزیعشده GlusterFS و آموزش نصب – سطح پیشرفته
**GlusterFS** یک فایلسیستم توزیعشده (Distributed File System) متنباز است که به شما امکان میدهد منابع ذخیرهسازی چندین سرور را به صورت یکپارچه در اختیار کاربران و برنامهها قرار دهید. این فایلسیستم برای **مقیاسپذیری افقی (Horizontal Scaling)** و **دسترسی بالا (High Availability)** بسیار مناسب است.
---
## 🔧 ویژگیهای کلیدی GlusterFS
* بدون نیاز به متادیتای مرکزی (No Metadata Server)
* مقیاسپذیری خطی تا صدها ترابایت
* پشتیبانی از replication، striping، و dispersing
* قابلیت اتصال از طریق FUSE یا NFS
* نصب و راهاندازی آسان در مقایسه با Ceph
---
## 🖥️ سناریوی پیشنهادی
| نقش سرور | آدرس IP | نام |
| -------- | ------------ | ----------------------------- |
| سرور ۱ | 192.168.1.10 | gfs1 |
| سرور ۲ | 192.168.1.11 | gfs2 |
| سرور ۳ | 192.168.1.12 | gfs3 (اختیاری برای Replica 3) |
---
## 🔗 پیشنیازها در همه نودها
1. فعالسازی فایروال یا خاموشکردن آن برای تست اولیه
2. تنظیم hostname و فایل `/etc/hosts` روی همه نودها
3. نصب GlusterFS
---
## 🛠️ نصب GlusterFS (مثلاً روی CentOS/RHEL 7/8)
### 1️⃣ افزودن مخزن:
```bash
sudo yum install centos-release-gluster
```
### 2️⃣ نصب GlusterFS Server:
```bash
sudo yum install glusterfs-server -y
sudo systemctl enable --now glusterd
```
برای Ubuntu:
```bash
sudo apt install glusterfs-server -y
```
---
## 🧱 ساخت Volume توزیعشده (Distributed Volume)
### 1️⃣ در همه نودها یک دایرکتوری دیتا بسازید:
```bash
sudo mkdir -p /data/brick1/gv0
```
### 2️⃣ اتصال نودها به خوشه (از gfs1):
```bash
gluster peer probe gfs2
gluster peer probe gfs3
```
بررسی وضعیت اتصال:
```bash
gluster peer status
```
### 3️⃣ ایجاد Volume توزیعشده:
```bash
gluster volume create gv0 replica 3 \
gfs1:/data/brick1/gv0 \
gfs2:/data/brick1/gv0 \
gfs3:/data/brick1/gv0
```
> `replica 3` یعنی دادهها روی هر سه نود کپی میشود (HA کامل)
### 4️⃣ فعالسازی Volume:
```bash
gluster volume start gv0
```
---
## 🔗 مانت Volume از کلاینت
### نصب GlusterFS Client:
```bash
sudo yum install glusterfs glusterfs-fuse
```
### مانت کردن Volume:
```bash
sudo mkdir /mnt/gfs
sudo mount -t glusterfs gfs1:/gv0 /mnt/gfs
```
برای مانت دائمی:
```
gfs1:/gv0 /mnt/gfs glusterfs defaults,_netdev 0 0
```
---
## 🧪 بررسی وضعیت Volume
```bash
gluster volume status
gluster volume info
```
---
## 🛡️ نکات امنیتی و بهینهسازی
* استفاده از `firewalld` با باز کردن پورتهای GlusterFS
* غیرفعالسازی SELinux یا پیکربندی مناسب آن
* مانیتورینگ لاگها در مسیر: `/var/log/glusterfs/`
* استفاده از quorum و arbiter برای جلوگیری از split-brain
---
## ✅ نتیجهگیری
GlusterFS یکی از بهترین انتخابها برای سازمانهایی است که به دنبال **فایلسیستم توزیعشده، بدون پیچیدگی Ceph**، با قابلیت انعطافپذیر و مقیاسپذیر هستند. نصب آسان، پایداری بالا، و امکان استفاده در محیطهای مجازی، کلاستر و ابری از جمله مزایای آن است.