🖥️ Storage Systems — Chapitre 7 : DAS, Direct Attached Storage
Le DAS est le stockage directement attaché à un serveur : disques internes, cages JBOD, SSD NVMe locaux, cartes RAID, HBA SAS, shelves externes, stockage local d'hyperviseur, base de données locale, serveur dédié, appliance edge ou nœud d'un cluster distribué. Ce chapitre explique quand le DAS est excellent, quand il devient dangereux, et comment l'exploiter proprement en datacenter.
Définition du DAS
Disques attachés directement à un serveur : interne, externe, SAS, SATA, NVMe, USB, Thunderbolt ou PCIe.
LocalServer-attachedBlockUsages modernes
Serveur dédié, base locale, hyperviseur standalone, cache, edge, backup local, nœud Ceph ou Kubernetes local PV.
DBHypervisorEdgeAvantages
Simplicité, faible latence, coût réduit, contrôle complet du serveur, performances prévisibles, isolation physique.
LatencySimpleCostLimites
Pas de partage natif, HA complexe, mobilité des VM limitée, capacité liée au serveur, maintenance plus risquée.
No sharingHAScale-upArchitectures DAS
Backplane interne, contrôleur RAID, HBA IT mode, JBOD externe, shelves SAS, NVMe direct, tri-mode controllers.
HBAJBODBackplaneInterfaces DAS
SATA, SAS, NVMe PCIe, U.2/U.3, M.2, EDSFF, USB, Thunderbolt : usages et limites concrètes.
SASNVMePCIeDAS + RAID
RAID matériel, mdadm, ZFS mirror/RAID-Z, Storage Spaces, caches, BBU, hot spare, rebuild local.
RAIDZFSRebuildPerformance
Latence locale, queue depth, NUMA, PCIe lanes, IOPS NVMe, débit séquentiel, saturation CPU/IRQ.
IOPSNUMAPCIe lanesHaute disponibilité
Pourquoi le DAS ne fournit pas de HA natif, et comment compenser : réplication, clustering applicatif, DRBD, vSAN, Ceph.
HA gapReplicationFailoverDAS pour bases de données
PostgreSQL, MySQL, Oracle, SQL Server : WAL/redo, fsync, PLP, latence, séparation data/log/temp.
DBWALfsyncDAS et virtualisation
ESXi standalone, Proxmox local storage, Hyper-V local, VM migration, backup, snapshots et risques d'hôte unique.
VMProxmoxESXiEdge, appliance, cloud local
Sites distants, retail, usine, caméra, gateway, cache CDN, IA locale, appliances backup avec stockage attaché.
EdgeRemote siteApplianceSécurité et chiffrement
SED, LUKS, BitLocker, TPM, Secure Boot, effacement, vol de serveur, chaîne de confiance et clés.
EncryptionTPMSanitizeExploitation
Inventaire, monitoring SMART, contrôleurs, firmwares, température, câbles, slots, pièces de rechange et documentation.
SMARTFirmwareSparesDAS vs NAS vs SAN
Matrice de décision pour choisir stockage local, partage fichiers, block storage réseau ou stockage distribué.
DecisionNASSANBenchmark & sizing
fio, iostat, nvme-cli, smartctl, queue depth, latency percentiles, tests destructifs/non destructifs.
fioiostatp99Checklist production
Préproduction : RAID, backup, monitoring, spare, chiffrement, test restore, procédure remplacement disque.
Prod-readyAuditRunbookDéfinition opérationnelle
Le DAS désigne tout stockage directement attaché à un serveur sans passer par un réseau de stockage partagé. Le serveur voit les disques comme des périphériques locaux : SATA, SAS, NVMe, USB, Thunderbolt ou PCIe. L'application consomme ensuite ces périphériques via un filesystem, un volume logique, un RAID ou un moteur de stockage intégré.
Vue simplifiée
| Forme | Description | Usage type | Risque |
|---|---|---|---|
| Internal DAS | Disques dans le châssis serveur. | OS, DB locale, VM locales. | Capacité limitée par baies internes. |
| External DAS | Shelf SAS/JBOD attaché au serveur. | Backup local, archive, gros serveur fichiers local. | Câbles, contrôleur, multipath selon shelf. |
| NVMe direct | SSD PCIe/U.2/U.3/EDSFF. | DB, cache, IA, analytics. | Lanes PCIe, cooling, PLP. |
| USB/Thunderbolt | Boîtiers externes workstation. | Backup local, vidéo. | Moins adapté prod serveur critique. |
NAS = stockage fichier partagé sur réseau
SAN = stockage bloc partagé sur réseau
Object = API objet, souvent distribué
- Serveur PostgreSQL avec SSD NVMe locaux.
- Hyperviseur Proxmox standalone avec ZFS mirror local.
- Serveur backup avec shelf SAS 12 × HDD en RAID 6.
- Nœud Ceph avec disques locaux, mais cluster partagé au-dessus.
| Composant | DAS courant | Bonne pratique |
|---|---|---|
| OS | RAID 1 SSD/SATA/NVMe | Séparer boot et données si possible. |
| Données applicatives | RAID 10 / RAID 6 / ZFS | Adapter au profil E/S. |
| Logs | Volume local rapide | Exporter aussi vers syslog/SIEM. |
| Backup local | HDD capacity RAID 6 | Ne jamais garder seul backup sur même serveur. |
Base de données locale
Le DAS est excellent pour les bases quand on recherche une latence faible et prévisible. Le stockage local évite réseau SAN/NAS, mais impose une stratégie HA applicative : réplication DB, standby, sauvegarde PITR, failover documenté.
- PostgreSQL : WAL sur SSD fiable avec PLP.
- MySQL/MariaDB : redo/binlog sur média rapide.
- Oracle : ASM local possible, mais HA à concevoir.
Layout conceptuel DB
DAS est très utilisé dans les petits environnements virtualisés : ESXi local datastore, Proxmox ZFS local, Hyper-V local. C'est simple et performant, mais la mobilité live des VM et la HA automatique sont limitées sans couche partagée ou distribuée.
| Plateforme | DAS typique | Point de vigilance |
|---|---|---|
| Proxmox | ZFS/LVM-thin local | Backup vzdump ou PBS obligatoire. |
| ESXi | Datastore VMFS local | Pas de vMotion storage partagé natif. |
| Hyper-V | NTFS/ReFS local | Cluster HA demande stockage partagé ou S2D. |
- Cache CDN local sur NVMe.
- Scratch IA/ML ou rendu vidéo.
- TempDB SQL Server sur SSD local.
- Cache de build CI/CD.
- Zone de staging ETL avant chargement data warehouse.
Ceph, MinIO, Cassandra, Elasticsearch, Kafka ou Kubernetes Local Persistent Volumes consomment souvent des disques DAS. Le partage et la résilience ne sont plus fournis par le disque local, mais par le cluster logiciel au-dessus.
Moins de couches réseau.
Très faible latence si CPU/PCIe suivent.
Moins de contention inter-hôtes.
iostat, nvme-cli, smartctl sur l'hôte.
| Élément | DAS | Stockage partagé |
|---|---|---|
| Matériel | Disques + contrôleur serveur | Baie, switches, HBA réseau, licences |
| Compétences | Admin serveur classique | Compétences SAN/NAS dédiées |
| Scalabilité | Scale-up par serveur | Scale-out/centralisé selon solution |
| HA | À construire au-dessus | Souvent intégrée côté baie/cluster |
- Choix complet du filesystem : XFS, ext4, ZFS, NTFS, ReFS.
- Choix du RAID : matériel, mdadm, ZFS, Storage Spaces.
- Contrôle fin kernel : scheduler, queue depth, read-ahead.
- Maintenance isolée par serveur.
- Benchmark local plus facile à interpréter qu'un SAN partagé saturé.
Un serveur avec DAS ne subit pas directement la charge E/S d'autres hôtes sur une baie commune. Cette isolation est précieuse pour appliances, bases critiques autonomes, ou environnements edge.
| Besoin | DAS seul | Solution complémentaire |
|---|---|---|
| Partager fichiers | Non | Exporter via NFS/SMB ou utiliser NAS. |
| Datastore VM partagé | Non | SAN, NFS datastore, vSAN/Ceph. |
| Failover immédiat DB | Non | Réplication DB, cluster, DRBD. |
| Limite | Symptôme | Réponse possible |
|---|---|---|
| Bays limitées | Plus de slots disques | JBOD externe, serveur dense, stockage réseau. |
| Lanes PCIe | NVMe bridés | Vérifier topology CPU/PCIe/switch. |
| Cooling | Throttling SSD/HDD | Airflow, chassis adapté, monitoring temp. |
| Capacité par hôte | Données dispersées | SDS, NAS, object storage. |
- Chaque serveur a son propre stockage à inventorier.
- Les remplacements disques sont moins centralisés.
- Les firmwares peuvent diverger.
- La capacité inutilisée est piégée localement si non agrégée.
- Le backup doit couvrir chaque hôte.
DAS interne serveur
- Backplane connecté au contrôleur RAID/HBA ou directement PCIe pour NVMe.
- Câblage court, faible latence, faible complexité.
- Limité par format serveur : 1U/2U/4U, nombre de baies, thermique.
| Très grande capacité attachée à un serveur. | Serveur toujours point d'accès unique. |
| Bon pour backup/archive locale. | Câbles et expandeurs deviennent critiques. |
| Mode | Le serveur voit | Approprié pour |
|---|---|---|
| RAID controller | Volumes logiques | Windows, ESXi, appliances classiques |
| HBA IT mode | Chaque disque individuellement | ZFS, Ceph, mdadm, SDS |
| NVMe direct | Namespaces NVMe | Performance extrême |
- Les disques passent-ils par le même expandeur/backplane ?
- Le contrôleur est-il single point of failure ?
- Le serveur a-t-il assez de lanes PCIe ?
- Le monitoring sait-il mapper /dev/sdX vers slot physique ?
| Interface | Force | Limite | Usage DAS |
|---|---|---|---|
| SATA | Coût, compatibilité | Pas dual-port | HDD/SSD simples |
| SAS | Dual-port, expandeurs | Plus cher | Serveurs, shelves |
| NVMe PCIe | Latence et IOPS | Lanes, cooling | DB, cache, IA |
| USB/Thunderbolt | Simple/rapide workstation | Moins serveur critique | Backup, vidéo, lab |
- Dual-port et expandeurs.
- Gestion enterprise : LED slot, enclosure services.
- Très adapté aux shelves externes.
PCIe direct.
Files parallèles.
Lanes, bifurcation, NUMA.
Throttling possible.
nvme list nvme smart-log /dev/nvme0 lspci -tv
| Contexte | Acceptable | Dangereux |
|---|---|---|
| Poste vidéo | Thunderbolt RAID rapide | Pas de backup externe |
| Backup ponctuel | USB disque externe | Backup unique branché en permanence |
| Serveur prod | Usage temporaire contrôlé | Volume critique permanent sur USB consumer |
| Niveau | DAS recommandé pour | Commentaire |
|---|---|---|
| RAID 1 | OS, petits serveurs | Simplicité et recovery facile. |
| RAID 6 | HDD capacité, backup local | Bon compromis capacité/sécurité. |
| RAID 10 | DB, VM, workloads mixtes | Excellent en latence et rebuild. |
| ZFS mirror/RAID-Z | NAS, backup, données critiques | Checksums et scrub. |
DAS + HBA IT mode est une combinaison fréquente pour ZFS : le serveur voit chaque disque, ZFS gère redondance, checksums, scrub, compression, snapshots et resilver.
zpool create tank mirror /dev/disk/by-id/disk1 /dev/disk/by-id/disk2 zpool status tank zpool scrub tank
- Write-back contrôleur seulement si BBU/supercap OK.
- SSD enterprise avec PLP pour bases et VM critiques.
- UPS utile, mais ne remplace pas PLP/BBU.
- Limiter les jobs batch.
- Surveiller température et erreurs.
- Vérifier backup avant remplacement.
| avg latency | Vue moyenne, souvent trompeuse seule. |
| p95/p99 latency | Expérience réelle des transactions lentes. |
| util% | Saturation du périphérique dans iostat. |
Augmenter la profondeur de queue augmente souvent le débit, mais peut exploser la latence. Pour une base transactionnelle, une latence p99 stable vaut souvent mieux qu'un débit maximal de benchmark.
Latence haute + util faible = problème ailleurs : sync, lock, CPU, filesystem
- Un NVMe attaché au socket CPU 1 peut être moins performant pour un process piné sur CPU 0.
- Les cartes PCIe partagent parfois lanes et switches.
- Le throttling thermique peut réduire brutalement la performance.
lscpu numactl --hardware lspci -tv cat /proc/interrupts | grep -i nvme
iostat -x 1 pidstat -d 1 vmstat 1 nvme list nvme smart-log /dev/nvme0 fio --name=randread --filename=/data/fio.test --size=8G --rw=randread --bs=4k --iodepth=32 --numjobs=4 --direct=1 --time_based --runtime=60 --group_reporting
| Application | Pattern HA | Avantage |
|---|---|---|
| PostgreSQL | Streaming replication + Patroni/repmgr | Chaque nœud utilise son DAS local. |
| MySQL/MariaDB | Replica, Galera, semi-sync | Failover au niveau DB. |
| Elasticsearch | Shards répliqués | DAS local par nœud. |
| Kafka | Replication factor | Disques locaux rapides et cluster-aware. |
- DRBD peut répliquer un volume bloc entre deux serveurs.
- Utile pour clusters actifs/passifs.
- Attention au split-brain : fencing obligatoire.
- La latence réseau devient une partie du chemin d'écriture en synchrone.
vSAN, Ceph, Storage Spaces Direct ou Longhorn agrègent des disques locaux pour présenter un stockage distribué. Les disques restent DAS physiquement, mais la résilience est fournie par la couche software-defined.
| Zone DB | DAS recommandé | Pourquoi |
|---|---|---|
| WAL / redo | SSD/NVMe mirror avec PLP | fsync fréquent, latence critique. |
| Datafiles | RAID 10 SSD/NVMe | IOPS et débit. |
| Temp / sort | SSD rapide reconstructible | Performance, données temporaires. |
| Backup staging | HDD capacité RAID 6 | Débit séquentiel et capacité. |
Pour une DB, le p99 d'écriture synchrone est souvent plus important que le débit maximal.
Si p99 augmente : vérifier queue depth, cache, PLP, checkpoint, thermal throttling
- Éviter SSD consumer sans PLP pour journaux critiques.
- Ne pas désactiver fsync pour gagner des benchmarks.
- Aligner filesystem, mount options et recommandations moteur DB.
- Prévoir réplication DB : le DAS local n'est pas HA par magie.
iostat -x 1 pidstat -d 1 iotop -oPa # PostgreSQL SELECT * FROM pg_stat_bgwriter; SELECT * FROM pg_stat_database; # MySQL/MariaDB SHOW ENGINE INNODB STATUS\G SHOW GLOBAL STATUS LIKE 'Innodb_data_fsyncs';
| Hyperviseur | DAS local | Avantage | Limite |
|---|---|---|---|
| Proxmox | ZFS/LVM-thin local | Simple, snapshots selon backend. | HA limitée sans réplication. |
| ESXi | VMFS local datastore | Stable, simple. | vMotion/storage HA limités. |
| Hyper-V | NTFS/ReFS local | Facile Windows. | Live migration storage demande design. |
Sur stockage partagé, deux hôtes voient le même datastore. Avec DAS, la VM doit être copiée ou répliquée. Les migrations deviennent plus longues et consomment réseau + disque.
- Backup au niveau hyperviseur vers stockage externe.
- Tester restauration VM complète sur autre hôte.
- Éviter backup stocké uniquement sur le même DAS.
- Ne pas confondre snapshot VM et sauvegarde.
- RAID 10 ou SSD/NVMe pour VM actives.
- RAID 1 pour boot hyperviseur.
- Monitoring usure SSD et latence datastore.
- Plan de restauration sur hôte de secours.
- Magasin retail avec serveur local de caisse.
- Usine avec collecte de télémétrie locale.
- NVR vidéosurveillance.
- Gateway IoT avec buffer local.
- Mini-cluster Kubernetes edge avec local PV.
| Risque | Cause | Mitigation |
|---|---|---|
| Vol physique | Serveur hors datacenter | Chiffrement disque, TPM. |
| Coupure courant | Site distant | UPS, PLP SSD, arrêt propre. |
| Pas d'admin local | Remote site | OOB management, procédures simples. |
| WAN instable | Agence/industrie | Buffer local + sync différée. |
Le DAS est souvent utilisé comme tampon de continuité quand le WAN n'est pas garanti.
- Chiffrement obligatoire.
- Monitoring distant robuste.
- SSD/HDD adaptés à température et vibrations.
- Procédure de remplacement par non spécialiste.
| Menace | DAS exposé ? | Contrôle |
|---|---|---|
| Vol serveur/disque | Oui | Full disk encryption, SED, TPM. |
| Décommissionnement | Oui | Sanitize, crypto erase, destruction certifiée. |
| Admin local malveillant | Oui | RBAC, audit, séparation des clés. |
- Linux : LUKS/dm-crypt.
- Windows : BitLocker.
- Self Encrypting Drives.
- ZFS native encryption par dataset.
# NVMe destructive nvme format /dev/nvme0 --ses=1 nvme sanitize /dev/nvme0 --sanact=2 # ATA destructive hdparm -I /dev/sdX hdparm --user-master u --security-set-pass PASS /dev/sdX hdparm --user-master u --security-erase PASS /dev/sdX
- Ne jamais stocker la clé uniquement sur le même serveur sans protection.
- Documenter procédure de récupération après reboot.
- Prévoir rotation et révocation.
- Pour datacenter sérieux : KMS, HSM ou secrets manager.
| Champ | Pourquoi |
|---|---|
| Serveur / rack | Localiser physiquement. |
| Slot disque | Éviter de retirer le mauvais disque. |
| Serial number | Support constructeur et traçabilité. |
| Firmware | Compatibilité et bugs connus. |
| Rôle du volume | DB, VM, backup, OS, logs. |
smartctl -a /dev/sda smartctl -H /dev/sda nvme smart-log /dev/nvme0 nvme error-log /dev/nvme0 lsblk -o NAME,SIZE,MODEL,SERIAL,ROTA,TYPE,MOUNTPOINT iostat -x 1 dmesg -T | egrep -i 'error|reset|nvme|scsi|ata'
- Lire release notes avant mise à jour.
- Tester sur hôte non critique.
- Éviter update pendant rebuild.
- Aligner firmware backplane, contrôleur et disques.
- Disques compatibles même capacité ou supérieure.
- Câbles SAS/PCIe/USB adaptés.
- Contrôleur RAID/HBA compatible si critique.
- Procédure visuelle de remplacement avec slots.
| Solution | Nature | Force | Faiblesse | Meilleur usage |
|---|---|---|---|---|
| DAS | Local bloc | Simple, rapide, économique | Pas partagé natif | DB locale, serveur dédié, edge |
| NAS | Fichier réseau | Partage simple | Latence réseau/protocole | Home dirs, fichiers, backup |
| SAN | Bloc réseau | Datastore partagé, HA | Coût/complexité | VMware, bases enterprise |
| SDS | Distribué logiciel | Scale-out, résilience cluster | Complexité réseau/ops | Ceph, vSAN, S2D |
- Un seul serveur consomme les données.
- La faible latence est prioritaire.
- Le budget doit rester contenu.
- La HA est assurée par l'application ou non nécessaire.
- Le workload est local, edge ou appliance.
- Plusieurs serveurs doivent accéder simultanément aux mêmes données.
- Il faut migration VM instantanée.
- Le serveur ne peut pas être un point unique de panne.
- La capacité doit être partagée dynamiquement entre équipes.
| DB primaire + replica | DAS local sur chaque nœud + réplication DB. |
| Petit hyperviseur d'agence | DAS local + backup distant + spare hardware. |
| Cluster scalable | DAS local par nœud + SDS/réplication au-dessus. |
| Partage documents | NAS plutôt que DAS pur. |
- Tester le workload réel : 4k random, 1M sequential, mixed read/write.
- Mesurer latence p95/p99, pas seulement IOPS.
- Tester avec dataset supérieur au cache RAM.
- Tester disque seul, RAID, filesystem, puis application.
- Ne jamais lancer un test write destructif sur volume production.
fio --name=rr4k --filename=/data/fio.test --size=16G --rw=randread --bs=4k --iodepth=32 --numjobs=4 --direct=1 --time_based --runtime=120 --group_reporting fio --name=mix --filename=/data/fio.test --size=16G --rw=randrw --rwmixread=70 --bs=8k --iodepth=32 --numjobs=4 --direct=1 --time_based --runtime=120 --group_reporting
| IOPS | Volume d'opérations. |
| BW | Débit agrégé. |
| clat | Completion latency. |
| percentiles | p95/p99 critiques pour DB/VM. |
# Lab uniquement fio --name=raw --filename=/dev/sdX --rw=write --bs=1M --direct=1
| Contrôle | OK ? | Note |
|---|---|---|
| DAS cohérent avec besoin de partage | ☐ | Un seul hôte consomme directement. |
| Niveau RAID / ZFS adapté | ☐ | RAID 10 DB, RAID 6/Z2 capacité. |
| SSD PLP si écritures critiques | ☐ | DB logs, VM, fsync. |
| HA applicative prévue si nécessaire | ☐ | Replica, cluster, failover. |
- SMART/NVMe health collecté.
- Array degraded alert critique.
- Température disques et throttling surveillés.
- Logs kernel stockage centralisés.
- Mapping disque logique → slot physique documenté.
- Backup distant ou offline/immutable.
- Test restore périodique.
- RPO/RTO mesurés.
- Procédure de restauration sur autre matériel.
- Chiffrement si site non sécurisé ou données sensibles.
- Clés documentées et récupérables.
- Secure Boot / TPM si requis.
- Procédure sanitize avant sortie de parc.
- Schéma stockage du serveur.
- Liste disques : modèle, serial, slot, firmware.
- Contrôleur/HBA : modèle, firmware, mode.
- Volumes : rôle, filesystem, mountpoint.
- Runbook incident disque et incident serveur.
