Aggiornamento del subsistema disco di un vecchio server con bus PCIe 1.0 — 2.0

Aggiornamento del subsistema disco di un vecchio server con bus PCIe 1.0 — 2.0Perché il tema di questo articolo è l'upgrade del sistema di archiviazioneÈ chiaro che, in primo luogo, è necessario generalmente:

  1. Aumentare la RAM. È così ovvio che non ho ritenuto necessario scriverne nella parte principale dell'articolo.
  2. Installare un ulteriore processore(e) o sostituire entrambi i processori con versioni più performanti supportate dai socket del server.

Per i server più vecchi, sia la memoria che i processori possono spesso essere trovati a prezzi stracciati.

A un certo punto, ogni proprietario di un server si trova di fronte a una domanda: upgrade o nuovo server.

Poiché il costo di un nuovo server può ora toccare milioni di rubli, molti scelgono la via dell'upgrade.

Per un upgrade riuscito, è molto importante utilizzare compromessi, in modo da ottenere un sostanziale aumento delle prestazioni a un prezzo contenuto (rispetto al costo di un nuovo server).

L'articolo presenta un elenco di SSD server PCI-E 2.0 x8, che ora sono notevolmente più economici, sono indicati i controller RAID con supporto per la cache SSD e un SSD SATA III testato sull'interfaccia SATA II.

Il modo più ovvio per aggiornare il sistema di archiviazione è passare da HDD a SSD. Questo vale sia per i laptop che per i server. Nei server, la differenza è principalmente che gli SSD possono essere facilmente configurati in RAID.

Ci sono, però, alcune questioni delicate legate al fatto che un vecchio server potrebbe non avere porte SATA III e in tal caso sarà necessario sostituirlo o installare un controller adeguato.

Ci sono, ovviamente, anche soluzioni intermedie.

Caching su SSD.

In generale, questo metodo è abbastanza adatto per database, 1C e accessi casuali. La velocità aumenta realmente. Per file di grandi dimensioni o sorveglianza video, questo metodo è inutile.

Controller RAID LSI (IBM, DELL, CISCO, Fujitsu)

A partire dalla serie 92xx, LSI ha sviluppato la tecnologia CacheCade 2.0, che consente di utilizzare quasi qualsiasi SSD SATA come cache per il RAID. Sia in lettura che in scrittura. È anche possibile creare uno specchio utilizzando SSD di caching.

Con i controller brandizzati, la situazione è diventata più complessa. Questo è particolarmente vero per IBM. Le chiavi e gli SSD per CacheCade devono essere acquistati da IBM a prezzi elevati, quindi è più semplice sostituire il controller con uno LSI e acquistare una chiave hardware a prezzo ridotto. Le chiavi software costano significativamente di più rispetto a quelle hardware.

Controller RAID Adaptec

I controller Adaptec dispongono della tecnologia MaxCache, che consente anche di utilizzare SSD come cache. Ci interessano le versioni dei controller che terminano con la lettera Q.

I controller Q possono utilizzare quasi qualsiasi SSD, non solo quelli forniti da Adaptec.

  • A partire dal 5xxx, tutti i controller supportano Hybrid RAID. La sostanza di questa tecnologia è che la lettura avviene sempre da SSD, quando uno dei dischi in mirror è un SSD.
  • 5xxxQ, ad esempio 5805ZQ. Questi controller supportano MaxCache 1.0. Solo caching in lettura.
  • 6xxQ, ad esempio 6805Q. MaxCache 2.0. Caching in lettura e scrittura.
  • 7xxQ, ad esempio 7805Q. MaxCache 3.0. Caching in lettura e scrittura.
  • 8xxQ per scopi di aggiornamento ha poco senso da utilizzare a causa dei prezzi elevati.

Articolo sul caching su SSD su Habr (controller e OS).

Tecnologie software di caching su SSD

Non approfondirò queste tecnologie. Attualmente sono supportate praticamente da qualsiasi sistema operativo. Ricordo che, utilizzando btrfs, reindirizza automaticamente le richieste di lettura al dispositivo con la coda più corta — SSD.

SSD SATA III su interfaccia SATA II

Poiché non sempre ci sono opportunità e fondi per un nuovo controllore, emerge la domanda su quanto bene funzionino gli SSD SATA III su un'interfaccia obsoleta SATA II.

Effettueremo un piccolo test. Il soggetto del test sarà un SSD SATA III Intel S3710 da 400 GB.

Lettura casuale, iops
Latenza media di lettura, mS
Scrittura casuale, iops
Latenza media di scrittura, mS
Lettura lineare, MB/s
Scrittura lineare, MB/s

SATA II
21241
2
13580
4
282
235

SATA III
68073
0.468
61392
0.52
514
462

Comandi utilizzati per testare la velocità

