Оптимальний розділ файлової системи UNIX + Стратегія налаштування


16

Під час розбиття нових системних дисків для UNIX, яка ваша краща стратегія для настільних та / або серверів?

Включіть макет розділів диска, формат (и) файлової системи та параметри, точки монтажу, рівень RAID, групи та томи LVM, шифрування та будь-які інші відповідні налаштування.


Питання здається чи не дублікатом цього ( serverfault.com/questions/1145/… ).
Зоредаче

це для робочої станції, тестового сервера або для повністю зрілого веб-сервера?
djangofan

Відповіді:


9

Я прихильник LVM за подібні проблеми. Вам просто потрібно трохи місця для / завантаження (я використовую близько 100 Мб). У поєднанні з файловими системами, які можуть динамічно рости і стискатися (або принаймні зростати), вам більше ніколи не доведеться думати про невеликі розділи.

На своєму робочому столі я використовую LVM з XFS як файлову систему для всіх розділів. Я створюю якомога менше і дозволяю їм рости, оскільки мені потрібно більше місця.


7

Якщо це Linux, мати окремий / завантажувальний.

Для інших варіантів Unix, як правило, я рекомендую розділи для / і / var, дані зазвичай монтуються в / u001, / u002 і т.д.

Раніше виникла потреба в сильному розділі, оскільки обсяг дискового простору був обмежений, і ви не хотіли, щоб один заповнений розділ збив всю систему. Із значно розширеним доступним сховищем на сьогодні, а також з наявними рясними варіантами зміни розмірів та віртуалізації потреба у багатьох розділах IMO зменшилась. Це в поєднанні з тим, що без проблем пересувати речі, коли у вас є багато розділів, означає, що якщо ви можете піти менше, зробіть це.

Заміняти на 2xRAM не має сенсу, якщо у вас є 32 Гб пам'яті. Тож пам’ятайте, що "правила" - це справді вказівки, а деякі просто не мають сенсу зважаючи на новіше обладнання, доступне зараз.


2
+1 про згадку про необхідність розбиття перегородки останнім часом, окрім того, якщо вам потрібно більше місця в / додому, ви завжди зможете встановити новий жорсткий диск.
Спікей

1
+1 - Я погоджуюсь з тим, що в більшості систем не потрібно брати участь у шалених іграх на розділення. Якщо ви знаєте, що вам потрібно / var бути на швидкому диску через якусь програму, так і нехай буде. Найчастіше, коли я стикався з шаленими іграми з розділеннями у виробничих системах, це був єдиний апаратний об'єм RAID-1, вирізаний у купу маленьких розділів, які все чекають, щоб поповнити його та змінити його розмір (щоб зробити роботу над адмін, мабуть). Якщо ви знаєте, що у вас є додаток для якоїсь складної схеми розділів, перейдіть до цього. Якщо ви цього не зробите, ви цього не зробите.
Еван Андерсон

5

Планування хорошої структури розподілу сильно залежить від того, чи справді ви знаєте, як ви збираєтеся використовувати систему. Будь-яка випадкова порада, яка не враховує те, що робить система, не буде особливо корисною.

Всі фантазійні файлові системи можуть бути корисними при нагоді, але якщо ви хочете стабільної системи, може бути кращою ідеєю просто дотримуватися "стандартної" файлової системи (тобто ext3), якщо у вас немає дуже вагомих причин використовувати щось інше.

RAID - це добре, я завжди запускаю RAID1 на всіх своїх персональних комп’ютерах, тому що у мене занадто багато жорстких дисків виходять з ладу.

Шифрування чимось на зразок dm-crypt добре, якщо ваша система є портативним пристроєм, має високоцінні дані або ваш просто параноїк.

Під час планування ваших розділів дуже корисно добре розуміти такі речі, як стандарт ієрархії файлової системи, і якщо / як ваш вибраний unix відхиляється від стандарту.

Використання LVM може значно полегшити передумови в майбутньому та налаштувати розділи без перезавантаження. А його здатність створювати знімки може бути дуже простою для створення гарних резервних копій. Використовуйте LVM і не одразу виділяйте весь свій простір.


5

