Aceasta e o versiune anterioară a paginii.
Extinderea Partițiilor / și /home pe Discuri Adiționale în Linux
Introducere
Pe măsură ce utilizarea sistemului crește, spațiul de stocare devine adesea insuficient. Acest articol prezintă metodele profesionale de extindere a partițiilor rădăcină (/) și home (/home) prin adăugarea de discuri suplimentare, fără a necesita mutarea completă a datelor sau reinstalarea sistemului de operare.
Scop: Extinderea capacității de stocare prin integrarea transparentă a discurilor adiționale în structura existentă a sistemului de fișiere.
Audiență țintă: Administratori de sistem Linux cu experiență intermediară până la avansată.
Distribuții acoperite: Ubuntu/Debian, Fedora/RHEL/CentOS/Rocky/AlmaLinux, Arch Linux, openSUSE, și alte distribuții majore.
Compatibilitate cu Distribuții Majore
Acest ghid acoperă comenzile și particularitățile pentru următoarele familii de distribuții:
| Distribuție | Package Manager | Init System | Particularități |
|---|---|---|---|
| Ubuntu/Debian/Mint | apt/apt-get | systemd | Configurare standard, bună compatibilitate |
| Fedora/RHEL/CentOS/Rocky/AlmaLinux | dnf/yum | systemd | SELinux activ implicit, firewalld |
| Arch Linux/Manjaro | pacman | systemd | Rolling release, ultima versiune de pachete |
| openSUSE (Leap/Tumbleweed) | zypper | systemd | YaST pentru configurare, Btrfs implicit |
| Gentoo | emerge | OpenRC/systemd | Compilare din surse, personalizare maximă |
| Alpine Linux | apk | OpenRC | Lightweight, folosit în containere |
Note Specifice Distribuțiilor
Ubuntu/Debian
- Utilizează implicit ext4 pentru majoritatea instalărilor
- LVM disponibil la instalare prin opțiune „Advanced“
- Suport excelent pentru toate metodele prezentate
Fedora/RHEL/CentOS/Rocky/AlmaLinux
- Fedora 33+ folosește Btrfs implicit
- RHEL/CentOS folosesc XFS pentru / și ext4/XFS pentru /home
- LVM activat implicit în majoritatea instalărilor
- SELinux trebuie luat în considerare pentru permisiuni
Arch Linux
- Instalare minimală, administrator alege filesystem-ul
- Pachete întotdeauna la zi (rolling release)
- Documentație excelentă în ArchWiki
openSUSE
- Folosește Btrfs implicit cu subvolume pentru snapshots
- YaST oferă interfață grafică pentru gestionarea discurilor
- Configurare unică a subvolume-lor
Preliminarii și Precauții
Instalare Instrumente Necesare
Înainte de a începe, instalați instrumentele necesare pentru distribuția dvs:
Ubuntu/Debian/Linux Mint
# Update package lists sudo apt update # Instalare instrumente de bază sudo apt install -y lvm2 parted gdisk util-linux # Pentru mergerfs (din repository) sudo apt install -y mergerfs # Pentru Btrfs sudo apt install -y btrfs-progs # Pentru XFS sudo apt install -y xfsprogs # Pentru ZFS sudo apt install -y zfsutils-linux
Fedora/RHEL 8+/CentOS Stream/Rocky/AlmaLinux
# Update package cache sudo dnf update # Instalare instrumente de bază sudo dnf install -y lvm2 parted gdisk util-linux-ng # Pentru mergerfs (necesită EPEL sau compilare) sudo dnf install -y epel-release # pentru RHEL/Rocky/AlmaLinux sudo dnf install -y fuse fuse-devel gcc make # Compilare mergerfs din surse (vezi mai jos) # Pentru Btrfs sudo dnf install -y btrfs-progs # Pentru XFS (instalat implicit pe RHEL/CentOS) sudo dnf install -y xfsprogs # Pentru ZFS (necesită repository special) sudo dnf install -y https://zfsonlinux.org/epel/zfs-release-2-2$(rpm --eval "%{dist}").noarch.rpm sudo dnf install -y zfs
CentOS 7/RHEL 7 (yum)
sudo yum update sudo yum install -y lvm2 parted gdisk util-linux-ng sudo yum install -y epel-release sudo yum install -y btrfs-progs xfsprogs
Arch Linux/Manjaro
# Update system sudo pacman -Syu # Instalare instrumente sudo pacman -S lvm2 parted gptfdisk util-linux # Pentru mergerfs (din AUR) yay -S mergerfs # sau folosiți alt AUR helper # SAU manual: git clone https://aur.archlinux.org/mergerfs.git cd mergerfs makepkg -si # Pentru Btrfs (în kernel) sudo pacman -S btrfs-progs # Pentru XFS sudo pacman -S xfsprogs # Pentru ZFS (din AUR) yay -S zfs-dkms zfs-utils
openSUSE (Leap/Tumbleweed)
# Update system sudo zypper refresh sudo zypper update # Instalare instrumente sudo zypper install lvm2 parted gptfdisk util-linux # Pentru mergerfs (compilare necesară) sudo zypper install fuse fuse-devel gcc make # Pentru Btrfs (suport nativ excelent) sudo zypper install btrfsprogs # Pentru XFS sudo zypper install xfsprogs # Pentru ZFS sudo zypper addrepo https://download.opensuse.org/repositories/filesystems/openSUSE_Tumbleweed/filesystems.repo sudo zypper refresh sudo zypper install zfs
Gentoo
# Instalare instrumente (cu USE flags potrivite) emerge --ask sys-fs/lvm2 sys-apps/gptfdisk sys-apps/util-linux # Pentru mergerfs emerge --ask sys-fs/mergerfs # Pentru Btrfs emerge --ask sys-fs/btrfs-progs # Pentru XFS emerge --ask sys-fs/xfsprogs # Pentru ZFS emerge --ask sys-fs/zfs
Compilare mergerfs din Surse (pentru distribuții fără pachet)
# Instalare dependențe (ajustați pentru distribuția dvs) # Debian/Ubuntu: sudo apt install -y build-essential git fuse libfuse-dev # Fedora/RHEL: sudo dnf install -y gcc-c++ git fuse fuse-devel # Compilare cd /tmp git clone https://github.com/trapexit/mergerfs.git cd mergerfs make sudo make install
Backup-uri Obligatorii
ATENȚIE: Înainte de orice operațiune de modificare a partițiilor, este obligatoriu să efectuați backup complet al datelor importante!
Comenzi recomandate pentru backup:
# Backup complet cu rsync sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/backup/ # Sau utilizând tar sudo tar -cvpzf backup-$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp /
Verificări Preliminare
Identificați configurația actuală a sistemului:
# Verificați partițiile existente lsblk -f # Verificați utilizarea spațiului df -h # Verificați dacă folosiți LVM sudo pvs sudo vgs sudo lvs # Verificați tipul filesystem-ului mount | grep "^/dev"
Metode de Extindere
1. LVM (Logical Volume Manager) - Metoda Recomandată
1.1 Avantaje și Dezavantaje
Avantaje:
- Flexibilitate maximă în gestionarea spațiului
- Posibilitatea de redimensionare dinamică (online)
- Suport pentru snapshot-uri
- Migrarea datelor între discuri fizice fără downtime
- Posibilitatea de a adăuga/elimina discuri din volume group
Dezavantaje:
- Complexitate crescută în administrare
- Overhead minim de performanță (< 1%)
- Necesită cunoștințe specifice LVM
- Recuperarea datelor în caz de dezastru poate fi mai complicată
1.2 Verificarea Configurației LVM Existente
# Verificați dacă LVM este deja configurat sudo pvdisplay sudo vgdisplay sudo lvdisplay # Dacă nu există output, sistemul NU folosește LVM
Note Specifice Distribuțiilor pentru LVM
Ubuntu/Debian
- LVM nu este implicit, dar poate fi selectat la instalare prin „Advanced partitioning“
- În instalările standard, se folosește partiționare clasică cu ext4
- Volume group-ul implicit este de obicei numit
ubuntu-vgsaudebian-vg
Fedora/RHEL/CentOS/Rocky/AlmaLinux
- LVM este implicit în majoritatea instalărilor server și workstation
- Volume group-ul implicit:
rhel,fedora,centos,rl(Rocky),almalinux - Filesystem implicit pentru /: XFS (RHEL 7+)
- Filesystem implicit pentru /home: XFS sau ext4 (configurabil)
- Fedora 33+ folosește Btrfs, nu LVM, pentru instalări workstation
Arch Linux
- Instalare manuală - administratorul decide
- Documentație excelentă pentru configurare LVM în ArchWiki
- Libertate completă în alegerea filesystem-ului
openSUSE
- Instalarea implicită folosește Btrfs cu subvolume, nu LVM
- LVM disponibil ca opțiune în YaST Partitioner
- Pentru sisteme server se recomandă adesea LVM + XFS
1.3 Extindere cu LVM (Sistem Existent cu LVM)
Dacă sistemul folosește deja LVM:
# 1. Identificați discul nou lsblk # 2. Creați un Physical Volume pe discul nou sudo pvcreate /dev/sdb # 3. Identificați Volume Group-ul existent sudo vgdisplay # 4. Extindeți Volume Group-ul cu noul disc sudo vgextend ubuntu-vg /dev/sdb # 5. Extindeți Logical Volume-ul (de exemplu pentru root) sudo lvextend -l +100%FREE /dev/ubuntu-vg/root # SAU pentru /home sudo lvextend -l +100%FREE /dev/ubuntu-vg/home # 6. Redimensionați filesystem-ul # Pentru ext4 (Ubuntu/Debian implicit): sudo resize2fs /dev/ubuntu-vg/root # Pentru XFS (RHEL/CentOS/Fedora implicit pentru /): sudo xfs_growfs / # SAU sudo xfs_growfs /dev/rhel/root # Pentru Btrfs (Fedora 33+ workstation, openSUSE): sudo btrfs filesystem resize max / # SAU pentru un subvolume specific sudo btrfs filesystem resize max /dev/fedora/root # 7. Verificați rezultatul df -h # Pentru XFS, verificați și informațiile detaliate sudo xfs_info /
TIP: Pe RHEL/CentOS/Fedora, filesystem-ul implicit pentru / este XFS, care nu poate fi micșorat, doar extins! Planificați dimensiunile cu atenție.
1.4 Conversie la LVM (Sistem fără LVM)
AVERTISMENT: Conversia unui sistem existent la LVM este o operațiune complexă și riscantă. Se recomandă doar pentru sistemele de testare sau cu backup complet verificat.
Pentru sisteme fără LVM, conversia partițiilor existente este dificilă și nu se recomandă pentru partiția root. Alternativele sunt:
- Opțiunea 1: Reinstalare cu LVM activat din instalare
- Opțiunea 2: Utilizarea metodelor alternative (mergerfs, overlayfs)
- Opțiunea 3: Conversie manuală (avansat, risc ridicat)
Pașii pentru conversie manuală (doar pentru /home, NU pentru /):
# 1. Boot de pe Live CD/USB # 2. Instalați LVM tools sudo apt install lvm2 # 3. Creați backup complet al /home sudo mkdir /mnt/backup sudo mount /dev/sdc1 /mnt/backup # disc de backup sudo rsync -aAXv /mnt/original-home/ /mnt/backup/home-backup/ # 4. Ștergeți partiția /home (DOAR după backup verificat!) # 5. Creați PV, VG, LV pe discul liber sudo pvcreate /dev/sdb sudo vgcreate vg_home /dev/sdb sudo lvcreate -l 100%FREE -n lv_home vg_home # 6. Formatați și restaurați datele sudo mkfs.ext4 /dev/vg_home/lv_home sudo mount /dev/vg_home/lv_home /mnt/newhome sudo rsync -aAXv /mnt/backup/home-backup/ /mnt/newhome/ # 7. Actualizați /etc/fstab # Înlocuiți vechea intrare /home cu: # /dev/vg_home/lv_home /home ext4 defaults 0 2
2. mergerfs - Unificare Transparentă de Discuri
2.1 Descriere și Caracteristici
mergerfs este un sistem de fișiere union FUSE care permite combinarea mai multor directoare/discuri într-un singur mount point virtual, păstrând transparența pentru aplicații.
Avantaje:
- Simplitate în configurare și utilizare
- Nu necesită modificarea partițiilor existente
- Fără risc pentru datele existente
- Performanță aproape nativă
- Politici flexibile de plasare a fișierelor
- Fișierele rămân accesibile individual pe fiecare disc
Dezavantaje:
- Overhead FUSE (minim, ~5% în scenarii intensive)
- Nu oferă redundanță (nu este RAID)
- Necesită daemon activ (procesul mergerfs)
- Politicile complexe pot fi confuze pentru începători
2.2 Instalare și Configurare
# Instalare mergerfs sudo apt update sudo apt install mergerfs # SAU instalare din surse pentru ultima versiune wget https://github.com/trapexit/mergerfs/releases/download/2.40.2/mergerfs_2.40.2.ubuntu-jammy_amd64.deb sudo dpkg -i mergerfs_2.40.2.ubuntu-jammy_amd64.deb
2.3 Extinderea /home cu mergerfs
# 1. Pregătiți discul nou sudo fdisk /dev/sdb # creați partiție sudo mkfs.ext4 /dev/sdb1 # 2. Creați mount point pentru discul adițional sudo mkdir -p /mnt/disk2 # 3. Montați discul adițional sudo mount /dev/sdb1 /mnt/disk2 # 4. Creați un mount point temporar pentru vechiul /home sudo mkdir /mnt/home-original sudo mount --bind /home /mnt/home-original # 5. Configurați mergerfs pentru a combina discurile # Demontați /home dacă este montat separat, sau pregătiți structura sudo mergerfs -o allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=10G /mnt/home-original:/mnt/disk2 /home
2.4 Politici de Plasare a Fișierelor
mergerfs oferă multiple politici pentru plasarea fișierelor noi:
| Politică | Descriere |
|---|---|
mfs (most free space) | Plasează pe discul cu cel mai mult spațiu liber |
lfs (least free space) | Plasează pe discul cu cel mai puțin spațiu liber |
eplfs (existing path, least free space) | Dacă directorul există, folosește lfs |
epmfs (existing path, most free space) | Dacă directorul există, folosește mfs |
ff (first found) | Primul disc cu spațiu suficient |
rand | Aleator |
Exemplu de configurare cu politici:
sudo mergerfs -o allow_other,use_ino,category.create=mfs,category.search=ff,moveonenospc=true,minfreespace=20G /mnt/home-original:/mnt/disk2:/mnt/disk3 /home
2.5 Configurare Permanentă în /etc/fstab
# Editați /etc/fstab sudo nano /etc/fstab # Adăugați intrările pentru discurile sursă UUID=xxxx-xxxx /mnt/home-original ext4 defaults 0 2 UUID=yyyy-yyyy /mnt/disk2 ext4 defaults 0 2 # Adăugați intrarea mergerfs /mnt/home-original:/mnt/disk2 /home fuse.mergerfs allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=10G 0 0
IMPORTANT: mergerfs trebuie montat după discurile sursă. Folosiți x-systemd.requires pentru dependențe în fstab dacă este necesar.
3. OverlayFS - Stratificare Nativă în Kernel
3.1 Descriere și Utilizare
OverlayFS este un sistem de fișiere union integrat în kernel-ul Linux, care permite suprapunerea mai multor straturi de directoare.
Avantaje:
- Integrat în kernel (fără FUSE overhead)
- Performanță superioară față de soluțiile FUSE
- Ideal pentru containere și sisteme read-only cu overlay writeable
- Suport nativ în sistemd
Dezavantaje:
- Mai puțin flexibil decât mergerfs
- Conceptul de „upper/lower/work“ poate fi confuz
- Nu este ideal pentru sistem de fișiere cu scrieri frecvente
- Limitări la anumite operațiuni de fișiere (ex: hard links)
- Necesită trei directoare (lower, upper, work)
3.2 Configurare OverlayFS pentru /home
# 1. Pregătiți discul nou sudo mkfs.ext4 /dev/sdb1 sudo mkdir /mnt/disk2 sudo mount /dev/sdb1 /mnt/disk2 # 2. Creați structura de directoare sudo mkdir -p /mnt/disk2/upper sudo mkdir -p /mnt/disk2/work # 3. Salvați vechiul /home sudo mkdir /mnt/home-lower sudo mount --bind /home /mnt/home-lower # 4. Montați overlay sudo mount -t overlay overlay -o lowerdir=/mnt/home-lower,upperdir=/mnt/disk2/upper,workdir=/mnt/disk2/work /home
3.3 Limitări și Probleme Potențiale
ATENȚIE: OverlayFS are limitări semnificative:
- Nu suportă rename() între straturi în unele cazuri
- Probleme cu aplicații care folosesc inotify intensiv
- Comportament neașteptat cu hard links
- Nu se recomandă pentru baze de date sau aplicații critice
4. Migrare Parțială - Symbolic Links
4.1 Concept și Aplicabilitate
Această metodă constă în mutarea selectivă a directoarelor mari pe discul nou și crearea de symbolic links către acestea.
Avantaje:
- Extrem de simplă și sigură
- Control granular asupra a ce se mută
- Transparentă pentru majoritatea aplicațiilor
- Risc minim
- Ușor de reversat
Dezavantaje:
- Nu este o soluție elegantă pentru multe directoare
- Unele aplicații pot avea probleme cu symlinks
- Necesită administrare manuală
- Nu rezolvă problema dacă toate subdirectoarele sunt mici
4.2 Implementare
# 1. Pregătiți și montați discul nou sudo mkfs.ext4 /dev/sdb1 sudo mkdir /mnt/storage sudo mount /dev/sdb1 /mnt/storage # 2. Identificați directoarele mari du -sh /home/*/* | sort -hr | head -20 # 3. Mutați directoarele mari # Exemplu: Directorul Videos al unui user sudo systemctl stop user@1000.service # opriți procesele user-ului sudo mv /home/username/Videos /mnt/storage/ sudo ln -s /mnt/storage/Videos /home/username/Videos sudo chown -h username:username /home/username/Videos # 4. Verificați ls -la /home/username/ readlink /home/username/Videos # 5. Adăugați în /etc/fstab pentru montare automată echo "UUID=$(blkid -s UUID -o value /dev/sdb1) /mnt/storage ext4 defaults 0 2" | sudo tee -a /etc/fstab # 6. Reporniți procesele user-ului sudo systemctl start user@1000.service
4.3 Cazuri de Utilizare Ideale
Această metodă este ideală pentru:
- Arhive media mari (Videos, Photos, Downloads)
- Cache-uri și directoare temporare de lucru
- Backup-uri locale
- Mașini virtuale și containere
- Proiecte de dezvoltare care ocupă mult spațiu
5. Btrfs - Filesystem cu Capabilități Avansate
5.1 Extindere Nativă cu Btrfs
Dacă utilizați Btrfs ca filesystem, acesta oferă suport nativ pentru extindere pe multiple discuri.
Distribuții care folosesc Btrfs implicit:
- Fedora 33+ (instalări Workstation)
- openSUSE Leap/Tumbleweed (toate instalările)
- SUSE Linux Enterprise (implicit)
Verificare Configurație Btrfs
# Verificați dacă folosiți Btrfs mount | grep btrfs df -hT | grep btrfs # Pentru openSUSE/SUSE - verificați subvolume-le sudo btrfs subvolume list / # Exemplu output openSUSE: # ID 256 gen 1234 top level 5 path @ # ID 257 gen 1235 top level 5 path @/home # ID 258 gen 1236 top level 5 path @/var # ID 259 gen 1237 top level 5 path @/snapshots
Extindere Btrfs Standard
# Adăugați un disc la filesystem-ul Btrfs existent sudo btrfs device add /dev/sdb /home # SAU pentru root (Fedora/openSUSE) sudo btrfs device add /dev/sdb / # Rebalanțați datele pentru distribuire optimă # ATENȚIE: Acest proces poate dura mult pe sisteme mari! sudo btrfs balance start /home # SAU balanțare parțială (recomandată pentru sisteme mari) sudo btrfs balance start -dusage=50 /home # Verificați spațiul sudo btrfs filesystem show /home sudo btrfs filesystem df /home # Verificați progresul balanțării sudo btrfs balance status /home
Specific openSUSE - Lucrul cu Subvolume
openSUSE folosește o structură complexă de subvolume pentru snapshots:
# Verificați structura subvolume-lor sudo btrfs subvolume list / # Pentru a extinde, adăugați disc la filesystem root sudo btrfs device add /dev/sdb / # Rebalanțați (snapper va crea snapshots automat) sudo btrfs balance start -dusage=30 / # Verificați configurația snapper sudo snapper -c root list sudo snapper -c home list # Limitați numărul de snapshots dacă spațiul este limitat sudo snapper -c root set-config NUMBER_LIMIT=10 sudo snapper -c home set-config NUMBER_LIMIT=5 # Curățați snapshots vechi sudo snapper -c root cleanup number
Specific Fedora - Configurare Simplă
Fedora Workstation folosește Btrfs cu subvolume mai simple:
# Verificați subvolume-le Fedora sudo btrfs subvolume list / # Typical output: # ID 256 gen 100 top level 5 path root # ID 257 gen 101 top level 5 path home # Adăugați disc nou sudo btrfs device add /dev/sdb / # Balanțare sudo btrfs balance start -dusage=50 / # Verificați sudo btrfs filesystem usage /
Avantaje Btrfs:
- Gestionare nativă multi-disc
- RAID integrat (RAID0, RAID1, RAID10)
- Snapshots și subvolume
- Compresie transparentă
- Deduplicare
Dezavantaje Btrfs:
- Complexitate în administrare
- Performanță variabilă (mai ales RAID5/6)
- Necesită cunoștințe specifice Btrfs
- Unele funcționalități încă în dezvoltare
5.2 Conversie la Btrfs (Avansat)
RISC RIDICAT: Conversia de la ext4 la Btrfs este posibilă, dar nu se recomandă pentru sisteme de producție fără backup complet și testare.
# Conversie ext4 -> Btrfs (doar pentru /home demonte) # 1. Boot de pe Live CD # 2. Verificați și reparați ext4 sudo e2fsck -f /dev/sdb1 # 3. Convertiți (IREVERSIBIL fără backup!) sudo btrfs-convert /dev/sdb1 # 4. Montați și verificați sudo mount /dev/sdb1 /mnt/test sudo btrfs filesystem show /mnt/test
6. ZFS - Enterprise-Grade Filesystem
6.1 Caracteristici și Utilizare
ZFS este un sistem de fișiere avansat cu capabilități de gestiune a volumelor integrate.
Avantaje:
- Integritate maximă a datelor (checksumming)
- Performanță excelentă cu cache ARC
- Snapshots instantanee și clone
- Compresie și deduplicare
- RAID nativ (RAIDZ, RAIDZ2, RAIDZ3)
Dezavantaje:
- Nu este în mainline kernel Linux (licență)
- Consumă multă memorie RAM
- Complexitate ridicată
- Nu se poate micșora pool-urile ușor
- Nu este ideal pentru sisteme cu resurse limitate
6.2 Extindere ZFS Pool
# Instalare ZFS sudo apt install zfsutils-linux # Creați un pool nou SAU extindeți unul existent # Pentru a extinde un pool existent: sudo zpool add tank /dev/sdb # Verificați status sudo zpool status sudo zpool list # Pentru /home, creați dataset sudo zfs create tank/home sudo zfs set mountpoint=/home tank/home
Considerații Suplimentare Specifice Distribuțiilor
Firewall și Securitate
Fedora/RHEL/CentOS/Rocky/AlmaLinux - firewalld
Dacă folosiți servicii de monitoring sau partajare pentru storage:
# firewalld este activ implicit pe RHEL/Fedora/CentOS sudo firewall-cmd --state # Pentru NFS (dacă partajați storage) sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reload # Pentru Samba (partajare Windows) sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload
Ubuntu/Debian - ufw
# ufw poate fi activ pe Ubuntu Desktop sudo ufw status # Pentru NFS sudo ufw allow from 192.168.1.0/24 to any port nfs sudo ufw allow from 192.168.1.0/24 to any port 111 # Pentru Samba sudo ufw allow samba
openSUSE - firewalld/SuSEfirewall2
# openSUSE Leap 15+ folosește firewalld sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --reload # SAU prin YaST sudo yast2 firewall
Servicii de Automount
systemd Automount (Toate Distribuțiile Moderne)
Pentru a monta discuri doar când sunt accesate:
# Creați fișier .mount sudo nano /etc/systemd/system/mnt-disk2.mount [Unit] Description=Additional Storage Disk 2 [Mount] What=/dev/disk/by-uuid/YOUR-UUID-HERE Where=/mnt/disk2 Type=ext4 Options=defaults [Install] WantedBy=multi-user.target
# Creați fișier .automount sudo nano /etc/systemd/system/mnt-disk2.automount [Unit] Description=Automount Additional Storage Disk 2 [Automount] Where=/mnt/disk2 TimeoutIdleSec=300 [Install] WantedBy=multi-user.target
# Activați automount sudo systemctl daemon-reload sudo systemctl enable mnt-disk2.automount sudo systemctl start mnt-disk2.automount
Package Manager Specific - Curățare Spațiu
Ubuntu/Debian - APT
# Curățați cache-ul de pachete sudo apt clean sudo apt autoclean # Eliminați pachete orfane sudo apt autoremove # Verificați spațiul ocupat de cache du -sh /var/cache/apt/archives/
Fedora/RHEL/CentOS - DNF/YUM
# Curățați cache DNF (Fedora, RHEL 8+) sudo dnf clean all # Eliminați pachete vechi kernel sudo dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q) # SAU pentru YUM (CentOS 7, RHEL 7) sudo yum clean all sudo package-cleanup --oldkernels --count=2 # Verificați spațiul du -sh /var/cache/dnf/ du -sh /var/cache/yum/
Arch Linux - Pacman
# Curățați cache pacman sudo pacman -Sc # SAU curățare completă (include pachete neinstalate) sudo pacman -Scc # Eliminați pachete orfane sudo pacman -Rns $(pacman -Qtdq) # Verificați spațiul du -sh /var/cache/pacman/pkg/
openSUSE - Zypper
# Curățați cache zypper sudo zypper clean --all # Eliminați pachete orfane sudo zypper packages --unneeded | grep '^i' | awk '{print $3}' | xargs sudo zypper remove --clean-deps # Verificați spațiul du -sh /var/cache/zypp/
Journal și Log Management
Toate Distribuțiile cu systemd
# Verificați dimensiunea jurnalelor sudo journalctl --disk-usage # Limitați dimensiunea jurnalelor la 500MB sudo journalctl --vacuum-size=500M # SAU păstrați doar ultimele 7 zile sudo journalctl --vacuum-time=7d # Configurare permanentă în /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf # Setați: # SystemMaxUse=500M # SystemMaxFileSize=50M # Restart journald sudo systemctl restart systemd-journald
Rotație Loguri Vechi
# Verificați dimensiunea logurilor vechi sudo du -sh /var/log/* # Forțați rotația logurilor sudo logrotate -f /etc/logrotate.conf # Curățați loguri vechi manuale (cu atenție!) sudo find /var/log -type f -name "*.log.*" -mtime +30 -delete sudo find /var/log -type f -name "*.gz" -mtime +30 -delete
Scenarii Practice Specifice Distribuțiilor
Scenariul 1: Ubuntu Server cu LVM
Context: Ubuntu 22.04 LTS Server cu LVM, /home devine plin.
# 1. Verificare configurație sudo pvs sudo vgs sudo lvs df -h # 2. Adăugare disc nou sudo pvcreate /dev/sdb sudo vgextend ubuntu-vg /dev/sdb # 3. Extindere /home cu 100GB sudo lvextend -L +100G /dev/ubuntu-vg/home # SAU tot spațiul disponibil sudo lvextend -l +100%FREE /dev/ubuntu-vg/home # 4. Resize filesystem (ext4) sudo resize2fs /dev/ubuntu-vg/home # 5. Verificare df -h /home
Scenariul 2: RHEL 9/Rocky Linux 9 cu XFS
Context: RHEL 9 Server cu LVM și XFS, se extinde / și /home.
# 1. Verificare SELinux getenforce # 2. Verificare configurație LVM sudo pvs sudo vgs sudo lvs # 3. Adăugare disc sudo pvcreate /dev/sdb # 4. Extindere volume group sudo vgextend rhel /dev/sdb # 5. Extindere root (XFS) sudo lvextend -L +50G /dev/rhel/root sudo xfs_growfs / # 6. Extindere home (XFS) sudo lvextend -L +150G /dev/rhel/home sudo xfs_growfs /home # 7. Verificare context SELinux după modificări sudo restorecon -Rv /home/ # 8. Verificare df -h sudo lvs
Scenariul 3: Fedora Workstation cu Btrfs
Context: Fedora 40 Workstation cu Btrfs, spațiu insuficient.
# 1. Verificare subvolume sudo btrfs subvolume list / # 2. Verificare spațiu actual sudo btrfs filesystem usage / # 3. Adăugare disc nou sudo btrfs device add /dev/sdb / # 4. Balanțare pentru distribuire date sudo btrfs balance start -dusage=50 / # 5. Verificare progres sudo btrfs balance status / # 6. Verificare spațiu final sudo btrfs filesystem usage / df -h
Scenariul 4: openSUSE Tumbleweed cu Snapper
Context: openSUSE cu Btrfs și snapshots Snapper ocupa mult spațiu.
# 1. Verificare snapshots sudo snapper list # 2. Verificare spațiu snapshots sudo btrfs filesystem du -s /.snapshots/* # 3. Curățare snapshots vechi sudo snapper cleanup number # 4. Limitare număr snapshots sudo snapper -c root set-config "NUMBER_LIMIT=10" sudo snapper -c root set-config "NUMBER_LIMIT_IMPORTANT=5" # 5. Ștergere snapshots specifice sudo snapper delete 100-150 # 6. Adăugare disc pentru mai mult spațiu sudo btrfs device add /dev/sdb / sudo btrfs balance start -dusage=30 / # 7. Verificare sudo btrfs filesystem usage /
Scenariul 5: Arch Linux - Configurare de la Zero
Context: Instalare nouă Arch cu planificare extindere viitoare.
# 1. Instalare LVM de la început sudo pacman -S lvm2 # 2. Configurare discuri sudo pvcreate /dev/sda2 /dev/sdb sudo vgcreate vg0 /dev/sda2 /dev/sdb # 3. Creare logical volumes sudo lvcreate -L 50G vg0 -n root sudo lvcreate -L 200G vg0 -n home sudo lvcreate -L 16G vg0 -n swap # 4. Formatare sudo mkfs.ext4 /dev/vg0/root sudo mkfs.ext4 /dev/vg0/home sudo mkswap /dev/vg0/swap # 5. Montare pentru instalare mount /dev/vg0/root /mnt mkdir /mnt/home mount /dev/vg0/home /mnt/home swapon /dev/vg0/swap # 6. După instalare, actualizați /etc/mkinitcpio.conf # Adăugați 'lvm2' în HOOKS sudo nano /etc/mkinitcpio.conf # HOOKS=(base udev ... block lvm2 filesystems) # 7. Regenerați initramfs sudo mkinitcpio -P
Comparație între Metode
| Metodă | Complexitate | Risc | Performanță | Flexibilitate | Recomandat pentru | Distribuții Ideale |
|---|---|---|---|---|---|---|
| LVM | Medie-Mare | Mediu | Excelentă | Foarte mare | Sisteme cu LVM existent, servere | RHEL/CentOS/Rocky/AlmaLinux, Debian Server, Ubuntu Server |
| mergerfs | Mică | Foarte mic | Bună | Mare | Sisteme desktop, media servers | Ubuntu/Debian/Mint, Arch Linux |
| OverlayFS | Medie | Mic | Excelentă | Medie | Containere, sisteme embedded | Toate (integrat în kernel) |
| Symlinks | Foarte mică | Foarte mic | Nativă | Mică | Soluții rapide, directoare specifice | Toate distribuțiile |
| Btrfs | Mare | Mediu | Bună | Foarte mare | Utilizatori avansați, workstation-uri | Fedora 33+, openSUSE, SUSE Linux Enterprise |
| ZFS | Foarte mare | Mediu | Excelentă | Foarte mare | Servere, storage profesional | Ubuntu (ZFS native), Proxmox, TrueNAS |
Recomandări pe Distribuții
| Distribuție | Metodă Recomandată | Motivație |
|---|---|---|
| Ubuntu/Debian Desktop | mergerfs sau LVM | Simplitate și flexibilitate |
| Ubuntu/Debian Server | LVM | Gestionare profesională, snapshots cu LVM thin |
| Fedora Workstation | Btrfs native | Deja configurat, suport excelent |
| RHEL/CentOS/Rocky/AlmaLinux | LVM | Implicit configurat, standard enterprise |
| Arch Linux | LVM sau mergerfs | Libertate de alegere, documentație excelentă |
| openSUSE | Btrfs native | Deja configurat cu snapper, performanță optimă |
| Gentoo | LVM | Control complet, optimizare maximă |
| Proxmox/TrueNAS | ZFS | Storage enterprise, integritate date |
Probleme Potențiale și Soluționare
1. Probleme cu Permisiunile
După migrare sau extindere, pot apărea probleme cu permisiunile:
# Verificați permisiunile ls -la /home/ # Restaurați permisiunile corecte pentru /home sudo chmod 755 /home sudo chmod 700 /home/* # Restaurați ownership-ul sudo chown -R username:username /home/username/ # Pentru SELinux (RHEL/Fedora/CentOS) - IMPORTANT! # Verificați dacă SELinux este activ getenforce # Restaurați contextele SELinux sudo restorecon -Rv /home/ # SAU pentru directoare noi pe discuri adiționale sudo semanage fcontext -a -e /home /mnt/disk2 sudo restorecon -Rv /mnt/disk2/ # Pentru a permite FUSE cu SELinux (mergerfs) sudo setsebool -P use_fusefs_home_dirs 1 # Verificați contextele SELinux ls -laZ /home/
Specific Fedora/RHEL/CentOS: Configurare SELinux pentru Discuri Noi
# Dacă discul nou va fi folosit pentru /home sudo semanage fcontext -a -t home_root_t "/mnt/disk2(/.*)?" sudo restorecon -Rv /mnt/disk2 # Pentru director de date generic sudo semanage fcontext -a -t user_home_t "/mnt/disk2(/.*)?" sudo restorecon -Rv /mnt/disk2 # Verificați și rezolvați problemele SELinux sudo ausearch -m AVC -ts recent sudo audit2allow -a # generează politici pentru probleme găsite
2. Probleme de Montare la Boot
Dacă sistemul nu montează corect discurile la boot:
# Verificați /etc/fstab pentru erori de sintaxă sudo mount -a # Folosiți UUID în loc de /dev/sdX (mai stabil) sudo blkid /dev/sdb1 # Apoi actualizați /etc/fstab cu UUID # Verificați ordinea de montare (discurile trebuie montate înaintea mergerfs/overlay) # Adăugați dependențe systemd dacă este necesar: # x-systemd.requires=/mnt/disk2
3. Performanță Scăzută
Dacă observați performanță scăzută după extindere:
# Testați performanța discurilor sudo hdparm -Tt /dev/sdb sudo fio --name=seqread --rw=read --bs=1M --size=1G --filename=/home/testfile # Pentru mergerfs, ajustați cache și politici # Adăugați opțiuni în fstab: # cache.files=auto-full,dropcacheonclose=true,cache.statfs=true # Pentru LVM, verificați alignment-ul sudo pvs -o+pe_start # Pentru Btrfs, rebalansați sudo btrfs balance start -dusage=50 /home
4. Spațiu Insuficient După Extindere
Dacă după extindere spațiul nu apare:
# Pentru LVM - verificați că ați redimensionat filesystem-ul df -h # arată spațiul filesystem sudo lvs # arată spațiul LV # Dacă LV este mai mare decât filesystem, redimensionați: sudo resize2fs /dev/vg/lv # pentru ext4 sudo xfs_growfs /mount/point # pentru XFS # Pentru mergerfs - verificați politicile de plasare # S-ar putea ca fișierele noi să nu se plaseze pe discul nou # Verificați cu: df -h /home ls -la /mnt/disk2/
5. Erori I/O și Corupție de Date
# Verificați S.M.A.R.T. status pentru discuri sudo smartctl -a /dev/sdb # Verificați kernel logs pentru erori sudo dmesg | grep -i error sudo journalctl -b | grep -i "i/o error" # Rulați fsck pe partiții (doar dacă sunt demontate!) # Boot de pe Live CD/USB sudo e2fsck -f -v /dev/sdb1 # Pentru Btrfs sudo btrfs scrub start /home sudo btrfs scrub status /home
6. Probleme Specifice mergerfs
# mergerfs nu pornește la boot # Verificați că discurile sursă sunt montate înainte de mergerfs # Adăugați în /etc/fstab: # x-systemd.requires=/mnt/disk1:/mnt/disk2 # Fișierele nu se distribuie corect # Verificați politica de creare: mount | grep mergerfs # Schimbați politica dacă e necesar # Performanță lentă cu multe fișiere mici # Activați cache-ul: # cache.files=auto-full,cache.entry=true,cache.negative_entry=true
7. Probleme cu UUID Duplicate
Dacă ați clonat discuri:
# Generați UUID nou pentru partiție sudo tune2fs /dev/sdb1 -U random # Sau pentru XFS sudo xfs_admin -U generate /dev/sdb1 # Actualizați /etc/fstab cu noul UUID
Best Practices și Recomandări
1. Planificare și Documentare
- Documentați configurația actuală înainte de modificări
- Testați pe sistem de test sau VM înainte de producție
- Creați un plan de rollback
- Notați toate UUID-urile și mount point-urile
2. Backup și Recuperare
- Backup complet înainte de orice modificare
- Testați restaurarea backup-ului
- Păstrați un Live CD/USB bootabil pregătit
- Configurați backup-uri automate după extindere
3. Monitorizare și Întreținere
# Monitorizați spațiul disponibil df -h | grep -E "home|root" # Monitorizați S.M.A.R.T. sudo smartctl -a /dev/sdb | grep -E "Health|Error" # Pentru LVM, monitorizați PE usage sudo vgs sudo lvs -o+lv_layout,stripes # Configurați alerte pentru spațiu limitat # Adăugați în crontab: # 0 */6 * * * /usr/local/bin/check-disk-space.sh
Script exemplu pentru monitorizare:
#!/bin/bash # /usr/local/bin/check-disk-space.sh THRESHOLD=90 USAGE=$(df -h /home | tail -1 | awk '{print $5}' | sed 's/%//') if [ $USAGE -gt $THRESHOLD ]; then echo "WARNING: /home is ${USAGE}% full!" | mail -s "Disk Space Alert" admin@example.com fi
4. Optimizări de Performanță
# Pentru SSD-uri, activați TRIM sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer # Pentru discuri mecanice, ajustați scheduler-ul I/O echo "deadline" | sudo tee /sys/block/sdb/queue/scheduler # Pentru Btrfs, activați compresie sudo btrfs property set /home compression zstd # Pentru ext4, activați journal commit optimization # În /etc/fstab: defaults,noatime,commit=60
5. Securitate
# Criptați discurile noi cu LUKS sudo cryptsetup luksFormat /dev/sdb1 sudo cryptsetup open /dev/sdb1 encrypted_disk sudo mkfs.ext4 /dev/mapper/encrypted_disk # Configurați montarea automată în /etc/crypttab # encrypted_disk UUID=xxx none luks,discard
Scenarii Practice și Exemple
Scenariul 1: Desktop cu /home plin - Soluție mergerfs
Context: Utilizator desktop cu partiție /home de 500GB plină, adaugă un HDD de 2TB.
# 1. Pregătire disc sudo fdisk /dev/sdb # Creați partiție primară completă sudo mkfs.ext4 /dev/sdb1 # 2. Montare disc adițional sudo mkdir /mnt/home-extra echo "UUID=$(blkid -s UUID -o value /dev/sdb1) /mnt/home-extra ext4 defaults 0 2" | sudo tee -a /etc/fstab sudo mount /mnt/home-extra # 3. Instalare și configurare mergerfs sudo apt install mergerfs # 4. Backup configurație /home sudo cp /etc/fstab /etc/fstab.backup # 5. Creare mount point pentru vechiul /home sudo mkdir /mnt/home-disk1 # Editați /etc/fstab - mutați linia /home la /mnt/home-disk1 # 6. Configurare mergerfs în /etc/fstab # Adăugați: # /mnt/home-disk1:/mnt/home-extra /home fuse.mergerfs allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=50G,cache.files=auto-full 0 0 # 7. Reboot și verificare sudo reboot # După reboot: df -h /home mount | grep mergerfs
Scenariul 2: Server cu LVM - Adăugare SSD pentru cache
Context: Server cu /home pe HDD, se adaugă SSD pentru performanță.
# 1. Creați PV pe SSD sudo pvcreate /dev/nvme0n1 # 2. Extindeți VG sudo vgextend vg_data /dev/nvme0n1 # 3. Creați LV cu stripe pe ambele discuri pentru performanță sudo lvcreate -L 200G -n lv_fast -i 2 vg_data # SAU folosiți lvmcache pentru cache tier sudo lvcreate -L 50G -n cache_pool vg_data /dev/nvme0n1 sudo lvcreate -L 10G -n cache_meta vg_data /dev/nvme0n1 sudo lvconvert --type cache-pool --poolmetadata vg_data/cache_meta vg_data/cache_pool sudo lvconvert --type cache --cachepool vg_data/cache_pool vg_data/lv_home # 4. Verificați performanța sudo lvs -a -o +devices,cache_mode
Scenariul 3: Media Server - Directoare separate
Context: Plex/Jellyfin media server cu biblioteci mari pe discuri diferite.
# 1. Montați discurile individual sudo mkdir -p /mnt/{movies,tvshows,music} # În /etc/fstab: # UUID=xxx /mnt/movies ext4 defaults 0 2 # UUID=yyy /mnt/tvshows ext4 defaults 0 2 # UUID=zzz /mnt/music ext4 defaults 0 2 # 2. Creați symbolic links în /home/media sudo mkdir -p /home/media sudo ln -s /mnt/movies /home/media/Movies sudo ln -s /mnt/tvshows /home/media/TVShows sudo ln -s /mnt/music /home/media/Music # 3. Configurați permisiunile pentru Plex sudo chown -R plex:plex /mnt/{movies,tvshows,music} sudo chmod -R 755 /mnt/{movies,tvshows,music} # SAU folosiți mergerfs pentru unificare: # /mnt/movies:/mnt/tvshows:/mnt/music /home/media fuse.mergerfs allow_other,use_ino,category.create=epmfs,cache.files=auto-full 0 0
Concluzie
Extinderea partițiilor / și /home pe discuri adiționale în Linux poate fi realizată prin multiple metode, fiecare cu avantajele și dezavantajele sale:
- LVM - Ideal pentru servere și sisteme care necesită flexibilitate maximă (RHEL/CentOS/Rocky/AlmaLinux implicit)
- mergerfs - Excelent pentru desktop și media servers, echilibru între simplitate și funcționalitate (Ubuntu/Debian/Arch)
- OverlayFS - Potrivit pentru containere și sisteme cu straturi read-only (toate distribuțiile)
- Symbolic Links - Soluție rapidă și sigură pentru cazuri simple (universal)
- Btrfs - Pentru utilizatori avansați care doresc funcționalități enterprise (Fedora 33+, openSUSE implicit)
- ZFS - Storage enterprise cu integritate maximă (Ubuntu, Proxmox, TrueNAS)
Alegerea Metodei în Funcție de Distribuție
| Distribuție | Configurație Implicită | Metodă Recomandată | Alternative |
|---|---|---|---|
| Ubuntu/Debian Desktop | ext4, fără LVM | mergerfs, Symlinks | LVM (necesită reinstalare) |
| Ubuntu/Debian Server | LVM cu ext4 | LVM | Btrfs, ZFS |
| Fedora Workstation 33+ | Btrfs cu subvolume | Btrfs native | mergerfs pentru simplicitate |
| Fedora Server | LVM cu XFS | LVM | Btrfs |
| RHEL/CentOS/Rocky/AlmaLinux | LVM cu XFS | LVM | Stratis (RHEL 8+) |
| Arch Linux | Configurare manuală | LVM sau mergerfs | Btrfs, ZFS (libertate totală) |
| openSUSE | Btrfs cu snapper | Btrfs native | LVM pentru servere |
| Gentoo | Configurare manuală | LVM | Orice (compilare personalizată) |
Factori de Decizie
Alegerea metodei potrivite depinde de:
1. Distribuția utilizată:
- RHEL/CentOS/Rocky/AlmaLinux → LVM (deja configurat, XFS)
- Fedora 33+ Workstation → Btrfs (implicit, snapshots)
- openSUSE → Btrfs (snapper integrat)
- Ubuntu/Debian Desktop → mergerfs (simplitate) sau LVM (server)
- Arch Linux → Orice (libertate completă)
2. Nivelul de experiență:
- Începător → Symlinks sau mergerfs
- Intermediar → LVM sau Btrfs
- Avansat → ZFS sau configurări complexe LVM
3. Cerințele de performanță:
- Performanță maximă → LVM sau ZFS
- Echilibru → Btrfs sau mergerfs
- Simplitate > performanță → Symlinks
4. Filesystem existent:
- ext4 → LVM sau mergerfs (compatibil)
- XFS → LVM (nu se poate micșora!)
- Btrfs → Extindere nativă Btrfs
- ZFS → Extindere nativă ZFS
5. Funcționalități speciale:
- Snapshots → LVM thin, Btrfs, ZFS
- Compresie → Btrfs, ZFS
- Deduplicare → ZFS
- RAID software → Btrfs, ZFS, mdadm + LVM
Considerații Importante pe Distribuție
RHEL/CentOS/Rocky/AlmaLinux:
- ⚠️ SELinux trebuie configurat corect pentru discuri noi
- ⚠️ XFS nu se poate micșora, doar extinde
- ✅ LVM este deja configurat în majoritatea instalărilor
- ✅ Suport enterprise și documentație excelentă
Fedora:
- ✅ Btrfs implicit din versiunea 33 (Workstation)
- ✅ Suport excelent pentru tehnologii noi
- ⚠️ Schimbări rapide între versiuni (6 luni ciclu)
Ubuntu/Debian:
- ✅ Stabilitate și predictibilitate (LTS 5 ani)
- ✅ Compatibilitate excelentă cu majoritatea tool-urilor
- ⚠️ LVM nu este implicit pe Desktop
openSUSE:
- ✅ Btrfs cu snapper (snapshots automate) implicit
- ✅ YaST pentru management grafic
- ✅ Foarte stabil (Leap) sau cutting-edge (Tumbleweed)
Arch Linux:
- ✅ Libertate completă de configurare
- ✅ Documentație ArchWiki excepțională
- ⚠️ Necesită cunoștințe tehnice pentru instalare
ATENȚIE FINALĂ: Indiferent de distribuție sau metoda aleasă, backup-ul complet și verificat este obligatoriu înainte de orice modificare a structurii de stocare!
Referințe și Resurse Suplimentare
Documentație Generală
- man lvextend - Manual LVM
- man fstab - Manual /etc/fstab
- man mount - Manual mount
Documentație Specifică Distribuțiilor
Ubuntu/Debian
Fedora/RHEL/CentOS
Arch Linux
openSUSE/SUSE
Gentoo
Comunitate și Suport
Forumuri și Chat
- Ask Ubuntu - Q&A Ubuntu
- Unix & Linux StackExchange - Q&A general Linux
- r/linuxadmin - Reddit Linux Administration
IRC/Matrix
#ubuntupe Libera.Chat#fedorape Libera.Chat#rhelpe Libera.Chat#archlinuxpe Libera.Chat#opensusepe Libera.Chat#btrfspe Libera.Chat#lvmpe OFTC