Управление таблицей разделов в parted, разметка диска
Выведем список доступных дисков:
или из shell:
$ sudo parted -l
Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.
Можно создать на диске разметку msdos (MBR)
# mklabel msdos
Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :
# mklabel gptОбратите внимаени, что в parted в отличии от fdisk нет команды для записи изменений. Все изменения применяются немедленно.
Теперь parted показывает тип таблицы разделов (разметки) на диске:
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2 3 4 5 6 |
Model Virtio Block Device (virtblk) Disk devvdb 21.0GB Sector size (logicalphysical) 512B512B Partition Table msdos Disk Flags Number Start End Size Type File system Flags |
Как вы видите, на диске уже есть таблица разделов MBR, но сами разделы еще не созданы.
Если у вас на сервере имеется несколько свободных дисков, то можно переключаться между ними с помощью команды:
# select /dev/имядиска
Создание разделов
Рассмотрим пример создания томов из дисков sdb и sdc с помощью LVM.
1. Инициализация
Помечаем диски, что они будут использоваться для LVM:
pvcreate /dev/sdb /dev/sdc
* напомним, что в качестве примера нами используются диски sdb и sdc.
Посмотреть, что диск может использоваться LMV можно командой:
pvdisplay
В нашем случае мы должны увидеть что-то на подобие:
«/dev/sdb» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdb
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID rR8qya-eJes-7AC5-wuxv-CT7a-o30m-bnUrWa
«/dev/sdc» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdc
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 2jIgFd-gQvH-cYkf-9K7N-M7cB-WWGE-9dzHIY
* где
- PV Name — имя диска.
- VG Name — группа томов, в которую входит данный диск (в нашем случае пусто, так как мы еще не добавили его в группу).
- PV Size — размер диска.
- Allocatable — распределение по группам. Если NO, то диск еще не задействован и его необходимо для использования включить в группу.
- PE Size — размер физического фрагмента (экстента). Пока диск не добавлен в группу, значение будет 0.
- Total PE — количество физических экстентов.
- Free PE — количество свободных физических экстентов.
- Allocated PE — распределенные экстенты.
- PV UUID — идентификатор физического раздела.
2. Создание групп томов
Инициализированные на первом этапе диски должны быть объединены в группы.
Группа может быть создана:
vgcreate vg01 /dev/sdb /dev/sdc
* где vg01 — произвольное имя создаваемой группы; /dev/sdb, /dev/sdc — наши диски.
Просмотреть информацию о созданных группах можно командой:
vgdisplay
На что мы получим, примерно, следующее:
— Volume group —
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1,99 GiB
PE Size 4,00 MiB
Total PE 510
Alloc PE / Size 0 / 0
Free PE / Size 510 / 1,99 GiB
VG UUID b0FAUz-wlXt-Hzqz-Sxs4-oEgZ-aquZ-jLzfKz
* где:
- VG Name — имя группы.
- Format — версия подсистемы, используемая для создания группы.
- Metadata Areas — область размещения метаданных. Увеличивается на единицу с созданием каждой группы.
- VG Access — уровень доступа к группе томов.
- VG Size — суммарный объем всех дисков, которые входят в группу.
- PE Size — размер физического фрагмента (экстента).
- Total PE — количество физических экстентов.
- Alloc PE / Size — распределенное пространство: колическтво экстентов / объем.
- Free PE / Size — свободное пространство: колическтво экстентов / объем.
- VG UUID — идентификатор группы.
3. Создание логических томов
Последний этап — создание логического раздела их группы томов командой lvcreate. Ее синтаксис:
lvcreate <имя группы томов>
Примеры создания логических томов:
lvcreate -L 1G vg01
* создание тома на 1 Гб из группы vg01.
lvcreate -L50 -n lv01 vg01
* создание тома с именем lv01 на 50 Мб из группы vg01.
lvcreate -l 40%VG vg01
* при создании тома используется 40% от дискового пространства группы vg01.
lvcreate -l 100%FREE -n lv01 vg01
* использовать все свободное пространство группы vg01 при создании логического тома.
* также можно использовать %PVS — процент места от физического тома (PV); %ORIGIN — размер оригинального тома (применяется для снапшотов).
Посмотрим информацию о созданном томе:
lvdisplay
— Logical volume —
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID 4nQ2rp-7AcZ-ePEQ-AdUr-qcR7-i4rq-vDISfD
LV Write Access read/write
LV Creation host, time vln.dmosk.local, 2019-03-18 20:01:14 +0300
LV Status available
# open 0
LV Size 52,00 MiB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors auto
— currently set to 8192
Block device 253:2
* где:
- LV Path — путь к устройству логического тома.
- LV Name — имя логического тома.
- VG Name — имя группы томов.
- LV UUID — идентификатор.
- LV Write Access — уровень доступа.
- LV Creation host, time — имя компьютера и дата, когда был создан том.
- LV Size — объем дискового пространства, доступный для использования.
- Current LE — количество логических экстентов.
Шаг 12. Смонтируйте существующие разделы жесткого диска
Как объяснялось ранее, мой домашний сервер Ubuntu включает в себя два жестких диска: твердотельный накопитель емкостью 250 ГБ для ОС и жесткий диск объемом 4 ТБ для хранения мультимедиа. Как вы можете заставить свой домашний сервер Ubuntu загружать носители, хранящиеся на втором жестком диске? Хорошо, установив второй жесткий диск (sdb) в операционной системе в известное место. В примере, показанном в этом руководстве, у нас есть второй жесткий диск (SDB) емкостью 5,4 ГБ (в реальности это будет в ТБ)
На рисунке ниже обратите внимание, что он уже отформатирован как EXT4. Если на вашем жестком диске более одного раздела, все они будут перечислены здесь
Все, что нам нужно сделать, это предоставить точку монтирования для каждого раздела на втором жестком диске. Никаких других настроек не требуется.
12а. Монтировать существующие разделы
Выберите раздел на втором диске. Вам будет представлен экран настроек раздела, как показано на рисунке ниже.
12b. Смонтировать существующий раздел как EXT4
Для «Использовать как» выберите EXT4, так как этот раздел уже отформатирован в EXT4. Если раздел на втором жестком диске отформатирован как NTFS, выберите NTFS. После того, как вы установите тип раздела, для настройки станут доступны несколько других параметров.
Для «Форматировать раздел» выберите «Нет, сохранить существующие данные»
Это ОЧЕНЬ ВАЖНО, иначе вы потеряете все данные на втором жестком диске. Затем выберите «Точка монтирования» и «Ввести вручную», как показано на рисунке ниже:
12с. Точка монтирования существующего раздела вручную
Затем введите путь для монтирования этого существующего раздела. Я обычно монтирую все существующие разделы в папке. В этом примере, поскольку второй жесткий диск содержит медиа-файлы, я называю его «медиадиск». Таким образом, полная точка монтирования , как показано на рисунке ниже.
12г. Существующая точка монтирования раздела
Еще раз выберите «noatime» и «nodiratime» для «Параметры монтирования» и оставьте «Флаг загрузки» выключенным. Конечные настройки раздела для существующего раздела, который нужно смонтировать, должны выглядеть так, как показано на рисунке ниже.
12е. Монтировать существующие разделы
В примере, используемом в этом руководстве, на втором жестком диске только один раздел. Если у вас есть больше, повторите Шаг 12 для каждого раздела, который нужно смонтировать. После установки сервера вы можете получить доступ ко всем подключенным разделам в папке . Для более легкого доступа я создаю символические ссылки на смонтированные разделы в моей домашней папке. [ Читать: Как создать ярлыки / псевдонимы для команд в Ubuntu, используя .bash_aliases?
Что такое монтирование?
Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.
Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.
Выбор диска и режимы работы
Выбор диска — самая ответственная часть в работе с утилитой parted, так как случайно подключив «не тот» диск можно удалить важные данные.
Просмотреть, какие диски/устройства подключены можно при помощи parted и fdsik с опцией -l:
# parted -l
# fdisk -l
Подробную информацию по одному устройству можно просмотреть, добавив путь к нему (только в fdisk, parted все-равно покажет все диски):
# fdisk -l /dev/sda
Утилита fdisk по функционалу очень схожа с parted, и с её помощью также можно разметить разделы на диске, но это отдельная тема. Не смотря на то, что fdisk уже довольно давно понимает и работает с GPT,
до сих пор при обнаружении устройства с GPT fdisk предупреждает, что поддержка GPT — экспериментальная: «WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.».
Во многих Linux-дистрибутивах файлы HDD находятся в /dev/sdX, где вместо X — буква диска, начиная с «a»: /dev/sda; /dev/sdb и т.д.
Ниже, почти все примеры будут выполняться над виртуальным жестким диском — файлом, который был создан при помощи dd.
В интерактивном режиме утилита запускается так:
# parted
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) select /home/site/testhdd.iso
Using /home/site/testhdd.iso
(parted) print
Error: /home/site/testhdd.iso: unrecognised disk label
Model: (file)
Disk /home/site/testhdd.iso: 5243MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted)
Все, что находится после (parted) — набирается с клавиатуры пользователем, остальной текст — сообщения утилиты в ответ на команду.
Внимательные читатели обратили внимание, что сразу после запуска parted, без параметров, по умолчанию был выбран системный диск /dev/sda! И если не сменив устройство командой select путь/к/файлу.iso непреднамеренно совершить деструктивные действия, например ввести mktable, mkpart или др., то можно полностью разрушить системный диск /dev/sda (название выбираемого утилитой диска по умолчанию может отличаться от имени в вашей системе). Выход из интерактивного режима — набрать quit (или первую букву команды — q) и нажать клавишу Enter
Выход из интерактивного режима — набрать quit (или первую букву команды — q) и нажать клавишу Enter.
Чтобы избежать нелепых ошибок, всегда перед запуском parted, указывайте путь к диску:
# parted /home/site/testhdd.iso
GNU Parted 3.1
Using /home/site/testhdd.iso
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)
Узнать информацию по диску можно и обычной командой, без интерактивного режима:
# parted /home/site/testhdd.iso print
Error: /home/site/testhdd.iso: unrecognised disk label
Model: (file)
Disk /home/site/testhdd.iso: 5243MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
#
В командном режиме в parted можно за один раз отправить несколько команд, например сразу выполнить полную разметку файла-хранилища testhdd.iso:
parted -s /home/site/testhdd.iso — mklabel gpt mkpart P1 ext2 1MiB 8MiB mkpart P2 ext4 8MiB -1 set 1 boot on
Опция -s нужна для подавления предупреждений parted, из за которых может сработать только часть команд, двойное тире (—) служит для предотвращения ошибки связанной со значением «-1» (invalid option).
Какой режим работы с parted выбрать: интерактивный или обычный командный — выбор за пользователем.
Монтирование нового диска, добавление в fstab
После того как на диске создали раздел, можно смонтировать его. Создадим новую директорию на сервере:
Самвый простой способ примонтировать раздел к директории — через раздел:
Также раздел можно примонтировать через UUID раздела:
UUID раздела можно получить с помощью команды blkid:
Но раздел будет смонтирован только до перезагрузки сервера. При следующей загрузке раздел опять придется монтировать вручную. Для автомонтирования добавьте строку для нового раздела в файл /etc/fstab:
Сохраните файл и примонтируйте все разделы:
Для удаления монтирования, используйте команду:
Проверим, что раздел доступен. Создадим в нем файл:
Мы создали файл с нулями размером 40Гб. С помощью следующей команды можно вывести занятое место на разделе:
Итак, мы рассмотрели, как подключить новый диск к Linux серверу, создать на нем разделы и смонтировать.
Монтирование нового диска, добавление в fstab
После того как на диске создали раздел, можно смонтировать его. Создадим новую директорию на сервере:
Самвый простой способ примонтировать раздел к директории — через раздел:
Также раздел можно примонтировать через UUID раздела:
UUID раздела можно получить с помощью команды blkid:
Но раздел будет смонтирован только до перезагрузки сервера. При следующей загрузке раздел опять придется монтировать вручную. Для автомонтирования добавьте строку для нового раздела в файл /etc/fstab:
Сохраните файл и примонтируйте все разделы:
Для удаления монтирования, используйте команду:
Проверим, что раздел доступен. Создадим в нем файл:
Мы создали файл с нулями размером 40Гб. С помощью следующей команды можно вывести занятое место на разделе:
Итак, мы рассмотрели, как подключить новый диск к Linux серверу, создать на нем разделы и смонтировать.
CentOS 7 Монтируем диск.
Добрый день! Сегодня мы рассмотрим, как примонтировать новый жесткий диск на CentOS 7.
Итак, ранее мы уже создали машину на centos, теперь расширим место нашей виртуальной машины добавив еще один диск.
Шаг 1. Перейдем в настройки виртуальной машины и добавим еще один диск нажав на кнопку Add.
Шаг 2. Выбираем, что мы хотим добавить, а именно жесткий диск.
Шаг 3. Оставляем выбор интерфейса по умолчанию.
Шаг 4. Выбираем создать новый виртуальный диск.
Шаг 5. Оставим размер диска 20 Гб, и выберем хранить виртуальный диск одним файлом.
Шаг 6. Имя файла виртуального диска можно оставить по умолчанию.
Как мы видим у нашей виртуальной машины теперь два жестких диска.
Шаг 7. Запускаем виртуальную машину и смотрим, что диск добавился. Посмотреть добавился ли диск очень легко воспользуемся командой: fdisk –l
Здесь мы можем наблюдать оба наших диска, где:
- /dev/sda – наш изначальный диск, где установлена система, размечен swap и загрузочный раздел.
- /dev/sdb – Это наш новый диск, который мы и будем далее размечать.
Шаг 8. Далее на используемом диске создадим раздел, так же через утилиту fdisk. Для этого используем утилиту fdisk и укажем имя диска на котором будем создавать раздел т.е.
Шаг 9. Утилита fdisk встречает нас приветственным сообщением, далее нам необходимо указать ключ для создания нового раздела. Укажем «n».
Шаг 10. Далее нам надо выбрать тип нового раздела первичный(primary) или логический extended. Выбираем первичный.
Шаг 11. Далее нам необходимо указать номер раздела укажем 1.
Шаг 12. На этом шаге нам необходимо указать начало раздела, оставим по умолчанию и нажмем enter.
Шаг 13. Далее утилита предлагает нам выбрать окончание нового раздела, так же оставляем по умолчанию и нажимаем Enter.
Шаг 14. Будет создан новый раздел размером 20 гигабайт. Теперь нам необходимо сохранить раздел и выйти из утилиты, поэтому указываем ключ w и нажимаем Enter. Для проверки воспользуемся все той же командой
Как видим добавился новый раздел sdb1.
Шаг 15. Теперь создадим физический том (physical volume), для этого воспользуемся утилитой pvcreate и укажем имя нашего нового раздела:
Для проверки воспользуемся командой pvdisplay.
Добавится новый физический том разделом 20 гигабайт.
Шаг 16. Добавим новую группу томов (VolumeGroupName), воспользуемся утилитой vgcreate, а группу томов назовем vol и укажем через пробел, физический том. Если томов несколько, то их так же разделяем пробелом.
Для проверки воспользуемся командой vgdisplay.
Как видим у нас появилась новая группа томов, с нашим физическим томом.
Шаг 17. Теперь нам осталось создать логический том в существующей группе томов, для этого предназначена утилита lvcreate, чтобы создать логический том, максимального раздела команда будет выглядеть так:
Для проверки, так же существует команда lvdisplay
Имя нового раздела будет lvol0. Чтобы избежать путаницы изменим имя нашего раздела на «app», применив команду:
И проверим, что имя изменилось.
Шаг 18. Отформатируем наш логический том, форматировать будем в файловую систему xfs. Для этого выполним следующую команду.
По окончании появится информацию о отформатированном разделе, размере блоков и прочее.
Шаг 19. Теперь давайте в корневом разделе создадим новую папку «app», к которой и примонтируем данный раздел.
Шаг 20. Теперь примонтируем раздел к папке. За монтирование отвечает команда mount, которой необходимо указать ключи и тип операций с монтируемым разделом. Данный логический раздел мы будем монтировать на чтение и запись, поэтому укажем ключи rw. В общем случае команда будет выглядеть так:
Для проверки успешного монтирования воспользуемся командой:
Здесь мы видим, что размер папки /app стал равен 20 гигабайтам.
Шаг 21. К сожалению операция монтирования действует, только до перезагрузки для того чтобы наш диск остался примонтирован даже после перезагрузки, нам необходимо внести правки в файл fstab в каталоге etc.
Поэтому откроем файл:
И добавим следующую строку:
Далее сохраним файл и перезагрузим систему (выполним команду reboot), после чего вновь проверим, что наш логический том примонтирован к каталогу.
Логический том остался примонтирован, а значит теперь мы можем спокойно устанавливать пакеты или хранить там какие-то файлы.
Шаг 2: Разбить новые диски для установки сервера Ubuntu
Теперь вы должны увидеть список всех существующих жестких дисков и разделов. В приведенном ниже примере есть два диска:
- sda-32,2 ГБ
- SDB – 5,6 ГБ
2. Разделите новый жесткий диск для установки сервера Ubuntu
Обратите внимание, что представленные выше емкости дисков являются лишь примерами. Типичный домашний сервер в наши дни имеет несколько ТБ емкости
На первом диске (sda) нет разделов. Это новый диск, который будет разделен на операционную систему Ubuntu (на моем домашнем сервере это SSD ). Второй диск (sdb) уже содержит один основной раздел объемом 5,4 ГБ в формате EXT4. Во-первых, мы собираемся выбрать sda, чтобы отформатировать его для установки Ubuntu Server. Мы рассмотрим монтирование и использование существующего медиа-раздела в sdb, позже в этом руководстве по разделам Ubuntu.
Информация о дисках
Информацию о дисках в системе можно получить различными способами. Зачастую, интересна информация не только о физических дисках, но и о разделах. Начнем все же с физических дисков. Подробную информацию о железе, в том числе и о дисках, выдает программа hwinfo. В базовой системе ее нет, нужно поставить отдельно.
# apt install hwinfo
Теперь смотрим информацию о дисках:
# hwinfo --disk
Программа выведет железную информацию о всех дисках в системе. Вот пример вывода одного из физических дисков.
На выходе максимально подробная информация о диске — вендор, модель, серийный номер, метки диска в системе и много другое. Программа показывает принадлежность диска к рейд массиву, что бывает удобно. Вот вывод информации о диске из рейда adaptec.
Следующая программа, которую я использую, чтобы посмотреть информацию о физическом диске в debian — smartmontools. Она более громоздкая, тянет за собой кучу зависимостей, но зато умеет по расписанию следить за смартом дисков, слать уведомления в случае проблем. Фактически это не утилита, а готовый сервис. Ставится так.
# apt install smartmontools
Возможностей у программы много. Я в рамках данной статьи, покажу только, как посмотреть информацию о диске, в том числе параметры SMART.
# smartctl -i /dev/sda
SMART диска.
# smartctl -A /dev/sdd
С диском некоторые проблемы, судя по смарту.
Физические диски посмотрели, теперь посмотрим на список дисков с привязкой к логическим разделам. Я обычно использую 2 утилиты для этого — lsblk и fdisk.
# lsblk -a
Fdisk позволяет сразу посмотреть более подробную информацию о разделах.
# fdisk -l | grep /dev/sd
Мне обычно хватает этих команд, чтобы получить полную информацию о дисках и разделах на них.
Все готово, добро пожаловать в мир LVM!
Это оно. Теперь у вас есть пул дисков LVM. Несколько вещей, которые нужно знать. В этой системе нет избыточности. Если диск выходит из строя, данные на нем будут потеряны. Однако вы можете заменить диск и восстановить данные, которые были сохранены на других дисках. Если вы удалили данные, они не смогут быть восстановлены, если диск вообще выйдет из строя. Вот почему мы включаем интеллектуальный мониторинг для систем LVM, чтобы вы знали, есть ли проблемы с диском. Замена дисков до их выхода из строя может быть выполнена. Оставайтесь с нами для расширенного руководства задач LVM.
Добавление дисков также очень просто. Добавьте PV как выше. Затем используйте vgextend и lvextend, чтобы вырастить LVM. Затем используйте resize2fs для расширения файловой системы. Для получения более подробной информации ознакомьтесь с расширенным руководством по LVM!
Я знаю, что это подойдет, да RAID 5 лучше, потому что он может восстановиться после сбоя жесткого диска. Но вы также потеряете один из ваших дисков в качестве запасного. Таким образом, если у вас есть 5 1 ТБ дисков, у вас останется 4 ТБ места. RAID 0 работает точно так же, как полосатый LVM. LVM проще и эффективнее, на мой взгляд. Если у вас нет аппаратного RAID, разница в производительности невелика. Для наших домашних медиацентров LVM предлагает отличную цену (БЕСПЛАТНО) и производительность.
Я надеюсь, что вы нашли это полезным. Я не эксперт по этому вопросу. Должно быть, я прочитал 20 руководств, когда впервые сделал это самостоятельно, и прочитал еще 20, готовясь написать это руководство.
Это отлично подходит для смешанного компьютера, как это: все в одном HTPC и Интернет PVR How-To.
Если вы хотите создать сетевое хранилище, которое больше ничего не спасет, воспользуйтесь одним из следующих способов: 7 Лучшие варианты программного обеспечения для домашнего сервера, соответствующие вашим потребностям.
Источник записи: https://www.smarthomebeginner.com
Монтирование файловой системы в linux
Для монтирования используется команда mount. Чтобы смонтировать наш новый диск в папку, что мы создали в самом начале статьи достаточно ввести команду:
Команда не выведет никаких уведомлений, поэтому чтобы убедится, что раздел смонтирован вводим команду mount без ключей.
mount /dev/sda1 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/cgroup type tmpfs (rw) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) none on /sys/fs/pstore type pstore (rw) systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd) vmware-vmblock on /run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=testuser) /dev/sdb1 on /mnt/disk1 type ext4 (rw)
В последней строке видим смонтированную нашу файловую систему. Чтобы отмонтировать ее достаточно ввести команду unmount:
Как подключить дополнительный жесткий диск в Ubuntu. Способ 1
Для выполнения этих команд нужны права рута (root). Чтобы перед каждой командой не набирать sudo вводим sudo su.
Список дисков покажет программа fdisk:
1 |
В Ubuntu жесткие диски обозначаются /dev/sda, /dev/sdb, /dev/sdc и т.д. В данном случае диск обозначается /dev/sdb.
2. Создание разделов на HDD в Ubuntu
Для разметки диски снова воспользуемся программой fdisk. Запускаем fdisk с указанием HDD, на котором нужно создать раздел:
1 |
fdisk запустится в командном режиме. Чтобы посмотреть список всех доступных команд нужно ввести m. Но для наших целей нужно всего несколько основных команд:
p — просмотр текущей таблицы разделов диска;
n — создание нового раздела;
d — удаление существующего раздела;
w — запись таблицы разделов на диск и последующий выход;
q — выход без записи новой таблицы на жесткий диск.
Проверяем наличие разделов на диске командой p, если их нет, то создаем новый раздел командой n. При создании раздела придется ответить на несколько вопросов, если планируется создать не больше 4-х разделов, то создаем основной раздел. Далее указываем номер раздела — 1. И в конце нужно указать начальный и конечный цилиндры раздела, можно просто нажимать Enter, программа сама все задаст. Снова проверяем список разделом и видим вновь созданный раздел, который обозначается /dev/sdb1. Обязательно сохраняем изменения командой w.
Теперь раздел есть, но этого мало. Его нужно отформатировать, это делается очень просто одной командой
1 |
4. Монтирование раздела
Смонтировать раздел в пустоту не получится, поэтому нам нужен каталог, который будет точкой монтирования. Создадим каталог /hdd в директории /media, в которую монтируются все подключаемые устройства (внешние диски, cd-rom, флешки и т.д.)
1 |
Монтируем раздел в созданный каталог:
1 |
Проверяем результат:
1 |
К сожалению, после перезагрузки Ubuntu раздел придется монтировать заново. Делать это каждый раз вручную не наш метод, поэтому автоматизируем процесс.
За монтирование разделов при старте операционной системы в Ubuntu отвечает файл /etc/fstab. В него то мы и добавим команду на монтирование раздела. Открываем файл /etc/fstab в редакторе nano:
1 |
В конец файла вставляем строку
2 |
или второй вариант:
Смотрим uuid диска:
1 |
И вставляем UUID диска в файл fstab
1 |
сохраняем (Ctrl+O) и закрываем nano (Ctrl+X).
Шаг 6: Установите размер корневого раздела Ubuntu
Операционную систему Ubuntu можно разделить на несколько отдельных разделов (по умолчанию все ОС находятся в одном разделе). Многие продвинутые администраторы серверов Linux предпочитают устанавливать ОС на несколько разделов. Это позволяет легче обслуживать и ремонтировать. В этом базовом руководстве по разделу Ubuntu Server я не собираюсь сходить с ума от разбиения. Тем не менее, я рекомендую установить Ubuntu Server в 2 отдельных раздела: один для root (/), а другой для домашнего (/ home).
Во-первых, давайте создадим корневой раздел. Введите размер корневого раздела. Я рекомендую не менее 10 ГБ для сервера без монитора и 15 ГБ для сервера со средой рабочего стола.
6. Установите размер корневого раздела Ubuntu
Для обычного домашнего сервера Ubuntu нет необходимости иметь более 20 или 25 ГБ для корневого (/) раздела.
Проблема 2010
В начале года на рынках нашей страны появились первые жесткие диски компании Western Digital, размер сектора которых был увеличен с привычных 512 байт до 4 Кб (так называемая технология Advanced Format). По заявлению компании, новые диски обладают более высокой скоростью работы, большей емкостью при меньших затратах на производство и полностью совместимы со старыми компами. Однако оказалось, что, будучи отформатированными в Linux, BSD или WinXP/Win2k3, новые диски оказывались не только совсем не шустрыми, но и поразительно медленными (при записи наблюдалась 3-х/4-х кратная потеря скорости).
Сама WD предлагает два решения этой проблемы: либо воспользоваться Windows-утилитой WD Align, которая сдвинет начало первого раздела на один 512 байтный сектор (чтобы адрес начала ФС совпадал с адресом начала девятого сектора) и заодно выполнит выравнивание всех остальных имеющихся разделов; либо установить перемычку на седьмой и восьмой конты диска, что приведет к виртуальному сдвигу всех 512-байтных секторов на один вперед, что решит проблему с первым разделом, но оставит ее нерешенной для всех остальных.
Нам, пользователям Linux, ни тот, ни другой вариант не подходит, поэтому придется обходиться своими силами. К счастью, ничего сложного в процессе выравнивания разделов нет, и ниже я покажу, как это правильно сделать с помощью стандартного cfdisk.
Начало первого основного раздела довольно просто расположить в 64 секторе. Для этого запускаем fdisk с опцией ‘-u’:
Вводим команду ‘n’ (новый раздел), далее ‘p’ (основной раздел), затем ‘1’ (первый раздел), на вопрос о начале первого сектора вводим 64, в качестве последнего сектора вводим желаемый размер раздела в секторах (его можно вычислить, разделив размер раздела в байтах на 512). Записываем таблицу разделов с помощью команды ‘w’. Далее раздел можно отформатировать и подключить:
Все остальные основные разделы диска также необходимо выравнивать с помощью выбора начального сектора так, чтобы его номер был кратен восьми. Задачу можно упростить, если при создании каждого раздела высчитывать номер его последнего сектора так, чтобы его номер был кратен восьми, и вычитать единицу. Тогда следующий раздел по умолчанию получит правильный номер начального сектора.
С расширенными разделами все намного сложнее. Каждый расширенный раздел может содержать до четырех подразделов, начало первого из которых также по умолчанию располагается в 63 секторе (здесь дело не в оптимизации, введенной в обращение более 20 лет назад, а в том, что расширенный раздел был придуман для эмуляции физического диска). Поэтому сначала придется создать расширенный раздел с начальным сектором, кратным восьми, а затем создавать все его внутренние разделы с начальным сектором также кратным восьми. Здесь низкоуровневый cfdisk становится слишком опасным инструментом, поэтому лучше воспользоваться программой parted с опцией «—align optimal», благодаря которой все создаваемые разделы будут располагаться в правильных секторах.
Опции и синтаксис fdisk
Синтаксис утилиты ничем не отличается от других команд Linux:
$ fdisk опции устройство
Ей надо передать опции, согласно действия, которое вы хотите выполнить, а также раздел диска или устройство к которому эти действия надо применить. Давайте теперь рассмотрим опции fdisk:
- -B, —protect-boot — не стирать первые 512 байт диска чтобы не повредить загрузочную запись;
- -L, —color — настройка цветного вывода, возможные значения auto, never или always;
- -l, —list — вывести все разделы на выбранных устройствах или если устройств не задано, то на всех устройствах;
- -o, —output — указывает какие поля данных надо показывать в выводе программы, доступные поля рассмотрим ниже;
- -u, —units — настраивает формат вывода размера разделов, доступные значения: cylinders, sectors, по умолчанию используется sectors;
- -w, —wipe — режим стирания файловой системы или RAID с диска, возможные значения auto, never или always по умолчанию используется auto;
- -W, —wipe-partition — режим стирания файловой системы или RAID из только что созданного раздела. Возможные значения аналогичны предыдущей опции;
- -h, —help — показать справку по утилите;
- -v, —version — опция выводит версию утилиты.
Опции используются для настройки работы утилиты, мы рассмотрели только самые главные, которые могут вам пригодится, теперь перейдём к командам:
- a — включение или выключения флага boot для раздела;
- d — удалить раздел;
- F — показать свободное место;
- l — вывести список известных типов разделов;
- n — создать новый раздел;
- p — вывести таблицу разделов;
- t — изменение типа раздела;
- i — вывести информацию о разделе;
- I и O — записать или загрузить разметку в файл сценария sfdisk;
- w — записать новую таблицу разделов на диск;
- q — выйти без сохранения;
- g — создать пустую таблицу разделов GPT;
- o — создать пустую таблицу разделов MBR.
Теперь вы знаете основные опции и команды fdisk, давайте рассмотрим использование программы.
Добавление нового диска, разметка, создание разделов в Linux
Обычно для работы с дисками я использую утилиту fdisk. Но так как она позволяет создавать разделы максимального размера в 2ТБ, в данной инструкции мы будем использовать утилиту parted.
Parted – свободный редактор дисковых разделов, предназначенный для создания и удаления разделов. Также parted может использовать для копирования разделов между дисками.
По умолчанию parted уже установлен в CentOS Linux. Если у вас его по каким-то причинам нет, вы можете установить его с помощью команды пакетного менеджера:
После подключения физического или виртуального диска к серверу, нужно проверить, определился ли он:
Этак команда выведет информацию о дисках в системе.
В моем случае это диск /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 нужного диска:
И удалите нужный раздел:
В моем случае раздел был один (если у вас их несколько, укажите нужный).