Как номера inode из ls -i соотносятся с inodes на диске

Возможны два случая:

  1. вы заказали у обоих интернет-провайдеров фиксированные IP-адреса (или диапазоны) и сделали специальный договоренность с интернет-провайдером, который обрабатывает ваш исходящий трафик, чтобы разрешить трафик с вашего сайта, у которого исходные IP-адреса в IP-пакетах отличаются от того, что вам предоставил этот интернет-провайдер. Кроме того, скорее всего, , этот интернет-провайдер запросит у вас подтверждение того, что эти IP-адреса назначены вам другим провайдером / интернет-центром. Тогда это возможно.
  2. вы не договаривались с интернет-провайдерами по этому поводу и отправляете трафик с измененными адресами источника самостоятельно. Тогда интернет-провайдер заблокирует весь такой трафик.Если интернет-провайдер достаточно умен, он со временем заблокирует любой трафик с вашего сайта из-за подозрительной активности (например, в их попытках бороться с распространением вирусов)

Изменить:

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

Вы установили два VPN между вашим шлюзом и этим сервером: один использует ссылку на первого провайдера, а другой - на второй. Затем на этом сервере вы маскируете весь «внешний» трафик и устанавливаете соответствующие маршруты для обработки «внутреннего» трафика. Приложив некоторые усилия по настройке с использованием, например, инкапсуляции GRE с фиксированным ключом, вы можете добиться практически нулевого входящего трафика на вашем «исходящем» канале и почти нулевого исходящего трафика на вашем «входящем» канале.

2
04.02.2019, 12:32
2 ответа

I'm trying to understand how inode numbers (as displayed by ls -i) work with ext4 partitions.

По сути, индексный дескриптор — это ссылка на файловую систему (! ), мост между фактическими данными на диске (, битами и байтами )и именем, связанным с этими данными (/etc/passwd, например ). Имена файлов организованы в каталоги, где записью каталога является имя файла с соответствующим индексным узлом.

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

enter image description here

И когда у вас есть файл в другом каталоге, указывающий на тот же номер инода, у вас есть так называемая жесткая ссылка.

Заметьте, я подчеркнул, что индексный дескриптор относится к файловой системе, и вот почему следует помнить об этом:

The inode number of any given file is unique to the filesystem, but not necessarily unique to all filesystems mounted on a given host. When you have multiple filesystems, you will see duplicate inode numbers between filesystems, this is normal.

Это отличается от устройств . У вас может быть несколько файловых систем на одном устройстве, например файловая система /varи /, и все же они находятся на одном диске.

Теперь можно ли изменить номер инода? Вроде, как бы, что-то вроде.Файловая система отвечает за управление инодами, поэтому, если нет проблем с файловой системой, номер инода не должен меняться. В некоторых сложных случаях, таких как текстовый редактор vim ,

renames the old file, then writes a new file with the original name, if it thinks it can re-create the original file's attributes. If you want to reuse the existing inode (and so risk losing data, or waste more time making a backup copy), add set backupcopy yes to your.vimrc.

Ключевым моментом, который следует помнить, является то, что если данные могут быть одинаковыми для пользователя, на самом деле они записываются в новое место на диске, отсюда и изменение номера инода.

Короче говоря,:

  1. Do inode numbers change when a computer is rebooted?

Нет, если что-то не так с файловой системой после перезагрузки

2.When two partitions are mounted, can ls -i produce the same inode number for two different files as long as they are on different partitions.

Да, так как два разных раздела будут иметь разные файловые системы. Я мало что знаю о LVM , но при таком типе управления хранилищем два физических тома могут быть объединены в один логический том, что, по моему теоретическому предположению, будет тем случаем, когда ls -создаст один индексный дескриптор на файл

  1. Can inode numbers be recycled without rebooting or re-mounting partitions?

Файловая система делает это, когда файл удаляется (, то есть, когда удаляются все ссылки на файл, и нет ничего, указывающего на этот индексный дескриптор ).


My task is to save space on disk by detecting duplicates and replacing the duplication with even more hard links.

Обнаружение дублирования можно выполнить с помощью md5sumили другой команды контрольной суммы. В таком случае вы просматриваете фактические данные, которые могут находиться или не находиться в разных инодах на диске. Один пример взят из ответа heemayls:

find. ! -empty -type f -exec md5sum {} + | sort | uniq -w32 -dD
7
28.04.2021, 23:37
  1. Нет, номера индексов не меняются при перезагрузке компьютера, по крайней мере, не в файловых системах POSIX (, таких как ext4), где индекс хранится на диске.

  2. Да, два разных файла в разных разделах могут иметь одинаковый номер индексного дескриптора. См. Могут ли два файла в двух разных файловых системах иметь один и тот же номер инода? и Почему каталоги /home, /usr, /var и т. д. имеют одинаковый номер инода (2 )? для получения подробной информации. (Что является уникальным в данной системе, так это пара номер устройства-inode.)

  3. Да, если вы удалите файл, его индексный дескриптор может быть повторно -использован без перезагрузки или повторного -монтирования.

3
28.04.2021, 23:37

Теги

Похожие вопросы