No šī raksta jūs uzzināsit par nodalījumu izlīdzināšanu un to, kā to izdarīt.
Ievads
Ar “nodalījuma izlīdzināšanu” mēs domājam pareizu nodalījumu izlīdzināšanu ar datu uzglabāšanas ierīces (piemēram, cietā diska, SSD, RAID sējuma) fiziskā sektora robežām. Pareiza nodalījuma izlīdzināšana nodrošina optimālu veiktspēju, lai piekļūtu datiem. Nepareiza starpsienu izlīdzināšana var izraisīt samazinātu veiktspēju, īpaši SSD (ar iekšējiem lappušu izmēriem, piemēram, 4096 vai 8192 baiti), cietajiem diskiem ar 4 KB sektoriem (4096 baiti) un RAID sējumiem.
Vispārīga informācija
Ja operētājsistēmas tiek instalētas, izmantojot robotu vai glābšanas sistēmas instalācijas attēlu, izlīdzināšana automātiski tiek veikta pareizi.
Instalēšanai bez palīdzības, izmantojot attālo konsoli (KVM konsoli) vai VNC (piem., CentOS 6.X), izlīdzināšana ir jākonfigurē manuāli. Aptuvens norādījums ir tāds, ka, jo jaunāka ir operētājsistēma, kuru vēlaties instalēt, jo lielāka iespēja, ka instalēšanas programma pareizi izlīdzinās nodalījumus. Izlīdzināšanu var pārbaudīt, izmantojot šādu komandu:
sfdisk -uS -l
fdisk -u -l /dev/sdX
Katra nodalījuma sāknēšanas sektoram ir jādalās vismaz ar 8 (8 * 512 baiti = 4 KB) un ideālā gadījumā ar 2048 (2048 * 512 baiti = 1 MB).
Fons: sadalīšana
Tipiski diskdziņi darbojas ar fiziskā sektora lielumu 512 baiti. Pirmais nodalījums sākas pirmā celiņa pēdējā sektorā ar (loģisko) bloka adresi 63. Arī šāda (loģiskā) sektora izmērs ir 512 baiti. Tā kā loģiskais un fiziskais sektors ir vienāda izmēra, problēmu nav. Jaunāki diski uzlabotajā formātā darbojas ar 4096 baitu fizisko sektoru. (4 KB). Tomēr ārēji tie atdarina sektora lielumu 512 baiti (Advanced Format 512e). SSD darbojas arī ar lapas izmēru 4 KB vai 8 KB. Šiem jaunākajiem diskdziņiem vai SSD vairs nav ieteicams izmantot “klasisko” sadalīšanu, kas sākas ar LBA adresi 63.
Pašreizējās failu sistēmas, piemēram, ext4 vai ntfs, izmanto 4 KB lielu bloku. Failu sistēmas 4 KB bloki neiederas tieši cietā diska 4 KB sektoros vai 4 KB/8 KB SSD lapās. Rakstot vienu 4 KB failu sistēmas bloku, ir jāmaina divi 4 KB sektori vai lapas. To vēl vairāk sarežģī vajadzība saglabāt atbilstošos 512 baitu blokus, kas noved pie Lasīt/mainīt/rakstīt. Tā rezultātā ievērojami samazinās veiktspēja.[/vc_column_text]
Pareiza sadalīšana
Lai izvairītos no šīs problēmas, ieteicamais līdzinājums ir 1 MB — lai ilgtermiņā būtu drošs. Pašreizējā adresācija 512 baitu lieluma loģiskajos sektoros ir 2048 sektori.
Linux
fdisk (vecākās versijas)
Vecākām fdisk versijām varat veikt līdzināšanu manuāli, izmantojot parametrus -S
un -H
. Ir pieejamas dažādas opcijas konkrētiem Sektoru skaita vienā celiņā- (S) un Galveno (H) skaitļiem. Izmantojot -S 32 -H 64
, nodalījumi tiek līdzināti 1 MB
(32 sektori vienā celiņā * 64 galvenes * 512 baiti = 1 048 576 baiti = 1 MB). Uzstādot pirmo nodalījumu, sāciet ar otro cilindru. Īpašu parametru neizmantošana noved pie neatbilstības ar fdisk.
fdisk glābšanas sistēmā
Fdisk versija, kas atrodas glābšanas sistēmā, izmanto 1 MB līdzinājumu, kamēr ir deaktivizēts DOS saderības režīms.
Jaunākām fdisk versijām ieteicams:
- izmantojiet fdisk no util-linux-ng >= 2.17.2
- pievērsiet uzmanību fdisk brīdinājumiem
- deaktivizējiet DOS saderības režīmu (opcija -c)
- izmantojiet sektorus kā displeja vienības (opcija -u)
- izmantojiet +size{M,G}, lai parādītu nodalījuma beigas.
Kļūdainas izlīdzināšanas piemērs
Tālāk esošajā piemērā ir parādīts nepareizs līdzinājums pēc CentOS 5.6 VNC instalēšanas.
[root@static ~]# fdisk -v
fdisk (util-linux 2.13-pre7)
[root@static ~]# fdisk -u /dev/hda
Cilindru skaits šim diskam ir iestatīts uz 10443.
Tam nav nekā slikta, taču tas ir lielāks par 1024,
un noteiktos iestatījumos var radīt problēmas ar:
1) programmatūra, kas darbojas sāknēšanas laikā (piemēram, vecās LILO versijas)
2) sāknēšanas un sadalīšanas programmatūra no citām OS
(piemēram, DOS FDISK, OS/2 FDISK)
Komanda (m, lai saņemtu palīdzību): lpp
Disks /dev/hda: 85,8 GB, 85899345920 baiti
255 galvas, 63 sektori/sliežu ceļi, 10443 cilindri, kopā 167772160 sektori
Vienības = sektori 1 * 512 = 512 baiti
Ierīces sāknēšanas sākuma beigu bloki ID sistēmu
/dev/hda1 * 63 208844 104391 83 Linux
/dev/hda2 208845 167766794 83778975 8e Linux LVM
Pareizas izlīdzināšanas piemērs
root@rescue ~ # fdisk -c -u /dev/sda
Komanda (m, lai saņemtu palīdzību): lpp
Disks /dev/sda: 1500,3 GB, 1500301910016 baiti
255 galviņas, 63 sektori/sliede, 182401 cilindrs, kopā 2930277168 sektori
Vienības = sektori 1 * 512 = 512 baiti
Sektora lielums (loģiskais/fiziskais): 512 baiti / 4096 baiti
I/O lielums (minimālais/optimālais): 4096 baiti / 4096 baiti
Diska identifikators: 0x0004dc67
Ierīces sāknēšanas sākuma beigu bloki ID sistēmu
/dev/sda1 2048 4196351 2097152 fd Linux raid autodetect
/dev/sda2 4196352 5244927 524288 fd Linux raid autodetect
/dev/sda3 5244928 1465149167 729952120 fd Linux raid autodetect
LVM un programmatūras RAID
Lai gan arī šeit ir jāpievērš uzmanība pareizai izlīdzināšanai, tas nav īpaši nepieciešams, jo tiek izmantoti vismaz 64 KB lieluma bloki. Jaunākās versijās ir iekļauti ielāpi, kas veic papildu līdzināšanu pie 1 MB robežām.
Windows
Visas Windows versijas, sākot ar Windows Vista, automātiski veic līdzināšanu pie 1 MB robežām visās datu glabāšanas ierīcēs, kas lielākas par 4 GB. Vecākām versijām, piemēram, Windows XP, nepieciešama manuāla līdzināšana.