Вопрос: Продать перегородку мне


Я часто задавался вопросом, почему существует такая страсть к разделению дисков, особенно в Unixy OSes (/ usr, / var, et al). Это не похоже на общую тему при установке Windows.

Кажется, что разбиение значительно увеличивает вероятность заполнения одного раздела, в то время как другие имеют большое количество свободного пространства. Очевидно, это может быть предотвращено путем тщательного проектирования и планирования, но все может измениться. Я много раз испытывал это на машинах, в основном на настройках других, или на установках по умолчанию для ОС, о которых идет речь.

Еще один аргумент, который я слышал, заключается в том, что он упрощает резервное копирование. Как упростить резервное копирование? Я также слышал, что это повышает надежность. Опять же, как?

Почти 100% проблем, с которыми я столкнулся с дисковым хранилищем, - это физический сбой диска. Можно ли утверждать, что разбиение на разделы может потенциально ускорить сбой аппаратного обеспечения, из-за разрыва диска при перемещении или копировании данных из одного раздела в другой на том же диске?

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


45
2017-09-01 19:19


Источник


В облаке «Инфраструктура как облако служб» разделы разделяются, потому что диски (обычно называемые томами) могут быть подключены так гибко. - Skaperen


Ответы:


  • Быстрее fsck. Допустим, ваша система выходит из строя, по какой-то причине и при перезагрузке ей необходимо запустить fsck. С действительно большим разделом, который fsck может принимать навсегда, и ничего в системе не будет работать до тех пор, пока не будет выполнена fsck всей системы. Если вы разделите систему так, чтобы корневой раздел был очень маленьким, вы можете получить систему вверх и некоторые из основных служб, запущенных, пока вы ждете завершения fsck больших томов.
    • если в вашей системе есть небольшие диски или в системе есть только одна служба, это может не иметь особого значения.
    • В журнальных файловых системах это может не иметь большого значения в большинстве случаев, но иногда даже с журнальной файловой системой вы должны запускать полный файл fsck.
  • Улучшена безопасность, поскольку вы можете установить fs только для чтения.
    • Например, никто не должен писать в / usr во время обычного использования. Так почему бы просто не подключить файловую систему, чтобы она была доступна только для чтения. Наличие файловых систем только для чтения, когда их не нужно писать, предотвратит некоторые атаки с помощью скрипта-кидди и может помешать вам уничтожить вещи, когда вы тоже не имеете в виду.
    • Это может затруднить обслуживание системы, поскольку вам нужно будет перезагрузить его как чтение и запись, когда вам необходимо применить обновления.
  • Повышенная производительность, функциональность для конкретного сервиса / использования.
    • Некоторые файловые системы более подходят для конкретных служб / приложений или позволяют настроить файловую систему, чтобы в некоторых случаях она работала лучше. Возможно, у вас есть файловая система с большим количеством небольших файлов, и вам нужно больше инодов. Или, может быть, вам нужно хранить большие несколько больших файлов, образы виртуальных дисков.

Я не думаю, что настройка множества разделов - это то, что вы должны делать для каждой системы. Лично, на большинстве Linux моих серверов я просто настраиваю один большой раздел. Так как большинство моих систем имеют небольшие диски и являются единичными и обслуживают некоторую роль инфраструктуры (dns, dhcp, брандмауэр, маршрутизатор и т. Д.). На моих файловых серверах я устанавливаю разделы для разделения данных из системы.

Можно ли утверждать, что разбиение   может потенциально ускорить аппаратное обеспечение   неудача, из-за   диск при перемещении или копировании данных   от одного раздела к другому на   тот же диск?

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


40
2017-09-01 19:28



+1 Обеспечение безопасности и готовности к бедствиям осуществляется в виде слоев. Мне нравится думать о перегородках, подобных переборкам на корабле. Они там, так что, если что-то катастрофическое происходит в одном сегменте корабля, корабль в целом не обязательно подвергается риску. Поэтому, когда происходит повреждение файловой системы, повреждение несколько сдерживается. Аналогично, с точки зрения безопасности, если / home смонтирован как noexec, он может предотвратить определенные типы атак, если учетная запись пользователя скомпрометирована слабым паролем, например. - 3dinfluence
Известны подвиги, которые работают только на перегородках, установленных с noexec или ro. реальная безопасность не нацелена на разбиение на разделы, но разбиение на разделы может помочь в ограничении ущерба (например, потоки атаки с помощью логов) - drAlberT


