Em sorgeixen 2 dubtes:
1. Com esbrinar la mida mínima de bloc que llegeix o escriu un
disc dur.
2. Com variar aquesta mida de bloc del RAID amb el
DebianInstaller.
Hola, Narcis:
Em sorgeixen 2 dubtes:
1. Com esbrinar la mida mínima de bloc que llegeix o escriu un
disc dur.
«fdisk -l» em diu això:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Així que imagino que la mida mínima/òptima per escriure en aquest
disc és 512 bytes. Ara bé, això no vol dir que la mida òptima per
al sistema operatiu sigui aquesta, ja que abans d'arribar a la
capa física del disc, les dades han de travessar una pila de
capes més.
2. Com variar aquesta mida de bloc del RAID amb el
DebianInstaller.
A la documentació no trobo enlloc que es pugui canviar la mida de
bloc (o chunk, com li diu mdadm). He seguit aquest camí:
https://wiki.debian.org/DebianInstaller/Preseed https://www.debian.org/releases/stable/amd64/apbs04.en.html https://salsa.debian.org/installer-team/debian-installer/tree/master/doc/devel
A l'exemple de preseed tampoc trobo cap referència als blocs o
els chunks:
https://www.debian.org/releases/bookworm/example-preseed.txt
Així que si vols personalitzar el RAID al teu gust, només se
m'acut l'opció del `preseed/early_command`, que permet executar
el que tu vulguis durant la instal·lació. Però aleshores
necessitaràs passar-li a l'instal·lador les opcions de preseed,
els scripts que necessitis, els paquets udeb addicionals que
calgui, etc.
Normalment només és pràctic si fas una instal·lació remota perquè
se li han de passar una pila de paràmetres al nucli, que en local
els hauràs d'escriure a mà (desconec si es poden llegir d'algun
altre lloc).
Salut,
Alex
Aquesta és la mida de sector, que és de 512 bytes per al 90%
dels mitjans (USB, FDD, HDD, etc.) independentment de quants
bytes escrigui el capçal en una sola operació. La mida de
sector, ni la mida de bloc del sistema de fitxers, no està
vinculades a les operacions físiques.
No busco la mida òptima per al sistema operatiu, sinó l'òptima
per al dispositiu físic. És a dir, que si el capçal d'un disc
dur escriu com a mínim 2048 KiB, aleshores seria molt ineficient
establir blocs/chunks de 512 KiB a la capra RAID, perquè el
sistema operatiu podria demanar escriure 4 vegades el mateix
segment de disc per a emplenar-lo de dades independents de
512 KiB cada tros/chunk.
Em convé cal provar si el DebianInstaller preveu una
instal·lació dins un RAID que ja estigui creat abans.
(per exemple, un volum encriptat no és el cas)
Hola, Narcis:
Aquesta és la mida de sector, que és de 512 bytes per al 90%
dels mitjans (USB, FDD, HDD, etc.) independentment de quants
bytes escrigui el capçal en una sola operació. La mida de
sector, ni la mida de bloc del sistema de fitxers, no està
vinculades a les operacions físiques.
«The sector is the minimum storage unit of a hard drive.» https://en.wikipedia.org/wiki/Disk_sector
Entenc doncs que el capçal no escriu bytes sinó sectors.
No busco la mida òptima per al sistema operatiu, sinó l'òptima
per al dispositiu físic. És a dir, que si el capçal d'un disc
dur escriu com a mínim 2048 KiB, aleshores seria molt ineficient
establir blocs/chunks de 512 KiB a la capra RAID, perquè el
sistema operatiu podria demanar escriure 4 vegades el mateix
segment de disc per a emplenar-lo de dades independents de
512 KiB cada tros/chunk.
No hi ha cap menció a la mida del que escriu el capçal en aquest
article; en canvi hi ha molts d'altres factors que afecten el
rendiment físic d'un disc (tot i que els fabricants no donen pas
tots aquests detalls normalment):
https://en.wikipedia.org/wiki/Hard_disk_drive_performance_characteristics
Em convé cal provar si el DebianInstaller preveu una
instal·lació dins un RAID que ja estigui creat abans.
A la meva anterior feina ho fèiem per a tots els servidors
(físics i virtuals), amb mdadm/lvm, etc. segons ens convenia
en cada cas. No va ser trivial arribar a un escenari que ens
funcionés perquè hi havia poca documentació sobre el tema,
però amb el temps van aconseguir tenir totes les instal·lacions
de servidors automatitzades i amb particionat a mida.
Val a dir que, en aquell escenari, utilitzàvem Foreman i Puppet
per a fer la instal·lació remota i la personalització dels scripts
de cada cas a partir de variables. Imagino que s'hauria de poder
fer quelcom similar carregant els scripts d'algun disc USB o
similar per simplificar-ho una mica.
(per exemple, un volum encriptat no és el cas)
Imagino que també podries fer-ho si li pots passar la contrasenya
al DebianInstaller per muntar el disc abans de procedir amb la
resta de passes del early_command. De fet, el particionador et
detecta normalment el que ja tens quan fas particionat manual
(fins i tot et pregunta la contrasenya dels discs xifrats).
La frase de la Wikipedia té una falla: La definició de sector
no està restringida a discs durs, ni mai no ho ha estat.
Tinc prevista la instal·lació amb un programet (script)
prescindint de DebianInstaller, però el què ara estic explorant
és 1 sola personalització per a seguir amb DebianInstaller quan
no vull complicar res més.
Cap versió de DebianInstaller no m'ha preguntat mai pel
desbloqueig d'un volum LUKS; sempre he hagut d'eliminar-lo
i crar-lo de nou.
A on vull anar a parar amb tot això és a, si resulta que un
capçal llegeix i escriu, per exemple, 4 MiB a cada demanda, és
molt ineficient establir trossos/chunks de RAID de 512 KiB, ja
que el sistema operatiu demanarà 8 vegades la mateixa operació
al capçal per a llegir o escriure cada subdivisió dels 4 MiB.
Ho faré.A on vull anar a parar amb tot això és a, si resulta que un
capçal llegeix i escriu, per exemple, 4 MiB a cada demanda, és
molt ineficient establir trossos/chunks de RAID de 512 KiB, ja
que el sistema operatiu demanarà 8 vegades la mateixa operació
al capçal per a llegir o escriure cada subdivisió dels 4 MiB.
Estàs pensant només en les operacions de lectura i escriptura,
però els raids fan més coses (càlculs d'integritat, redundància,
etc.) i potser la mida per defecte del chunk té en compte tot
plegat, fins i tot la compatibilitat entre versions (com apunta
el man).
De totes maneres, la millor forma de veure si un escenari concret
millora el rendiment és fer-ne mesures i comparar-les amb unes
altres de referència. Si aconsegueixes esbrinar quina és la mida
de bloc del capçal d'un disc i obtens millor rendiment, no deixis
de compartir-ho amb nosaltres, si et plau.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 297 |
Nodes: | 16 (2 / 14) |
Uptime: | 110:01:29 |
Calls: | 6,662 |
Files: | 12,209 |
Messages: | 5,335,821 |