{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Максим Кузнецов: заметки с тегом ubuntu",
    "_rss_description": "Простыми словами о веб-разработке",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/maxkuznetsov.ru\/tags\/ubuntu\/",
    "feed_url": "https:\/\/maxkuznetsov.ru\/tags\/ubuntu\/json\/",
    "icon": "https:\/\/maxkuznetsov.ru\/user\/userpic@2x.jpg?1586398004",
    "author": {
        "name": "Максим Кузнецов",
        "url": "https:\/\/maxkuznetsov.ru\/",
        "avatar": "https:\/\/maxkuznetsov.ru\/user\/userpic@2x.jpg?1586398004"
    },
    "items": [
        {
            "id": "46",
            "url": "https:\/\/maxkuznetsov.ru\/all\/ustanovka-i-nastroyka-clickhouse-na-ec2\/",
            "title": "Установка и настройка Clickhouse на EC2",
            "content_html": "<p>Нашёл отличный и исчерпывающий гайд по установке и подготовке Clickhouse для продакшена на AWS EC2.<br \/>\nДопустим, у нас уже есть VPC, в которую хочется добавиться сервер с CH.<br \/>\nЕдинственно, в качестве инстанса я взял машину попроще — m7g.large (~$60\/mo) на Ubuntu и Arch64 архитектуре.<\/p>\n<p><a href=\"https:\/\/anthonynsimon.com\/blog\/clickhouse-deployment\/\">https:\/\/anthonynsimon.com\/blog\/clickhouse-deployment\/<\/a><\/p>\n",
            "date_published": "2023-11-13T15:14:10+03:00",
            "date_modified": "2023-11-13T15:14:07+03:00",
            "_date_published_rfc2822": "Mon, 13 Nov 2023 15:14:10 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "46",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "44",
            "url": "https:\/\/maxkuznetsov.ru\/all\/ubuntu-systemd-systemctl-on-startup\/",
            "title": "Как добавить новый сервис в systemd\/systemctl и запускать его при старте  Ubuntu",
            "content_html": "<h3>Задача<\/h3>\n<p>Есть docker-compose файл, поднимающий Zabbix. Есть небольшая обёртка в виде Makefile, которая позволяет запускать и останавливать docker-compose. Нужно добавить запуск этой команды при старте\/рестарте системы.<\/p>\n<h3>Дано<\/h3>\n<p>Всё лежит в `\/var\/www\/zabbix-server\/`.<br \/>\nСодержание файла Makefile:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">...\r\ndocker-up:\r\n        docker-compose up -d\r\n\r\ndocker-down:\r\n        docker-compose stop<\/code><\/pre><h3>Решение<\/h3>\n<ol start=\"1\">\n<li>Создать новый файл `vim \/etc\/systemd\/system\/zabbix.service`.<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">[Unit]\r\nDescription=Run Zabbix Docker Containers on Startup\r\n\r\n[Service]\r\nRemainAfterExit=True\r\nRestart=always\r\nRestartSec=1\r\nWorkingDirectory=\/var\/www\/zabbix-server\r\nExecStart=\/usr\/bin\/make docker-up\r\nExecStop=\/usr\/bin\/make docker-down\r\n\r\n[Install]\r\nWantedBy=default.target<\/code><\/pre><ol start=\"2\">\n<li>chmod 644 \/etc\/systemd\/system\/zabbix.service<\/li>\n<li>systemctl enable zabbix.service<\/li>\n<li>systemctl start zabbix.service<\/li>\n<\/ol>\n",
            "date_published": "2023-05-10T17:35:55+03:00",
            "date_modified": "2023-05-10T17:35:51+03:00",
            "_date_published_rfc2822": "Wed, 10 May 2023 17:35:55 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "44",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "43",
            "url": "https:\/\/maxkuznetsov.ru\/all\/ubuntu-running-out-of-space-i-kolichestvo-inodes\/",
            "title": "Ubuntu: Running Out of Space и количество inodes",
            "content_html": "<p>Одна из причин, почему ваш Ubuntu сервер может сигнализировать, что кончилась память, тогда как её предостаточно — слишком большое количество файлов. Каждый диск в зависимости от размера имеет ограниченное максимальное количество файлов и папок, которые вы можете создать.<\/p>\n<p>Проверить количество используемых inodes можно командой:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">root@ec2-consumer:~# df -ih\r\nFilesystem     Inodes IUsed IFree IUse% Mounted on\r\n\/dev\/root        2.5M  2.1M  419K   84% \/\r\ndevtmpfs         482K   349  482K    1% \/dev\r\ntmpfs            484K     5  484K    1% \/dev\/shm\r\ntmpfs            484K   602  483K    1% \/run\r\ntmpfs            484K     4  484K    1% \/run\/lock\r\ntmpfs            484K    18  484K    1% \/sys\/fs\/cgroup\r\n\/dev\/loop1         16    16     0  100% \/snap\/amazon-ssm-agent\/4046\r\n\/dev\/loop5        11K   11K     0  100% \/snap\/core18\/2253\r\n\/dev\/nvme1n1      25M  462K   25M    2% \/var\/www\r\ntmpfs            484K    22  484K    1% \/run\/user\/0<\/code><\/pre><p>Видим 84% около \/dev\/root — процент очень большой, это свидетельствует о проблеме. Обычно должно быть не больше 50%, а 80% — это верхний предел.<\/p>\n<p>Причин может быть несколько, например, у вас есть какой-то скрипт, пишущий много логов или временных файлов в \/tmp. В моём случае это была библиотека phrets, которая создаёт много пустых временных файлов в \/tmp.<\/p>\n<p>Если не знаете, где превышаете лимит по количеству файлов, запустите команду (может занять несколько минут):<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">du --inodes -d 3 \/ | sort -n | tail<\/code><\/pre><h2>Быстрое решение<\/h2>\n<p>Просто удалите лишние файлы. Это можно сделать по шаблону regexp:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">find \/tmp -type f -mtime +0 -name 'phrets*' -execdir rm -- '{}' \\;<\/code><\/pre><p>Здесь <tt>-mtime +0<\/tt> фильтрует все файлы, которые были созданы больше суток назад — я не хотел удалять все файлы, так как не был уверен, что библиотека phrets не использует самые свежие для чего-то нужного (хотя они все и были пустыми). Почитайте про значения параметра mtime, чтобы фильтровать как давно созданные файлы, так и недавно.<\/p>\n<h2>Долгое решение<\/h2>\n<p>Нужно увеличить количество inodes. Это крайне редкое и радикальное решение, которое хорошо описано тут — <a href=\"https:\/\/www.ctrl.blog\/entry\/how-to-all-out-of-inodes.html.\">https:\/\/www.ctrl.blog\/entry\/how-to-all-out-of-inodes.html.<\/a><\/p>\n",
            "date_published": "2022-03-13T04:25:22+03:00",
            "date_modified": "2022-03-13T04:25:10+03:00",
            "_date_published_rfc2822": "Sun, 13 Mar 2022 04:25:22 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "43",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3559,
    "_e2_ua_string": "E2 (v3559; Aegea)"
}