1с не запускается на виртуальной машине
Именно, для системного администратора проще и надежней организовать виртуальные машины. Ему будет легче жить. ;-) Дайте возможность ему это сделать и проведите тестирование по скорости "1С+SQL" на реальном железе и в среде VM.
Именно, для системного администратора проще и надежней организовать виртуальные машины. Ему будет легче жить. ;-) Дайте возможность ему это сделать и проведите тестирование по скорости "1С+SQL" на реальном железе и в среде VM.
Можно подумать, админу каждую неделю новые сервера покупают, чтобы он мог туда-сюда образы виртуальных машин таскать.
(1) t955938, поставьте админу задачу(можно и через руководство) - обеспечить производительность системы не ниже текущей. Больше - можно, а меньше - не в коем случае.
(1) t955938, в случае надежности предпочительнее вариант когда 2 виртуальных сервера. Для лучшей производительности лучше использовать один физический сервер(без виртуальных машин).
Связано это со следующим:
1) при использовании виртуальных машин идет потеря производительности от 10 до 30%.
2) при использовании одного физического сервера можно использовать режим shared memory, который даст дополнительный прирост.
Так что тут уж Вам решать, что важнее - надежность или скорость.
Если выберите вариант одной машины, советую разнести на разные физические диски ОС, tempdb и файлы баз данных SQL.
Ну разнос на разные сервера 1с и скуля дают должный результат. правда в отношении с виртуальными системами не думаю что прирост производительности будет. попробуйте увидите и кстати уже подобное на форуме обсуждалось.
Спасибо за ответ!
Что ему будет легче жить, это я понимаю.
К сожалению времени для тестирования у нас нет. Поэтому я бы хотел услышать Ваш совет по поводу:
1) Насколько ресурсоемкая виртуальная машина. И не возникнут ли трудности в настройках портов и т.п.;
2) Имеет смысл разнести сервера 1С и SQL?
И главное оправдывает затея затраты на ее осуществление?
Я, несколько месяцев тому назад установил на виртуальную машину сервера 1С и SQL. Специально не настраивал. И писал на ней конфигурацию. Все жутко тормозило. Поэтому меня пугает перспектива запустить еще пользователей в систему.
Если физические разные сервера, то понятно, а тут один сервер, и разбить его на два виртуальных.
Хотя преимущества использования виртуальной машины я понимаю.
Внимательно прочел все ссылки и рекомендации.
Больше всего понравилась фраза - "Можно подумать, админу каждую неделю новые сервера покупают, чтобы он мог туда-сюда образы виртуальных машин таскать. ".
Конечно интересно поэкспериментировать, но с учетом того что этот сервер планируется как "трудовая лошадка" для большого количества пользователей, поэтому экспериментировать опасно.
Наверное воспользуюсь советом. Установлю все как умею, проверим производительность. Потом, если будет время и возможность предоставлю систему сисадмину пускай шаманит. Сравним результаты. Если получу что-то интересное обязательно напишу вам.
Еще раз спасибо всем участникам форума.
И особые благодарности организаторам.
Диски Nvme, заявленной скорости должно хватать с головой, тестирую скорость запись/чтение в развернутой виртуальной машине - все ок. Процесор, ОЗУ не загружены. Тестирую тестом Гилева саму 1с - и наблюдаю малое кол. попугаев. И просто не понимаю, куда рыть.
Простой 5 комментариев
а с чем сравниваете?
случайно не с файловым вариантом базы 1С?
как сейчас дела обстоят не в курсе, но раньше традиционно трехзвенка в том же окружении, категорически уступала в производительности. слышал объяснения этого феномена, тем что в SQL в некотором смысле, эмулировалась структура файловой базы
А что тут феноменального? Наоборот логика подсказывает что так и должно быть.
клиент серверная архитектура это всегда медленно, потому что много накладных расходов. Зато позволяет одновременно работать куче пользователей.
А файловая это минимум расходов, но она предназначена для одного пользователя.
всего лишь оборот речи
- структура БД 1С в любом SQL не оптимизирована для SQL. и это были шокирующе большие накладные расходы. как сейчас не знаю. времени прошло много.
- вообще то файловые БД 1С прекрасно шарились по сети. а еще быстрее работали на терминальных серверах для множества пользователей одновременно.
.. а в остальном вы правы, все обобщенные рассуждения о клиент-серверных системах у вас совершенно точны ))
А что там оптимизировать? Обычные данные хранящиеся в БД.
файловые БД 1С прекрасно шарились по сети. а еще быстрее работали на терминальных серверах для множества пользователей одновременно
Файловая оптимальная для одного пользователя. Возможность работы в многопользовательском режиме там есть, но сделана очень просто - блокировка таблиц. Поэтому пользователи в процессе работы мешают друг-другу. Пока один не освободит таблицу, другой ни прочитать, ни записать в нее не сможет. Поэтому даже два активно работающих пользователя создают приличные помехи друг-другу.
Хотя если не очень активно работают в некоторых случаях вполне работоспособно и с десятком пользователей.
Для 1с на ESX надо выкручивать всё. Особенно важна низкая латентность.
Если вместе с MS SQL ставите, используйте SharedMem вместо tcp/ip - это даст почти в 1,5-2 раза больше попугаев.
На самой ESX лучше больше 1 машины не держать. В настройках esx поставьте в power management - high perfomance - влияет.
В гостевой машине Latency Sensitivity - high
Этим ещё процентов на 10 попугаев поднимите.
Удачи.
Увы, shared memory дает не более 11-14% но дабавляет проблем в виде все яйца в одном ведре. Темпы в рамдиск даст больше прафита и избавит диски от износа.
Для начала проверьте что у вас дисковый раздел Datastore и внутри VM правильно размечены .
Погулите про "esxi disk alignment"
Ну, и почитать официальные доки "vsphere esxi vcenter server 67 monitoring performance guide" и "vsphere esxi vcenter server 67 performance best practices"
PS NVMe - наверное consumer ?
Для начала проверьте что у вас дисковый раздел Datastore и внутри VM правильно размечены .
Погулите про "esxi disk alignment"
но что же там такого "неискаропки" что нужно "правильно размечать" ?
в 99% "искаропки" все работает ОК
Имхо не надо так делать на продакшене. Имеем игру в RTS, где основные ресурсы - процессорное время, память (с учётом шины и таймингов) и Йопсы. Ресурсы для сиквела - процессор, память, йопсы. Ресурсы для сервера приложений 1С - процессор (причем один рпхост-одно ядро) и память. Каждое приложение пытается получить максимум ресурсов под свои нужды в условиях конкуренции.
Затем с этого снимается налог на виртуализацию и "надо больше золота".…
В самом простом варианте (до 50 пользователей, но в зависимости от нагрузки) имеет смысл установить сиквел и сервер приложений на одном сервере, но без виртуализации (какой в ней смысл, если это специализированный сервер). Это позволить немного сэкономить на железе и немного выиграть в скорости за счёт шаред мемори. При высоких нагрузках внезапно может кончится пропускная способность шины памяти, уйти в полку утилизация процессора или очереди дисков.
Поэтому при большом количестве пользователей целесообразно сразу планировать трехзвенку. Это даёт некоторый проигрыш в Гилевских попугаях, но делает систему более предсказуемой под нагрузкой и легче масштабируемой при необходимости. При этом добавляется ещё один ресурс - пропускная способность сети (и параметр латентности:)).
Ну первая причина - виртуализация. Если хотите скорости от виртуализации лучше отказаться.
Во вторых - не понятна конфигурация. Что за физическая машина, какие ресурсы выделены в виртуалке.
У вас точно диски в виртуалку проброшены? Обычно в ВМ используют виртуальные диски.
А смысл тестировать скорость записи/чтения? Это явно не будет узким местом. Лучше задержку бы потестировали..
Тем более диски там у вас SSD - что за диски? Размер диска, размер базы? Сколько оставили под over provisioning?
Как вы уже знаете, мы запустили новую услугу VPS сервер с предустановленной 1С. В прошлой статье вы задали много технических вопросов в комментариях, сделали несколько ценных замечаний. Оно и понятно — каждый из нас хочет иметь какие-то гарантии и расчёты на руках, чтобы принять решение об изменении IT-инфраструктуры компании. Мы прислушались к голосу Хабра и решили провести тестирование реального железа офисного хлама, который вполне возможно служит вашим сервером 1С и сравнить их с виртуальными серверами.
Для этого мы взяли несколько наших офисных компьютеров и виртуальных машин, созданных в разных дата-центрах и провели тестирование с помощью «Теста Гилёва».
Тест Гилева оценивает количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость отрисовки интерфейса, влияния затрат на обслуживание виртуальной среды если есть, перепроведения документов, закрытия месяца, расчета зарплаты и т.п.
В тестировании участвовали следующие машины:
VM1 – 2 ядра по 3,4ггц, 4 Гб ОЗУ и 20 Гб SSD.
VM2 – 2 ядра по 2.6ггц, 4 Гб ОЗУ и 20 Гб SSD
PC1 – I5-3450, Asus B75M-A с HDD ST100DM003-1CH162
PC2 – I3-7600, H270M-Pro4, с SSD Toshiba TR150
PC3 – i3-8100, Asrock Z370 Pro4, с SSD Intel SSDSC2KW240H6
PC4 – i3-6100, Gigabyte H110M-S2H R2 с SSD Patriot Spark на 512 Гб
PC5 – i3-100, Gigabyte H110M-S2H R2 с HDD Hitachi HDS721010CLA332
Надеемся статья будет полезна при выборе конфигурации железа для работы с 1С. Далее представляем результаты тестов.
Итоги теста в баллах
Первое место занял виртуальный сервер с новеньким GOLD 6128 @ 3.4 GHz — 75.76 баллов
Второе место за i5-7600 – 67.57 баллов. Третье и четвертое место за i3-8100 и Gold 6132 @ 2.6GHz по 64 и 60 баллов соответственно.
Это показывает, насколько в этом синтетическом тесте важна частота процессора и насколько не важна дисковая подсистема. Теперь немного маркетингового пересчета.
Цена в рублях из расчета аренды сервера на год, против покупки аналогичного железа.
PC1 с I5-3450 на борту — ценнейший раритет, поэтому мы считаем его бесценным и не будем брать во внимание стоимость его эксплуатации. (Мы не нашли в продаже эту же модель диска.)
Цены на железо установленное в эти ящики взяты из яндекс маркета, без учета стоимости кулеров, корпусов и блоков питания. Всегда находилась конкретная модель плашки оперативной памяти, материнской платы, установленный в каждый из компьютеров и из этого всего выбиралось самое дешевое предложение.
Итоговая таблица в баллах и стоимости
Машина | Баллы | Стоимость |
VM1 | 75.76 | 1404₽ в месяц |
VM2 | 60.24 | 1166₽ в месяц |
PC1 | 33.56 | От 17800₽ до 47800₽ |
PC2 | 67.57 | 15135,68₽ |
PC3 | 64.1 | 19999,2₽ |
PC4 | 45.05 | 18695,75₽ |
PC5 | 40.65 | 16422,6₽ |
Выводы
Размещение 1С на VDS стало достаточно выгодной опцией, если сравнивать его с приведенным железом.
Нужно понимать, что, сравнивая цены нужно держать в уме, что реальное железо всегда останется вашим хоть и потребляет электроэнергию и амортизируется, но так же вы теряете в отказоустойчивости, избыточности облака, в котором все, что должно быть зарезервировано, было продублировано. Кроме того, вы ощутимо теряете в гибкости, масштабировании, времени на настройку и в деньгах на зарплату инженера, который будет поддерживать железный зоопарк. Нам кажется, 1С на VDS — вполне целевое решение, которое может снять головные боли многих компаний. Поэтому пересматривайте тесты, открывайте эксель, считайте и принимайте решение — у вас будет «не шаткий, не валкий» январь, чтобы безболезненно внести изменения в инфраструктуру и в новом сезоне работать удобнее и проще.
В данной статье расскажем о том, как развернуть у себя на компьютере виртуальный сервер.
На него мы можем затем установить любую операционную систему и любое прикладное программное обеспечение. В нашем случае — операционную систему linux для использования его в качестве сервера 1С на linux.
О том как установить сервер 1С описано в Установка сервера 1С Предприятие 8.3 на Linux.
Используем для наших целей эмулятор от Oracle — VirtualBox.
Разворачиваем виртуальный сервер VirtualBox для 1С на Linux.
Возможные проблемы с виртуальным сервером VirtualBox и пути исправления.
Установим VirtualBox
2. Выполним его установку запуском файла VirtualBox-X.X.XX-XXXXXX-Win.exe.
3. Запустим VirtualBox от имени администратора.
Создадим виртуальный сервер
1. Добавим новую виртуальную машину, нажатием кнопки «Создать».
2. Заполним: «Имя», «Тип», «Версия», как показано на рисунке. Нажмем «Далее».
3. Укажем объем оперативной памяти. Нажмем «Далее».
Желательно указать около 8Гб, но и 4Гб для тестовых целей нам будет достаточно.
4. Создадим виртуальный жесткий диск, как показано на рисунке. Нажмём «Создать».
и формат хранения виртуального жесткого диска:
6. Выберем необходимый размер жесткого диска. Нажмем «Создать».
В нашем случае мы поставим 50Гб.
Настроим сеть виртуального сервера
1. Откроем меню: «Файл» — «Менеджер сетей хоста…» .
2. Создадим сеть хоста.
3. Укажем настройки сети: «DHCP сервер», «Нижняя граница адресов», «Верхняя граница адресов», как показано на рисунке. Нажмем «Применить».
4. Включим сетевой адаптер в меню «Настроить» — «Сеть», как показано на рисунке. И выберем нашу сеть, созданную ранее.
Установим операционную систему linux
1. Откроем настройки, нажав «Настроить».
2. Выберем раздел «Носители».
3. Выберем образ диска с операционной системой. В нашем случае ОС linux (CentOS 7).
4. Сохраним настройки. Нажмем «ОК».
5. После этого запустим виртуальную машину. Нажмем «Запустить».
6. Выполним захват клавиатуры виртуальной машины. Нажмем «Захватить».
О том, как выйти из режима захвата, написано в самом окне. По умолчанию -это нажатие правой клавиши «Ctrl».
7. Далее выполним непосредственно установку и настройку ОС:
- нажмем «Enter» для начала выполнения инсталляции;
- выберем язык, диск и начинаем инсталляцию;
- создадим пользователя, указываем пароль;
- завершим инсталляцию.
8. Выполним перезагрузку виртуального сервера.
9. Установим текстовый редактор vim. Он нам пригодится в дальнейшем для работы с сервером.
О том как работать с сервером linux можно прочитать в Основы работы в Linux.
Обзор основных команд приведен в Основные команды Linux.
Виртуальный сервер не пингуется. Не удается подключиться к виртуальному серверу через putty или другой ssh-клиент.
1. Проверим ip-адрес виртуального сервера.
В случае отсутствия в результате выполнения команды «внешнего ip», указанного в настройках менеджера хоста проверим настройки сети.
Именно эту сеть будем настраивать далее по тексту.
2. Для выполнения настроек используем утилиту nmtui.
3. Проверим есть ли необходимая сеть в списке подключенных.
4. Если данная сеть не подключена – нажмем «Подключить» или «Activate».
В случае успешного подключения окно будет выглядеть так:
5. В случае, если нашей сети в списке к подключению нет, или при повторном подключении сеть снова отсутствует, то вернемся в основное меню утилиты.
6. Нажмем «Изменить соединение» или «Edit a connection», в случае, если соединение есть в списке.
7. Проверим включен ли признак «Автоматическое подключение» или «Automatically connect». Если нет – включаем.
8. Сохраним изменения, нажатием кнопки «OK».
Виртуальный сервер пингуется, но не удается подключиться к виртуальному серверу через putty или другой ssh-клиент.
1. Проверим, не блокируются ли запросы файерволлом или брадмауэром или другими подобными программами. Как на стороне виртуального сервера, так и на стороне ssh-клиента.
· в рамках виртуальной машины можно работать с устаревшими программными решениями и операционными системами;
Как раз мой случай. Можно использовать имеющиеся в наличие лицензии на Win2003 сервер, который просто не встает на многие современные контроллеры жестких дисков.
· возможность создать защищенные пользовательские окружения для работы с сетью, в этом случае вирусные атаки могут нанести вред операционной системе, а не виртуальной машине;
· несколько виртуальных машин, развернутых на физических ресурсах одного компьютера, изолированы друг от друга, таким образом, сбой одной из виртуальных машин не повлияет на доступность и работоспособность сервисов и приложений других;
Тоже полезная вещь для 1С. Разнести сервер приложений 1С и сервер SQLпо разным виртуальным машинам и выделив каждой по 4ГБ оперативки (предел для 32 разрядной Win32) позволит хоть немного бороться с бичом 32 разрядных систем –фрагментацией оперативной памяти при выполнение больших запросов.
Крайне не рекомендую использовать 32 разрядные системы с большими конфигурациями типа УПП. В какой-то момент вы просто не сможете обновить конфигурации без перезагрузки сервера 1С. В какой-то момент не поможет и перезагрузка. В нашем случае мы пока экономим деньги, а потом можно будет легко создать другую ВМ с 64 разрядной системой и перенести все на нее почти не прерывая работы.
· поскольку каждая виртуальная машина представляет собой программный контейнер, то она может быть перенесена или скопирована, как и любой иной файл;
Полезная вещь, когда надо быстро перенести систему на другой сервер.
· возможность сохранения состояния виртуальной машины позволяет быстро вернуться к точке до внесения изменений в систему;
· в рамках одной гостевой операционной системы может быть развернуто несколько виртуальных машин, объединенных в сеть и взаимодействующих между собой;
· виртуальные машины могут создавать представления устройств, которых физически нет (эмуляция устройств).
Из недостатков – вполне предсказуемое некоторое снижение скорости работы. Но намного менее существенное, чем при использовании бесплатных SQLсерверов.
Железо для сервера:
Процессор intel-corei3-4130 (4 ядра)
Материнская плата GA-Z87M-HD3 (с поддержкой RAID)
2 жестких диска по 1GB (sata).
8 ГБ ОЗУ.
Итак, этапы создания:
Я отступил от рекомендуемой схемы и не стал делать отдельный раздел для HOSTOSи для данных. Это вызвано тем, что мне не удалось создать файл виртульной машины в подмонтируемой области. К сожалению мне будет сложнее переставить ОС и не затронуть данные.
Я выделил на SWAP 10 GB (чуть больше ОЗУ), остальное создал один большой раздел EXT4.
6. Сразу после загрузки меняем графический интерфейс на старый добрый гном. Иначе после установки VirtualBoxпропадут все менюшки из интерфейса и вы останетесь с красивым но пустым экраном. Подробные инструкции
Эти драйвера позвляют использовать нормальное разрешение экрана из GUESTсистемы, что очень важно для дальнейшей установки и работы. Драйвер можно найти в дистрибутиве, но проще скачать из интернета.
11. Меняя подмонтированные ISOили из файлов дистрибутивов устанавливаем Сервер 1С, ServerSQL,настраиваем терминальный сервер. Действия ничем не отличаются от настройки невиртуальной системы.
Порт 3389 – порт Терминального сервера
1540,1541,1560-1561 -порты 1С
1433,1434,1954 SQLсервер (необязательно)
Читайте также: