Melding om at SC Storage-kunde er: Linux store i/u-størrelser kan påvirke iSCSI volum tilgjengelighet
Summary: En fersk kjerne endring ble innført på Oracle Enterprise Linux distribusjon som endrer atferden til hvordan IO-grenser beregnes på blokk enheter.
Symptoms
Varsel:
Disse endringene er skissert nedenfor.
Oracle Linux 6/7:
ELSA-2015-3098-ikke-ødelagt Enterprise kernel Security og Bugfix Update
http://linux.oracle.com/errata/ELSA-2015-3098.html
Utgivelsesdato 2015-11-13
[3.8.13-100.el6uek/3.8.13-100.el7uek]
blokk: Fjern artifical max_hw_sectors cap (Christoph Hellwig) [Orabug: 21511611]
Oracle Linux 5:
ELBA-2015-3076-ødelagt Enterprise kernel-feil Korriger oppdatering
http://linux.oracle.com/errata/ELBA-2015-3076.html
Utgivelsesdato 2015-08-27
[2.6.39-400.260.1.el5uek]
blokk: Fjern artifical max_hw_sectors cap (Jon Jin) [Orabug: 21455630]
Oversikt:
Hver blokk enhet som finnes på et Linux systemet, tilordnes en kømappe (befinner seg på /sys/Block/XXX/Queue/). Denne mappen inneholder en rekke konfigurasjons filer. Detaljer om disse filene kan befinne seg på:
https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt
De to parametrene som er relevante for denne CSTA:
max_hw_sectors_kb
Maksimalt antall kilobyte som støttes i én enkelt data overføring.
Denne parameteren er skrivebeskyttet og leveres av mål lagrings enheten gjennom SCSI forespørsels svar. SCSI mål del systemet i lagrings senter operativ systemet (SCOS) svarer for øyeblikket på null. Dette indikerer at det ikke er noen grense, slik at serveren setter verdien til maksimum tillatt i den Linux kernel-versjonen (32 MB).
max_sectors_kb
Maksimalt antall kilobyte som blokk laget vil tillate for en filesystem-forespørsel.
Denne verdien er skrivebeskyttet. Denne verdien må være mindre enn eller lik max_hw_sectors_kbverdien.
Endringer i Oracle Linux kjerne som ble introdusert i kjernens 2.6.39-400.260.1. el5uek, 3.8.13-100. el6uek og 3.8.13-100. el7uek endret måten max_sectors_kb beregnes på. I tidligere kjerne utgivelser var verdien alltid satt til 512 kB. Etter denne endringen er verdien på max_sectors_kb satt til verdien av max_hw_sectors_kb. Dette øker maksimums størrelsen på én enkelt i/u-overføring til en gitt blokk enhet fra 512 kB til 32 MB.
Denne endringen eksponeres et problem med lagrings senter 10 GB iSCSI-driveren for i/u-størrelser som er større enn ~ 8 MB. Serverprosessen som produserer den store i/u-en kan henge, eller volumet kan bli utilgjengelig på grunn av stor i/u-størrelse. I tillegg kan problemet med 10 GB iSCSI-driveren forårsake at det opptar minnet som kreves av andre lagrings senter del systemer, noe som kan føre til en større påvirkning.
Omgåelse av problemet:
For å unngå dette problemet må max_sectors_kb for hver blokk enhet endres dynamisk på Linux-serveren. Nedenfor er eksempel kommandoer for en multipath blokk enhet som er koblet til et Linux system:
#mpath1:
echo 512 >/sys/Block/DM-6/Queue/max_sectors_kb
echo 512 >/sys/Block/SDC/Queue/max_sectors_kb
echo 512 >/sys/Block/Sde/Queue/max_sectors_kb
echo 512 >/sys/Block/SDK/Queue/max_sectors_kb
echo 512 >/sys/Block/SDM/Queue/max_sectors_kb
Disse endringene er ikke faste når de startes på nytt. Et init-skript kan implementeres for å kjøre når en gitt server starter, som vil endre denne parameteren for alle iSCSI blokk enheter. Ta kontakt med Linux administrator eller Oracle støtte for å implementere dette ved varende for hvert kunde miljø.
Følgende skript (udev regel) setter max_sectors_kb på hver iSCSI tilknyttede Compellent-volum til 512 kB. Du må bruke dette skriptet etter eget skjønn, ettersom ingen garantier eller garantier er underforstått. Det anbefales å teste skriptet, men det skal fungere uten problemer.
Opprett filen 99-CML-iSCSI. reglene i katalog /etc/udev/rules.d/ med følgende innhold:
[root@localhost/] # Cat/etc/udev/rules.d/99-CML-iSCSI.Rules
# Modify max_sectors_kb for Dell Storage Center iSCSI tilordnede volumer
ACTION = = "Legg til", \
KONV = = "*-iSCSI-* compellent *", \
RUN + = "/bin/sh-c ' ekko 512 >/sys $ DEVPATH/Queue/max_sectors_kb '"
Berørte versjoner:
Alle SCOS versjoner er berørt som benytter 10 GB iSCSI-grensesnitt. Fibre Channel, 1 GB iSCSI og FCoE er ikke berørt.
Løsning:
Max_sectors_kbproblemet er løst i SCOS versjon 7.01.12, 7.02.01, og 7.03.01 og høyere.
Endringer er tilgjengelige i SCOS 6.07.03 og høyere for å løse minne forbruk problemet med 10 GB iSCSI-driveren.