В недавнем объявлении о вакансии обычного администратора Unix в центре обработки данных перечисленное требование заключалось в перемещении живых файлов в настройках центра обработки данных. Что это значит и как переместить живые файлы?
Перемещение живых файлов ... насколько я знаю, ни один здравомыслящий администратор не стал бы пытаться это сделать (не то чтобы большинство админов совершенно нормальные). Обычно файл заблокирован, поэтому вы не можете переместить их, пока ОС или приложение не отпустят их, и если вы переместите живой файл, у вас может произойти сбой некоторых приложений и / или повреждение данных.
Скорее всего, либо кто-то облажался с объявлением, либо оно было размещено кем-то, кто не знает, о чем он говорит (или это хороший намек на то, почему предыдущий сотрудник с криком убежал).
Или они расплывчаты и означают живую миграцию виртуальных машин или отказоустойчивых сервисов, кластеризацию, что-то в этом роде, но реклама делает это чистым предположением.
Единственное, что вы могли бы сделать, если вас интересует должность, - это подать заявку и во время собеседования спросить их, что именно они означают, потому что вы не знаете какого-либо безопасного способа перемещения используемого файла без дополнительных механизмов аварийного переключения. или живую миграцию виртуальных машин для достижения этой цели. Имеются ли в виду, возможно, установка нового сервера и вывод из эксплуатации текущего сервера?
ЕСЛИ это живые файлы, то они в основном говорят о решении высокой доступности; если файлы не должны быть обновлены на 100%, но вам нужно предотвратить повреждение, то что-то вроде fssnap нужно использовать.
это живые файлы или живые изображения?
они могли бы говорить о виртуальных машинах для прямого перехода от одной работающей системы с определенной платформой к другой, не прерывая эти образы.
Я согласен с другими ответами, что этот вопрос слишком расплывчатый и требует пояснения.
Исходя из предположения, что перемещение «живого файла» означает перемещение файла, который в настоящее время открыт процессом, который читает или записывает в него; Обычно это не проблема, учитывая некоторые параметры. Когда программа открывает файл, она обычно делает это, ссылаясь на имя файла. В нашем примере мы используем «/var/log/myimportant.log». Это имя файла на самом деле просто указатель на некоторый индексный дескриптор на диске. Как только процесс откроет этот файл, не имеет значения, удалите ли вы эту запись каталога в индексный дескриптор или добавите новую запись каталога, указывающую на этот же индексный дескриптор. И перемещение файла часто может быть именно таким: удалить одну запись каталога в индексный дескриптор и добавить другую. Я говорю часто, а не всегда, потому что это НЕ верно, если вы пытаетесь переместить файл из одной файловой системы в другую.
Обратите внимание, что именно так работает ротация журналов. Файл, в который процесс, вероятно, записывает, перемещается. Процесс продолжает запись в файл даже после его перемещения. Затем через некоторое время процесс либо перезапускается, либо отправляется сигнал HUP, запускающий процесс для открытия нового файла в исходном месте.