Nola konpondu bezeroaren baja gogorra behar duten NFS DELEG blokeoak metatzea?

Gure ekoizpen-sistema zaharrak datu-zerbitzari bat eta NFSv4 bidez elkarreragiten duten konputazio-bezero bat dituela; biak VMWare birtualizazioan exekutatzen dira.

Zehaztu dugu kalkulatutako bezeroaren softwarea exekutatu ahala egunetan zehar DELEG blokeoak ( lslocks | wc ) datuak zerbitzarian handitzen direla handitzen dela. Denboran zehar.

IRAKURRI DELEG sarrailen kopurua aldi baterako 100.000 izatera igo daiteke; epe luzera, DELEG sarrailen kopurua handitzen da. Ia ez dago DELEG WRITE sarrailak. Datu zerbitzarian DELEG blokeo kopurua 15.000 inguru iristen denez, kalkulatutako bezeroak ia ez du erantzuten; prozesu gehienak "D" egoeran daude. Kargatu batez bestekoa. moderatua izaten jarraitzen du, baina PUZaren erabilera% 90etik% 10era edo gutxiagora jaisten da.

Ordenagailu bezeroaren lanak hiltzeak ez du blokeo kopurua gutxitzen minutu batzuk igaro ondoren ere. Komando-lerrotik itzaltzea edo berrabiaraztea normalean zintzilikatzen da; NFS fitxategi-sistemak eta / tmp desmuntatzeak huts egin dezakete.

Berrezartze gogorra egiteak askotan NFS muntatzeak berrabiaraztean muntatzearen huts egin dezake; baina datu zerbitzarian blokeo kopurua izugarri jaitsiko da. Itzaltze gogorrak gehi 2 minutuko itxaronaldia ahalbidetuko du VM-a NFS muntaketa guztiak barne berreskuratzeko.

Datu zerbitzariak SLES 12 ( 4.1.16-2.g1a0d915-default exekutatzen du. ); 12 vCPU eta 128 GB RAM ditu eta SSD eta HD babeseko SAN nahasketa asko erabiltzen du. Nfs-kernel-server-en datu zerbitzariaren bertsioa 1.3.0-9.1 da. Datu zerbitzariak egunero 100.000 datu fitxategi inguru kalkulatzen ditu. Fitxategi horietako batzuk zerbitzariak berak gainidatzi eta berrizendatzen ditu, baina modu horretan, fitxategi nagusia edo fitxategi nagusiaren kopia iragankorra erabilgarri egon behar dira. Bezeroaren kodea jakitun da eta behar izanez gero huts egiten du.

Konputazio bezeroak Debian Stable Stretch ( 4.9.0-6-amd64 ) exekutatzen du. 24 vCPU eta 128 GB RAM ditu. Nfs-bezero arruntaren bertsioa 1: 1.3.4-2.1 da. NFS bidez, datu fitxategi hauek irakurtzen ditu, bai egunero sortutako 100k fitxategi multzo aktiboak eta baita historikoki sortutako fitxategiak ere. Fitxategi bakarra aldi berean irakurri dezakete prozesu askok. Fitxategi gehienetara 1 edo 2 fitxategi aldi bakoitzean sartzen dituzten eta datuak berreraikitzen dituzten uph script txikien bidez sartzen dira. Script hauek Python eta Perl programek deitzen dituzte bizitza orduen arabera.

Datu zerbitzariak honelako esportazioak ditu:

/mnt/ssd  172.26.188.199(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

Konputazio bezeroak fstab sarrerak ditu:

172.26.188.198:/mnt/ssd           /mnt/ssd        nfs     defaults        3 3

Konputazio bezeroak zuzenagoa du. datu zerbitzaria baino aurreratutako arkitektura. SLES exekutatzen duen VM instantzia batek antzeko arazoak izan zituen; horrek sistema eragilea eta kalkulatzeko lanak erabat berrikustea eragin zuen. Horrek arazoa murrizten baina ez kentzen lagundu zuen.

Hurrengo urrats nabaria lehendik dagoen datu zerbitzaria sistema eragile berri batera eramatea da, baina ordainketa ziurra da. Portaerak Linux bertsio desberdinak eta software desberdinak dituzten bi kalkulatutako bezeroen kutxa desberdinak dituenez, arazoren bat izan behar dela susmatzen dugu: zerbitzariaren OS edo NFS bertsioa, bezeroaren maiztasun handiko sarbide eredu gainjarria, fitxategiaren berridazketa eredua datu zerbitzaria (agian datu zerbitzaria NFS zerbitzaria guztiz banatuko balitz nfsd barne egoera zuzenduko litzateke), akatsen bat NFSn edo akats bat nola konfiguratu dugun. Ez nago prest gure ethernet edo SAN arazo posibleak baztertzeko, baina nekez jotzen ditut gaur egun.

Zerbitzariaren berrikuspena egiteaz gain, banatutako fitxategi sistema batera aldatzeaz edo berrabiarazteko tarte erregularra konfiguratzeaz, zer epe laburrean konponketek DELEG blokeo kopurua baxua izaten jarrai dezakete gure datu zerbitzarian?

0
задан 15 June 2018 в 18:47
1 ответ

Чтобы решить эту проблему, мы попытались изменить серверы файлов (все еще NFSv4), аппаратное обеспечение и версии ядра (теперь linux 4.2.8 на NAS с 4.1.16 на x86 / VMWare / SLES). Несмотря на эти изменения, накопление блокировок NFS4 DELEG все еще происходило - предположительно, это проблема, коренящаяся в программной структуре, которая работала с чисто локальным (прямым) хранилищем. В конечном итоге мы отказались от NFSv4 и теперь используем NFSv3 с опцией nolock ; мы также используем noatime, nodiratime, noacl по соображениям производительности. Блокировки больше не накапливаются, что приводит к катастрофическому замедлению, наблюдаемому ранее.

0
ответ дан 5 December 2019 в 05:51

Теги

Похожие вопросы