Cum să meargă și să fie o platformă 1c și 1c pentru a rula mai multe servicii pe un singur server de tehlab

Cum să meargă și să fie o platformă 1C și 1C pentru a rula mai multe servicii pe un singur server?

Cum se instalează rapid și ușor o nouă versiune a 1C in timp ce reducerea la minim întreruperea experienței utilizatorului? Cum de a rula mai multe instanțe de server pe aceeași mașină 1C? Aceste probleme sunt un subiect comun de discuție între administratorii de server 1C. În general, răspunsurile pot fi găsite pe site-ul web al STI la acest link. precum și aceasta.

În acest articol dorim să evidențieze cel mai important lucru este de a adăuga ceva de la tine, și împărtăși experiența, și care este suficient de important pentru a arăta că aceste probleme nu sunt ceva complexe și rezolvate literalmente în cel mai scurt timp și chiar fără a dansa cu o tamburina cât mai mulți oameni cred.

actualizare platformă

Deoarece instalarea 1C serviciului la server, în cazul în care nu a fost, este simplă și nu diferă unele speciale, ia în considerare o altă problemă, atunci când avem deja un server de producție care rulează serverul de aplicații, în cazul în care locul de muncă utilizatorii, și trebuie să o actualizați versiunea 1C. Această sarcină poate fi împărțită în două faze condiționate: o etapă de pregătire și etapa de renovare.

Faza pregătitoare

Când suntem convinși că totul este în ordine, putem rula 1C instalare pe serverul de aplicații. În cazul în care nu este instalat debifați opțiunea „Instalarea ca un serviciu“, nu vă puteți opri serviciul de 1C, 1C care deservesc versiunea actuală și că este foarte important, nu puteți întrerupe experiența utilizatorului.

Cum să meargă și să fie o platformă 1c și 1c pentru a rula mai multe servicii pe un singur server de tehlab

După aceea, toate componentele de server sunt instalate, dar nu vor fi utilizate.

actualizări etapă

După etapa pregătitoare este finalizată, trebuie să acord cu utilizatorii, când va fi posibil să-și întrerupă activitatea lor timp de câteva minute. Când vine acel moment, aveți nevoie pentru a opri serviciul de 1C și 1C schimba linia de pornire de serviciu, și anume, calea către fișierul executabil ragent.exe. Acest lucru se poate face în mai multe moduri:

  • manual, folosind regedit:
  • folosind fișierul registru dinainte stabilit:

La momentul potrivit, faceți clic dreapta pe fișierul registru exportat cu linia modificată pentru a porni 1C de serviciu și faceți clic pe „Merge“. Avantajul acestei metode este faptul că fișierul ne putem pregăti în avans și să facă schimbarea parametrilor serviciului 1C în două click-uri fără a fi nevoie să „sape“ în registru.

  • sau prin intermediul unui script folosind sc utilitar (executat din linia de comandă cu drepturi de administrare):

sc config [nume de serviciu 1C în care versiunea 1C schimbare] binPath = [serviciu de linie începe o nouă versiune a platformei 1C]

Serviciul Linia începe 1C din noua versiune a platformei poate fi obținut din linia de serviciu rula 1C versiunea curentă a platformei, înlocuind calea către ragent.exe fișier executabil:

Cum să meargă și să fie o platformă 1c și 1c pentru a rula mai multe servicii pe un singur server de tehlab

De exemplu, dacă dorim să faceți upgrade platforma de curent (de exemplu, 8.3.7.1873) la 8.3.7.1917, apoi executați versiunea curentă a șirului ar putea arăta astfel:

"C: \ Program Files \ 1cv8 \ 8.3.7.1873 \ bin \ ragent.exe" -srvc -regport 1541 -range agent apartinand -port 1540 1560 1591 -debug -d "C: \ Program Files \ 1cv8 \ srvinfo"
Noi ieșim din ea pentru a începe 1C linia de serviciu a noii versiuni a platformei:
"C: \ Program Files \ 1cv8 \ 8.3.7.1917 \ bin \ ragent.exe" -srvc -regport 1541 -range agent apartinand -port 1540 1560 1591 -debug -d "C: \ Program Files \ 1cv8 \ srvinfo"

