Advertisement

Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

Michał Panek Radio Research
Engineer, Nokia
Siemens Networks Sp.
z.o.o

Temat: Poprawa wydajności storage'u

Witam,
postanowiłem ostatnio zająć się tematem spowolnienia, jakie powoduje w grupie moich serwerów zapis dużych ilości danych. Na jednym serwerze, nazwijmy go centralnym, znajduje się 5 dysków SCSI spiętych w macierz RAID5. Na tych dyskach znajdują się katalogi domowe użytkowników, wyeksportowane na inne serwery przez NFS. Problem pojawia się, kiedy ktoś zapisuje duże ilości danych do swojego /home'a. Cała grupa wtedy spowalnia, co objawia się m.in. wolniejszym czasem logowania itp, wiadomo, dłużej trzeba czekać na dostęp do danych w katalogu domowym.
Na początku myślałem, że to wina NFS'a, który powoduje większe obciążenie serwera centralnego, ale to raczej nie to, bo gdy np. uruchomię kopiowanie na serwerze centralnym, omijając tym samym NFS, to problem nadal występuje. Szybkość kopiowania na poziomie 50MB/s w obu przypadkach. Obserwując statystyki dysku podczas kopiowania, uzyskiwane przez
iostat -x 1 /dev/sda
widzę, że parametr atime skacze do wartości ponad 300, a niekiedy nawet ponad 1000. Tu zapewne leży problem, a ja szukam jego rozwiązania. Zastanawiam się co mógłbym zrobić, żeby poprawić jakość działania systemu. Macie może jakieś sugestie?
Probowałem np bawić się schedulerem, dysko są podmontowane z opcjami noatime, nodiratime, ale dalej problemy występują. A może taki już musi być i problemu nie przeskoczę?
Mam jeszcze macierz z identycznymi dyskami SCSI, zastanawiam się, czy może nie zrobić innego RAID'a, ale nie wiem, na ile to poprawi wydajność i czy nie wpłynie na bezpieczeństwo danych.
Na serwerach stoi opensuse 11.2/11.3.
24.05.2011, 20:18

Marcin Bojko Inżynier
systemowy/Inżynier
serwisu

Temat: Poprawa wydajności storage'u

Mam nadzieję że to markowy serwer - zacznij od firmwarecd lub innego mechanizmu, który podniesie Ci zarównio BIOS, jaki firmware kontrolera/dysków do ostatniego standardu.
Dalej - przydałoby się nieco informacji o samym kontrolerze - jak typ, jaki obsługuje go moduł, wersja - itp.
Tu sugestia o weryfikację vendora sprzętu - może oferuje sterownik o lepszym stopniu wydajności (chociaż openki nie są w pełni wspierane przez vendorów)
Dalej - zjeżdzając z hw do sw - jaki filesystem, jak montowany, jak noatime,nodiratime itp. ?
//No i banał - czy któryś z dysków nie ma read/write errors/tries na poziomie kontrolera? Czy macierz nie pracuje w trybie zdegradowanym?Marcin Bojko edytował(a) ten post dnia 24.05.11 o godzinie 20:37
24.05.2011, 20:36

Michał Panek Radio Research
Engineer, Nokia
Siemens Networks Sp.
z.o.o

Temat: Poprawa wydajności storage'u

Dzięki za odpowiedź.

Update firmware'u nie jest na razie możliwy, nie mogę teraz wyłączyć serwera, dopiero w weekend.

Kontroler, do którego jest podpięty /home to (wyciąg z lspci):

---------------------
02:0e.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID (rev 07)
Subsystem: Fujitsu Technology Solutions FSC MegaRAID PCI Express ROMB
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping+ SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (32000ns min), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 38
Region 0: Memory at de000000 (32-bit, prefetchable) [size=64K]
Region 2: Memory at de340000 (32-bit, non-prefetchable) [size=256K]
[virtual] Expansion ROM at de020000 [disabled] [size=128K]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [d0] MSI: Enable- Count=1/2 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [e0] PCI-X non-bridge device
Command: DPERE- ERO- RBC=512 OST=4
Status: Dev=02:0e.0 64bit+ 133MHz+ SCD- USC- DC=bridge DMMRBC=1024 DMOST=4 DMCRS=16 RSCEM- 266MHz- 533MHz-
Kernel driver in use: megaraid

--------------------------

modinfo o sterowniku mówi:

------------------------
filename: /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/scsi/megaraid.ko
version: 2.00.4
license: GPL
description: LSI Logic MegaRAID legacy driver
author: sju@lsil.com
srcversion: 540FB65AAE02A059846EC9A
alias: pci:v00008086d00001960sv*sd*bc*sc*i*
alias: pci:v0000101Ed00009060sv*sd*bc*sc*i*
alias: pci:v0000101Ed00009010sv*sd*bc*sc*i*
depends:
vermagic: 2.6.31.5-0.1-desktop SMP preempt mod_unload modversions
parm: max_cmd_per_lun:Maximum number of commands which can be issued to a single LUN (default=DEF_CMD_PER_LUN=63) (uint)
parm: max_sectors_per_io:Maximum number of sectors per I/O request (default=MAX_SECTORS_PER_IO=128) (ushort)
parm: max_mbox_busy_wait:Maximum wait for mailbox in microseconds if busy (default=MBOX_BUSY_WAIT=10) (ushort)

------------------

co do filesystemu, to tu linijka z fstab :

-------------------------
/dev/sdb1 /home reiserfs acl,user_xattr,noatime,nodiratime 1 2
----------------------------

Błędów dysku nie zauważyłem, chociaż tu się przyznam, że sprawdzałem tylko w /var/log/messages, nie wiem, czy gdzieś jeszcze mogą lądować.

Trybu pracy macierzy nie mogę też teraz zweryfikować, ale zerknę na to w piątek.
Dzięki serdeczne za podpowiedzi, gdyby powyższe informacje coś wnosiły, to będę wdzięczny za dalsze sugestie.Michał Panek edytował(a) ten post dnia 25.05.11 o godzinie 15:38
25.05.2011, 15:38

Marcin Bojko Inżynier
systemowy/Inżynier
serwisu

Temat: Poprawa wydajności storage'u

Jeżeli twoim serwerem jest coś ze stajni FSC (Primergy, Optima?) to sprawdziłbym na stronie supportu dostępność modułu kontrolera.
W drugą stronę - aktualizacja kernela ?

Jeżeli chodzi o błędy na dysku - mozna je zweryfikować oprogramowaniem dostarcznanym do serwerów (hpsmartstart, dell openmanager itp) z opcjami inspekta.
Również pakiety sterowników zazwyczaj zawierają jakieś narzędze diagnostyczne do przynajmniej podstawowego odczytu parametrów.
Z mojej strony
- jak najszybciej zweryfikuj poziom raid - czy nie jest zdegradowany lub czy dyski fizycznie nie zawierają błedów. Logi systemowe są tu raczej bezwartościowe - patrz cytat o dedykowanych przez vendorów narzędziach
- wykonaj aktualizację firmware
- wykonaj aktualizację kernela maszyn (ew. przełącz się testowo na kernel PAE)

kolejny poziom to poszukiwanie na stronie producenta sterowników/modułów do ww.kontrolera - np. dell oferuje swoje edycje megaraid.ko.
25.05.2011, 15:55



Wyślij zaproszenie do