AutoNAS este un sistem inteligent pentru montarea automată a diskurilor externe cu configurarea IP-urilor, exporturilor NFS și arhitectura revoluționară Background Import pentru import scalabil de camere digitale. Sistemul detectează automat conectarea diskurilor USB/SATA externe, le montează, configurează IP-uri pe interfețe de rețea și exportă conținutul prin NFS.
autonas pentru toate operațiunileautonas vizibilă în autocomplete/usr/local/lib/xdev/autonas/autonas <command> [options]
Doar comanda autonas apare în autocomplete - toate scripturile interne sunt ascunse
# Operațiuni Diskuri
autonas attach <uuid|name|mount_point> # Montează disk automat
autonas detach <uuid|name|mount_point> # Demontează disk
autonas list # Listează diskurile configurate
# Management Configurații
autonas add [uuid] # Adaugă configurație nouă
autonas show # Afișează toate device-urile detectate
autonas status # Status sistem complet
# Utilități
autonas --help # Ajutor complet
autonas în autocomplete/usr/local/lib/xdev/autonas/AutoNAS este destinat exclusiv pentru instalare pe cluster de servere prin sistemul de deploy remote:
# Clonează repository-ul
git clone <repository-url> autoNAS
cd autoNAS
AutoNAS folosește exclusiv deploy remote pentru instalarea și managementul pe nodurile cluster-ului:
# Instalare completă pe toate serverele (192.168.2.91-93)
./deploy.sh install
# Dezinstalare completă de pe toate serverele
./deploy.sh uninstall
# Instalare doar pe server specific
./deploy.sh install 192.168.2.91
# Management servicii
./deploy.sh start # Pornește serviciile
./deploy.sh restart # Restartează serviciile
./deploy.sh stop # Oprește serviciile
./deploy.sh status # Verifică statusul
AutoNAS este aliniat la layout-ul comun xdev, cu două excepții deliberate:
- configul cluster-shared rămâne în /etc/pve/autonas
- mount points și datele montate rămân în /mnt/autonas
Layout instalat pe host:
- comandă operator: /usr/local/sbin/autonas
- runtime intern: /usr/local/lib/xdev/autonas
- uninstall canonic: /usr/local/lib/xdev/autonas/uninstall.sh
- wrapper uninstall: /usr/local/sbin/xdev-autonas-uninstall
- defaults: /etc/default/xdev-autonas
- docs: /usr/local/share/doc/xdev/autonas
Observație operațională:
- autonas.service și autonas-boot-scan.service rămân intenționat ordonate înainte de remote-fs.target și umount.target, pentru ca exporturile NFS locale să nu dispară înainte ca mount-urile Proxmox dependente să se demonteze la shutdown
- pentru mount-urile Proxmox self-hosted, installerul generează și un drop-in nfs-server.service.d/50-autonas-self-hosted-proxmox.conf care adaugă ordering explicit față de unitățile mnt-pve-*.mount identificate din storage.cfg; contextul complet este urmărit în issue-ul de cluster ISSUE-2026-002
Metoda standard pentru install/uninstall pe un singur nod:
sudo ./setup.sh --local
sudo ./setup.sh 192.168.2.91
sudo ./setup.sh --uninstall 192.168.2.91
./deploy.sh status./deploy.sh installautonas add <uuid> # Selectează [1] - NFS share complet
autonas add <uuid> # Selectează [2] - Montare locală
autonas add <uuid> # Selectează [3] - Import cameră
*(rw,all_squash,insecure,async,no_subtree_check,anonuid=0,anongid=0)
# 1. Detectează UUID-ul diskului conectat
autonas show
# 2. Configurează diskul (interactiv)
autonas add <uuid>
# 3. Verifică statusul
autonas list
autonas status
# 4. Monitorizează log-urile
journalctl -t autonas -f
# Conectează diskul și detectează UUID
$ autonas show
Available storage devices:
[1] /dev/sdb1 → UUID: 920fe1b7-4091-4d6a-bab8-2f48d8d704bc (ext4, 1.8TB)
# Configurează pentru NFS
$ sudo autonas add 920fe1b7-4091-4d6a-bab8-2f48d8d704bc
Input name: backup-disk
Configuration type: [1] NFS share complet
Input IP: 192.168.10.25
Input interface: thunderbridge
✓ Configuration added and disk mounted!
# Verifică rezultatul
$ autonas list
Configured disks:
[1] backup-disk (920fe1b7-4091-4d6a-bab8-2f48d8d704bc) → NFS: 192.168.10.25
AutoNAS v3.0 introduce arhitectura revoluționară Background Import pentru import automat scalabil de camere digitale:
# Configurează camera pentru import automat
autonas add <camera-uuid>
# Selectează [3] - Import cameră automat
# Setează destinația: /mnt/storage/photos
journalctl -t autonas -f # Monitorizează log-urile
autonas show # Verifică device-urile detectate
udevadm monitor --subsystem-match=block # Debug udev
autonas status # Verifică configurația
showmount -e localhost # Verifică export-urile
systemctl status nfs-kernel-server
autonas list # Verifică configurațiile
autonas test <uuid|name|mount_point> # Testează configurația specifică
mount | grep autonas # Verifică mount-urile active
/usr/local/sbin/
└── autonas # Singura comandă vizibilă utilizatorului
/usr/local/lib/xdev/autonas/
├── autonas-core.sh # Biblioteca centrală
├── autonas-boot-scan.sh # Scanner la bootare
├── autonas-disk-handler.sh # Handler evenimente disk
├── autonas-media-importer.sh # Importer automat media
├── autonas-network-handler.sh # Handler evenimente rețea
├── autonas-udev-wrapper.sh # Wrapper pentru udev
└── uninstall.sh # Uninstaller sistem
autonas-core.shautonasautonas în autocompletesudoautonas vizibil - toate utilitarele în /usr/local/lib/xdev/autonas/AutoNAS v3.0 - Clean Command Interface pentru Montare Automată 🚀
Doar comanda autonas vizibilă - interfață profesională și curată
AutoNAS v3.0 introduce arhitectura revoluționară Background Import pentru import automat scalabil de camere digitale cu workflow complet mount → import → unmount.
/dev/mmcblkNpMUUID:NAME:IMPORT:IMPORT:MOUNT_POINT:DESTINATION_PATH
Exemplu configurație:
1234-5678:camera-garmin:IMPORT:IMPORT:/mnt/autonas/camera-garmin:/mnt/storage/photos
766C-1A0F:gopro-sd:IMPORT:IMPORT:/mnt/autonas/gopro-sd:/mnt/autonas/ext01/@Camera/gopro
run_background_import() processAvantaje Arhitectură Background: - ✅ Scalabilitate infinită - Nu există timeout-uri systemd pentru import - ✅ Robustețe - Service separation previne crash-uri în mount operations - ✅ Monitorizare - Log-uri separate pentru fiecare etapă - ✅ Production Ready - Testat cu 302 fișiere, import complet în 36 minute
# Adaugă configurație pentru cameră
autonas-config.sh add
# Selectează UUID-ul camerei
# Input UUID: 1234-5678
# Selectează tipul de configurare
# [3] - Import cameră automat
# Setează numele camerei
# Input name: camera-garmin
# Setează destinația pentru import
# Input destination: /mnt/storage/photos
# Script personalizat (opțional, default: autonas-camera-import.sh)
# Input script: [ENTER pentru default]
Poți crea propriul script de import:
#!/bin/bash
# /usr/local/bin/my-camera-import.sh
MOUNT_POINT="$1"
DESTINATION="$2"
DISK_NAME="$3"
# Exemplu: Import specific pentru Canon
find "$MOUNT_POINT" -name "*.CR3" -exec cp {} "$DESTINATION/RAW/" \;
find "$MOUNT_POINT" -name "*.JPG" -exec cp {} "$DESTINATION/JPEG/" \;
echo "Import completed for $DISK_NAME"
exit 0
# Listează configurațiile
autonas-config.sh list
# Testează configurația IMPORT
autonas-config.sh test camera-uuid
# Monitorizează log-urile
journalctl -t autonas -f
Script-ul default oferă: - Auto-detectare structuri DCIM, PRIVATE, MP_ROOT - EXIF processing cu exiftool pentru date precise - Organizare automată în foldere YYYY-MM-DD - Redenumire intelligentă cu timestamp-uri - Multiple opțiuni: --dry-run, --verbose, --limit N - Error handling robust cu logging detaliat
# Manual import test
autonas-camera-import.sh /mnt/camera /dest/path camera-name --dry-run --verbose
AutoNAS v3.0 - Clean Command Interface pentru Montare Automată 🚀
Doar comanda autonas vizibilă - interfață profesională și curată
Dezvoltat pentru ecosistemul Proxmox/Debian cu focus pe automatizare și siguranța datelor