Окрім типу FS, є два дуже вагомих причини:

  1. Запобігайте переповненню програми, що впливає на функціональність системи. Якщо ваш додаток заповнено /usr, корисно мати трохи місця, /varщоб система могла продовжуватись і записувати журнали.

    Джадер говорив вище, що сьогодні це заперечується розміром жорстких дисків - я не думаю, що це абсолютно вірно. Наші диски можуть бути більшими, але дані, які ми перекидаємо, постійно зростають. Не потрібно поступатися самовдоволенням.

  2. Параметри кріплення. Ви можете більш ретельно визначити, які дозволи повинні прийняти кожен розділ. Наприклад, це добра практика не дозволяти виконувати файли, особливо suid, з /tmpтого, що це звичайний вектор атаки для машин, що обслуговують веб-додатки. Якщо ви не працюєте в тюрмі, ви не повинні сподіватися побачити вузли пристрою де-небудь, але /dev. І так далі.

напр.

/ noatime  
/tmp noatime,nodev,nosuid,noexec  
/var noatime,nodev,nosuid  
/usr noatime,nodev  
/home noatime,nodev,nosuid  

4

Розбиття розділів фізичних дисків
Почніть з 2 мінімум дисків:

# 1 100MB, ID = 83 (Linux), прапор завантаження увімкнено
# 2 Залишився, ID = FD (Linux Raid Auto)

Розділ 100MB призначений для / boot volume. Я залишаю це на всіх своїх накопичувачах (навіть без завантаження), щоб забезпечити гнучкість, щоб будь-який накопичувач згодом міг бути завантажений. Якщо диски не збігаються за розміром або у вас є непарний номер (500 ГБ, 250 ГБх2), то розділіть розділи на 500 ГБ диска, щоб вони відповідали меншим дискам.

RAID
Використовуючи 100MB розділи на sdaта sdbстворіть RAID1 (дзеркальний) об'єм для /boot. Це стає md0.

md0 / завантаження 100MB Ext2

Не заважайте використовувати екзотичний FS на / завантажувати, це не варто.

Решту місця можна встановити різними методами. Я вибираю RAID10 (дзеркало / смужка), використовуючи 64K шматки та "2 далекі копії" для швидкості. Це дає вам велику гнучкість для поступового оновлення дисків вниз по лінії. Інші варіанти - зробити RAID5 / 6. Однак придатний простір буде обмежений найменшим розділом, і НЕ використовувати розділи з тих же пристроїв. Назвіть новий RAID - масиви md1, md2і так далі.

LVM
Візьміть усі масиви RAID, за винятком md0, і поставте їх в одну групу томів LVM з назвою lvm_vg0. Якщо у вас є томи RAID5 та RAID10, можливо, найкраще їх не комбінувати, але, мабуть, це не завадило б.

Розділіть VG0 для решти системних кріплень. Пам’ятайте, що при необхідності додати більше місця, порівняно легко, тому ці цифри можуть бути дещо консервативними.

