• Стоит ли виртуализовать терминальный сервер Windows?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    С точки зрения разнесения ролей - виртуализировать всё это единственный выход при нехватке железа
    Однако,вам и вашему руководству стоит задуматься о том, что падение (хардварное) единственного сервера без бэкапа серьезно повлияет на бизнес процессы, поскольку восстановление того же функционала на новом железе выльется в длительное ожидание процесса закупки и тд и тп.
    Если же у вас два маркера, то вы можете покрасить вообще всё сервера то
    1. виртуализация и
    2. кластеризация (например в случае падения сервера все переезжает на второй, более слабый, зато работает)
    сильно поможет бизнесу не простаивать из-за хардварной проблемы.
    Ответ написан
    5 комментариев
  • Почему долго выполняется bat файл из 2 строк?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    https://habr.com/ru/post/212413/
    Внимательно изучите комментарии, может быть вы сможете с их помощью решить именно вашу задачу (хотя я не совсем понял как именно вы хотите ее решать, но уповаю на вашу самостоятельность)
    Ответ написан
    Комментировать
  • Можно ли создать скрипт, для автоматической настройки сервера linux?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    К вышенаписанному хочется добавить cloud-init
    офигеннейшая вещь
    Ответ написан
    Комментировать
  • Виртуальные сети aws?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Судя по всему, вам нужен AWS VPC: Virtual Private Cloud

    Вот здесь, например, есть от производителя, описанный cloudformation темплейт создающий
    нечто похожее на то что вам надо: 2 приватные сети, 2 публичные сети (потому что в 2 AZ)
    Доступ из приватных сетей в интернет идет через NAT gateway(тоже сервис амазона)

    Дополнительно надо сделать:
    0. Поднять VPN в публичной подсети (мы пользуемся вот таким, хотя все скипты переписан под наши нужды
    0.a А еще лучше поднять бастион в публичной подсети, если вам необходим доступ только для администрирования а не для доступа различных пользователей, вроде других девеолперов и поддержки
    1. поднять в приватной сети DHCP\DNS сервер.
    2. прописать в DHCP options (параметр VPC) ваши DNS и DHCP сервера.
    3.. ???
    4. PROFIT! новосозданные машины в VPC будут создаваться с правильными и нужными вам параметрами
    5. Рулите доступом с помощью Security Groups

    Вы можете загрузить указанный выше темплейт в designer в AWS и посмотреть какие компоненты он создает(или прочитать код), если не хотите пользоваться cloudformation или вообще средством автоматизации - и создать все руками, но в случае с AWS отсутствие автоматизации со временем будет вас больно бить.

    P.S. а где вы запускаете ваш контейнер? если в сервисах lightsail то у меня для вас не очень приятные новости: надо изучать ecs\fargate или eks для запуска его в ваших приватных сетях, городить ALB\ELB\NLB или другой балансер на EC2(nginx,haproxy,etc..) чтобы все работало и так далее, и так далее.
    Ответ написан
    Комментировать
  • Aws s3 vs google drive?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Думаю, вы здесь слегка путаете продукты и их предназначения.
    Эти продукты используется для персонального хранения файлов, и все инструменты ориентированы на работу с вашими личными файлами:
    Amazon: Amazon drive vs Google: Google Drive

    Эти,обычно, используется для целей, которые вы описали:
    Amazon: AWS S3 vs Google : Google Cloud Storage

    Для ваших целей так же могут подойти:
    у Microsoft: Azure block blobs
    у DO: Digital Ocean spaces ( совместимо с AWS S3 )
    у Yandex: Yandex Object Storage ( совместимо с AWS S3 )
    у Mail.ru: S3 объектное хранилище ( совместимо с AWS S3 )
    у Alibaba: Alibaba Cloud object storage service

    Вы можете выбрать то что вам подходит по вкусу, цене, а так же по близости вашим клиентам
    Ответ написан
    Комментировать
  • Как в batch узнать имя текущей ветки git и перейти на эту ветку в другой папке?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Аналогично предложенному Saboteur задачу можно решить и в PowerShell.
    В bat:
    FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
    SET var=%%F
    )
    ECHO %var%
    и дальше работать так же как в примере выше.
    Но лучше использовать PowerShell или sh
    Ответ написан
    1 комментарий
  • Регулярное выражение в .BAT, как правильно написать?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Отчасти Армянское Радио прав: вы не сможете использовать ваше регулярное выражение в cmd скриптах.
    Выхода 2:
    1. переписать регулярку на использование средств командной строки
    например findstr или for
    Однако с группами в findstr я вот не умею работать и даже не представляю, умеет ли он группы
    for /f группы умеет, но ограниченно и поддерживать два вида регулярок вам оно надо?
    2. использовать powershell
    https://docs.microsoft.com/en-us/powershell/module...
    Опять таки не гарантирую, что ваша регулярка подойдет без переделок (а еще не гарантирую что в вашей версии posh будет такое же поведение как в описанном документе)
    Ответ написан
    Комментировать
  • Увеличение каких параметров сервера ускорит сайты?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Советчики конечно молодцы и разные "оптимизируйте сайт" и "обновите софт", конечно, могут помочь.
    Но это не точно.
    Я бы сначала исходил из данных мониторинга:
    1. нагрузка на сеть
    2. нагрузка на память/cpu
    3. нагрузка на диск (очереди к диску)
    - Канал не загружен в пиках трафика = канал менять пока не надо
    - Память/CPU не на 100% ( и нет очереди к CPU) - тоже вроде бы смысла не имеет апгрейдить
    - к дискам очередей нет часто - значит дисковая система справляется с вашей нагрузкой.

    Если в вышеуказанных областях проблем нет - можно перейти к
    - апгрейду компонентов
    - анализу нагрузки на БД

    Стоит так же упомянуть что вам может помочь
    - смена хостера
    - Оптимизация доставки контента(CDN, в текущих реалиях и для динамического контента, через, например CloudFlare - несмотря на его последние факапы)
    - анализ данных APM. Можно взять какой нибудь datadog или newrelic в бесплатных вариациях, но придется оптимизировать код сайта если обнаружатся проблемы. Я бы не рекомендовал заниматься этим пунктом пока вы не попробовали другие способы решения вашей проблемы - вы можете укопаться в ненужные вам области без надобности и увидеть проблемы там где их реально нет. В вашем случае я бы пока этим не заморачивался

    P.S. Мой ответ относится к какому-то общему случаю. Если ваш сайт - это первая в жизни работа какого нибудь начинающего программера (не исключая вас) то вполне может быть ему вообще ничего не поможет, кроме полного переписывания. Не хочу вас обидеть - свое первое поделие я просто выключил и забыл :D
    Ответ написан
  • Как вызывать AWS API используя временные credentials?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    https://docs.aws.amazon.com/en_us/cli/latest/userg...
    Вы получаете креды.
    Вам нужно положить их в соответствующие переменные окружения.
    Далее следующая команда AWS CLI будет использовать их.
    Ответ написан
    5 комментариев
  • Как копировать файлы по маске со всей файловой структурой?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    foreach {$file = $_; $destination = (join-path $BackupFolder $(Split-Path $file.Directory -NoQualifier)); if (!(test-path $destination)) {New-Item -itemtype Directory -Path $destination}; Copy-Item $file.fullname -Destination $destination -Container}
    Ответ написан
    Комментировать
  • Сохранение юзер файлов при апгрейде на windows 10?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Для начала расшифруем то что вы описали:
    Дано: пользовательские машины на windows 7
    Дано(но это не точно): пользовательские данные на дефолтных местах на системном диске (папка C:\Users\USERNAME\блаблабла)
    Дано: золотой образ новой OS подготовленный вашим сисадмином
    Дано: механизм обновления: системный диск перезаливается полностью на золотой образ
    Задача: сделать так, что данные пользователей не потерялись.
    Задача в понимании вашего сисадмина: перемапить пользовательские папки (или папку дефолтного хранения профилей) на диск D: который не будет перезатираться.
    Решение задачи в том виде в котором вам ее поставил ваш сисадмин: примерно описано тут
    Это решение подразумевает что кто-то будет копировать файлы пользователей в новое место, и судя по всему это будет делаться вашими руками (и вашим временем), что типично для практикантов =)
    Решение задачи на которое намекает ваш сисадмин: сделать то же самое, но только с помощью доменных политик (скрипт для переноса файлов, ремап места хранения профилей на другой диск)

    Более адекватные и современные решения задачи (применять можно хоть все сразу, хоть некоторые соединения будут и бессмысленны :D ):
    1. В рамках обновления предусмотреть миграцию пользовательских данных на сетевую шару и восстановление после (вам в комментариях уже указывали на USMT, заметьте, это рекомендованный MS способ)
    2. Хранение пользовательских профилей на сервере (roaming profiles)
    3. Забыть об апгрейде с помощью клонирования дисков как о страшном сне.
    Тот же Symantec и другие решения позволяют развертывать системы по сети, с нормальной преподготовкой и прескриптами для файлов пользователей.
    MS имеет свою систему для развертывания по сети - Windows Deployment Services.
    Кроме того, именно для апгрейда на 10-ку появилась адекватная(хоть на нее и были нарекания на старте появления W10) система апгрейда с предыдущих OS через Windows Update (на которую вам тоже указывали в комментариях, не буду приписывать славу себе) - с сохранением данных пользователя!
    Однако же ваш сисадмин пользуется инструментами к которым привычен и вам под него подстараиваться. Все это я написал чтобы вы знали что есть "более лучший" способ делать то, что вам делать придется.
    P.S. перестаньте общаться на тостере и идите апгрейдить, иначе до нового года перезаписью дисков не успеете всех обработать :D Шутка
    Ответ написан
  • Как организовать выгодный хостинг на AWS (или в другом месте)?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Если смотрите все таки в сторону AWS - то S3 в принципе подойдет для хранения фото, с оговорками.
    - Хранить в s3 - дёшево.
    - Часто забирать - дорого. Хрен бы с ними с фотографиями, если вы не хотите конкурировать с сервисами вроде flickr - у вас не будет много трафика, но есть еще боты.. Если сайт будет в паблике - вам задергают ваш S3 (точнее ваш кошелек) вусмерть. Поэтому - как в комментарии к вопросу уже посоветовали - в паблике надо показывать только миниатюры и желателен следующий пункт:
    - Для опять же уменьшения стоимости S3 запросов, очень желательно городить кеширующий слой (nginx какой нибудь на EC2 - с EC2 цена более предсказуема, хотя и там есть ньюансы)
    - Ну и на вашем месте я бы полноразмерные фотографии убрал бы в какой-нибудь раздел требующий логина, хоть бы даже и через google. Хотя тут уже возникла бы другая идея : что вам мешает на каком нибудь google drive хранить те самые фото, предоставлять доступ по email (адрес может быть и не на гугле, к примеру) и использовать любой хостинг(да хоть тот же AWS) для работы с имеющимся (google drive) хранилищем и показа миниатюр сгенерированных оттуда, для быстрой ориентации.
    Цена на drive будет более предсказуема.

    Но в общем и целом - это просто мнение, я плюсую всем предыдущим комментаторам.
    Прайсинг в облачных сервисах (там, где принцип оплаты по использованию) может вас очень неприятно удивить: надо знать тонкости каждого, прежде чем реализовывать там решение и надеяться что цена будет одинаковой.
    Ответ написан
    3 комментария
  • Как в cmd взять срез строки, которая лежит в буфере обмена?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Создаете файл clipboard.vbs
    Set objHTML = CreateObject("htmlfile")
    text = objHTML.ParentWindow.ClipboardData.GetData("text")
    Wscript.Echo text

    и в командной строке используете
    cscript clipboard.vbs
    для получения данных буфера обмена
    P.S. зачем и почему - не спрашивайте, даже вспоминать не хочу
    Ответ написан
    Комментировать
  • Как переустановить OEM версию виндовс 7 с 32 разрядной на 64 разярядну?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Попытка скачать образ с сайта майкрософт не дало результатов, потому что виндовс был предустановленный.

    Вот тут написана какая-то ересь, поясните что вы конкретно в этом пункте делали.
    Стандартный пайплайн для переустановки Windows без диска примерно следующий:
    1. Выясняем ключ продукта
    Если он наклеен на вашем системном блоке (что и должно было быть сделано в случае OEM) - вы его знаете.
    Если наклейки нигде нет - выясняем с помощью https://www.nirsoft.net/utils/product_cd_key_viewe...
    2. идем на страницу закачки
    https://www.microsoft.com/ru-ru/software-download/...
    вводим там ключ продукта и выбираем 64 битную версию вашей редакции
    3. Если в предыдущем пункте ничего не получилось (я напомню, что текущая версия Windows - windows10 и Win7, как ни печально, уходит в историю) то качаем отсюда:
    https://answers.microsoft.com/en-us/windows/forum/...
    Windows7 Home Premium 64bit ISO (вполне может быть, что и в пункте 2 вам так же будет нужно скачать Home Premium), готовим установочную флешку\CD
    4. Вам подойдет только полная переустановка - поэтому скачиваем все что лежит на системном диске на внешний носитель (при переустановке все потеряется) и устанавливаем OS через Custom install
    Выбираете новую (или чистая? не помню) установку (upgrade не прокатит).
    В идеале перед этим нужно отформатировать(там же - через выбор диска) раздел на котором стояла ваша 32 битная - просто для экономии места
    5. При установке указываете ваш Product Key - программа установки примет его и покажет вам верную редакцию вашей OS. Так же, обычно, можно пропустить ввод ключа и ввести его после установки.
    6. После установки вводите ключ (обычно ничего сложного, но возможно потребуется магия с применением slmgr.vbs - это же MS) и активируете.
    7. Не активируется через интернет - выбирайте активацию по телефону - активация привязалась к вашей "старой" инсталляции OS и нужно ее перебить.
    8. На самом деле это пункт №0 - Перед тем как что-то делать удостоверьтесь, что у вас есть диск или флешка с дистрибутивом вашей установленной OS - все это может не прокатить по абсолютно неизвестным причинам: Это MS, это российский реселлер DNS славящийся не всегда адекватным отношением и чудесами с купленными компами с предустановленной OS, это устаревшая OS, возможно ссылки на дистрибутивы уже устарели или не предоставляются MS и тд и тп.

    P.S. всегда,конечно, есть торренты с которых вы можете скачать ISO, но я вам это не рекомендую, если вы не знаете что и где, а указывать на тостере ссылки на ресурсы, которые в РФ считаются пиратскими и заблокированы я б себе не рекомендовал.
    Ответ написан
  • Автоматическое удаленное администрирование windows-клиентов?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Во первых задумайтесь, нужна ли вам эта помойка
    Чтобы сломить (пусть даже и немного) политику "экономим на всем кроме гелика гендира" нужно время и терпение:
    Первое: разводим бюрократию, фиксируем все проблемы пользователей, замены компов, количество походов к пользователям в неделю на человека, особо отмечаем проблемы с безопасностью - сколько времени потребовалось чтобы вычистить комп менеджера Васи от вирусни которую он нахватал, какие риски могут возникнуть если менеджер Петя откроет письмо от "дяди Мнглуи" из Южной Африки.
    Сколько простаивал складской комп пока вы удаляли с компа кладовщика Иннокентия порнографию.
    Сколько литров чая было выпито за общением с бухгалтером Таней, пока показывали как печатать на новом принтере и т.п.
    Это, по сути - работа начальника IT отдела, но одновременно - деньги бизнеса, потому что именно бизнес платит вам вашу зарплату (за которую вы почему то держитесь)

    Второе: самообразование. Я бы не советовал вам,в отличие от других отвечающих, на говнокомпах(сервер же не купят) поднимать такие ключевые для инфраструктуры вещи как контроллер домена (будь он на линуксе или windows) или вообще любой центральный сервер - однако их подъем, настройка и, впоследствие, починка прибавят вам как опыта так и ценности в профессиональном плане и дадут шансы покинуть этот дом боли впоследствие.

    Как быстрые решения:
    - ставьте агент удаленного управления на каждую машину - поможет меньше между ними бегать
    - стандартизируйте ПО и способы его установки (пусть это будуть хоть cmd скрипты, пофиг - лишь бы вы не сидели и не ждали очередного окошка визарда с кнопкой "NEXT" пока он там что-то затупил
    - в общем и целом придумывайте как минимизировать всю беготню чтобы заняться самообразованием и улучшением ситуации качественно, а не количественно
    Ответ написан
    1 комментарий
  • Как обьединить две доменных сети?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Ваш вопрос вызывает больше вопросов чем желаний дать ответ, FYI
    Вопросы:
    1. Объединены ли в сетевом плане облачная сеть и офисная, если да то кто виноват зачем?
    2. В вопросе присутствуют
    - SQL: вообще не давать доступа никому кроме админов и приложения, логины обязательно отдельные от офисной сети
    - Exchange: Вообще никому не давать доступ, кроме админов. Все пользовательские интерфейсы работы с Exchange - внешние.
    - Служба терминалов: Вот тут (спорное утверждение) можно бы логиниться под офисными логинами, однако:
    Exchange интегрирован с AD domen2, его логины для почты будут отдельными.
    Если все равно есть отдельные логины - то и в службе терминалов так-то особо не стоит интегрироваться.

    В общем и целом из вашего вопроса я не вижу причин для объединения доменов, так что если отвечать на "как правильно функционально" - ответ,наверное, будет: "не надо объединять"
    Но если вам настолько хочется снизить безопасность сети с БД, приложением(1с наверное какой-нибудь) и почтой - дерзайте: объединяем подсети site2site VPN-ом, настраиваем траст, как написал hint000 , надеемся на авось надеемся на авось.
    Ответ написан
    Комментировать
  • Может ли быть на одном сервере несколько ролей?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Впихнуть все на один сервер потенциально можно, но в получите неудобство в управлении и риски по безопасности. Приведу очевидные примеры:
    сервер терминалов+AD = пользователи сервера терминалов должны быть домен админами
    MSSQL + AD = https://www.concurrency.com/blog/february-2017/ins...
    IIS + AD = проблемы с безопасностью (или пользователю, под которым запускается apppool не хватает прав - "глюки" в работе веб приложенияили, наоборот, слишком высокий уровень доступа у учетной записи, под которой работает приложение - риск взлома AD через IIS)
    Кроме того, понимайте, что после появления AD и присоединения к нему рабочих машин это - центральный сервер вашей сети. Его поломка вызовет вал работ по восстановлению, переприсоединению, перенастройке учетных записей и тд и тп. Вы же вносите в его конфигурацию дополнительные сервисы, что несет для AD дополнительные риски
    Тем не менее, у MS всегда было решение Small Business Server которое совмещало на одном сервере роли, необходимые небольшой организации. На текущий момент мои знания по SBS устарели, но продукт существует в виде Windows Server Essentials - возможно, для того, чтобы понять какие роли сейчас (по рекомендации MS) можно совмещать на одном сервере можно посмотреть в его сторону
    Ответ написан
    Комментировать
  • Как из одного массива получить два значения в разные переменные через PowerShell?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    $a = $transformConfig.source

    $a = $transformConfig | select source

    и вообще если у вас один цикл то зачем плодить переменную $transformconfig(s) ?

    $componentSelect.transform_config| foreach {$a = $_.source; $b=$_.target}
    Ответ написан
    1 комментарий