Добавление нового диска в Linux CentOS: разметка, форматирование
В этой статье мы рассмотрим, как добавить новый диск на сервер с Linux CentOS: как обнаружить новый диск, разбить его на разделы, отформатировать и смонтировать. В этом примере мы добавляем новый диск на физический Linux сервер (как добавить новый диск виртуальную машину KVM мы рассматривали ранее).
Добавление нового диска, разметка, создание разделов в Linux
Обычно для работы с дисками я использую утилиту fdisk. Но так как она позволяет создавать разделы максимального размера в 2ТБ, в данной инструкции мы будем использовать утилиту parted.
Parted – свободный редактор дисковых разделов, предназначенный для создания и удаления разделов. Также parted может использовать для копирования разделов между дисками.
По умолчанию parted уже установлен в CentOS Linux. Если у вас его по каким-то причинам нет, вы можете установить его с помощью команды пакетного менеджера:
# dnf install parted -y – для CentOS 8
# yum install parted -y — для CentOS 7
После подключения физического или виртуального диска к серверу, нужно проверить, определился ли он:
Этак команда выведет информацию о дисках в системе.
В моем случае это диск /dev/sda размером 5.5 Тб. Также вы можете вывести список дисков с помощью команды lsblk:
Теперь нужно выбрать новый диск в контексте утилиты parted:
В контексте parted выполните команду print , чтобы вывести информацию о диске и его разделах (если они имеются):
Если дисков несколько, можно переключать между ними в оболочке parted, используя команду select:
Нажмите Enter и укажите название диска.
Прежде чем создать разделы, нужно создать таблицу разделов для диска. Мы будем использовать таблицу разделов GPT:
(parted) mklabel GPT
Система предупредит, что все данные на диске будут уничтожены. Подтвердите это.
Для создания нового раздела на диске, используется команда mkpart:
Укаэите имя раздела, файловую систему, первый и последний сектор раздела (в Мб). Так как у нас нет ни одного раздела, мы начинаем с 1 и заканчиваем 300000. Таким образом будет создан новый раздел размером 300 Гб:
Раздел создан, можно вывести информацию о нем с помощью команды print.
Мы создали раздел test, размером 300Гб и файловой системой ext4. Чтобы выйти с оболочки parted, наберите quit.
Несмотря на то, что при создании раздела мы выбрали файловую систему ext4, нужно отформатировать раздел, чтобы он определялся как полноценный раздел диска с UUID:
Если раздел не форматировать, ваш раздел будет определяться так:
У него не будет иметь UUID с помощью которого мы в дальнейшем будем монтировать данный раздел.
Удалить созданный раздел вы можете с помощью команды rm. Войдите в оболочку parted нужного диска:
И удалите нужный раздел:
В моем случае раздел был один (если у вас их несколько, укажите нужный).
Монтирование нового диска, добавление в fstab
После того как на диске создали раздел, можно смонтировать его. Создадим новую директорию на сервере:
Самвый простой способ примонтировать раздел к директории — через раздел:
# mount -t ext4 /dev/sda1 /test_disk/
Также раздел можно примонтировать через UUID раздела:
# mount —uuid=»3f5e32ac-ba1a-4167-8b06-c8ee35bf8071″ /test_disk
UUID раздела можно получить с помощью команды blkid:
Но раздел будет смонтирован только до перезагрузки сервера. При следующей загрузке раздел опять придется монтировать вручную. Для автомонтирования добавьте строку для нового раздела в файл /etc/fstab:
UUID=»3f5e32ac-ba1a-4167-8b06-c8ee35bf8071″ /test_disk ext4 defaults 1 2
Сохраните файл и примонтируйте все разделы:
Для удаления монтирования, используйте команду:
Проверим, что раздел доступен. Создадим в нем файл:
# dd if=/dev/zero of=/test_disk/filetest bs=1G count=0 seek=40
Мы создали файл с нулями размером 40Гб. С помощью следующей команды можно вывести занятое место на разделе:
Итак, мы рассмотрели, как подключить новый диск к 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. Если вы еще новичок во всем этом, помните, что эта команда не генерирует список подключенных дисков, а только выдает список возможных имен. С этим списком мы сможем определить когда и какой диск был подключен последним. Так что не ?удивляйтесь, если получите очень большой список.
Пришло время небольшой практики. Все действия следует выполнять с привелегиями суперпользователя ‘root’. Внимание: вам следует быть очень аккуратным, чтобы не повредить данные на вашеих дисках. Было бы неплохо произвести резервное копирование всего.
Давайте взглянем на некоторые типичные и обычные ситуации:
Добавление жесткого диска с данными
Например, ваши друзья дают вам жесткий диск, который форматирован в системе MS Windows или даже в Linux, и на нем есть некоторые важные файлы, которые вы хотите сохранить.
Прежде всего, конечно, мы должны физически подсоединить диск к вашему компьютеру, который, к примеру, будет мастером на втором интерфейсе. В этом случае имя диска в системе будет hdc. После запуска Linux, необходимо проверить, нашел ли Linux новое устройство. Для этого вы должны использовать следующую команду:
Результатом будет строка вида:
Итак, мы нашли устройство hdc в нашем списке. Кажется все в порядке. Если вы не видите устройства в списке, вам следует проверить опять все шаги физического подключения вашего диска к компьютеру.
Теперь давайте взглянем какие разделы мы имеем доступными на этом диске:
Легко понять, что в этом примере мы имеем три раздела на нашем жестком диске и два из них (первый и пятый) содержат некоторые данные. Также первый раздел — это первичный раздел Linux, а пятый — это логический диск Windows FAT32. Первый раздел является загрузочным (об этом говорит символ ‘*’ в колоке Boot).
Теперь мы должны присоединить эти разделы к нашей файловой системе. Такая операция присоединения разделов (точнее говоря — присоединения файловых систем)в Linux называется монтированием (mounting) и выполняется с использованием команды ‘mount’. Есть также обратная операция исвестная как отмонтирование (unmounting), которую мы можем выполнить командой ‘umount’.
Когда вы монтируете раздел в Linux, вы должны связать его с директорией где-то в файловой системе. Это называется созданием точки монтирования. Обычно вы создаете точки монтирования для каждого раздела, например:
Конечно, вы можете использовать уже существующие директории. Только помните пару правил:
- В Linux обычно практикуется (но не обязательно) группировать все точки монтирования в одном месте, за исключениес монтирования системных разделов, (таких как /usr, /home, /var, и т.д.);
- Директория, используемая под точку монтирования должна быть пустой , иначе ее содержание будет недоступно до тех пор, пока раздел не будет отмонтирован.
Теперь, давайте воспользуемся командой ‘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:
Для разделамFAT, созданного в Windows ME и/или Windows 2000/XP:
Разница здесь в дополнительном аргументе uni_xlate. Мы должны использовать этот аргумент, потому что Windows ME/2000/XP использут Unicode в именах файлов.
Итак, теперь мы сделали все чтобы установить русские имена файлов. Вы можете использовать переменную 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.
В этой статье мы проверили несколько вариантов и правил для подключения нового жесткого диска в Linux. Заметьте, что мы не рассмотрели множество специализированных тонких настроек, которые могли бы сделать в более продвинутых операциях, такие как настройка системы на поддержку журналирования, определение прав доступа к смонтированным разделам и тому подобное. Надеюсь, что эта статья дасть вам более ясное понимание принципов передо добавлением дополнительного жесткого диска в систему Linux.
Источник