Додавання жорсткого диска в linux
Додавання жорсткого диска в Linux.
"Як я можу додати ще один жорсткий диск?", "Що я повинен робити, якщо колеги принесли новий жорсткий диск і я повинен скопіювати на нього мої файли?", "Коли я користувався Windows, вона могла бачити новий диск негайно, а Linux такий складний! " Це - найбільш загальні питання і труднощі новачків в Linux, перед якими постала проблема додавання нового жорсткого диска. Деякі з них настільки звикли до Windows, що просто не можуть думати інакше, потетому вони іноді заходять в глухий кут з такими твердженнями як "Мені потрібні програми fdisk і format, але в Лінуксі їх немає!"
Насправді, процедура додавання нового жорсткого диска в Linux не так вже важка і іноді ви можете витратити менше часу на ті ж речі, ніж в Windows. Щоб проілюструвати це, я почну з самого початку пояснювати процедуру в деталях.
Перш за все, я повинен звернути увагу на те, що перед тим, як користувач намагається підключити новий жорсткий диск, йому слід вивчити основи поділу на розділи і і файлових систем і в чому різниця між Primary, Extended, і логічними розділами. Вам слід знати як додати новий диск в комп'ютер фізично (це зазвичай пояснюється в документації до диска). Я припускаю, що ви знаєте ці основи, тому що в статті буде описано, як навчити Linux працювати з вашим новим диском.
Трохи теорії перед роботою
Я збираюся почати з теорії процесу. Немає сенсу занурюватися глибоко в термінологію і принципи додавання нових пристроїв в UNIX системах - занадто багато різних версій UNIX, щоб об'єднати все це. Ми розглянемо тільки те, що стосується Linux.
Всі жорсткі диски в операційній системі Linux мають спеціальні імена, які складаються з трьох частин, дві з яких перераховані нижче:
- Два символи "hd" або "sd" для IDE і SCSI дисків
- Один символ в діапазоні від "a" до "h" для дисків IDE, або в діапазоні від "a" до "p" для дисків SCSI.
(Я повинен відзначити, що для різних дистрибутивів Linux цей діапазон може відрізнятися. Наприклад, Red Hat Linux 7.2 використовує діапазон від "a" до "l" для дисків IDE і від "a" до "az" (Двосимвольні комбінація!) Для дисків SCSI).
Другий символ позначає номер пристрою. SCSI диски визначаються за номерами, які залежать від ідентифікатора приладами. IDE схема дещо відрізняється від цього. Давайте поглянемо на схему:
- a і b - Master і Slave диски на первинному інтерфейсі першого контролера IDE
- c і d - Master і Slave диски на вторинному інтерфейсі першого контролера IDE
- e і f - Master і Slave диски на первинному інтерфейсі другого контролера IDE?
- g і h - Master і Slave диски на вторинному інтерфейсі другого контролера IDE
Коли ви під'єднуєте новий диск IDE до материнської плати, вам слід бути готовим запам'ятати як він приєднаний: який інтерфейс якого контролера використовується і як він призначений: master або slave.
Якщо ви не маєте материнської плати з IDE контролерами, або конфігурація вашого сервера не має додаткових контролерів IDE, вам не слід використовувати назви пристроїв, що починаються з "hde."
Третя частина імені це:
- Номер розділу (партіціі) - Це номер в діапазоні від 1 до 16 для жорстких дисків IDE і від 1 до 15 для SCSI дисків.
Все партіціі нумеруються наступним чином: 1-4 - primary і extended, 5-16 (15) - логічні. Таким чином в одній системі ми не можемо мати більше п'яти первинних розділів і не більше ніж 11 логічних розділів на одному фізичному диску.
Якщо цей номер відсутній, це означає що ім'я предствляет весь диск.
Щоб отримати список всіх імен дисків в системі ми повинні ввести наступну комаду як привілейований користувач 'root' для дисків IDE:
для дисків SCSI. Якщо ви ще новачок у всьому цьому, пам'ятайте, що ця команда не генерує список підключених дисків, а тільки видає список можливих імен. З цим списком ми зможемо визначити коли і який диск був підключений останнім. Так що нє? Дивуйтеся, якщо отримаєте дуже великий список.
Давайте поглянемо на деякі типові і звичайні ситуації:
Додавання жорсткого диска з даними
Наприклад, ваші друзі дають вам жорсткий диск, який форматувати в системі MS Windows або навіть в Linux, і на ньому є деякі важливі файли, які ви хочете зберегти.
Перш за все, звичайно, ми повинні фізично приєднати диск до вашого комп'ютера, який, наприклад, буде майстром на другому інтерфейсі. У цьому випадку ім'я диска в системі буде hdc. Після запуску Linux, необхідно перевірити, чи знайшов Linux новий пристрій. Для цього ви повинні використовувати наступну команду:
Результатом буде рядок виду:
Отже, ми знайшли пристрій hdc в нашому списку. Здається все в порядку. Якщо ви не бачите пристрою в списку, вам слід перевірити знову все кроки фізичного підключення вашого диска до комп'ютера.
Тепер давайте поглянемо які розділи ми маємо доступними на цьому диску:
Легко зрозуміти, що в цьому прикладі ми маємо три розділи на нашому жорсткому диску і два з них (перший і п'ятий) містять деякі дані. Також перший розділ - це первинний розділ Linux, а п'ятий - це логічний диск Windows FAT32. Перший розділ є завантажувальним (про це говорить символ '*' в Колок Boot).
Тепер ми повинні приєднати ці розділи до нашої файлової системи. Така операція приєднання розділів (точніше кажучи - приєднання файлових систем) в Linux називається монтуванням (mounting) і виконується з використанням команди 'mount'. Є також зворотна операція ісвестная як отмонтірованіе (unmounting), яку ми можемо виконати командою 'umount'.
Коли ви вмонтовуєте розділ в Linux, ви повинні зв'язати його з Директорією десь в файлової системі. Це називається створенням точки монтування. Зазвичай ви створюєте точки монтування для кожного розділу, наприклад:
Звичайно, ви можете використовувати вже існуючі директорії. Тільки пам'ятайте пару правил:
Тепер, давайте скористаємося командою 'mount' і приєднаємо некотоие розділи:
Тут / dev / hdc1 і / dev / hdc5 назви пристроїв, а / mnt / hdc1 і / mnt / hdc5 точки монтування. (Зрозуміло, що назви директорій для точок монтування не повинні бути точно схожі на назви розділів.
Тепер, коли ми перейдемо в директорію / mnt / hdc1 або / mnt / hdc5, ми зможемо побачити вміст розділів.
Якщо ви вмонтовуєте розділ, який використовує іншу файлову систему ніж та, в якій ви працюєте, необхідно пам'ятати, що тип файлової системи вказується ключем -t в команді mount. Якщо ви вже приєднали розділ, не забудьте демонтувати його командою 'umount' перед використанням ключа -t для вказівки файлової системи "іноземної" партіціі:
Найбільш загальні значення ключа -t.
- msdos - FAT12 and FAT16
- vfat - FAT16 з поддежка довгих імен файлів, FAT32
- ext2 - первинна файлова ситема Linux;
- ext3 - сумісна з ext2 файлова система з підтримкою журналирования
- reiserfs - нова файлова система Linux з підтримкою журналирования
Повний список підтримуваних файлових систем (понад 30) можна знайти в man mount.
Деякі Новомосковсктелі, після проходження всіх перерахованих вище інструкцій, можуть помітити, що замість зрозумілих символів в іменах файловв розділах FAT будуть тільки знаки питання. Простий приклад цього - українські символи в іменах файлів в файлову систему FAT.
Це не означає, що Linux не підтримує українську мову в іменах файлів. Насправді, Linux підтримує безліч національних кодових сторінок - ми повинні тільки встановити, яку з них ми повинні використовувати. Це робиться за допомогою ключа -o.
Після отмонтірованія розділу, використовуйте ці команди. Для розділу FAT створеного в Windows 98 і / або Windows NT:
Отже, тепер ми зробили все щоб встановити українські імена файлів. Ви можете використовувати змінну iocharset variable для свого власного мови з цією командою.
Для розділів FAT також непогано використовувати аргументи uid і quiet. Це дуже важливо, тому що FAT не має ніяких служб для обмеження доступу до файлів.
Аргумент uid = user визначає власника файлової системи, хто має повне право на запис і створення нових файлів на диску. Аргумент quiet ховає всі повідомлення про помилки, які з'являються з-за неможливості змінити власника файлу і доступу до файлу при копіюванні його на розділ FAT.
Додавання нового (порожнього) жорсткого диска
Давайте спробуємо додати абсолютно новий жорсткий диск в наступному прикладі.
Є тільки одна відмінність від попередньої методики, в тому, що ми повинні перед монтуванням нового диска розділити його на розділи і відформатувати в тій файлової системи, в якій ми хочемо його використовувати.
Для простоти припустимо, що новий диск підключений в якості майстра на вторинний інтерфейс (hdc), також як і в першому прикладі.
Поділ на розділи проводиться за допомогою утиліти 'fdisk':
Для короткої довідки введемо команду 'm':
Нам потрібно знати лише кілька необхідних команд: d, p, n, q, w. Не бійтеся використовувати їх - все ваші зміни будуть зроблені тільки в пам'яті, а записані будуть після введення команди 'w'. Якщо ми зробимо помилку, нам потрібно тільки скасувати всі зміни командою 'q'.
Перш за все давайте переконаємося, що диск порожній:
Часто продавці комп'ютерів і комплектуючих які виробляють попереднє розбиття дисків на розділи. У цьому випадку ми можемо використовувати команду'd '(описану нижче) для видалення всього, що нам не потрібно.
Отже, давайте створимо новий розділ (командою 'n'), відповідають поняттю на всі питання наступним чином:
Вибираємо тип розділу --первічний (primary) або розширений (extended) - введемо P зробити основний розділ.
Вибираючи номер розділу в цьому прикладі, ми призначимо все дисковий простір одного розділу. Так як це буде перший і єдиний розділ, ми призначимо йому номер 1:
Коли вибирається значення першого циліндра розділу, ми можемо використовувати значення за замовчуванням, воно запишеться? Якщо просто натиснути Enter:
Установка останнього циліндра в цьому розділі проста, так як ми заповнюємо розділом весь диск. Знову, просто натиснемо Enter для введення значення за замовчуванням (замість номера циліндра ми можемо встановити розмір партіціі в байтах, кілобайтах або мегабайтах):
Тепер розділ створено. Погляньмо на таблицю розділів командою 'p':
Якщо нам по будь-якої причини не сподобалося розташування або число розділів, ми можемо видалити їх за допомогою команди 'd':
Якщо ви хочете розділити диск на кілька партіцій, вам необхідно повторити всі ці операції кілька разів. Важливо пам'ятати одну річ: при кількості розділів більше чотирьох ви повинні робити не первинні, а розширені розділи на всьому диску. Усередині цієї партіціі ви можете створювати стільки логічних частин, скільки вам потрібно.
Запам'ятайте, будь ласка, що логічні розділи завжди нумеруються з 5 номера; не має значення, скільки первинних розділів ви створили до цього (один, три або не одного).
Тип нового, щойно створеного розділу на новому жорсткому диску завжди буде встановлений 83 (Linux type). Хоча, утиліта 'fdisk' підтримує управління і створення великого числа типів. Ми можемо отримати їх список за допомогою команди 'l'. Ми також можемо змінити тип розділу, використовую команду 't'. Я абсолютно не рекомендую початківцям використовувати цю можливість в системі Linux; найкраще використовувати тільки два типи - 83 (Linux) і 82 (Linux swap).
Після всіх маніпуляцій з 'fdisk,' нам необхідно встановити відповідну конфігурацію. Нам слід вийти з 'fdisk' і зберегти всі результати коммандой 'w'.
Нам не потрібно перезавантажувати наш комп'ютер. Іноді, кажучи по правді. 'Fdisk' не може оновити таблицю розділів в пам'яті (наприклад, в останніх версіях Red Hat Linux), але вам буде сказано про цю проблему. Якщо це станеться, тоді вам доведеться перезавантажити комп'ютер.
Звичайно, перед використанням розділу, ви повинні відформатувати його. Пам'ятайте, що до тих пір, поки ми працюємо з розділами на жорсткому диску, ми маємо справу з пристроєм? / Dev / hdc, але форматувати ми будемо розділ / dev / hdc1.
Ми можемо провести це форматування за допомогою утиліти 'mkfs'. Зазвичай, для розділів Linux ми використовуємо одну з трьох файлових систем: ext2, ext3, або reiserfs. Ми також маємо можливість використовувати кілька інших, типу ext, XFS, JFS. Але ext занадто стара, і більше не використовується, а установка XFS і JFS вимагає глибокого знання налаштувань і конфігурування операційної системи Linux.
Ми можемо виконати наступну команду для форматування розділу в файлову систему ext2:
(Ключ '-t' вказує на тип файлової системи). Для форматування в ext3:
Це не помилка, між іншим. Ми встановлюємо тип ext2. Але так як ext3 - це "нащадок" ext2, він має пряму і зворотну сумісність зі своїм "батьком".
Для форматування розділу в ReiserFS:
Як тільки 'mkfs' закінчить свою роботу, наш розділ готовий до монтування.
Всі методи, описані вище мають один недолік: після кожного запуску системи, ви повинні вручну монтувати розділи як привілейований користувач root. Ідеально було б автоматизувати цю процедуру на вашому комп'ютері під час завантаження.
Це легко зробити. В директорії конфігурації системи / etc є файл під назвою 'fstab'. Усередині нього є список приєднаних розділів, який виглядати приблизно так:
Кожен рядок цього файлу містить опис кожного розділу для монтування в шести колонках (полях):
- Найменування пристрої
- точка монтування
- Тип файлової системи
- Додаткові аргументи монтування. Деякі з них загальні для всіх, деякі спціфічни для своєї файлової системи
- ID номер в запиті на перевірку цілісності файлової системи при завантаженні. Такий запит проводиться періодично. Якщо його значення 0, то перевірка не проводиться
- Значення резервного копіювання (0 або 1). Цей аргумент використовується деякими утилітами резервного копіювання.
Давайте повернемося трохи назад в нашому прикладі. Розділ hdc1 був відформатований? В? ext3 і повинен бути змонтований в точку? / Mnt / hdc1 під час завантаження. Для виконання цього ми додамо наступний рядок в кінець файлу / etc / fstab:
Це дуже важливо: не забудьте додати "новий рядок" в кінець файлу / etc / fstab file. В іншому випадку останній рядок буде прігнорірована! (Насправді, це не так уже й важливо в останніх версіях Linux. Але зробіть це своєю звичкою, щоб уникнути проблем з комп'ютером з іншим програмним забезпеченням Unix або старими версіями Linux).
Тепер ми повинні переконатися: чи всі ми правильно зробили в fstab?
Якщо ми не отримали ніяких повідомлень про помилку, це означає, що цей розділ буде автоматично монтуватися при кожному завантаженні комп'ютера.
Запам'ятайте, між іншим, цей короткий вид команди 'mount'. Коли ми використовуємо тільки один аргумент вся інша необхідна інформація буде взята з файлу / etc / fstab.