Nume de serviciu 1C, cum ar fi următoarele:
1C: Enterprise 8.3 Server Agent (x86-64)

script-ul va arăta astfel:

sc config "1C: Enterprise 8.3 Server Agent (x86-64)" binPath = "/" C: \ Program Files \ 1cv8 \ 8.3.7.1917 \ bin \ ragent.exe / „-srvc -regport 1541 -port agent apartinand 1540 - gama 1560 1591 -debug -d / "C: \ program Files \ 1cv8 \ srvinfo /" "

Un serviciu suplimentar 1C

Deci, în scopul de a utiliza mai multe instanțe de server de 1C pe aceeași mașină pentru ambele versiuni de server 1C (în cazul în care diferă), mai întâi efectuează „faza pregătitoare“, în paragraful precedent.

În continuare, avem nevoie de următorul script:

4 "/ debug"
set Desctiption = "Agent 1C: Enterprise Server 8.3 Setări:.% 1,% CtrlPort%"
în cazul în care nu există „%

4 "mkdir" %

4 '
sc opri% SrvcName%
sc șterge% SrvcName%
sc crea% SrvcName% binPath =% BinPath% start = auto obj =% SrvUserName% parola =% SrvUserPwd% displayname = .esctiption% depind = Dnscache / Tcpip / Tcpip6 / lanmanworkstation / lanmanserver

Astfel, script-ul de mai sus ar trebui să fie salvate într-un fișier batch, care este numit un registru-service.bat. Înainte de a aplica aceasta trebuie să specificați datele pe care le utilizator real (nume de utilizator și parolă) în numele care serviciul va rula cluster-ul de server (set șir SrvUserName = și setați SrvUserPwd =). Notă: dacă utilizați grafia chirilică, lot fișier ar trebui să fie stocate în codată OEM 866.

Pentru a înregistra, urmați serviciul din linia de comandă următoarea comandă:

register-servicii [numărul de versiune a platformei] [primele cifre ale numărului de port] [numărul de numere de porturi de descărcare sutime] [directorul de servicii 1C]

De exemplu, dacă trebuie să ne înregistreze două servicii pentru două servere 1C aceeași versiune 8.3.6.2332, atunci linia de comandă a scrie următoarele:

Erori tipice și posibilele probleme

În plus, trebuie să ne amintim că implicit portul 1541 înregistrările 1C pentru un manager de cluster, care se află în setările pentru a porni serviciul de 1C poate fi văzut:

Acest lucru înseamnă că, după instalarea noii versiuni a platformei atunci când începe serviciul implicit este întotdeauna un nou cluster și a alerga rmngr.exe proces va fi creat, chiar dacă aceasta este, în principiu, pe server nu avem nevoie și nu vrem să utilizați acest server de producție ca și centrală. De asemenea, în cazul în care linia specificate porturile gama rphost pentru noul cluster:

Din păcate, nu există în prezent nici o posibilitate de a controla crearea clusterului locale la serviciul inițial de pornire 1C prin intermediul serviciului de parametrii de linie de comandă. Dar această problemă poate fi rezolvată în două moduri.

Prima și, probabil, cea mai simplă - este de a șterge noul cluster local, dintr-o consolă 1C cluster:

Cum să meargă și să fie o platformă 1c și 1c pentru a rula mai multe servicii pe un singur server de tehlab

A doua opțiune este de a începe cu un serviciu inițial 1C grup nou este creat, înainte de lansarea sa în fișierul de serviciu director pentru serviciul pe care este specificat în linia rula sale după -d-cheie, trebuie să creați un fișier numit 1cv8wsrv.lst după cum urmează:

Obținem același fișier atunci când ștergeți cluster local, așa cum este descris în primul exemplu de realizare.