fio --name LinRead --eta-newline=5s --filename=/dev/sda --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting 
fio --name LinWrite --eta-newline=5s --filename=/dev/sda --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting

fio --name RandRead --eta-newline=5s --filename=/dev/sda --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting

fio --name RandWrite --eta-newline=5s --filename=/dev/sda --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting

Come si può notare, la differenza in termini di velocità lineare, IOPS e latenze è piuttosto significativa, dunque ha senso utilizzare solo l'interfaccia SATA III; se non è disponibile, è consigliabile installare un controller.

A dire il vero, posso affermare che per altri esperimenti la differenza in velocità di lettura e scrittura casuale si è rivelata trascurabile. È possibile che un tale grande scarto negli IOPS tra SATA II e SATA III sia dovuto al fatto che avevo un controller SATA II particolarmente poco performante o un driver con alcune problematiche.

Tuttavia, è un dato di fatto che è necessario controllare la velocità di SATA II, nel caso in cui avete un controller altrettanto lento. In questo caso, è obbligatorio passare a un controller SATA III.

SSD PCIe su bus PCI-e 2.0 o 1.0

Come è noto, gli SSD più veloci sono quelli PCI-e NVMe, che non sono limitati dai protocolli SAS o SATA.

Tuttavia, quando si installano moderni SSD PCI-e, bisogna considerare che la maggior parte di essi utilizza solo 4 linee PCI-e, generalmente PCI-e 3.0 o 3.1.

E ora diamo un'occhiata alla tabella delle velocità del bus PCI-e.

Larghezza di banda PCI Express, GB/s

Anno
rilascio

Versione
PCI Express

Codifica

Velocità
trasmissione

Larghezza di banda per x linee

×4
×8
×16

2002
1.0
8b/10b

0.50 GB/s
1.0 GB/s
2.0 GB/s
4.0 GB/s

2007
2.0
8b/10b

1.0 GB/s
2.0 GB/s
4.0 GB/s
8.0 GB/s

2010
3.0
128b/130b

1,97 GB/s
3,94 GB/s
7,88 GB/s
15,8 GB/s

Quando si installa un SSD PCI 3.0 x4 nello slot PCI-e 2.0, funzionerà con lo stesso numero di linee ma a una velocità significativamente inferiore. Il problema è che le velocità lineari degli SSD PCI-e moderni superano la capacità della larghezza di banda dello slot PCI-e 2.0 e, tanto più, di PCI-e 1.0.

SSD M.2 e adattatore PCI-e

Ci sono buone opzioni di aggiornamento, quando acquistiamo un adattatore da 10 dollari e installiamo un SSD M.2 nel server, ma ancora una volta, per buoni SSD ci sarà una riduzione delle velocità (soprattutto su PCI-e 1.0), e gli SSD M.2 non sempre sono pronti per i carichi di lavoro server: hanno una grande resistenza all'usura, protezione dell'alimentazione e stabilità delle prestazioni a causa dell'occupazione della cache SLC nei modelli più economici.

Quindi, questo metodo può essere adatto solo per server con slot PCI-e 2.0 e attività non critiche.

SSD PCI-E 2.0 x8

L'aggiornamento più economicamente logico è l'uso di SSD PCI-E 2.0 x8 per server con slot PCI-e 1.0 (larghezza di banda fino a 2 GB/s) e PCI-e 2.0 (fino a 4 GB/s).

SSD di questo tipo per server possono essere acquistati a prezzi molto convenienti sia su vari marketplace che su aste online, compresa la Russia.

Ho creato una tabella di SSD ormai obsoleti che possono dare nuova vita al tuo vecchio server. Alla fine della tabella, ho aggiunto alcuni SSD con interfaccia PCI-E 3.0 x8. Magari riesci a trovarli a un prezzo ragionevole.

Nome
TB
PBW
PCI-E
4k read iops, K
4k write iops, K
read, MB/s
write, MB/s

Fusion-io ioDrive II DUO MLC
2.4
32.5
2.0 x8
480
490
3000
2500

SANDISK FUSION IOMEMORY SX350-1300
1.3
4
2.0 x8
225
345
2800
1300

SANDISK FUSION IOMEMORY PX600-1300
1.3
16
2.0 x8
235
375
2700
1700

SANDISK FUSION IOMEMORY SX350-1600
1.6
5.5
2.0 x8
270
375
2800
1700

SanDisk Fusion ioMemory SX300-3200
3.2
11
2.0 x8
345
385
2700
2200

SanDisk Fusion ioMemory SX350-3200
3.2
11
2.0 x8
345
385
2800
2200

SANDISK FUSION IOMEMORY PX600
2.6
32
2.0 x8
350
385
2700
2200

Huawei ES3000 V2
1,6
8,76
2.0 x8
395
270
1550
1100

Huawei ES3000 V2
3,2
17,52
2.0 x8
770
230
3100
2200

EMC XtremSF
2,2
 