Одной из причин сохранения / домашнего / отдельного является то, что вы можете переустановить операционную систему и не беспокоиться о потере пользовательских данных. Помимо этого, у вас будет много безопасности при установке всего, что нужно для чтения, или noexec. Если пользователи не могут запускать код в любом месте, где они могут писать код, это еще один вектор атаки.

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


19
2017-09-01 19:33



разделение / home звучит как больше рабочего стола. На серверах данные часто находятся в другом месте, например / var / www, / srv. Я бы сказал, что ваша идея должна быть больше о разделении пользовательских данных везде, где она хранится, а не только в том, что она находится в / home. - Zoredache
на машинах, используемых для научной обработки, их общей для значительного числа людей, чтобы иметь учетные записи оболочки. В этом случае отдельный / домашний раздел может быть весьма полезен. - jay_dubya
Если у вас есть значительное количество машин, часто бывает, что / home является монтированием NFS из файлового сервера, который логически имеет / home на своем собственном разделе из-за вышеупомянутых проблем. - Matt Simmons
Пользователи часто будут использовать все доступное пространство, и это может быть катастрофическим для служб, предоставляемых сервером. Только разрешая им доступ на запись к отдельному разделу защищает сервер от сбоев из-за полного корневого раздела. Помещение ваших файлов журналов на отдельный раздел делает то же самое. - Chris Nava
Я думаю, что дисковые квоты и лог-вращения являются лучшим решением проблемы пространства, но отдельные разделы делают хороший последний механизм безопасности - semi


  • Упрощение резервного копирования

Вы можете создавать резервные копии (через dumpfs или аналогичные) вещей, которые вы хотите, а не то, чего вы не делаете. дамп (1) - лучшая система резервного копирования, чем tar (1).

  • Заполнение разделов

Это аргумент для разделения. Пользователи, заполняющие свои homedirs, не разрушают сервер, не удаляют веб-сервер, не регистрируют журналы, не вступают в root и т. Д.

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


13
2017-09-01 19:43





Меня всегда учили держать / var на отдельном разделе, поэтому, если вы получите файл журнала из-под контроля, вы засорите один раздел, а не весь диск. Если он находится на том же пространстве, что и остальная часть системы, и вы на 100% заполняете весь свой диск, он может вылететь из строя и сделать неприятное восстановление.


9
2017-09-01 23:25



Я могу рассчитывать с одной стороны на свою 15-летнюю (что? Сказать, что это не так!) Карьера количество раз, когда я потерял систему, потому что файл журнала запуска (или что-то еще) сбил машину. С другой стороны, я могу рассчитывать с одной стороны на то, сколько раз в этом году я был в тупике, потому что кто-то решил / var никогда не должен был быть больше 1 ГБ и был не прав, что оставило меня глядя на «00s бесплатно» GB in / opt, все из которых, возможно, также были на Луне для всего хорошего, что он делает меня. (Я против разделения. :) - David Mackintosh
Я согласен с Дэвидом, имея те же самые опыты как с машинами Linux, так и с Windows. Если нет оснований для этого, каждый диск (или массив RAID) получает один раздел. - John Gardeniers
Ну, на этой неделе финналия произошла в системе Windows. McAfee выпустил большое обновление. У нас было около 5-10 систем, которым это не понравилось. Антивирус попытается установить, создать файл журнала 35 МБ и повторить попытку. 1,500 раз у меня было 0KB бесплатно и система, в которую не удалось войти в систему. - Skaughty


