Αποθήκευση και απόδοση κατά κατηγορία
Σύντομη Περίληψη
Η αποθήκευση μπλοκ δίνει πρώτες συσκευές (LUN/όγκος) πάνω από τις οποίες κατασκευάζετε FS, LVM/ZFS, κλπ. Οι επιδόσεις καθορίζονται από τον τύπο πολυμέσων, το πρωτόκολλο πρόσβασης, τις ουρές αναμονής και το βάθος, το μέγεθος μπλοκ, το σύστημα κωδικοποίησης (RAID/EC), τις κρύπτες και τα φράγματα, το ύφασμα δικτύου και το μοτίβο I/O ειδικά για την εφαρμογή (τυχαία/διαδοχική, ανάγνωση/εγγραφή, συγχρονισμός/async). Στόχος είναι να εξασφαλιστεί η απαιτούμενη καθυστέρηση p95/p99 και το εύρος ζώνης IOPS/IOPS με ανθεκτικότητα και προβλεψιμότητα.
Ταξινόμηση πρόσβασης κατά κατηγορία
Τοπικά: NVMe (PCIe), SAS/SATA SSD/HDD. Ελάχιστη καθυστέρηση, χωρίς σημεία συμφόρησης του δικτύου.
Δίκτυο:- iSCSI (Ethernet, LUN, MPIO, ALUA).
- Κανάλι ινών (FC) (16-64G, χαμηλή καθυστέρηση, διαχωρισμός ζωνών).
- NVMe-oF: NVMe/TCP, NVMe/RoCE, NVMe/FC - «native» NVMe μέσω του δικτύου, λιγότερο εναέρια.
- HCI/κατανεμημένο (Ceph RBD, vSAN): βολική επεκτασιμότητα, αλλά η καθυστέρηση είναι υψηλότερη, το δίκτυο/κωδικοποίηση είναι κρίσιμης σημασίας.
- p99 καθυστέρηση ≤ 1-2 ms, πολύ υψηλή IOPS → τοπική NVMe/NVMe-oF.
- Σταθερή «μέση» καθυστέρηση 2-5 ms, ώριμη → εργοστάσιο FC ή NVMe/FC.
- Ενοποιημένη στο Ethernet, ευκολότερη λειτουργία → iSCSI ή NVMe/TCP.
Πρωτόκολλα και τα χαρακτηριστικά τους
iSCSI: ευελιξία, MPIO/ALUA, ευαίσθητη στη διαμόρφωση TCP (MTU, offload, qdepth).
FC: απομόνωση, απωλεσθείσες ροές, ζώνες WWPN, ουρές και πιστώσεις HBA.
NVMe-oF: παραλληλισμός μέσω πολλαπλών αναμονών υποβολής/ολοκλήρωσης, χαμηλό φορτίο ΚΜΕ, TLS είναι δυνατή για NVMe/TCP (εάν είναι απαραίτητο).
RAID/ΕΚ και Media
ελάχιστη καθυστέρηση και προβλέψιμη IOPS· βέλτιστες για βάσεις δεδομένων/πορτοφόλια.
καλύτερα σε ικανότητα, γράψτε ποινή, IOPS πέφτει για συγχρονισμό-γράψτε.
Η κωδικοποίηση διαγραφής σε κατανεμημένες συστοιχίες είναι επωφελής από άποψη χωρητικότητας, αλλά η καταγραφή είναι «ακριβότερη».
NVMe SSD - p99 επάνω; SAS SSD - συμβιβασμός· HDD είναι ένα διαδοχικό εύρος ζώνης, αλλά ένα κακό τυχαίο.
Συστήματα αρχείων και ευθυγράμμιση
Το XFS είναι μια εξαιρετική επιλογή για μεγάλα αρχεία/αρχεία καταγραφής βάσεων δεδομένων. προσαρμόσιμο 'agcount', 'realtime' για αρχεία καταγραφής.
4 - ευέλικτο, προσεκτικά έως 'stride/lripe _ πλάτος' για την RAID.
ZFS - CoW, έλεγχος ακεραιότητας, στιγμιότυπα/αντίγραφο, ARC/ZIL/SLOG· για συγχρονισμένα φορτία - SLOG σε NVMe με PLP.
Ευθυγράμμιση: 1MiB-aligned χωρίσματα, σωστό 'recordsize '/' blocksize' υπό φορτίο.
Ουρές αναμονής, βάθος και μέγεθος μπλοκ
IOPS αυξάνονται με βάθος αναμονής, αλλά το ίδιο είναι καθυστέρηση? στόχος - QD, η οποία δίνει την απαιτούμενη IOPS κατά τη διάρκεια του ελέγχου p95/p99.
Μέγεθος φασματικού τμήματος: μικρό (4-16K) - μεγαλύτερο εύρος ζώνης IOPS, χειρότερο εύρος ζώνης· μεγάλη (128K-1M) - καλύτερη ταχύτητα από το τέλος έως το τέλος.
NVMe qpairs: κατανέμονται ανά πυρήνα/NUMA· iSCSI/FC: qdepth HBA/εμπνευστές, πολιτικές MPIO.
Εμπόδια και FUA: συμπεριλαμβανομένων των φραγμών διαγραφής αυξάνουν την αξιοπιστία αλλά αυξάνουν το p99. Αντιστάθμιση SLOG/PLP.
Πολυπαθής και διαθεσιμότητα
MPIO/DM-Multipath: συγκέντρωση διαδρομής, ανοχή βλάβης.
Πολιτικοί: «στρογγυλό ρομπότ» (ισολογισμός), «μήκος αναμονής» (εξυπνότερο), «failover» (παθητικό).
«προτιμώμενες» διαδρομές της ALUA προς τον ενεργό ελεγκτή.
Σημαντικό: 'no _ path _ retry', 'queue _ if _ no _ path' - προσεκτικά ώστε να μην «παγώσει» I/O για μεγάλα λεπτά.
Ζώνη FC: «μία ζώνη εισόδου - ένας στόχος» (μειώνει την ακτίνα έκρηξης).
NVMe-oF: ANA (Ασύμμετρος χώρος ονομάτων) - аналог ALUA.
TRIM/Απόρριψη και αποθήκευση
Το TRIM/Displard απελευθερώνει μπλοκ SSD (μειώνει την εγγραφή-amp, σταθεροποιεί την καθυστέρηση). Ενεργοποίηση τακτικών απορρίψεων (cron) ή επιγραμμικών απορρίψεων, κατά περίπτωση.
Η ανάγνωση είναι χρήσιμη για διαδοχικές αναγνώσεις. είναι επιβλαβής τυχαία.
Κρυψώνες ελέγχου διαγραφής - μόνο με BBU/PLP. διαφορετικά, τον κίνδυνο απώλειας δεδομένων.
στοίβα δικτύου (για iSCSI/NVMe-TCP)
Χωριστή VLAN/VRF για το εργοστάσιο SRF· απομόνωση από την κυκλοφορία των πελατών.
MTU 9000 end-to-end· RSS/RPS και IRQ pinning to NUMA.
QoS/προτεραιότητα για RoCE (εάν δεν υπάρχει απώλεια), ECN/RED για κορυφές TCP.
Δύο ανεξάρτητα χοντρά δέντρα μέχρι το storaj (διπλά TORs, διαφορετικά τροφοδοτικά ισχύος).
Linux/Host Tuning (Δείγμα)
bash
Scheduler for NVMe echo none sudo tee /sys/block/nvme0n1/queue/scheduler echo 1024 sudo tee /sys/block/nvme0n1/queue/nr_requests echo 0 sudo tee /sys/block/nvme0n1/queue/add_random echo 0 sudo tee /sys/block/nvme0n1/queue/iostats
Read-ahead (sequential loads)
blockdev --setra 4096 /dev/nvme0n1
iSCSI: example of aggressive timeouts and retries iscsiadm -m node --op update -n node. session. timeo. replacement_timeout -v 10 iscsiadm -m node --op update -n node. conn[0].timeo. noop_out_interval -v 5 iscsiadm -m node --op update -n node. conn[0].timeo. noop_out_timeout -v 5
Πολυπαθές (θραύσμα). conf '):
conf defaults {
find_multipaths yes polling_interval 5 no_path_retry 12
}
devices {
device {
vendor "PURE DELL NETAPP HITACHI"
path_checker tur features "1 queue_if_no_path"
path_grouping_policy group_by_prio prio alua
}
}
Συγκριτική αξιολόγηση και διαμόρφωση προφίλ
fio - ελάχιστο σύνολο προφίλ:bash
Random read 4K, queue 32, 4 threads fio --name = randread --filename =/dev/nvme0n1 --direct = 1 --rw = randread\
--bs=4k --iodepth=32 --numjobs=4 --time_based --runtime=60
Random 4K entry (sync), log loads fio --name = randwrite --rw = randwrite --bs = 4k --iodepth = 16 --numjobs = 4\
--fsync=1 --direct=1 --runtime=60
Large block sequential recording (backups/dumps)
fio --name=seqwrite --rw=write --bs=1M --iodepth=64 --numjobs=2 --runtime=60
Συμβουλές:
- Χωριστή θέρμανση και μέτρηση, καταγράφεται η θερμοκρασία/θερμική στραγγαλισμός.
- Δοκιμή σε LUN/όγκο, όχι FS (εάν ο στόχος είναι το ακατέργαστο υλικό).
- Μέτρο p95/p99 καθυστέρηση και 99. 9% ουρά - είναι αυτοί που «σκοτώνουν» τη βάση δεδομένων.
Παρακολούθηση και SLO
Μετρήσεις:- Latency p50/p95/p99 (ανάγνωση/εγγραφή), IOPS, διακίνηση, βάθος αναμονής, συσκευή απασχολημένη%, συγχωνεύσεις, απόρριψη.
- Σε επίπεδο δικτύου: σταγόνες, αναμεταδόσεις, σήματα ECN, σφάλματα διεπαφής.
- Σε επίπεδο σειράς: καθυστέρηση αναπαραγωγής, πρόοδος ανακατασκευής/επίλυσης, write-amp, SSD επιπέδου φθοράς.
- LUN БД (OLTP): p99 γράψτε ≤ 1. 5ms, p99 διάβασε ≤ 1. 0 ms, διαθεσιμότητα ≥ 99. 95%.
- Αρχεία καταγραφής: p95 append ≤ 2. 5 ms, εύρος ζώνης ≥ 400 MB/s ανά όγκο.
- Αντίγραφα ασφαλείας: seq γράψτε ≥ 1 GB/s (συγκεντρωτικά), ανάκτηση RTO ≤ 15 λεπτά.
- p99 καθυστέρηση> κατώφλι N λεπτά, αποικοδόμηση της IOPS με την ίδια QD, αύξηση της ανάγνωσης-τροποποίησης-γραφής σε RAID5/6, υπερθέρμανση/θερμική επιτάχυνση SSD, έναρξη/κόλληση πλευρών.
Kubernetes и CSI
PVC/Stories Class: παράμετροι 'reclaimPolicy', 'wayding Mode = RegionFirstFirstConsumer' (σωστή θέση), 'automedExpansion'.
Πρόσθετα CSI προμηθευτή: στιγμιότυπα/κλώνοι, πολιτικές QoS/επιδόσεων, τοπολογία όγκου.
AccessModes: RWO για βάση δεδομένων/κατάσταση, RWX - προσεκτικά (συνήθως μέσω αρχείου/δικτύου).
Τοπολογία/Συγγένεια: καρφίτσες σε κόμβους δίπλα στην αποθήκευση (χαμηλή καθυστέρηση).
Σημαντικό: Το HPA/VPA δεν θα «θεραπεύσει» μια κακή κίνηση. σχεδιάζουν όγκους SLO, χρησιμοποιούν PodDislicationBudget για κρατικά δίκτυα.
Στιγμιότυπα, κλώνοι, ομάδες συνοχής
Στιγμιότυπα συνεπή με συντριβή είναι γρήγορα, αλλά οι ασυνέπειες της βάσης δεδομένων είναι δυνατές.
Εφαρμογή-συνεπής - μέσω σεναρίων quiesce (fsfreeze, pre/post αγκίστρια DB).
Ομάδα συνοχής (CG) - για διάφορες LUN (συστήματα συναλλαγών) ταυτόχρονα.
Οι κλώνοι είναι γρήγορα περιβάλλοντα dev/test χωρίς αντιγραφή.
Ασφάλεια και συμμόρφωση
iSCSI CHAP/αμοιβαία απομόνωση CHAP, VLAN/VRF.
NVMe/TCP με TLS - για σενάρια cross-center/multi-lease.
Κρυπτογράφηση «σε ηρεμία»: LUKS/dm-κρυπτογράφηση, αυτο-κρυπτογράφηση (TCG Opal), κλειδιά στο KMS.
Έλεγχος: ποιος χαρτογράφησε την αλλαγή ζώνης LUN, FC, αλλαγές πολλαπλών μονάδων.
DR και εργασίες
Συγχρονισμένο αντίγραφο (RPO≈0) - αυξάνει την καθυστέρηση, τις μικρές αποστάσεις.
Ασύγχρονη (RPO = N min) - γεωγραφική απόσταση, αποδεκτή για τις περισσότερες βάσεις δεδομένων με αρχεία καταγραφής.
Runbooks: απώλεια διαδρομής MPIO, απώλεια ελεγκτή, ανακατασκευή δίσκων, υποβάθμιση πισίνας, διακόπτης τοποθεσίας.
Παράθυρα εξυπηρέτησης: χειριστήρια «κύλισης», όρια rebield έτσι ώστε να μην τρώει prod.
FinOps (κόστος ανά απόδοση)
$/IOPS και $/ms p99 είναι πιο χρήσιμο «$/TB» για OLTP.
Βαθμίδα: θερμή OLTP - NVMe/RAID10. εκθέσεις/αρχείο - HDD/EC.
Προβλέψεις και απόσβεση: Σχέδιο αύξησης 30-50% των ΔΣΠ. να διατηρούν το απόθεμα κάτω από rebilds/scrubs.
Έξοδος/εργοστάσιο: χωριστός προϋπολογισμός για το δίκτυο αποθήκευσης και επικαιροποιήσεις HBA/NIC.
Κατάλογος ελέγχου εφαρμογής
- Επιλεγμένο πρωτόκολλο (NVMe-oF/FC/iSCSI) και μεμονωμένο ύφασμα.
- Σχεδιάζονται ομάδες τύπου RAID/ΕΚ και φορτίου (OLTP/log/backup).
- MPIO/ALUA/ANA και ρυθμισμένα χρονοδιαγράμματα· ελεγμένη αστοχία/αποκατάσταση.
- FS/ευθυγράμμιση για RAID, TRIM/Απόρριψη ενεργοποιημένη σύμφωνα με τον κανονισμό.
- Ρύθμιση αναμονής/qdepth/ανάγνωσης. Επικυρωμένο με fio προφίλ (randread/write 4k, seq 1M).
- Παρακολούθηση δίσκου/διαδρομής/καθυστέρησης p95/p99, ειδοποιήσεις για αναπήδηση και γκάζι.
- Στιγμιότυπα (συνεπή με app) και CG; Δοκιμή DR/ανάκτησης.
- Κρυπτογράφηση και CHAP/TLS. Κλειδιά στον έλεγχο των πράξεων από το KMS.
- Παραμέτρους Kubernetes/CSI, τοπολογία και QoS ανά όγκο.
Κοινά σφάλματα
Μία διαδρομή χωρίς MPIO → ενιαίο σημείο αποτυχίας.
με συγχρονισμό-γράψτε OLTP υψηλή p99 γράψτε.
Δεν υπάρχει ανάπτυξη TRIM → write-amp και υποβάθμιση SSD.
Το QD είναι πολύ μεγάλο → «όμορφο» IOPS και τρομερή ουρά για τη βάση δεδομένων.
Σε απευθείας σύνδεση απορρίπτονται σε «ζεστούς» όγκους με άλματα OLTP → καθυστέρηση.
"queue _ if _ no _ path 'without timeout →" παγωμένες "υπηρεσίες σε περίπτωση καταστροφής.
Η ανάμειξη NVMe και HDD στην ίδια δεξαμενή → απρόβλεπτη καθυστέρηση.
iGaming/fintech special
Βάσεις δεδομένων πορτοφολιού/συναλλαγών: NVMe + RAID10, συγχρονισμένη καταγραφή σε ξεχωριστό SLOG/NVMe, p99 γράψτε ≤ 1. 5 ms, στιγμιότυπα CG.
Ουρές πληρωμής/καταπολέμηση της απάτης: σειριακά αρχεία καταγραφής → μεγάλα τμήματα, υψηλό εύρος ζώνης, ξεχωριστές LUN για καταγραφή και δεδομένα.
Μέγιστη TPS (τουρνουά/αγώνες): προθερμαινόμενες κρύπτες βάσης δεδομένων, αίθουσα κεφαλής ≥ 30%, έλεγχος θερμικού γκαζιού, ρυθμός καύσης SLO.
Κανονιστική ρύθμιση: κρυπτογράφηση LUN, καταγραφή ελέγχου χαρτογράφησης, ασκήσεις DR, υποβολή εκθέσεων RPO/RTO.
Σύνολο
Παραγωγική αποθήκευση μπλοκ είναι το σωστό πρωτόκολλο + σωστά διαμορφωμένες ουρές και qdepth + επαρκής RAID/EC + πειθαρχία μνήμης/φραγμού + απομονωμένο ύφασμα. Pin τα πάντα σε runbooks, μέτρηση p95/p99, επικύρωση με fio προφίλ, αυτοματοποιημένα στιγμιότυπα και DR - και να πάρει την προβλέψιμη καθυστέρηση και IOPS που απαιτούνται για κρίσιμες διαδρομές προϊόντων και ταμειακών ροών.