LVM может разделить файлы между объемами?

Следует избегать поиска в целевом каталоге. Таким образом, вы можете добавить ! -path $ TARGET _ DIR как например:

find . -name '*.template' ! -path "*3DBGB_run/*" -exec mv -it ./3DBGB_run {} \+

-121-102790-

Я боролся с той же проблемой. Для работы поиска NetBIOS отредактируйте строку /etc/nsswitch.conf и добавьте «wins» в строку «hosts:».

Пример:

hosts: files dns wins

Затем отредактируйте файл /etc/samba/smb.conf и добавьте/отредактируйте строку wins server = , чтобы добавить WINS-сервер. К вашему сведению, Samba не будет работать как сервер и клиент, поэтому, если у вас есть wins support = yes , вам потребуется отключить его или настроить для работы с OpenConnect.

-121--61388-

find находит ваши файлы дважды: в том месте, где они начинались, и в котором вы их перенесли. Это означает, что он в конечном итоге работает:

mv -i 3DBGB_run/x.template 3DBGB_run/x.template

и создает ошибку, которую вы видите.

find видит файлы «live» по мере их появления - он не создает список заранее, а затем выполняет команду для всех элементов списка. Порядок, в котором он просматривает файлы и каталоги, не определен (вероятно, он будет получен из файловой системы), поэтому это произойдет для каждого файла, проверенного перед тем, как каталог будет перемещен в.

Поскольку find не знает, что вы делаете в -exec , он не может компенсировать это. Вы можете сделать несколько вещей об этом:

  1. Исключить каталоги из космоса поиска: найти. -name '* .template' -path. «/3DBGB _ run »-prune -o -exec mv -i {} ./3DBGB_run\; . Часть -path соответствует каталогу, в который вы перемещаете вещи, а часть -prune затем исключает это дерево из рекурсии. -o вызывает выполнение остальной части команды (исходная команда -exec ). Команда никогда не выполняется для файлов в каталоге. (Это явный пример в руководстве GNU найти )
  2. Создать список перед перемещением. В некоторых случаях это может быть лучше, но если имена файлов содержат места или другие символы IFS , то это не так удачно. Если это не применимо, что-то вроде:

     files = $ (find. -name '* .template')
    mv «$ {files [@]}» 3DBGB_run
    

    также будет работать.


При использовании find -exec команда завершается на + вместо ; заставляет find выполнять минимальное количество команд, собирая несколько аргументов в каждом выполнении, что является более эффективным. Иногда это не подходит для конкретной команды, но здесь было бы хорошо. Если это одноразовая команда, это не имеет значения, но если вы выполняете ее много, то сохранение процессов сэкономит время.

0
09.11.2014, 03:19
2 ответа

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

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

Чтобы убедить вас лучше, LVM способна заключать соглашения, как это делает RAID0, xKbites с первого диска, рядом со вторым, ...

1
28.01.2020, 02:36

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

Даже если файл полностью содержится в одном физическом объеме (который для большинства файловых систем гарантирован, если файл достаточно маленький - меньше, чем размер блока файловой системы, который обычно находится в диапазоне 512B-4KB), вы все еще T Быть в состоянии установить только этот физический объем и увидеть файл. Вы не можете установить произвольный кусок файловой системы. Показания какого файла хранятся там, где не хранятся в том же месте, что и сам файл; Чтобы добраться до файла, вам необходимо перейти в цепочку каталога в файл, и есть дополнительные метаданные (большинство файловых систем Unix имеют таблицу inode), которая необходимо для получения любых данных.

Если вы хотите гарантию, касающуюся файла на каком диске, поставьте диски в разные группы громкости. Или, по крайней мере, создайте разные логические тома (вы можете перемешать LVS между PVS с PVMove ).

1
28.01.2020, 02:36

Теги

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