## 📂 آموزش پیشرفته ایجاد و پیکربندی فایلسیستم در لینوکس
ایجاد و پیکربندی حرفهای فایلسیستمها در لینوکس نقش مهمی در عملکرد، پایداری و امنیت سیستم دارد. در این راهنما با دستورات پیشرفته برای ساخت، مانت، تنظیمات mount پیشرفته، مدیریت journal، و بهینهسازی فایلسیستمها آشنا میشوید.
---
## 1️⃣ ساخت پارتیشن و فایلسیستم
### 💠 گام ۱: ساخت پارتیشن با `fdisk` یا `parted`
```bash
sudo fdisk /dev/sdb
```
یا برای GPT:
```bash
sudo parted /dev/sdb
```
سپس یک پارتیشن جدید ایجاد کنید و ذخیره کنید.
---
### 💠 گام ۲: ساخت فایلسیستم (مثلاً ext4)
```bash
sudo mkfs.ext4 -L data_partition /dev/sdb1
```
برخی فایلسیستمهای دیگر:
```bash
sudo mkfs.xfs /dev/sdb1
sudo mkfs.btrfs /dev/sdb1
```
---
## 2️⃣ مانت خودکار با `fstab`
ویرایش فایل:
```bash
sudo nano /etc/fstab
```
افزودن ورودی مانند:
```
UUID=xxxx-xxxx /mnt/data ext4 defaults,noatime 0 2
```
### ✳️ نکات mount:
* `noatime` → بهبود عملکرد با غیرفعال کردن ثبت زمان دسترسی
* `nodev`, `nosuid`, `noexec` → افزایش امنیت
* `compress=zstd` → در btrfs برای فشردهسازی خودکار
---
## 3️⃣ بررسی و مدیریت ویژگیهای ext4
### 🔍 بررسی ویژگیها:
```bash
sudo tune2fs -l /dev/sdb1
```
### ✏️ تغییر حجم reserve برای روت:
```bash
sudo tune2fs -m 0 /dev/sdb1
```
### 🔧 غیرفعال کردن journal (با احتیاط):
```bash
sudo tune2fs -O ^has_journal /dev/sdb1
```
> ⚠️ توصیه نمیشود مگر در شرایط خاص
---
## 4️⃣ بهینهسازی mount با systemd
ایجاد فایل مانت پویا:
```bash
sudo nano /etc/systemd/system/mnt-data.mount
```
محتوا:
```
[Unit]
Description=Mount data disk
[Mount]
What=/dev/sdb1
Where=/mnt/data
Type=ext4
Options=defaults,noatime
[Install]
WantedBy=multi-user.target
```
فعالسازی:
```bash
sudo systemctl enable mnt-data.mount
sudo systemctl start mnt-data.mount
```
---
## 5️⃣ Snapshot و Subvolume در Btrfs
### 📌 ایجاد subvolume:
```bash
sudo btrfs subvolume create /mnt/data/@snapshots
```
### 📸 ایجاد snapshot:
```bash
sudo btrfs subvolume snapshot /mnt/data/@ /mnt/data/@snapshots/snap-01
```
---
## 6️⃣ ابزارهای بررسی و رفع خطا
* **fsck** (برای ext2/ext3/ext4):
```bash
sudo fsck -f /dev/sdb1
```
* **xfs\_repair** (برای XFS):
```bash
sudo xfs_repair /dev/sdb1
```
* **btrfs check** (برای Btrfs):
```bash
sudo btrfs check /dev/sdb1
```
---
## 7️⃣ ابزارهای بررسی عملکرد فایلسیستم
* `iotop` → نظارت بر I/O دیسک
* `iostat` → آمار لحظهای از عملکرد دیسک
* `filefrag` → بررسی میزان تکهتکه شدن فایلها
---
## 🔐 امنیت فایلسیستم
| تکنیک | توضیح |
| --------------------------- | ------------------------------- |
| mount با `noexec`, `nosuid` | جلوگیری از اجرای کدهای مخرب |
| رمزنگاری پارتیشنها با LUKS | افزایش امنیت دادهها |
| تنظیمات `chattr`, `lsattr` | جلوگیری از تغییر یا حذف فایلها |
---
## 🎯 جمعبندی
درک عمیق فایلسیستمها و توانایی پیکربندی دقیق آنها، ابزار قدرتمندی برای مدیران سیستم محسوب میشود. با بهرهگیری از ابزارهایی مانند `tune2fs`, `systemd`, `btrfs`, و تنظیمات mount، میتوانید هم کارایی و هم امنیت سیستم خود را بهبود دهید.