Ich möchte Ihre Meinung und Tipps/Vorschläge zur Optimierung der Leistung eines neuen Windows-Dateiservers, den ich baue. Ich habe einen Dell NF500-Speicherserver geerbt (im Grunde Dell 2950 mit Windows 2k3 Storage Server OS). Er hat einen PERC 6i mit 256 MB BBU-Cache und 6 x 750 GB SATA-Laufwerke und 4 GB Systemspeicher. Ich denke, ich werde mich für RAID6 entscheiden, da ich befürchte, während eines langen Neuaufbaus ein zweites Laufwerk zu verlieren, falls das RAID6-Volume kaputtgeht. Das RAID6-Volume wird 5x Laufwerke verwenden, wobei 1x Laufwerk auch als Hot Spare dient. Ja, wir sind super paranoid, folgen aber auch unserem Standard, dass alle Server Hot Spares haben.
Vor diesem Hintergrund würde ich gerne Ihre Meinung zu weiteren Tipps und Vorschlägen zur Leistungsoptimierung hören. Es wird als Dateiserver (Random R/W und Dateigrößen sind normalerweise klein, aber es gibt auch einige große) für Windows-, Mac- und Linux-Clients über SMB/CIFS/NFS dienen.
Gibt es besondere Einstellungen auf der RAID-Controller-Seite? Derzeit ist das Stripe-Element auf 256 KB eingestellt (kann bis zu 512 KB und vielleicht 1 MB hochgehen), adaptive Read-Ahead-Richtlinie und Cache-Writeback dank BBU. Soll ich die Größe des Stripe-Elements vergrößern?
Gibt es irgendwelche Optimierungen auf Partitionierungs-/Dateisystemebene? Ich erinnere mich vage, etwas über die Ausrichtung des Starts von Festplattenpartitionen, die Anzahl der Laufwerke, das Erstellen eines Dateisystems mit der richtigen Blockgröße usw. gelesen zu haben. Ich wäre für alle Informationen, einschließlich Links, die Sie mir schicken könnten, damit ich sie überprüfen kann, sehr dankbar.
Gibt es irgendwelche Optimierungen auf Betriebssystemebene? Da es sich um ein einzelnes RAID-Volume handelt, ist es wichtig, ob ich das Betriebssystem und den Datenspeicher auf einer Partition platziere oder sollte ich eine Partition aufteilen? Ich plane auch, VSS zu verwenden. Sollte das eine weitere separate Partition sein? Kann es überhaupt auf derselben Partition sein?
Andere bewährte Methoden?
Vielen Dank im Voraus. Ich bin ein Router/Switch/Firmware-Typ, daher ist das alles ein bisschen neu für mich. C.
Antwort1
Festplattensubsystem: Hier ist ein Artikel von Microsoft zur Partitionsausrichtung in SQL Server 2008:http://msdn.microsoft.com/en-us/library/dd758814.aspx
Ich gebe Ihnen den Link wegen der im Artikel erläuterten Theorie und nicht, weil ich glaube, dass Sie SQL Server verwenden werden. Die Arbeitslast eines Dateiservers ist weniger empfindlich, was die Partitionsausrichtung angeht, als die eines SQL Servers, aber jedes bisschen hilft.
NTFS:
Sie können die Zeitstempelung des letzten Zugriffs in NTFS wie folgt deaktivieren:
fsutil behavior set disablelastaccess 1
Sie können die Erstellung kurzer Dateinamen (sofern Sie keine Apps haben, die dies benötigen) folgendermaßen deaktivieren:
fsutil behavior set disable8dot3 1
Überlegen Sie, welche NTFS-Clustergröße für die Art von Dateien, die Sie auf der Box speichern möchten, am besten geeignet ist. Generell sollten Sie die Clustergröße so groß wie möglich halten, um Platzverschwendung durch Dateien, die kleiner als der Cluster sind, zu vermeiden. Außerdem sollten Sie versuchen, Ihre Clustergröße an die Größe Ihrer RAID-Stripes anzupassen (und, wie oben erwähnt, Ihre Stripes an Ihren Clustern auszurichten).
Es gibt eine Theorie, dass die meisten Lesevorgänge sequentiell erfolgen, sodass die Streifengröße (die normalerweise die Mindestlesegeschwindigkeit des RAID-Controllers ist) ein Vielfaches der Clustergröße betragen sollte. Das hängt von der spezifischen Arbeitslast des Servers ab und Sie müssten es messen, um es sicher zu wissen. Ich würde sie gleich lassen.
Wenn Sie eine große Anzahl kleiner Dateien haben, sollten Sie mit einer größeren Reserve für die NTFS-Masterdateitabelle (MFT) beginnen, um zukünftige MFT-Fragmentierung zu verhindern. Dieses Dokument beschreibt nicht nur den obigen fsutil-Befehl, sondern auch die Einstellung „MFT-Zone“:http://technet.microsoft.com/en-us/library/cc785435(WS.10).aspx Grundsätzlich möchten Sie so viel Speicherplatz für die MFT reservieren, wie Sie Ihrer Meinung nach benötigen, basierend auf der voraussichtlichen Anzahl von Dateien, die Sie auf dem Datenträger haben werden, um eine MFT-Fragmentierung zu verhindern.
Eine allgemeine Anleitung von Microsoft zur NTFS-Leistungsoptimierung finden Sie hier:http://technet.microsoft.com/en-us/library/cc767961.aspx Es ist einaltDokument, aber es bietet dennoch einige gute Hintergrundinformationen. Probieren Sie nicht unbedingt die „technischen Dinge“ aus, die dort beschrieben werden, aber holen Sie sich Konzepte daraus.
Layout:
Sie werden mit Leuten religiöse Diskussionen über die Trennung von Betriebssystem und Daten führen. Für diese spezielle Anwendung würde ich wahrscheinlich alles in einer Partition zusammenfassen. Irgendjemand wird kommen und Ihnen sagen, dass ich falsch liege. Sie können selbst entscheiden. Ich sehe keinen logischen Grund, später „Arbeit zu machen“, wenn die Betriebssystempartition voll ist. Da es sich nicht um separate RAID-Volumes handelt, bringt die Trennung von Betriebssystem und Daten in Partitionen keinen Leistungsvorteil. (Es wäre eine andere Geschichte, wenn es sich um verschiedene Spindeln handeln würde...)
Schattenkopien:
Schattenkopie-Snapshots können auf demselben oder einem anderen Datenträger gespeichert werden. Ich habe nicht viel Hintergrundwissen über die Leistungsprobleme, die mit Schattenkopien verbunden sind, also werde ich hier aufhören, bevor ich etwas Dummes sage.
Antwort2
WSS macht bereits einen Großteil der standardmäßig vorgeschlagenen Dinge: SieheWindows Storage Server-Blog
„Leistungsoptimierungen für Dateiserver: Es gibt einige Einstellungen in Windows Server 2003, die den Netzwerkverkehr und NAS-Vorgänge beschleunigen, wie z. B. das Entfernen von Dateisystem-Aliasen, das Deaktivieren der 8.3-Namenserstellung und das Einstellen der TCP-ACK-Frequenz, um die Netzwerkrahmengröße und -geschwindigkeit besser auszunutzen. Weitere Informationen finden Sie im Whitepaper zur Leistungsoptimierung. OEMs können ihre Leistung auch verbessern, indem sie die Interrupt-Affinität von NIC-Karten einstellen und sicherstellen, dass beim Einrichten des RAID-Arrays die richtige Festplattenausrichtung berücksichtigt wird. Weitere Informationen zu diesen beiden Themen finden Sie weiter unten.“
Beachten Sie, dass die Festplattenausrichtung im Werk durchgeführt werden sollte.
Antwort3
RAID 6 wird die Lese-E/A im Vergleich zu anderen RAID-Optionen in diesem Setup ziemlich verschlechtern und wird in Bezug auf die Schreib-E/A sehr hart sein. Wenn Sie nicht unbedingt den gesamten Speicherplatz benötigen, würde ich Ihnen empfehlen, RAID 10 in Betracht zu ziehen. Sie werden im Vergleich zu RAID 6 750 GB auf Ihrem System verlieren, aber der Leistungsunterschied wird alle anderen Leistungsoptimierungen, die Sie versuchen, in den Schatten stellen. Partitionsausrichtung, Anpassung der Streifengrößen an die Blockgröße des Dateisystems und Änderungen von Dingen wie der letzten Zugriffszeit, die Evan vorschlägt, sind hervorragende Vorschläge, die den Durchsatz insgesamt um 30 % oder mehr verbessern werden. RAID 10 wird beim Lesen und Schreiben durch die Bank mindestens 100 % schneller sein und seine Wiederherstellungszeit beträgt einen Bruchteil der von RAID 5 oder 6.
RAID 10 – 4 Laufwerke mit 2 Hotspares. Effektive Kapazität 1500 GB. Dauerhaftes zufälliges Lesen erreicht hier ungefähr das 4-fache der IOPS Ihres Basislaufwerks. Dauerhaftes zufälliges Schreiben erreicht (bis zu) das 2-fache der Schreib-IOPS Ihres Basislaufwerks. Wiederherstellungszeit – 4–6 Stunden auf einem System wie Ihrem im Leerlauf, möglicherweise das Doppelte bei durchschnittlicher Belastung.
RAID 5 – 5 Laufwerke mit 1 Hotspare. Effektive Kapazität 3000 GB. Dauerhaftes zufälliges Lesen erreicht ca. das 4-fache der IOPS Ihres Basislaufwerks. Dauerhaftes zufälliges Schreiben erreicht ca. das 1-fache der Schreib-IOPS eines einzelnen Basislaufwerks (unter der Annahme, dass für jeden Schreib-IO 2 Lese- und 2 Schreibvorgänge erforderlich sind). Wiederherstellungszeit – Über einen Tag im Leerlauf, Tage bei normaler Belastung.
RAID 6 – 5 Laufwerke mit 1 Hotspare. Effektive Kapazität 2250 GB. Dauerhaftes zufälliges Lesen beträgt ca. das Dreifache des Basislaufwerks. Dauerhaftes zufälliges Schreiben beträgt ca. 66 % der Schreib-IOPS eines einzelnen Basislaufwerks (für jeden Schreib-IO sind 3 Lese- und 3 Schreibvorgänge erforderlich). Wiederherstellungszeit – Tage, wenn das System relativ im Leerlauf ist, bei normaler Belastung bis zu einer Woche.
Natürlich kann die Leistung unterschiedlich ausfallen. Wenn Sie nicht viel anhaltenden zufälligen IO-Verkehr haben, wird das meiste davon durch den Cache verborgen. Der anhaltende Leistungseinbruch bei RAID 6 ist jedoch ziemlich drastisch, insbesondere wenn es mit relativ wenigen Laufwerken im Array implementiert wird.
Antwort4
Evan und Helvick haben recht, also werde ich einfach eine weitere Ressource hinzufügen. DieRichtlinien zur Leistungsoptimierung für Windows Server 2003Das Dokument deckt viele der Überlegungen und internen Optimierungen ab, obwohl Storage Server, wie Jim erwähnt, bereits vorab optimiert ist, um die Arbeitslast bei der Dateifreigabe zu optimieren.