lvm_vg0-root / 8 ГБ Ext3 / ReiserFS (основні дистрибутивні файли)
lvm_vg0-home / home 20 + ГБ Ext3 / ReiserFS (дані користувача, документи)
lvm_vg0-data / data 60 + GB XFS (медіа, великі файли, vm's)

Файлові системи XFS неможливо зменшити, тому пам’ятайте про це. Крім того, скорочення темпів кореня в Інтернеті, ймовірно, не підтримується.

Оновлення Якщо ви хочете коли-небудь поміняти диски на більші розміри, у вас є кілька варіантів. Найпростіше - це додавання накопичувачів в парах і більше і додавання нових масивів RAID до поточного LVM VG.

Інший варіант - додавання одного диска, який є> = до суми поточного простору. Наприклад, якщо у RAID10 у вас є два пристрої об'ємом 100 Гб, ви можете додати новий пристрій на 200 ГБ і віддзеркалити його за допомогою двох старих пристроїв. Це більше схильне до помилок, але буде працювати.

При необхідності md#пристрої можна виймати з VVM LVM без втрати даних. Це можна зробити, якщо є достатньо вільного простору LVM для перенесення всіх використаних блоків LVM з md#пристрою на інші. LVM може використовувати лише простір, який не був призначений для LV, тому порожня файлова система не вважається "вільним" простором.


1
Мене не переконує страх перед екзотичними файловими системами при включенні / завантаженні. ext3 та XFS вже не є екзотикою в 2009 році. Це раніше викликало занепокоєння, коли liveCD не були упаковані з драйверами для них, але майже всі є сьогодні.
Ден Карлі

@Casey, ви можете зменшити "живий" том Ext3 за умови, що у вас є достатньо місця для переміщення. Так, це досвід кусання нігтів, але я це зробив, і він працює як оголошено. Будьте ДУЖЕ обережні з параметрами.
Avery Payne

2

Я просто запускаю робочі станції Linux. Я використовую файлову систему ext3 і розміри дещо залежать від розміру дисків, будучи щедрішими з розділами на більших дисках. Вони приблизно в тому порядку, як вони відображаються в таблиці розділів:

  • / завантаження - 100 Мб
  • простір підкачки - 2xRAM
  • / usr - 10-20 ГБ
  • / - 5-10 ГБ
  • / вар - 1-2 ГБ
  • / tmp - 1-2 ГБ
  • / usr / local - 10-20 ГБ
  • / додому - все інше.

На робочих станціях моєї дружини в університеті, які мають два накопичувачі 750 ГБ, ми створили, окрім вищезазначених, десяток ~ 100 ГБ розділів на різних накопичувачах, усі встановлені в / дані / N, де N було числом від 1 до 12 Вона використовує ці дані для зберігання даних для різних наукових проектів.


Я особисто не бачу переваги наявності / var, / usr відокремленого від іншого розділу. Хоча / usr / local може бути хорошою ідеєю, якщо у вас встановлене програмне забезпечення на замовлення (= не встановлено за допомогою управління пакетами), ці два згадані факти дуже непотрібні. Також 2xRAM як swap не є зайвим. Якщо ваша система починає обмінюватися, все стає мертвим повільно, тож ви хочете уникнути цього на початку. Я особисто маю лише розділ swap з Ramsize + X, оскільки інколи використовую призупинення на диск.
Мартін

2
@Martin, У вікні Linux, який виступає в якості кешу кальмарів, ви хочете, щоб ваш реєстр котушки та журнал dir знаходилися на швидкому диску, і зазвичай цей диск не потребує надійності. Можна поставити (/ var) свою котушку на RAID0 (смужку), а все інше залишити в повільному режимі.
Зоредаче

@Martin - Ти маєш рацію, розщеплення / usr off, мабуть, непотрібне, і я не завжди так роблю. Заміна = 2xRAM - це стара звичка, що залишилася з тих часів, коли я конфігурував системи з лише 256 Мб оперативної пам’яті або менше.
дагорим

1
насправді розділення / usr та / var дозволяє ввімкнути журнал на одній, а не на іншій.
Скотт

1
І якщо ввести / var на окремий розділ, переконайтеся, що тільки / var може заповнити файли журналів, які в іншому випадку могли б привести вашу систему до колін.
wzzrd

1

використовувати noatime на всіх дисках (якщо у вас немає причин цього не робити) Я монтую / tmp в tmpfs, хоча це може бути не так добре на сервері, я би переконався, що це окремий розділ і змонтуйте його nodev, nosuid, noexec, noatime . Я завжди використовую ext2 для / boot, тому мені не доведеться турбуватися про зміну файлів fs, що викручують мою здатність до завантаження w / grub. ext4 у всьому іншому, я використовую журнал = дані про / home, який, ймовірно, трохи сповільнює роботу (як це не має угоди), але я ніколи не втрачав даних із журналу = дані, і будучи трохи останнім / найкращим повія, іноді моя система блокується, і мені доводиться важко скинути її (бо я спробував щось на кшталт kms і виявив помилку).


1
Не забудьте також використовувати "nodiratime", інакше ви будете натискати на свій vfs_cache_pressure з тоннами вкладень (плюс фактичне записування на диск!).
Газонікс

0

Нічого собі, приємне запитання. Серфінг був ідеальною відповіддю на це за йонки.

У мене особисто є 50 Мб / завантаження ~ 8 Гб /, а решта йде в бік / додому Це далеко не ідеально. Мені потрібно дослідити альтернативні файлові системи, в даний час я використовую ext3, але я чув чудові речі інших файлових систем, наприклад XFS.

Я зазвичай також створюю контейнер для файлів для / tmp суто, щоб в майбутньому бути гнучкішим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.