Все аргументы, которые указывает Zoredache, действительны; можно немного поразмыслить с деталями (с машиной быстрее, чтобы вы могли делать другие вещи, в то время как fsck'ing других файловых систем не приносит вам много пользы, если причина в существовании системы в первую очередь на этих других файловых системах) ; однако все они немного оправданы после факта.

В действительно старые школьные дни у вас не было файловых систем на отдельных разделах - вы имели их на отдельных дисках, потому что диски были действительно маленькими. Подумайте, 10MB. (1) Итак, у вас был крошечный / раздел, диск / var, диск / usr, диск / tmp и домашний / домашний диск. Если вам нужно больше места, вы купили другой диск.

Тогда «большие» 50 Мбайт диски начали стоить меньше, чем лунная программа, и внезапно стало возможным разместить целую систему на одном диске с полезной суммой пользовательского пространства.

Тем не менее, с небольшими размерами дисков по сравнению с тем, что было возможно для компьютера для генерации, изолирование / var и / opt и / home, так что заполнение одного из них не сбивало компьютер, по-прежнему было хорошей идеей.

Сегодня, в ситуации с предприятием, я не разделяю ОС. Данные разбиваются на разделы, особенно если они созданы пользователем; но часто это происходит из-за того, что он находится на высокоскоростных и / или избыточных дисковых массивах. Однако / var и / usr все живут в том же разделе, что и /.

В домашней среде одно и то же - / home должно, вероятно, находиться на отдельном диске / массиве, чтобы можно было установить / обновить / разбить / исправить любые пожелания OS.

Причина этого заключается в том, что независимо от того, насколько велика вы догадываетесь о своем / var или / usr или любом другом дереве, вы будете либо смешно ошибаться, либо вы будете смешно перехватывать. Один из моих старых (эр) школьных колледжей клянется разбивкой, и я всегда получаю от него горе, когда он заканчивает 180-дневную феску в системе, которую я создал. Но я могу рассчитывать с одной стороны на всю свою карьеру, сколько раз что-то заполняло / и сбивало систему, в то время как я могу сосчитать одну руку количество раз в этом году, что я смотрел на систему, где кто-то решил / var никогда не должен был быть больше, чем (скажем) 1 ГБ, и был неправ, оставив меня глядя на полный / var и «00s бесплатно GB в другом месте в системе, все из которых могли бы быть также на Луне для всех хорошо, что они меня делают.

В сегодняшнем мире больших дисков я не вижу, что есть какая-то настоящая причина для разделения дерева ОС. Данные пользователя, да. Но отдельные разделы для / var и / usr и / var / spool и т. Д. И т. Д. И т. Д.? Нет.


(1) = и я знаю, просто выбрав этот размер, я собираюсь получить кого-то в комментариях, говорящих 10MB? Luxury. Почему наши диски были просто ...


8
2017-09-01 22:27



Фактически, 10 МБ был размером с диск в первый раз, когда я когда-либо слышал кого-то «XXX FooBytes: больше памяти, чем я Когда-либо нужно! ». Хотя я молодой человек, так что это было около 1982. Другие значения были 40 МБ, 320 МБ, 2,5 ГБ, 40 ГБ, ... данные расширяются, чтобы заполнить доступное хранилище. - dmckee


В ответ на :

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

На машине Linux для предотвращения этого используется LVM (управление логическим томом). Большинство файловых систем позволяют изменять размер (некоторые даже в режиме онлайн). Я создаю разные разделы для разных целей и отформатирую их в разные файловые системы (например: xfs для больших файлов загрузки, которые я могу быстро удалить). Нужно больше места? Установите новый диск, переместите данные на него, затем установите его там, где раньше были данные. Он полностью бесшовна для пользователей и приложений.

С LVM вы можете добавлять диски или разделы в группу томов, а затем создавать логические тома в этой группе. Если вы оставите свободное пространство в группе томов, вы сможете нарастить заполняемые разделы. Если файловая система поддерживает его (ext3, ext4, reiserfs), вы можете сжать раздел, который вы выделили.

Например: сделать загрузочный раздел на / dev / sda1 сделать второй (неформатированный) раздел / dev / sda2

pvcreate /dev/sda2 # add the partition to LVM
vgcreate vg /dev/sda2 # create a volume group with sda2 in it
lvcreate -n root -L5G vg
lvcreate -n home -L10G vg
lvcreate -n downloads -L100G vg

mkfs.ext3 /dev/vg/root
mkfs.ext4 /dev/vg/home
mkfs.xfs /dev/vg/downloads

mount /dev/vg/root /
mount /dev/vg/home /home
mount /dev/vg/downloads /downloads

Когда вам нужно больше места на / загрузки (в то время как файловая система смонтирована):

lvresize -L+50G /dev/vg/downloads
xfs_growfs /dev/vg/downloads

И теперь у вас есть раздел загрузки на 150 ГБ. Аналогично для дома. На самом деле, я только что изменил размер раздела «ext4 lvm» ext4. С другой стороны, логические тома на самом деле не являются разделами и то, что вы говорите о том, что разделы являются неправильными размерами jives с моим личным опытом (больше проблем, чем они того стоят).


5
2017-09-02 00:53





Традиционная схема разделения Unix - это, безусловно, старая школьная практика, которая не так полезна, как когда-то была. В тот же день, когда время безотказной работы системы Unix измерялось годами, и у вас было десятки сотен пользователей, работающих с оболочками, установка / usr как доступная только для чтения была полезным способом защиты системы. Теперь переустановка файловых систем для исправления кажется более трудоемкой и не очень полезной.

В моем университете в старые добрые времена кластеры Unix имели файловые системы только для чтения со стандартными инструментами unix, а надменные приложения были в / usr / local, это была NFS, а затем файловая система AFS. Часть из них была удобна ... кто хотел перекомпилировать программное обеспечение на дюжине ящиков в кластере, когда вы могли запускать приложения через высокоскоростную сеть 4Mb или 10Mb? Сегодня, с достойными менеджерами пакетов и большим количеством дешевого диска, дело не в этом.

Я думаю, что процессы мышления начали меняться на Sun box с Veritas Volume Manager еще в 1999 году, что уменьшило порог боли при перемещении дисков вокруг значительно.

Сегодня, когда я думаю о разделении, я думаю с точки зрения защиты данных и производительности. Пример:

  • SAN уровня 1 очень быстрый, очень доступный (5 9), реплицированный и очень дорогой. Критически важны базы данных или журналы транзакций.
  • Sier 2 уровня быстрый, доступный (4 9), дорогой. Здесь присутствуют приложения или данные с более низким приоритетом.
  • Tier 3 SAN доступен (4 9), дешево. Вещи, которые не чувствительны к производительности, там живут.

Эти соображения также относятся к Windows. У нас есть сервер SCCM, который управляет около 40 тыс. Клиентов. База данных и журналы находятся на мега-диске IBM DS8000. Пакеты программного обеспечения находятся на EMC Celerra с большими медленными SATA-дисками, стоимость которых на 60 Гб меньше.


4
2017-09-01 22:21





Я понимаю, что этот вопрос не зависит от ОС, не так ли?

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

Причиной этого является только один - когда мне нужно переустановить машину (и там будет такое время), мне не нужно беспокоиться о содержимом раздела SYSTEM - я просто делаю полный формат на нем, и чистая установка. Это, конечно, означает, что мои документы (и, желательно, Desktop) должны быть сопоставлены с папкой на DATA, но это легко сделать, особенно в Vista и позже.

Я также попытался сделать больше partitons (например, GAMES, MUSIC, MOVIES и т. Д.), Но это только привело к тому, что некоторые из них переполнились в другие, создавая больше беспорядка, чем порядок.


2
2017-09-01 20:04



Это еще более применимо при работе на серверах. - SpaceManSpiff


(Предположим, что имеется один большой диск,) Я положил home а также var на отдельных разделах, чтобы контролировать «неконтролируемый [пользовательский файл журнала], заполняющий всю проблему пространства» и позволяя легко обновлять ОС, не касаясь дома, но оставляйте остальных вместе.

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


2
2017-09-02 14:18





Вы упомянете о заполнении одного диска, в то время как у другого есть свободное пространство - вот одна из причин, по которым я разбиваю - потому что я могу обеспечить, чтобы определенные разделы не заполнить. Хотя способ управления квотами вы должны были назначить всем пользователям 0 квоту на других разделах, чтобы убедиться, что они не начали скрывать файлы, если им удалось найти каталог, который они мог написать.

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

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

... теперь, все это сказано, мы далеки от того дня, когда каждому пользователю дается небольшая квота на 20 МБ на общей машине. Некоторые из старых привычек не имеют смысла, но когда у вас есть процесс, вы сходите с ума и заполняете / var, что, в свою очередь, наполняется /, и все это останавливается, на производственных машинах не все так плохо защищать ,

Для дома у меня есть разделы, но это просто упростить управление установленными ОС.


2
2017-09-01 19:32





Лично я использую только разметку на компьютерах моего ребенка. Я создаю большой раздел для ОС и небольшой раздел для образа раздела ОС, так что, когда машина становится развязанной, я могу быстро восстановить ее с изображения.

В корпоративной среде я никогда не слышал убедительных аргументов в отношении разделения.


1
2017-10-02 03:08