După aceea, putem rula acest serviciu 1C. La începutul serviciului, există un cec de fișier 1cv8wsrv.lst în serviciul de director fișiere noi 1C serviciu. Acest fișier este citit pe clustere raportate. Dacă fișierul nu este - creează un cluster implicit cu setările din linia de start de serviciu, în cazul în care fișierul există, datele sunt citite de la ea, și crearea automată nu are loc. În consecință, în acest caz, existența fișierului este confirmată prin crearea noului cluster.

Dacă creați un nou grup încă nevoie, ar trebui să verificați că portul este selectat / regport (sau portul implicit - 1541 dacă parametrul / regport Necunoscut), nu este ocupat de înregistrarea noului serviciu. Dacă nu, atunci, probabil, o manifestare a unei situații în care cele două servicii vor lucra cu un cluster manager, în cazul în care, de exemplu, pentru portul specificat în lansarea unei noi linii de serviciu (sau portul implicit - 1541 -regport dacă cheia nu este inclusă în rândul start-up) a fost deja înregistrat în managerul de cluster. Motivul pentru aceasta este faptul că în timpul pornirii inițiale a serviciului și portul de înregistrare pentru managerul de cluster nu are loc verificați portul ocupat sau nu. Provocarea pentru punerea în aplicare a acestui test este cunoscută și va fi pus în aplicare în versiunile viitoare ale platformei.

O altă opțiune este de a începe 1C linia de serviciu, care merită luat în considerare acest lucru:

El este responsabil de catalog, care va fi amplasat (sau poziționat) server de fișiere de service 1C (inclusiv o listă de clustere). Directorul implicit este setat după cum urmează:

De asemenea, mulți oameni uita să specifici cheia în linia de start, este responsabil pentru posibilitatea utilizării aplicației în modul de depanare, dacă este necesar:

În plus, una dintre cele mai frecvente greseli este ca administratorul uită pentru a șterge fișierele de servicii 1C de baze de informații (și anume, full-text de căutare indexează și jurnale) din directorul 1C registru de cluster după ce baza eliminată din lista de 1C informații baze de cluster. Această eroare conduce la faptul că spațiul de pe disc server de aplicații este utilizat ineficient.

registru de cluster Directory este după cum urmează:

«C: \ Program Files \ 1cv8 \ srvinfo \ reg_ [manager de numărul de port de cluster]“

Director fișier cu informații de bază de servicii:

«... \ srvinfo \ reg _ **** \ [UUID baza de date cu informații]“

De exemplu, în cazul în care managerul de cluster portului în 1541, serviciul de director fișiere unele informații de bază cu un identificator unic «0c1bd57c-4a1b-47df-A229-ade9833de359» va fi:

Listă de baze de date neutilizate pot fi obținute prin compararea identificatorul unic pentru lista bazelor de date în «1CV8Clst.lst» fișierul (aflat în directorul de registru de cluster) și o listă de baze de date pentru care există cataloage cu fișiere oficiale. Pentru ID-uri de baze de date rapide și eficiente și nume de fișiere din registrul cluster se poate utiliza următoarea expresie regulată:.. «\\ - * \ W) \ "? (*)" \ ,. * [\\ r] * \ n + * „\, \ d + \>».

concluzie

Am încercat să se conecteze la informații articol suficient de complete și detaliate cu privire la modul de a actualiza în mod corect și rapid versiunea de 1C. Astfel de informații pot fi utile în întreprinderile în care o întrerupere de lungă durată a experienței utilizatorului poate fi destul de critică.

De asemenea, este destul de important pentru a descrie pentru noi cum să configurați funcționarea simultană a mai multor servicii de cluster 1C pe aceeași mașină. Aceste informații pot fi utile pentru cei care doresc să izoleze câteva grupuri de 1C, de exemplu, pentru scopuri de dezvoltare sau de testare, sau dacă folosiți bazele de date gestionate de diferite versiuni ale 1C: Enterprise.

Sperăm că va fi capabil de a efectua cu ușurință sarcina dorită și continuă să fie fericit de a utiliza produsele de 1C. Ei bine, dacă ai ceva nu funcționează, sau dacă întâmpinați dificultăți, vă rugăm să ne contactați. vom ajuta!