Citat:
Originally posted by grazzy@Nov 8 2004, 22:53
Det beror på. Det går snabbare att läsa ifrån speglade diskar. Raid 5 blir juh även det en viss upphottning om du har bra hårdvara för att kontrollera det. Om det är databasen som skall gå fort skall du ha mycket ram och försöka hålla så mycket utav den kritiska datan i minnet istället för på disk.
SATA-IDE är väl nästan jämvärdigt med SCSI i hastighet nu, såvida du inte är intresserad av att lägga stora pengar på att få 10-20% extra. Det intressanta vid läs/skrivning av många små filer är ju troligen access-time och inte throughtput, SCSI kan vara lite snabbare där.
Du kanske skulle kunna vara intresserad av att kolla på nån ramdisk lösning istället? Det är troligen rätt så meckigt att implementera på ett säkert sätt dock.
PS: Har du tur så hinner inte moderatorerna ta bort inlägget innan du har läst det. DS.
|
Speglade diskar bidrar inget till "läshastigheten". Skrivhastigheten försämras däremot eftersom samma information skrivs två gånger. Den bästa vinsten gör man med RAID0, dvs stripe där man skriver lite till den ena och lite till den andra. Problemet med just RAID0 är att det räcker att en disk går sönder av dina sjuttionitton och all data går förlorat. Därför använder man oftast RAID0+1 vilket är stripe som man sedan speglar.
Om man vill uppnå maximal hastighet ska man inte bara förkasta SCSI-diskar. Har man många diskar i kedjan (exempelvis vid en komplicerad RAID) så ska man inte stirra sig blind på "varvhastigheten" på diskarna. Då ska man hellre titta på busshastigheten systemet klarar. Idag klarar SCSI runt 360Mb/s medan SATA verkar klara runt 150Mb/s. Visst, det ska till rätt många diskar innan man fyller bussen helt men ändå.
Att du har många små filer kommer kräva mer av diskarnas mekanik och SCSI har hittils varit det snabbaste när det gäller det.
En annan femma är att man inte ska stirra sig blind på RAID-kontrollers. Idag är en RAID kontroller så gott som onödig. Om du kör Linux på din maskin så finns det mycket bra stöd för mjukvaruraid.
Innan någon kläcker ur sig att "mjukvaruraid" är kass för att man ska lita på program för att hantera diskarna så kan jag säga att jag helre litar på OpenSource-programvara än på något foo-företags RAID-kortsbios eller drivrutin.
Mjukvaruraid går att konfigurera medan maskinen är uppe och snurrar och hur det är med RAID-kort i det avseendet vet jag inte.
En successstory från verkligheten:
En kund hade en linuxserver installerad av mig som filserver. Jag installerade den burken med LVM. Det är en Compaq ML350 G2 med 6 hotswap-platser. Då fanns bara 2 x 18Gb SCSI diskar. Diskarna speglades rätt av. Spegeln utgörde en RAID-1 device. Denna RAID-device lades till en LVM-grupp. Därefter skapades volymer (partitioner) från volymgruppen.
Ett tag senare fick jag larm av övervakningstjänsten jag installerat på deras server att disken höll på att ta slut. Jag ringde kunden och upplyste dem om problemet. De var intresserade av att uppgradera omedelbart (naturligvtis).
Jag ringde min leverantör som 3 dagar senare satte in diskarna i kundens server. (Han fanns i närheten).
Jag loggade in via ssh på kvällen. Skapade en ny spegel av de två nya 72Gb diskarna. Därefter lade jag till den spegeln till volymgruppen. När det var klart, fick jag avmontera den volymen som var tunn på plats. Jag utökade volymen med utrymmet från volymgruppen. Gjorde en fsck och monterade tillbaka volymen.
Tadaa, nu fanns det gott om utrymme. Det hela tog ca 10 minuter.
I det här fallet rör det sig visserligen inte om äkta RAID0+1 men funktionen är i princip densamma. Skillnaden är att RAID1-devicena ligger ett lager lägre under LVM. Dess diskutrymme "läggs till" en volymgrupp som man sedan hanterar för att bygga sina "partitioner". Med andra ord får man "stripe"-funktionalitet av LVM.
Smidigt som tusan. Ingen nertid på burken. Bara processer som körs på partitionen berörs av avmonteringen och stängs av under den korta tiden som det tar att utöka volymen.
Zoran