Please open Telegram to view this post
VIEW IN TELEGRAM
😱2😁1
Права доступа Unix, SUID, SGID, Sticky биты
В Unix каждому файлу соответствует набор прав доступа, представленный в виде 9-ти битов режима. Он определяет, какие пользователи имеют право читать файл, записывать в него данные или выполнять его. Вместе с другими тремя битами, влияющими на запуск исполняемых файлов, этот набор образует код режима доступа к файлу. Двенадцать битов режима хранятся в 16-битовом поле индексного дескриптора вместе с 4-мя дополнительными битами, определяющими тип файла. Последние 4 бита устанавливаются при создании файлов и не подлежат изменению. Биты режима (далее права) могут изменяться либо владельцем файла, либо суперпользователем с помощью команды chmod.
Существует три пути управления доступом к файлу или каталогу. Было определено, что каждый файл должен иметь владельца (owner), группового владельца (group owner), а также может потребоваться доступ для всех остальных пользователей (everyone). Эти названия обычно приводятся как пользователь/группа/остальные (user/group/others) или коротко ugo. Реализация управления доступом к файлам и каталогам в Unix позволяет или запрещает доступ по трем флагам: флаг чтения (Read), флаг записи (Write), флаг выполнения (eXecute).
https://help.ubuntu.ru/wiki/%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%B0_unix
👉@i_linux
В Unix каждому файлу соответствует набор прав доступа, представленный в виде 9-ти битов режима. Он определяет, какие пользователи имеют право читать файл, записывать в него данные или выполнять его. Вместе с другими тремя битами, влияющими на запуск исполняемых файлов, этот набор образует код режима доступа к файлу. Двенадцать битов режима хранятся в 16-битовом поле индексного дескриптора вместе с 4-мя дополнительными битами, определяющими тип файла. Последние 4 бита устанавливаются при создании файлов и не подлежат изменению. Биты режима (далее права) могут изменяться либо владельцем файла, либо суперпользователем с помощью команды chmod.
Существует три пути управления доступом к файлу или каталогу. Было определено, что каждый файл должен иметь владельца (owner), группового владельца (group owner), а также может потребоваться доступ для всех остальных пользователей (everyone). Эти названия обычно приводятся как пользователь/группа/остальные (user/group/others) или коротко ugo. Реализация управления доступом к файлам и каталогам в Unix позволяет или запрещает доступ по трем флагам: флаг чтения (Read), флаг записи (Write), флаг выполнения (eXecute).
https://help.ubuntu.ru/wiki/%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%B0_unix
👉@i_linux
👍1
🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
MAX
Системный Администратор | Sysadmin Windows & Linux Server. …
Купить рекламу: https://telega.in/m/i_odmin
Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
👎3👍1
Traceroute и Tracert — утилиты-близнецы? Что такое трассировка сети
В Windows эта команда называется Tracert, а в Linux и MacOS – Traceroute.
Разница между Traceroute и Tracert
Tracert
1- Tracert, в отличие от своего Linux-двойника, реализован на основе протокола ICMP, а не UDP.
2- Tracert отправляет эхо-запрос ICMP (ICMP Echo Request) с TTL=1.
3- Первый маршрутизатор проверяет адрес назначения, чтобы выяснить был ли отправлен запрос именно ему.
4- Узнав, что цель пакета – другой хост, маршрутизатор отбрасывает его, и TTL становится равным 0.
5- Затем маршрутизатор 1 отправляет ICMP-сообщение с указанием информации о себе и причине проблемы источнику пакета: «Time-To-Live Exceeded» или «Time Exceeded in transit».
6- Благодаря этому сообщению Tracert записывает маршрутизатор 1 как первый транзитный участок или, как его ещё называют, «хоп, прыжок». Процесс передачи пакета между промежуточными маршрутизаторами продолжится, пока переменная (TTL ICMP-запроса), не станет равна количеству «прыжков» между узлом-отправителем и узлом-получателем, и пакет не будет получен хостом назначения или количество сетевых переходов не превысит максимальное значение для Tracert – 30.
7- Когда целевой хост проверит IP-адрес назначения и узнает, что запрос был направлен именно ему, он отправит эхо-ответ ICMP (ICMP Echo Request), что даст утилите понять, что процесс передачи завершён.
Traceroute
В чём ещё отличие Traceroute от Tracert? В Traceroute схема схожая, практически идентичная.
Целевому хосту направляется фрагментированный UDP-запрос. Таким образом, отправляется сразу несколько пакетов с TTL: TTL=1, TTL=2 и TTL=3.
Вот только раз эта утилита не отправляет эхо-запрос ICMP, как она понимает, что трассировка подошла к концу?
Всё просто: в каждом пакете содержатся данные о порте отправителя (Source) и порте получателя (Destination). Destination порт по умолчанию закрытый (34434), поэтому утилита Traceroute сразу понимает, что процесс передачи данных завершён, когда получает ответ с сообщением о недоступности порта «Destination port unreachable» (Хост/Порт недостижим). Иными словами, запрос достиг целевого хоста.
https://telegra.ph/Traceroute-i-Tracert--utility-bliznecy-CHto-takoe-trassirovka-seti-03-15
👉@i_linux
В Windows эта команда называется Tracert, а в Linux и MacOS – Traceroute.
Разница между Traceroute и Tracert
Tracert
1- Tracert, в отличие от своего Linux-двойника, реализован на основе протокола ICMP, а не UDP.
2- Tracert отправляет эхо-запрос ICMP (ICMP Echo Request) с TTL=1.
3- Первый маршрутизатор проверяет адрес назначения, чтобы выяснить был ли отправлен запрос именно ему.
4- Узнав, что цель пакета – другой хост, маршрутизатор отбрасывает его, и TTL становится равным 0.
5- Затем маршрутизатор 1 отправляет ICMP-сообщение с указанием информации о себе и причине проблемы источнику пакета: «Time-To-Live Exceeded» или «Time Exceeded in transit».
6- Благодаря этому сообщению Tracert записывает маршрутизатор 1 как первый транзитный участок или, как его ещё называют, «хоп, прыжок». Процесс передачи пакета между промежуточными маршрутизаторами продолжится, пока переменная (TTL ICMP-запроса), не станет равна количеству «прыжков» между узлом-отправителем и узлом-получателем, и пакет не будет получен хостом назначения или количество сетевых переходов не превысит максимальное значение для Tracert – 30.
7- Когда целевой хост проверит IP-адрес назначения и узнает, что запрос был направлен именно ему, он отправит эхо-ответ ICMP (ICMP Echo Request), что даст утилите понять, что процесс передачи завершён.
Traceroute
В чём ещё отличие Traceroute от Tracert? В Traceroute схема схожая, практически идентичная.
Целевому хосту направляется фрагментированный UDP-запрос. Таким образом, отправляется сразу несколько пакетов с TTL: TTL=1, TTL=2 и TTL=3.
Вот только раз эта утилита не отправляет эхо-запрос ICMP, как она понимает, что трассировка подошла к концу?
Всё просто: в каждом пакете содержатся данные о порте отправителя (Source) и порте получателя (Destination). Destination порт по умолчанию закрытый (34434), поэтому утилита Traceroute сразу понимает, что процесс передачи данных завершён, когда получает ответ с сообщением о недоступности порта «Destination port unreachable» (Хост/Порт недостижим). Иными словами, запрос достиг целевого хоста.
https://telegra.ph/Traceroute-i-Tracert--utility-bliznecy-CHto-takoe-trassirovka-seti-03-15
👉@i_linux
👍1
Эти утилиты предоставляют важные возможности для анализа и отладки сетевых проблем в различных операционных системах📌
Windows
◽tracert - стандартная утилита в Windows для трассировки маршрута, которая известна многим.
◽pathping - это встроенный в Windows аналог утилиты mtr с аналогичной функциональностью, но поддерживающий только icmp запросы. Обычно он уже установлен в системе, и его не требуется устанавливать отдельно.
◽tracetcp - это виндовая утилита, которая может выполнять tcp syn запросы по маршруту следования пакетов. Она помогает определить доступность определенного порта и может указать, где именно блокируется этот порт. Для установки этой утилиты потребуется скачать ее с официального сайта и установить вручную.
Linux
◽traceroute - это стандартная утилита Linux, предназначенная для трассировки маршрута. По умолчанию она использует протокол udp, но вы можете выполнить трассировку с использованием протокола icmp следующим образом:
◽tracepath - аналогична утилите traceroute, но использует протокол udp и сразу выводит значения mtu и маршрутизаторы, где происходит изменение mtu.
◽mtr - эта утилита объединяет функциональность утилит ping и traceroute. Она может использовать протоколы tcp, udp и icmp. В операционной системе Windows есть аналог с названием Winmtr.
👉@i_linux
Windows
◽tracert - стандартная утилита в Windows для трассировки маршрута, которая известна многим.
tracert google.com◽pathping - это встроенный в Windows аналог утилиты mtr с аналогичной функциональностью, но поддерживающий только icmp запросы. Обычно он уже установлен в системе, и его не требуется устанавливать отдельно.
pathping google.com◽tracetcp - это виндовая утилита, которая может выполнять tcp syn запросы по маршруту следования пакетов. Она помогает определить доступность определенного порта и может указать, где именно блокируется этот порт. Для установки этой утилиты потребуется скачать ее с официального сайта и установить вручную.
tracetcp google.com:443Linux
◽traceroute - это стандартная утилита Linux, предназначенная для трассировки маршрута. По умолчанию она использует протокол udp, но вы можете выполнить трассировку с использованием протокола icmp следующим образом:
traceroute -I google.com◽tracepath - аналогична утилите traceroute, но использует протокол udp и сразу выводит значения mtu и маршрутизаторы, где происходит изменение mtu.
tracepath google.com◽mtr - эта утилита объединяет функциональность утилит ping и traceroute. Она может использовать протоколы tcp, udp и icmp. В операционной системе Windows есть аналог с названием Winmtr.
mtr -c3 google.com👉@i_linux
👍2
🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
MAX
Системный Администратор | Sysadmin Windows & Linux Server. …
Купить рекламу: https://telega.in/m/i_odmin
Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
🖕4
System Monitoring Center
Функции:
Подробные функции мониторинга/управления производительностью и использованием системы:
Мониторинг информации об аппаратном обеспечении/использовании CPU, RAM, Disk, Network, GPU
Мониторинг и управление процессами и службами (systemd)
Мониторинг пользователей, датчиков и общей информации о системе
Поддержка PolicyKit. Нет необходимости запускать приложение с помощью "sudo"
Опции выбора оборудования (выбор ядер CPU, дисков, сетевых карт, GPU)
Построение графиков производительности нескольких устройств одновременно
Интерактивные графики для запроса данных о производительности в любой точке
Возможность отображения процессов в виде дерева или списка
Оптимизирован для низкого использования процессора
Меню настройки практически для всех вкладок
Поддержка архитектуры ARM
Графический интерфейс с аппаратным ускорением
Бесплатный и открытый исходный код
https://github.com/hakandundar34coding/system-monitoring-center
👉@i_linux
Функции:
Подробные функции мониторинга/управления производительностью и использованием системы:
Мониторинг информации об аппаратном обеспечении/использовании CPU, RAM, Disk, Network, GPU
Мониторинг и управление процессами и службами (systemd)
Мониторинг пользователей, датчиков и общей информации о системе
Поддержка PolicyKit. Нет необходимости запускать приложение с помощью "sudo"
Опции выбора оборудования (выбор ядер CPU, дисков, сетевых карт, GPU)
Построение графиков производительности нескольких устройств одновременно
Интерактивные графики для запроса данных о производительности в любой точке
Возможность отображения процессов в виде дерева или списка
Оптимизирован для низкого использования процессора
Меню настройки практически для всех вкладок
Поддержка архитектуры ARM
Графический интерфейс с аппаратным ускорением
Бесплатный и открытый исходный код
https://github.com/hakandundar34coding/system-monitoring-center
👉@i_linux
👍4
KVM изменить размер диска / blockresize / domblklist / guests linux / mbr /gpt
Изменение диска offline / qemu-img
!!! не забываем делать backup
qemu-img resize vmdisk.qcow2 +10G - добавим 10Гб диску vmdisk.img
Изменение диска online / blockresize
virsh blockresize <domain> <path> <size>
[--domain] <строка> имя домена, ID или UUID
[--path] <строка> Полный путь к блочному устройству
[--size] <число> Новый размер блочного устройства, кратный целому числу (по умолчанию в КиБ)
virsh domblklist name_VM - узнаем какие диски есть у ВМ
virsh blockresize name_VM /kvm/name_VM_disk.qcow2 100G - для ВМ (name_VM), изменим размер диска равный 100Гб
Необходимые действия для гостя, при изменении диска, MBR диск / один раздел / fdisk:
!!! Не забываем делать backup
!!! Внимание пример для одного диска с одним разделом
!!! fdisk -l - посмотреть доступные
fdsik /dev/sda - редактируем таблицу разделов
: p - показываем таблицу разделов
Устр-во Загрузочный Start Конец Секторы Size Id Тип
/dev/sda1 * 2048 14678015 14675968 7G 83 Linux
: d - удаляем таблицу разделов
: n - создаем таблицу разделов
Do you want to remove the signature? [Y]es/[N]o: N - не удаляем сигнатуры
: a - ставим ставим загрузочный бит
: w - применяем изменения
!!! после выхода из (fdisk) будет сказано что изменена таблица разделов и необходимо выполнить partprobe
(name_VM)# partprobe - выполняем просим систему перечитать таблицу разделов
(name_VM)# resize2fs /dev/sda1 - выполняем изменения FS
Необходимые действия для гостя, при изменении диска, MBR диск / несколько разделов / parted:
!!! Не забываем делать backup
!!! Внимание пример для одного диска и нескольких разделов
!!! fdisk -l - посмотреть доступные
Пример (parted)
(name_VM)# parted /dev/vda - открываем нужный диск
(parted) print free - покажем доступные разделы (диск /dev/vda)
Number Start End Size Type File system Flags
1 32.3kB 4295MB 4295MB primary ext4 boot
2 4295MB 8590MB 4295MB primary linux-swap(v1)
3 8590MB 107GB 98GB primary ext4
107GB 215GB 107GB Free Space
(parted) resizepart 3 - изменяем размер третьего раздела
End [107GB]? 215GB
(parted) quit - выходим из parted
(name_VM)#partprobe - выполняем просим систему перечитать таблицу разделов
(name_VM)#resize2fs /dev/vda3 - выполняем изменения FS
Необходимые действия для гостя, при изменении диска, GBT диск / несколько разделов / parted:
!!! GPT Рассматривается схема с одним разделом (/dev/vdb1) на весь диск
(name_VM)#partprobe
(name_VM)#gdisk /dev/vdb
переходим в расширенный режим x
смещаем запись в конец диска e
выходим из расширенного режима m
Command (? for help): d
Using 1
Command (? for help): n
Partition number (1-128, default 1): [Enter]
First sector (34-2147483614, default = 2048) or {+-}size{KMGTP}: [Enter]
Last sector (2048-2147483614, default = 2147483614) or {+-}size{KMGTP}: [Enter]
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): [Enter]
Changed type of partition to 'Linux filesystem'
выходим с сохранением w
(name_VM)#partprobe
(name_VM)#resize2fs /dev/vdb1
или
btrfs filesystem resize max /<MOUNTPOINT>
Смонтировать образ диска qcow2 в гипервизоре:
modprobe nbd max_part=8
qemu-nbd --connect=/dev/nbd0 <PATH-TO-IMAGE>.qcow2
fdisk /dev/nbd0 -l
mount -o ro /dev/nbd0p1 /mnt/ext0
umount /mnt/ext0
qemu-nbd --disconnect /dev/nbd0
rmmod nbd
👉@i_linux
Изменение диска offline / qemu-img
!!! не забываем делать backup
qemu-img resize vmdisk.qcow2 +10G - добавим 10Гб диску vmdisk.img
Изменение диска online / blockresize
virsh blockresize <domain> <path> <size>
[--domain] <строка> имя домена, ID или UUID
[--path] <строка> Полный путь к блочному устройству
[--size] <число> Новый размер блочного устройства, кратный целому числу (по умолчанию в КиБ)
virsh domblklist name_VM - узнаем какие диски есть у ВМ
virsh blockresize name_VM /kvm/name_VM_disk.qcow2 100G - для ВМ (name_VM), изменим размер диска равный 100Гб
Необходимые действия для гостя, при изменении диска, MBR диск / один раздел / fdisk:
!!! Не забываем делать backup
!!! Внимание пример для одного диска с одним разделом
!!! fdisk -l - посмотреть доступные
fdsik /dev/sda - редактируем таблицу разделов
: p - показываем таблицу разделов
Устр-во Загрузочный Start Конец Секторы Size Id Тип
/dev/sda1 * 2048 14678015 14675968 7G 83 Linux
: d - удаляем таблицу разделов
: n - создаем таблицу разделов
Do you want to remove the signature? [Y]es/[N]o: N - не удаляем сигнатуры
: a - ставим ставим загрузочный бит
: w - применяем изменения
!!! после выхода из (fdisk) будет сказано что изменена таблица разделов и необходимо выполнить partprobe
(name_VM)# partprobe - выполняем просим систему перечитать таблицу разделов
(name_VM)# resize2fs /dev/sda1 - выполняем изменения FS
Необходимые действия для гостя, при изменении диска, MBR диск / несколько разделов / parted:
!!! Не забываем делать backup
!!! Внимание пример для одного диска и нескольких разделов
!!! fdisk -l - посмотреть доступные
Пример (parted)
(name_VM)# parted /dev/vda - открываем нужный диск
(parted) print free - покажем доступные разделы (диск /dev/vda)
Number Start End Size Type File system Flags
1 32.3kB 4295MB 4295MB primary ext4 boot
2 4295MB 8590MB 4295MB primary linux-swap(v1)
3 8590MB 107GB 98GB primary ext4
107GB 215GB 107GB Free Space
(parted) resizepart 3 - изменяем размер третьего раздела
End [107GB]? 215GB
(parted) quit - выходим из parted
(name_VM)#partprobe - выполняем просим систему перечитать таблицу разделов
(name_VM)#resize2fs /dev/vda3 - выполняем изменения FS
Необходимые действия для гостя, при изменении диска, GBT диск / несколько разделов / parted:
!!! GPT Рассматривается схема с одним разделом (/dev/vdb1) на весь диск
(name_VM)#partprobe
(name_VM)#gdisk /dev/vdb
переходим в расширенный режим x
смещаем запись в конец диска e
выходим из расширенного режима m
Command (? for help): d
Using 1
Command (? for help): n
Partition number (1-128, default 1): [Enter]
First sector (34-2147483614, default = 2048) or {+-}size{KMGTP}: [Enter]
Last sector (2048-2147483614, default = 2147483614) or {+-}size{KMGTP}: [Enter]
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): [Enter]
Changed type of partition to 'Linux filesystem'
выходим с сохранением w
(name_VM)#partprobe
(name_VM)#resize2fs /dev/vdb1
или
btrfs filesystem resize max /<MOUNTPOINT>
Смонтировать образ диска qcow2 в гипервизоре:
modprobe nbd max_part=8
qemu-nbd --connect=/dev/nbd0 <PATH-TO-IMAGE>.qcow2
fdisk /dev/nbd0 -l
mount -o ro /dev/nbd0p1 /mnt/ext0
umount /mnt/ext0
qemu-nbd --disconnect /dev/nbd0
rmmod nbd
👉@i_linux
🔥2👍1