2.0 x8
340
110
2700
1000

HGST Virident FlashMAX II
2,2
33
2.0 x8
350
103
2700
1000

HGST Virident SSD FlashMAX II
4,8
10.1
2.0 x8
269
51
2600
900

HGST Virident FlashMAX III
2,2
7.1
2.0 x8
531
59
2700
1400

Dell Micron P420M
1.4
9.2
2.0 x8
750
95
3300
630

Micron P420M
1.4
9.2
2.0 x8
750
95
3300
630

HGST SN260
1.6
25.10
3.0 x8
1200
200
6170
2200

HGST SN260
3,2
17,52
3.0 x8
1200
200
6170
2200

Intel P3608
3,2
17,5
3.0 x8
850
80
4500
2600

Kingston DCP1000
3,2
2,78
3.0 x8
1000
180
6800
6000

Oracle F320
3.2
29
3.0 x8
750
120
5500
1800

Samsung PM1725
3.2
29
3.0 x8
1000
120
6000
2000

Samsung PM1725a
3.2
29
3.0 x8
1000
180
6200
2600

Samsung PM1725b
3.2
18
3.0 x8
980
180
6200
2600

Aggiornamento del subsistema disco di un vecchio server con bus PCIe 1.0 — 2.0Tra questi SSD, i Fusion ioMemory si distinguono. Il direttore scientifico Fusion sia Steve Wozniak. Questa azienda è stata poi acquisita da SanDisk per 1,2 miliardi di dollari. Un paio di anni fa costavano oltre 50.000 dollari ciascuno. Oggi possono essere trovati a poche centinaia di dollari per dischi da 1TB e oltre.

Se guardi attentamente la tabella, noterai che hanno un numero di IOPS in scrittura molto elevato, praticamente pari a quello in lettura. Considerando il loro attuale prezzo, ritengo che questi SSD meritino attenzione.

Tuttavia, hanno alcune peculiarità:

  1. Non possono essere avviabili.
  2. È necessario un driver per l'utilizzo. I driver sono disponibili praticamente per tutto, ma per le versioni più recenti di Linux sarà necessario compilarli.
  3. La dimensione ottimale del settore è di 4096 byte. (Anche 512 è supportato)
  4. In uno scenario peggiore, il driver può consumare parecchia RAM (con una dimensione del settore di 512 byte)
  5. La velocità di funzionamento dipende dalla potenza del processore, quindi è meglio disattivare le tecnologie di risparmio energetico. Questo è sia un vantaggio che uno svantaggio, in quanto con un processore potente il dispositivo può funzionare anche più velocemente di quanto indicato nelle specifiche.
  6. Richiede un buon raffreddamento. Per i server, questo non dovrebbe essere un problema.
  7. Non raccomandato per ESXi, poiché ESXi preferisce dischi con settore 512N, il che potrebbe comportare un elevato consumo di memoria per il driver.
  8. Le versioni marchiate di questi SSD non sono generalmente supportate dai fornitori fino all'ultimo driver da SanDisk (marzo 2019).

Ho effettuato test di Fusion ioMemory confrontandolo con un SSD serverpiuttosto moderno Intel P3700 PCI-E 3.0 x8 (quest'ultimo costa quattro volte di più del Fusion con capacità simile). Inoltre, si può vedere quanto la velocità venga ridotta a causa del bus x4.

Fusion PX600 1.3TB PCI-E 2.0 x8
Intel P3700 1.6TB PCI-E 3.0 x4

Aggiornamento del subsistema disco di un vecchio server con bus PCIe 1.0 — 2.0
Aggiornamento del subsistema disco di un vecchio server con bus PCIe 1.0 — 2.0

Sì, la velocità di lettura sequenziale è decisamente limitata per l'Intel P3700. Secondo la scheda tecnica dovrebbe essere di 2800 MB/s, ma noi otteniamo solo 1469 MB/s. Anche se in generale si può dire che, con un bus PCI-e 2.0, è possibile utilizzare SSD server PCI-E 3.0 x4, se si riescono a reperire a un prezzo ragionevole.

Conclusioni

Il sistema di archiviazione del vecchio server con bus PCI-E 1.0 o 2.0 può essere potenziato utilizzando SSD in grado di sfruttare 8 linee PCI-E, che offrono una larghezza di banda fino a 4 GB/s (PCI-E 2.0) o 2 GB/s (PCI-E 1.0). È economicamente più vantaggioso utilizzare SSD PCI-E 2.0, che sono considerati tecnicamente obsoleti.

Esistono anche soluzioni compromissorie semplici da implementare, come l'acquisto della chiave CacheCade per i controller LSI o la sostituzione del controller Adaptec con la versione Q.

E un'opzione completamente banale è acquistare un controller RAID SATA III affinché gli SSD funzionino alla massima velocità, gestendo tutto ciò che richiede velocità.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster