Задать вопрос
Ответы пользователя по тегу Linux
  • Какое DE принято в Debian 9 по умолчанию?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Официальный установщик из debian-9.1.0-amd64-DVD-1.iso выглядит вот так:
    49cf66d6f1cb4945bd783f678d730ec1.png
    То есть вообще-то сложно сказать, что здесь что-то принято по-умолчанию. Предлагается сразу 6 вариантов по вкусу. Если ничего не выбрать, то да, наверное это будет gnome, как первый в списке.
    Ответ написан
    1 комментарий
  • Как перенести большой объем файлов с одного диска на другой?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    rsync. Старый проверенный админский молоток.
    0) Монтируете оба диска
    1) делаете rsync
    2) повторяете команду выше до тех пор, пока время работы не придёт к какому-то допустимому промежутку
    3) закрываете работу с файлами, старый диск лучше перемонтировать в ro
    4) ещё один rsync
    5) отмонтируете старый диск, перемонтируете новый на место старого
    6) открываете работу с файлами обратно

    На случай дальнейшего расширения дисков - поставьте поверх нового диска LVM. Если на старом диске уже есть LVM - то штатные pvinit, vgextend, pvmove, lvresize, vgreduce, pvremove, resizefs
    Если у вас всё-таки сервер, то выясните какой стоит raid. Для программного linux raid можно доставить диски большей ёмкости без даунтайма.
    Ответ написан
    4 комментария
  • Что я делаю не так с Ansible?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    SSH конектится что с сервака на десктоп, так и обратно

    Внимание, вопрос: под каким пользователем?
    Потому что плейбук вы с весьма неясной целью запускаете через sudo. А у рута в таком случае ключи настроены?

    Вообще не надо в /etc/ansible лезть. Заведите себе в любом месте директорию и в ней размещайте всю информацию для ansible. ansible-playbook не нужны рутовые права для своего запуска. Ему нужен только доступ на целевые хосты и возможность орудовать там.
    Ответ написан
    1 комментарий
  • Можно ли создать raid1 из 2 дисков, если на одном есть данные, не потеряв их?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Массив можно создать в деградировавшем виде:
    mdadm -C /dev/md0 -l 1 -n 2 missing /dev/sdc
    Затем скопировать данные на массив
    rsync sdb -> md0
    И добавить диск в массив
    mdadm /dev/md0 -a /dev/sdb
    Ответ написан
    7 комментариев
  • Как увеличить размер / в Ubuntu 16 server?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Судя по характерному имени блочного устройства - у вас система стоит на LVM.
    Соответственно помимо увеличения блочного устройства и расширения ФС необходимо сказать LVM, что блочное устройство стало побольше и сказать увеличить логический том.
    pvresize /dev/sda5
    lvextend -l +100%FREE /dev/mapper/ubuntu--vg-root

    Затем уже resize2fs
    Ответ написан
    1 комментарий
  • Стоит ли устанавливать ОС (LInux) на флешку для домашнего мини-сервера?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Если отключить swap на ней, я так подозреваю все равно кол-во записей на отказ будет не большим...

    Зато останется чтение. https://habrahabr.ru/post/214803/
    Флешку можно ушатать за пару месяцев.

    Не пожалейте дикой ёмкости аж в 2гб с каждого диска, поставьте систему на raid1. А остальную ёмкость дисков размечайте уже как нравится.
    При переустановке системы нормальный установщик софтрейд найдёт и соберёт сам.
    Ответ написан
    Комментировать
  • Что будет с Ubuntu 14.04 LTS после окончания поддержки?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    На домашнем сервере пока можно и дебиан развернуть. После установки поставить нормальный init и выбросить поттерингд.
    lxc, помнится, не прибит ещё гвоздями. В отличии от libvirt, который уже прибит к policykit, но только на уровне прописанных в пакете зависимостях, а после ручной правки манифеста ставится и работает нормально.

    До такого вот состояния можно и десктоп исправить:
    melkij@melkij-work:~$ dpkg -l | grep systemd
    ii  libsystemd0:amd64                     215-17+deb8u7                        amd64        systemd utility library
    ii  libsystemd0:i386                      215-17+deb8u7                        i386         systemd utility library
    melkij@melkij-work:~$ lsb_release -a
    No LSB modules are available.
    Distributor ID:	Debian
    Description:	Debian GNU/Linux 8.8 (jessie)
    Release:	8.8
    Codename:	jessie
    melkij@melkij-work:~$

    Если только пару пакетов взять с devuan через apt-preferences:
    Package: *
    Pin: origin packages.devuan.org
    Pin-Priority: 50
    
    Package: libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 policykit-1 udisks2 libudisks2-0 cgmanager libcgmanager0
    Pin: origin packages.devuan.org
    Pin-Priority: 700
    
    Package: systemd systemd:amd64 systemd:i386
    Pin: origin
    Pin-Priority: -1
    
    Package: pulseaudio pulseaudio:amd64 pulseaudio:i386
    Pin: origin
    Pin-Priority: -1

    Что-то около года полёт нормальный.
    Ответ написан
    Комментировать
  • Почему не работает ssh после установки разрешённых ip адресов?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    ListenAddress - это тот адрес, который демон непосредственно слушает, а не тот, откуда он ждёт пакеты.
    Разумеется, если указать какой-то адрес, которого на этой машине нет - демону не получится привязать сокет.
    Ответ написан
    3 комментария
  • Как с помощью cat записать Exception возникающий в файл?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Ошибки принято в stderr писать, а вы только stdout перенаправляете.
    cmd 2> stderr_stream
    Ответ написан
  • Как инициализировать файлы Postgresql?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    sudo rm -rf /var/lib/postgresql

    Это был home dir пользователя, а не каталог кластера. Каталог кластера в дефолтной поставке в /var/lib/postgresql/версия_pg/ещё_одна_директория_main_или_base

    sudo mkdir /media/ad/data/bd1c

    Допустим.

    su postgres -c '/usr/lib/postgresql/9.6/bin/initdb -D media/ad/data/bd1c --locale=ru_RU.UTF-8'

    Внимание на относительный путь. Я не уверен, где в итоге initdb пытался сделать базу.

    привел к виду
    data_directory = '/var/lib/pgsql'

    ? Откуда это здесь взялось?

    какой из postgresql.conf главнее

    Тот, который указан в аргументах запуска postgres. Явным образом через -c config_file либо находящийся в PGDATA в случае отсутствия аргумента с именем конфига.
    Ответ написан
    Комментировать
  • Какой должен быть размер базы при дампе?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Во-первых, индексы. В sql-дампе любой индекс - это несколько десятков байт запроса на создание индекса. В базе - это развесистая структура, которая может занимать порядочно места. Один индекс обычно небольшой - но у вас же он не один?
    Во-вторых, как уже упомянули - бинарные файлы могут быть раздуты из-за delete и update запросов, если плохо настроен автовакуум. Касается как самих таблиц, так и индексов.
    Третье: например табличка связей из тройки интов. В pg_dump данные пишутся через copy - один заголовок, следом все строки, значения разделены табуляцией. Итого 3 байта на строку данных оверхеда + строковое представление значения. В реальной таблице - у каждой строки есть заголовок из 23 байт. Плюс выравнивание данных. Итого минимум будет 36 байт на каждую строку. (описание структуры таблицы опять же отдельно хранится) Т.е. текстовый вид внезапно компактнее почти на всём диапазоне значений инта для этой таблички.

    Так что да, текстовый дамп может весить сильно меньше бинарного за счёт исключения всех служебных структур.
    Ответ написан
    1 комментарий
  • Сколько места для файлов в RAID 1 массиве (два диска по 1 Tb)?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Отмонтируйте файловую систему и сделайте глупый dd if=/dev/md0 of=/dev/раздел большого диска. И будет копия целиком файловой системы со всеми софт/хардлинками, разреженными файлами и всем чем надо. Затем resizee2fs для расширения ФС до ёмкости раздела.

    А если вы хотите плавно заменить массива на более ёмкие - то вам вообще файлы копировать не надо. Добавить диски побольше, подождать синхронизацию, удалить старые диски и сделать resize2fs ru.stackoverflow.com/a/637847/203622
    Ответ написан
  • Open-iscsi: Как включить writeback / увеличить скорость записи на mdadm RAID-5/6?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    производительность будет упираться в скорость 1 диска, т.к. после каждой записи нужно будет обновлять диск паритета

    Это raid4 с отдельным диском под хранение избыточности.
    В 5 и 6 избыточные блоки размазываются равномерно по всем дискам массива, а не выделяется отдельный диск для хранения избыточного блока.

    /sys/block/md?/md/stripe_cache_size поправили? Bitmap внутренний/внешний/отключен? С внутренним производительность записи тоже неплохо просаживается.
    Ответ написан
  • Как использовать видеокарту в контейнере LXC?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Основополагающий фокус - LXC - это контейнер, а не виртуальная машина. Поэтому надо не пробрасывать видеокарту, а разрешить к оной доступ.
    Например, из гугла пример для nvidia: sqream.com/setting-cuda-linux-containers-2
    Обратите внимание, что драйвер требуется установить и на хост-систему и в сам контейнер. При том, емнип, строго одной версии, т.к. драйвер из контейнера будет общаться с модулем ядра хостовой системы.

    PS: теория. В своей практике я не разобрался, как контейнеру отдать встроенный intel gpu, при активной radeon дискретке на хост-системе.
    Ответ написан
    3 комментария
  • Почему не меняется размер раздела LVM?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Блочное устройство увеличили, ок. А файловую систему кто расширять будет? resize2fs, xfs_growfs и т.д. в зависимости от того, какая у вас ФС.
    Ответ написан
    Комментировать
  • Сильная нагрузка на CPU при выполнении apt-get\aptitude update. Как побороть?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Попробуйте выключить package diff: https://debian-administration.org/article/439/Avoi...

    Это актуально для raspberrypi, где и видел комментарий, что на слабых cpu pdiff лучше выключить. Вам вероятно тоже поможет.
    Ответ написан
  • Как отобразить ошибку 500?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    /etc/php/7.0/cli/php.ini

    Перезапускаю nginx и php7.0-fpm

    А почему что-то должно было измениться на веб-морде?
    Ответ написан
    4 комментария
  • Какую выбрать конфигурацию RAID для домашнего NAS?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Софтовый рейд вас не ограничивает глупостями вроде 1 диск может быть только в одном массиве. Можно разделы одного диска объединять в разные массивы.
    Пилить диски можно как угодно. Например, распилить 3тб диски каждый на два раздела: по 1 и по 2тб каждый. Собрать в итоге два raid5: 3 тома по 1тб и три по 2тб. Итого 6тб форматированной ёмкости, допустимо выпадение любого диска массива. При необходимости в едином куске места - поверх этого развернуть LVM.
    Наращивать можно дисками любого размера, условие одно: добавляемый том не меньше используемого размера тома в действующем массиве.

    Про raid5 в домашних NAS - у меня два диска разом за 8 лет не умирало. Дефолтно в debian включен кроновый скрипт верификации всех софтовых рейдов раз в месяц. Пару дисков проблемных он и обнаружил заблаговременно.
    Но вот два диска разом выпасть из массива - это было. Кабель питания отошёл. Собрать обратно массив удалось, а вот ФС побилась. Но у меня был бекап, потеряны только неважные данные.

    Если нет никакой возможности использовать географически-удалённое место для бекапа, то для бекапа можно выделить области на этих дисках. Только не в составе чего-то сложного (lvm, raid) и не на том же диске, где лежит основная копия! Можно использовать raid1 при необходимости продолжать работу при отказе диска - зеркало хоть восстанавливать просто и достаточно одного любого диска.
    Например, порезать 3тб диски на два раздела: 2тб и 1 тб. Затем собрать raid5 на трёх 2тб томах - под всякое не очень нужное. Три раздела по 1 тб - под важные данные. Можно собрать raid1 из двух дисков. Но не как зеркало из всех 3 дисков! Это только от физической поломки поможет, а от проблемы с ФС - уже нет. Один раздел не должен быть примонтирован постоянно, монтируется только на время бекапа основной части. rsync в кроне как самый простой вариант. Лучше бы, как уже советовали, 3 независимых тома: актуальная копия, горячий регулярный бекап, последний диск под холодный бекап, его физически отключать (можно сколхозить автоматический девайс для размыкания цепей на твердотельных реле).
    Ответ написан
    Комментировать
  • Как сэкономить ресурсы оперативной памяти при кодинге в Ubuntu?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    swap в наличии. Так что описываемое поведение вполне норма, когда начинает подходить к концу свободная памяти и ОС лезет в swap (что можно проконтролировать вызовом free при начале проблем). Немного странно выглядят падения расширений, но, возможно, их отстреливает хром за слишком долгий отклик.
    Для начала стоит покрутить swappiness, чтобы ОС лезла в свап только в крайнем случае.
    Затем поиграть в Zswap, zram. Что порежет производительность CPU, но поможет от нехватка памяти.

    Раз на всё памяти не хватает - то есть варианты действий:
    - отчаянно тормозить в свапе
    - звать на помощь OOM killer, который будет убивать какой-нибудь на его усмотрение бесполезный процесс. Для этого достаточно вырубить swap и ядро само позовёт при необходимости.
    - добавлять память
    - уменьшать потребление памяти. Следить, кто сколько памяти жрёт, может у вас кто-нибудь не особо нужный просто течёт по памяти. Можно запускать текущие процессы в cgroup с жёстким лимитом памяти, тогда они будутт отстреливаться при превышении лимита.
    Ответ написан
    1 комментарий
  • Как сделать два монитора с двумя учетными записями?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    https://habrahabr.ru/post/312900/
    К сожалению, пока потребуется отдельная видеокарта для каждого места.
    Ответ написан
    3 комментария