• Личные Best Practise построения SAN?

    @Karmashkin
    как менее модный вариант: freebsd+zfs+hast.
    Ответ написан
    Комментировать
  • Личные Best Practise построения SAN?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Правила такие
    1. RAID5 - последнее дело. Статистика показывает, что вероятность выхода из строя диска во время ребилда - более 70%. Выход из строя второго диска как правило означает, что массив можно выбрасывать.
    2. Создание RAID средствами аппаратного контроллера - плохая идея. Вы таким образом создаете единую точку отказа (этот самый контроллер). Если контроллер выйдет из строя, вам придется искать ему замену (такой же точно контроллер с той же прошивкой), иначе данные из массива будет очень сложно выудить.
    3. Centos содержит придурочный NetworkManager (и systemd, но последнее еще можно пережить). А вот управление сетью через dbus - пережить сложно. Или выламывайте NetwokManager, или переходите на нормальный дистрибутив - SuSE
    4. Классика кластеростроения для виртуалок и миграции, вариант 1.

    Два сервера, на серверах массивы RAID10. Диски отдаются в мир через DRBD в режиме active-active.

    Поверх дисков работает распределенная кластерная система OCFS2.
    Управление кластером осуществляет pacemaker.

    RAID10 - это массив, сочетающий относительно высокую надежность (должно выйти из строя не менее половины всех дисков массива) и относительно высокую скорость работы (за счет разбивки файла по дискам)

    DRBD - это такой сетевой RAID1. Данные во время работы реплицируются между узлами, так что остановка одного узла из пары не приводит к остановке хранилища.

    OCFS2 - это кластерная ФC, которая позволяет куче машин видеть одно блочное устройство как свою локальную ФС. В ней работает отображение файлов в память и глобальные блокировки. И самое полезное для виртуалок - есть возможность создавать reflink. Reflink - это моментально создающаяся копия файла (образа диска виртуалки). Для новой копии, OCFS2 будет только хранить отличия от первоначального файла.

    pacemaker - это менеджер кластера+балансировщик нагрузки.

    Как это все поднять?

    1. Ставите на все машины OpenSuSE 42.1
    2. Собираете RAID10 через LVM (для этого есть GUI - Yast называется)
    3. В том же YAST поднимаете DRBD
    4. Ставите пакет ha-cluster-bootstrap
    5. На одном из узлов делаете ha-cluster-init и следуете его инструкциям
    6. На остальных узлах делаете ha-cluster-join

    Это в общих чертах, задавайте вопросы.
    Ответ написан
    2 комментария
  • Осуществляем закрытие портов?

    alsopub
    @alsopub
    Firewall блокирует соединение с указанным адресом и/или портом.
    Порт при этом может оставаться открытым - ему ничего не мешает быть открытым.
    Попробуйте telnet localhost:445 без правила и с правилом.
    Что вы делали через regedit?
    Ответ написан
    2 комментария
  • Как настроить автозагрузку файла с определенными параметрами?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    start /?
    Ответ написан
    Комментировать
  • Файл ответов. Как объединить вот эти два куска кода чтобы все работало?

    @Ethril
    Это кусок из работающего конфига, сделанного штатным WSIM. Находится на том же уровне вложенности, что
    <OOBE>
    ...
    </OOBE>
    ...
    <UserAccounts>
    ...
                    <LocalAccounts>
                        <LocalAccount wcm:action="add">
                            <Password>
                                <Value>...skipped...</Value>
                                <PlainText>false</PlainText>
                            </Password>
                            <Name>tempus</Name>
                            <Description>для пропуска OOBE</Description>
                            <DisplayName>tempus</DisplayName>
                            <Group>guests</Group>
                        </LocalAccount>
                    </LocalAccounts>
    ...
    </UserAccounts>
    Ответ написан
    1 комментарий
  • Чему будет равно i при таком необычном указателе?

    1028. При инкременте указателя к нему добавляется sizeof от того, на что он указывает, то есть
    i++;
    эквивалентно
    (int&)i += sizeof(uint32_t);

    По поводу скомпилировать, если задать язык как C, а не C++, то он это проглотит, так как менее строгий в плане приведения типов (целое число приводить к указателю не безопасно). Чтобы скомпилировать в C++, нужно немного подправить код.
    Ответ написан
    1 комментарий
  • Как с ПК дать интернет по кабелю на Wi-Fi роутер? Возможно ли?

    Frankenstine
    @Frankenstine
    Сисадмин
    Скорее всего вы морочите себе (и нам) голову. Воткните кабель в роутер, и настройте на нём DMZ на статический айпи для компьютера.
    Ответ написан
    3 комментария
  • Лучший вариант проверки ввода на несколько условий в C++?

    Можно немного упростить код:
    while (true) {
      cin>>x;
      if (x < 0) {
        cout<<"x должно быть положительным числом"<<endl;
      } else if (x == 0) {
        cout<<"x не должно равняться нулю"<<endl;
      } else if (x == 5) {
        cout<<"x не должно равняться пяти"<<endl;
      } else {
        break;
      }
    }
    Ответ написан
    Комментировать
  • Можно ли создать "ярлык" программы для командной строки (cmd) windows?

    @CodeKeeper
    Symfony/Magento developer
    Достаточно добавить папку с php.exe в $PATH и радоваться жизни.
    Ответ написан
    1 комментарий
  • Как запустить Винду с HDD ноутбука на PC (идет вечный рестарт при запуске)?

    Foolleren
    @Foolleren
    Компас есть, копать не люблю...
    ещё есть sysprep вот только не помню, какой параметр просто отвязывает виду от железа, а который ещё и пользователей удаляет.
    Ответ написан
    Комментировать
  • Как запустить Винду с HDD ноутбука на PC (идет вечный рестарт при запуске)?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Вставьте обратно и поменяйте драйвер диска на стандартный.
    На компьютере при первом запуске отключите все остальные диски.
    Ответ написан
    2 комментария
  • Как отличить полиморфизм в языках программирования?

    @MiiNiPaa
    Вам нужно хорошую книжку. Это одно из базовых понятий и вряд ли вы изучите этот вопрос на Тостере.

    Начнём с того, что основная идея полиморфизма — одинаково работать со множеством типов.

    Типов полиморфизма много, начиная с самого простого — параметрического полиморфизма, aka перегрузка функций. В Питоне, например, можно написать print x, и получить этот икс на экране. Причём получим разный результат в зависимости от конкретного типа x. В С++ можно писать cout << x, можно писать abs(x), и выполнятся будут разные действия в зависимости от x. В С, к примеру, пришлось бы самому выбирать какую функцию вызвать: abd, fabs, labs... так как в С нет перегрузки функций.

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

    mahoho
    @mahoho
    Full stack certified PHP developer.
    Очень важно понимать различие между пользователем и логином в SQL Server. Тут используется двухуровневая система аутентификации: логин (Security - Logins) используются для входа в инстанс (запущенный экземпляр БД, их может быть несколько на одной машине) сервера. Для логинов сущесвуют роли и права, связанные с администрированием и получением информации об инстансе. Пользователи (Databases - Security - Users) существуют на уровне базы данных, у них также есть свои роли и права, связанные с взаимодействием базой данных. То, что вы хотите сделать - это запретить логину видеть все базы данных, если он не сисадмин и не является владельцем какой-либо базы. Лучше всего это сделать при помощи создания серверной роли и включения в нее логина:
    create server role blind_users;
    
    deny view any database to blind_users;
    
    alter server role blind_users add member login_name;
    Ответ написан
    2 комментария
  • Защищена физическая машина "в virtualbox" от виртуальной?

    opium
    @opium
    Просто люблю качественно работать
    Не защищена
    Постоянно же сыпятся дырки когда можно из гостевой в хостовую гадость сделать.
    Ответ написан
    Комментировать
  • Кто какие ссылки пишет в hosts?

    plin2s
    @plin2s
    IT, инженер
    Для отмены обновления есть политика обновлений и ключи реестра для GWX. hosts пустой.
    Ответ написан
    Комментировать
  • Какой всё-таки объём памяти давать файлу подкачки в Windows?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Поставьте автоматический размер, и забудьте про него.
    Ответ написан
    2 комментария
  • Из-за чего может возникать ошибка 797?

    karabanov
    @karabanov
    Системный администратор
    Где-то, наверно, LCP теряются или не отправляются вовсе... Может драйвера обновить?
    Ответ написан
    2 комментария
  • Как лучше хранить фото-данные?

    qonand
    @qonand
    Software Engineer
    лучше хранить только ссылку на фотографию - это более гибко и оптимальнее по производительности. Приведу простой пример: допустим нужно вывести информацию о 30 пользователях списком с фотографиями, если использовать ссылки вот что мы получим:
    1. У нас будет возвращать из базы минимальный объем данных (блоб поля сильно увеличивают вес записи)
    2. Мы сможем при необходимости удобно сортировать, выбирать данные по URL, в отличии от BLOB
    3. В случае веб-ресурса - мы сможем кешировать картинки, blob-поле полноценно этого не позволит зделать
    4. Опять таки в случае веб-ресурса, мы можем разместить эти картинки на 100500 серваках, что бы распределить нагрузку, (а blob этого не позволит сделать)
    Ответ написан
    Комментировать
  • Почему фотошоп такой быстрый?

    Ничего в Фотошопе сверхбыстрого нет. Его просто не на JS пишут, а на C/C++, и, я уверен, с ассемблерными вставками там, где надо. Хотя, и без них я думаю он бы хорошо справлялся.

    Да, кстати, о GPU. В современных CPU тоже достаточно много векторных инструкций, SSE там всякие. Если их умело применить, то для обработки несложных изображений никакого GPU не надо будет. Я уверен, что в Фотошопе эти наборы команд также применяются.

    Добавим к этому лучших разработчиков в индустрии - они не то что хорошо знают алгоритмы обработки изображений, они сами их изобретают. Кому еще, как не им?

    Выводы:
    а) вы возможно привыкли к тормозам современного ПО, пишущегося на высокоуровневых языках криворукими ребятами. Не всё ПО такое. Как заметили предыдущие отвечающие, Фотошоп работал и на 32 метрах оперы, сейчас он тот еще монстр;
    б) можно сильно по-разному реализовать алгоритмы обработки. Если вы поймете, какой потенциал у современных чипов, вы перестанете удивляться скорости обработки изображений.
    Ответ написан
    2 комментария