Serwer 1c na wydajności maszyny wirtualnej. Omijamy wykrywanie maszyny wirtualnej przez programy w VMWare. O maszynach wirtualnych
Początkowo wirtualizacja była tylko na poziomie oprogramowania, a zalety wirtualizacji zostały zniwelowane przez znaczne spowolnienie w środowisku wirtualnym. Częściowo problem został rozwiązany przez sprzęt – sprzedawcy opracowali instrukcje Procesory Intel VT-d, AMD-V itp. przyspieszyć pracę. Jednak pamięć i procesor to nie jedyne komponenty, jest też karta graficzna, dyski twarde itp. a szybkość działania bezpośrednio zależy od realizacji dostępu do nich. Tych. w zależności od producenta maszyna wirtualna, sterowniki od producenta sprzętu, szybkość pracy nadal w dużym stopniu zależy od zdolności końcowego oprogramowania do rozpoznawania wirtualizacji.
Różne aplikacje w różny sposób spowalniają na maszynie wirtualnej.
Poza obciążeniem sprzętowym związanym z utrzymaniem oprogramowania do wirtualizacji, kolejnym czynnikiem spowalniającym jest zarządzanie czasem. Prędkość przepływu w gruczole fizycznym i wirtualnym nie jest taka sama. Ponadto maszynę wirtualną można wstrzymać. Złożoność implementacji timerów, przełączników synchronizujących, przechwytywanie fizycznych zasobów sprzętowych w systemie wirtualnym nie pozwala na rozwiązanie problemu jeden na jednego tak jak na sprzęcie fizycznym, wiele zależy od konkretnego dostawcy.
Przeprowadziliśmy test szybkości przesyłania strumieniowego, aby ocenić, w jakim stopniu wirtualizacja może wpłynąć na szybkość zadań jednowątkowych w 1C, w tym operacji interfejsu.
Z uzyskanych wyników najważniejszym wnioskiem nie są liczby, ale fakt, że nadal wymagane jest doświadczenie, aby znaleźć w praktyce, a nie teoretycznie, najlepszą opcję obsługi 1C dla konkretnego obciążenia.
Efekt warstwy wirtualizacji jest szczególnie zauważalny przy bardzo szybkich operacjach. baza informacji 1C i to jest logiczne. Im krótszy czas działania, tym bardziej jest porównywalny z opóźnieniem obsługi warstwy wirtualizacji.
Innymi słowy, jeśli to zrobimy długa operacja tysięcy sekund, to jedna dziesiąta opóźnienia w konserwacji wirtualizacji będzie kroplą w morzu potrzeb i nie będzie zauważalna. Ale jeśli wykonamy dziesięć tysięcy operacji w czasie jednej dziesiątej sekundy na każdą operację, to opóźnienia serwisowe będą zauważalne, ponieważ będą współmierne do czasu trwania operacji.
CO ROBIĆ
Problem można rozwiązać na dwa sposoby.
Pierwsza droga. Jeśli nie możesz osiągnąć żądanej wydajności za pomocą ustawień wirtualizacji, użyj fizycznego sprzętu.
Drugi sposób. Zminimalizuj opóźnienia wirtualizacji, wybierając ustawienia dopasowane do charakteru obciążenia. Jednocześnie należy zrozumieć, że wirtualizacja nie jest w 100% analogiczna do sprzętu fizycznego i konieczne jest zrekompensowanie prędkości mocniejszym sprzętem fizycznym.
Niektórzy dostawcy zapewniają poprawę szybkości dzięki mechanizmom buforowania wbudowanym w warstwę wirtualizacji. Pamięć podręczna może jednak zostać „zepsuta”, a wtedy nastąpi gwałtowny spadek wydajności. Tych. musimy pamiętać nie tylko o zaletach technologii, ale także o wadach.
1. "Migawki" muszą być wyłączone - zwalniają. Jaki efekt nie jest oczywisty. Zobacz http://vkeygen.blogspot.ru/2011/10/snapshot.html po szczegóły
Microsoft Hyper-V
- podczas korzystania z serwerów Hyper-V z węzłami NUMA
VMware ESXi i vSphere
Wspólne wykorzystanie maszyn wirtualnych do równoważenia obciążenia
Problem tkwi w działaniu komponentu vCenter o nazwie DRS (Distributed Resource Scheduler), którego zadaniem jest równoważenie obciążenia maszyn wirtualnych na serwerach fizycznych.Gdy występują duże obciążenia pod względem mocy procesora lub obciążenia pamięci RAM, DRS migruje maszynę wirtualną do innego hosta fizycznego, najmniej obciążonego ten moment; w kulminacji tego procesu problemy krótkoterminowe z dostępem do zasobów tej maszyny wirtualnej.
INTERNET
W przypadku serwerów wirtualnych ESXi 6.0 z serwerem 1s nie używaj interfejsów sieciowych typu WMXNET3, używaj tylko typu e1000e
Baran
- Wyłącz deduplikację pamięci dla EXSi - Przezroczyste udostępnianie stron na hoście VMware ESXi
Jeśli chcesz teraz wyłączyć ten mechanizm, musisz wykonać następujące czynności:
W starszych wersjach
Po łatce i aktualizacjach ESXi mechanizm TPS można włączyć w następujący sposób (Ustawienia zaawansowane w sekcji Oprogramowanie):
- Parametr Mem.ShareForceSalting(Włącz TPS na poziomie całego hosta ESXi). Jeśli wartość wynosi 0, to TPS nadal działa na hoście, jeśli 1, mechanizm jest wyłączony.
- Parametr sched.mem.pshare.sól(ustawiane na poziomie VM) pozwala włączyć/wyłączyć TPS dla poszczególnych maszyn wirtualnych (np. stare okna lub Linux - dla nich byłoby możliwe włączenie). Gdy parametr ShareForceSalting jest ustawiony na 1, to dla maszyn, które wymagają TPS w ich zaawansowanej konfiguracji, musisz ustawić te same wartości„sole”. Bez tego TPS nie działa - w związku z tym jest wyłączony.
procesor
— — Włącz plan zasilania maksymalnej wydajności
— vSphere doskonale zdaje sobie z tego sprawę i próbuje umieścić wirtualne rdzenie maszyn na tych procesorach fizycznych, w których pamięci aktualnie znajduje się pamięć RAM maszyny wirtualnej. Ale tutaj są pułapki. Producenci serwerów lubią domyślnie włączać emulację NUMA w systemie BIOS. Oznacza to, że serwer jawi się systemowi operacyjnemu jako urządzenie NIE NUMA, a vSphere nie może wykorzystać swoich optymalizacji do zarządzania tą technologią. Dokumentacja vSphere zaleca wyłączenie tej opcji w BIOS-ie, dzięki czemu vSphere samodzielnie poradzi sobie z problemem.
KIEROWCA
- Zainstaluj dodatki dla gości VMware Tools
Pierwsza rzecz do zrobienia po instalacji system operacyjny gościem wewnątrz maszyny wirtualnej jest zainstalowanie pakietu oprogramowania - VMware Tools Guest Additions for VMware. Te pakiety zawierają specjalne sterowniki, które zapewniają więcej szybka praca system operacyjny gościa na sprzęcie maszyny wirtualnej.
Wybierz Zainstaluj narzędzia VMware z menu maszyny wirtualnej. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zakończyć instalację. Jeśli używasz systemu gościa Windows, zobaczysz, że ten proces nie różni się od instalowania innych aplikacji.
Sprawdzanie narzędzi VMware.
- Wybierz hosta w vClient;
- Przejdź do zakładki Wirtualne maszyny;
- Dodaj kolumnę „Stan narzędzi VMware”;
- Oceń stan. OK-> oznacza, że wszystko jest w porządku, nic nie trzeba robić. Nie wyczerpany/Nieaktualny – wyeliminowany.
Jeśli VMware Tools nie działa, musisz poradzić sobie z systemem operacyjnym gościa. Powodem może być ukrywanie się w aktualizacji jądra Linuksa lub wyłączenie (przez kogoś) usługi VMware Tools w systemie Windows.
Jeśli narzędzia VMware są nieaktualne, należy je zaktualizować od menu kontekstowe vKlient. Zwykle dzieje się tak po zainstalowaniu aktualizacji na hostach ESX/ESXi. Po tym często trzeba również zaktualizować narzędzia VMware.
DYSKI
- Podczas korzystania z pamięci zewnętrznej
- Niezależny tryb trwały vmdk-disk - najbardziej produktywny, ponieważ zmiany są wprowadzane natychmiast na dysku, bez logowania. Ale taki dysk nie podlega migawkom, nie można go cofnąć.
- W przypadku korzystania z iSCSI zaleca się skonfigurowanie ramek jumbo (MTA=9000) na wszystkich interfejsach i sprzęcie sieciowym.
- MultiPathing - w większości przypadków RoundRobin jest OK. Naprawiono może dać lepszą wydajność, ale jest to po przemyślanym zaplanowaniu i ręcznej konfiguracji każdego hosta do każdej jednostki LUN. MRU można zainstalować z konfiguracją aktywno-pasywną, jeśli niektóre ścieżki znikają od czasu do czasu - tak, aby nie przeskakiwały tam iz powrotem.
Jak wygląda wirtualizacja w praktyce? Wirtualizacja nie zawsze bardzo spowalnia, niemniej ważny jest również charakter obciążenia, ilość danych.
Etap 1. Krok 1. Prześlij pliki instalacyjne do maszyny wirtualnej.
Potrzebujemy następujących plików instalacyjnych:
1. Platforma 1C
Etap 1. Krok 2. Rozpoczynamy instalację platformy 1C
Etap 1. Krok 3. Podłączanie komponentów
Etap 1. Krok 4. Wybierz język interfejsu
Etap 1. Krok 5. Instalacja platformy 1C
Etap 1. Krok 6. Instalowanie sterownika ochrony
Etap 1. Krok 7. Kończymy instalację platformy 1C
Etap 2. Otwórz port, aby uzyskać dostęp do maszyny wirtualnej z zewnątrz
Etap 2. Krok 1. Przejdź do panelu sterowania maszyny wirtualnej
Etap 2. Krok 2. Przejdź do menu „Punkty końcowe” (są to otwarte porty na zewnątrz)
Etap 2. Krok 3. Dodaj nowy punkt końcowy (port).
Potrzebujemy portu 80. Tutaj możesz zobaczyć, które porty są już otwarte. Jeden służy do łączenia się przez rdp.
Etap 2. Krok 4. Nie bądź mądry. Kliknij Następny
Etap 2. Etap 5. Wypełnij parametry portu. Ratujemy.
Etap 2. Etap 6. Port 80 jest tworzony.
Krok 3: Zainstaluj serwer sieci Web IIS 7.5
Etap 3. Krok 1. Dodanie nowej roli
Etap 3. Krok 2. Dalej
Etap 3. Krok 3. Wybieramy role, których potrzebujemy. Dalej
Etap 3. Krok 4. Dalej
Etap 3. Krok 5. Ustal role
Etap 3. Krok 6. Dalej
Etap 3. Krok 7. Ustal role.
Etap 3. Krok 8. Zainstaluj IIS
Etap 3. Krok 9. Zamknij formularz
Etap 3. Krok 10. Sprawdzenie działania serwera WWW wewnątrz maszyny wirtualnej
aby to sprawdzić, po prostu otwórz przeglądarkę i wpisz http://localhost w pasku adresu
W rezultacie zobaczysz ekran powitalny IIS
Etap 3. Krok 11. Sprawdzenie działania serwera WWW spoza maszyny wirtualnej
Kolejność jest taka sama. Wchodzimy do przeglądarki z dowolnego komputera i wpisujemy adres naszej maszyny wirtualnej w pasku adresu (patrz część 1). Możesz określić zewnętrzny adres IP.
Domyślnie serwer sieci Web IIS7.5 używa portu 80. Które stworzyliśmy w II etapie
W rezultacie powinieneś również zobaczyć ekran powitalny IIS 7.5.
Po przeczytaniu artykułu pozostaje tylko jedno pytanie - „Dlaczego?”. Przejdźmy przez wyjaśnienia autora.
w obrębie maszyny wirtualnej możesz pracować z przestarzałymi rozwiązania programowe i systemy operacyjne;
Tylko moja sprawa. Możesz wykorzystać dostępne licencje na serwer Win2003, który po prostu nie pasuje do wielu nowoczesnych kontrolerów dysków twardych.
Licencja na Win2003 nie oznacza instalacji na maszynie wirtualnej, tylko na fizycznym sprzęcie. Na bezpośrednie pytanie do ekspertów ds. licencjonowania Microsoftu: „Czy jest legalne instalowanie Win2003 na maszynie wirtualnej i używanie go?” otrzymujemy pytanie „Nie. Tylko w przypadku fizycznego sprzętu. Wszystko inne jest nielegalne”. Po co więc używać starego systemu operacyjnego zamiast nowego w maszynie wirtualnej, jeśli nadal zostajesz piratem?
możliwość tworzenia bezpiecznych środowisk użytkownika do pracy z siecią, w tym przypadku ataki wirusów może uszkodzić system operacyjny, a nie maszynę wirtualną;
Nie do końca rozumiem ten argument. Jeśli atak jest przeprowadzany na system hosta, wszystkie maszyny wirtualne są zagrożone; jeśli atak jest przeprowadzany na maszynę wirtualną, tylko ona zostaje skompromitowana, a host pozostaje czysty. W obu przypadkach tracimy ochronę systemu gościa, który jest dla nas najważniejszy. Gdzie i przed czym się chronimy?
kilka maszyn wirtualnych rozmieszczonych na zasobach fizycznych jednego komputera jest odizolowanych od siebie, więc awaria jednej z maszyn wirtualnych nie wpłynie na dostępność i wydajność usług i aplikacji innych;
Również przydatna rzecz dla 1C. Rozdzielenie serwera aplikacji 1C i serwera SQL na różne maszyny wirtualne i przydzielenie każdemu z nich 4 GB pamięci RAM (limit dla 32-bitowego Win32) pozwoli przynajmniej trochę poradzić sobie z plagą systemów 32-bitowych - fragmentacją pamięć o dostępie swobodnym podczas wykonywania dużych zapytań.
Nie używaj 32-bitowych systemów operacyjnych.
Zdecydowanie nie polecam używania systemów 32-bitowych z dużymi konfiguracjami typu SCP. W pewnym momencie po prostu nie będziesz mógł zaktualizować konfiguracji bez ponownego uruchomienia serwera 1C. W pewnym momencie ponowne uruchomienie również nie pomoże. W naszym przypadku na razie oszczędzamy, a wtedy łatwo będzie stworzyć kolejną maszynę wirtualną z systemem 64-bitowym i przenieść na nią wszystko niemal bez przerywania pracy.
Mit, bajka, złudzenie i tak dalej. Przejście z 32-bitowego systemu operacyjnego na 64-bitowy w środowisku wirtualnym jest równoważne złożonością takiej samej zmiany sprzętu. Bez różnicy. Wszystko jest usuwane i ponownie instalowane.
ponieważ każda maszyna wirtualna jest kontenerem oprogramowania, może być przenoszona lub kopiowana jak każdy inny plik;
System wirtualny nie jest pojemnikiem, nie myl go. Przeniesienie maszyny wirtualnej jest możliwe poprzez eksport/import z dużym prawdopodobieństwem, ale nikt nie gwarantuje, że system będzie działał na innym hoście.
możliwość zapisania stanu maszyny wirtualnej pozwala na szybki powrót do punktu przed wprowadzeniem zmian w systemie;
Wszyscy producenci maszyn wirtualnych jednogłośnie deklarują, że nie należy używać migawek w produkcji, ponieważ. może to znacznie spowolnić pracę komputerów gości.
w ramach jednego systemu operacyjnego gościa można wdrożyć kilka maszyn wirtualnych, połączyć je w sieć i współdziałać ze sobą;
Spróbuj uruchomić co najmniej 3-4 systemy gościa na jednym komputerze, a zrozumiesz cały horror, który na ciebie spadł, ponieważ. do normalnej pracy 4 systemów gościa potrzebny jest sprzęt 4 razy chłodniejszy niż do działania jednego.
maszyny wirtualne mogą tworzyć reprezentacje urządzeń, które fizycznie nie istnieją (emulacja urządzenia).
Bardzo wyjątkowa okazja. Nie wiem, gdzie na serwerze 1C jest potrzebny, ale wyrzuć prawdziwe urządzenia z komputera-hosta do systemu-gościa może być bardzo problematyczne.
Wśród niedociągnięć jest dość przewidywalny spadek szybkości pracy. Ale znacznie mniej istotne niż w przypadku korzystania z bezpłatnych serwerów SQL.
Sprzęt serwerowy:
Procesor intel-corei3-4130 (4 rdzenie)
Płyta główna GA-Z87M-HD3 (z obsługą RAID)
2 dyski twarde 1 GB (sata).
8 GB pamięci RAM.
Taki sprzęt z łatwością wyciągnie tylko 1 system gościa i bardzo prosty przepływ pracy. Nie ma potrzeby tworzenia maszyny wirtualnej.
Maszyny wirtualne zostały zaprojektowane tak, aby:
1. oszczędzanie procesora i innych zasobów komputerów w przypadku przestoju jednej z usług
2. Zwiększenie odporności systemów na awarie (migracja na żywo maszyn wirtualnych) w pamięci masowej i klastrze
3. Prostota i łatwość eksperymentowania przez informatyków
Po co instalować jeden serwer 1C na maszynie wirtualnej do produkcji, nie rozumiem.
Twórcy oprogramowania wirusowego i po prostu programiści, którzy nie chcą, aby ich program został odwrócony, próbują sprawdzić maszynę wirtualną na etapie uruchamiania lub instalacji, a jeśli zostanie wykryta, odmawiają pracy, a nawet ulegają samozniszczeniu. Pod cięciem opisano sposób, w jaki można spróbować rozwiązać ten problem.
Użyłem VMWare Fusion for Mac, ale działa równie dobrze na Workstation for Win.
1) Do pracy potrzebny jest nowo zainstalowany system, jak dokonać zmian w już istniejącym - nie znalazłem.
gotować dysk wirtualny, określ system, jak zwykle, i w ustawieniach instalowanej maszyny mam ten element o nazwie Izolacja, wyłącz wszelką wymianę danych z systemem operacyjnym hosta.
izolacji.tools.getPtrLocation.disable = "PRAWDA"
izolacji.tools.setPtrLocation.disable = "PRAWDA"
izolacji.tools.setVersion.disable = "PRAWDA"
izolacji.tools.getVersion.disable = "PRAWDA"
monitor_control.disable_directexec = "PRAWDA"
monitor_control.disable_chksimd = "PRAWDA"
monitor_control.disable_ntreloc = "PRAWDA"
monitor_control.disable_selfmod = "PRAWDA"
monitor_control.disable_reloc = "PRAWDA"
monitor_control.disable_btinout = "PRAWDA"
monitor_control.disable_btmemspace = "PRAWDA"
monitor_control.disable_btpriv = "PRAWDA"
monitor_control.disable_btseg = "PRAWDA"
Opcje te uniemożliwiają programom wykrywanie środowiska wirtualnego poprzez złożone kontrole, takie jak śledzenie przestrzeni adresowej pamięci, liczniki.
Ważny! Jeśli na etapie konfiguracji instalacji dostępna jest opcja, taka jak „Instalacja ekspresowa”, „ Szybka instalacja" - Wyłącz ich. Nie instaluj również VMWare Tools w zainstalowany system, dlatego niektóre oprogramowanie zawiera obecność tego pakietu w czeku.
3) Zapisujemy plik, określamy ISO z instalatorem systemu do rozruchu, instalujemy system operacyjny jak zwykle.
4) Pomimo tego, że zdecydowana większość programów, które nie lubią środowiska wirtualnego nie wychodzi poza kontrole, które odcięliśmy w kroku 2, to niektóre szczególnie uparte idą dalej i próbują szukać np. wszystkiego, co wygląda nazwa wirtualnych kontrolerów dysków.
Aby je pokonać w systemie Windows, przejdź do edytora rejestru w gałęzi HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum. Jak widać, istnieje dość wyraźne odniesienie do faktu, że dysk jest wirtualny.
Musimy to zmienić, usuwając VMware, Virtual, Ven itp. z parametru i zapisać w ten sposób.
Sensowne jest również zastąpienie wszystkiego, co zmienia się w rejestrze, wyszukiwaniem VMware / Virtual dla niektórych Intel lub IBM, a nie tylko zmiennych dyskowych.
Następnie spróbuj uruchomić swój uparty obiekt eksperymentów - w 70 procentach przypadków opisane kroki pomogą ci przejść testy środowiska wirtualnego.
Ważny! Wartość w HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum jest zastępowana po każdym ponownym uruchomieniu, więc należy ją zmienić po każdym nowym uruchomieniu systemu.
Oczywiście nie jest to wyczerpujący przewodnik, niektóre programy mogą również próbować ustalić system wirtualny następującymi metodami:
1) Sprawdzenie zakresu adresów MAC (po prostu podstawionych w ustawieniach wirtualnego) adapter sieciowy przed uruchomieniem maszyny wirtualnej)
2) Za pośrednictwem WinAPI, odpytując konfigurację systemu operacyjnego i inne informacje o systemie (tabela oprogramowania układowego)
3) Sztuczki na niskim poziomie.
Możesz sprawdzić, w jaki sposób zabezpieczyłeś się przed wykryciem, a także zapoznać się z innymi popularnymi wśród programistów narzędziami do wykrywania piaskownicy i maszyn wirtualnych, korzystając z narzędzia Pafish.
Choć są miejsca, w których można się podszyć, proponowana metoda pozwala przechytrzyć większość oprogramowania, które nie chce pracować w środowisku wirtualnym, w tym przypadku VMWare.
Jak widać, ukrycie można również poprawić, przydzielając więcej zasobów systemowych do maszyny wirtualnej. Jeśli chodzi o pamięć, warto wybrać wartości będące wielokrotnościami 1024.
Dziękuję wszystkim, którzy opanowali artykuł i pomogli w uzupełnieniu go o sensowne komentarze!
1C-Bitrix: Maszyna wirtualna została opracowana specjalnie na potrzeby projektów na 1C-Bitrix. Niewątpliwą zaletą tego oprogramowania jest jego wstępna konfiguracja, która jest przykładem idealnych ustawień. wirtualny serwer pod Bitrixem. 1C-Bitrix: maszyna wirtualna została sprawdzona i skonfigurowana do pracy zarówno z produktami 1C-Bitrix, jak iz dowolnymi aplikacjami PHP.
Do czego służy „maszyna wirtualna”?
Korzystanie z „1C-Bitrix: Maszyna wirtualna” pozwoli Twoim projektom wykazywać niezmiennie wysoką wydajność. Oprócz prostoty i wygody pracy pozwala znacznie skrócić czas administrowania stroną stworzoną w oparciu o produkty 1C-Bitrix oraz konfiguracji serwera, a także sprzętu. Za pomocą „1C-Bitrix: Virtual Machine” możesz utworzyć zarówno nowy projekt, jak i przenieść istniejący.
Pełny dostęp na poziomie administratora umożliwia instalację dowolnego oprogramowania za pomocą maszyny wirtualnej dla 1C-Bitrix i wprowadzanie zmian w ustawieniach serwera wirtualnego BitrixVM.
Jaka wersja jest instalowana?
Dostajesz najwięcej Nowa wersja programy. Do tej pory najnowsza wersja tego oprogramowania to „1C-Bitrix: maszyna wirtualna 7.0” c Ostatnia wersja PHP, który daje zauważalny wzrost wydajności.
Jak zamówić maszynę wirtualną?
Dla wszystkich naszych klientów maszyna wirtualna 1C-Bitrix jest dostarczana bezpłatnie przy zamawianiu dowolnego serwera VPS dla Bitrix CMS i jest gotowa do pracy natychmiast po wdrożeniu, które zajmuje kilka minut.
Jak zapłacić za VPS?
Aby zapłacić za VPS, wybierz żądaną taryfę w tabeli i kliknij przycisk „Zamów”. Następnie postępuj zgodnie z instrukcjami w panelu rozliczeniowym, określając niezbędne działania z domeną, swoimi danymi i wybierz odpowiedni sposób Zapłata. To wszystko! Twój serwer zostanie aktywowany natychmiast po dokonaniu płatności.